(57)【要約】【課題】  ハードウェア量を削減し、単位時間内に転送するデータが途切れないことを保証する必要のあるトランザクションを転送可能な入出力制御装置を提供する。【解決手段】  スペシャルトランザクション生成回路１２４はアイソクロナス転送が使うＶＣからのリクエストを検出し、リクエストのアドレスを保持した後、スペシャルトランザクションを生成し、タイマ回路１２６から再びスペシャルトランザクション生成要求があった場合、保持していたアドレスで２度目のスペシャルトランザクションを生成する。調停回路１２７はスペシャルトランザクションを受信すると、調停を固定し、２度目のスペシャルトランザクションを受信すると、固定していた調停を解放する。【選択図】      図２                                                  
2005135035.tif 000002
【特許請求の範囲】
【請求項１】
バーチャルチャネルからのリクエストを調停する調停手段を含み、前記バーチャルチャネルを用いて入出力制御を行う入出力制御装置であって、単位時間当りに転送するデータが途切れないことを必要とするアイソクロナス転送のトランザクションを検出する検出手段と、前記検出手段で前記アイソクロナス転送のトランザクションが検出された時に前記調停手段の調停論理を一時的に固定して前記アイソクロナス転送用のパスを確保する手段とを有することを特徴とする入出力制御装置。
【請求項２】
前記検出手段は、前記アイソクロナス転送が使用する前記バーチャルチャネルからのリクエストを検出し、そのリクエストのアドレスを保持した後、前記アイソクロナス転送用のパスを確保するためのスペシャルトランザクションを生成することを特徴とする請求項１記載の入出力制御装置。
【請求項３】
前記アイソクロナス転送が使用するバーチャルチャネルからのリクエストが途切れたことを検出する手段と、前記バーチャルチャネルからのリクエストが途切れたことが検出されてから一定時間後に前記アイソクロナス転送用のパスを閉塞するための再スペシャルトランザクションを生成するよう要求する手段とを含むことを特徴とする請求項２記載の入出力制御装置。
【請求項４】
前記調停手段は、前記ペシャルトランザクションを受信した時に前記調停論理を固定し、前記再スペシャルトランザクションを受信した時に固定していた調停論理を解放することを特徴とする請求項３記載の入出力制御装置。
【請求項５】
前記スペシャルトランザクションが発行されたことを示す第１のフラグと、前記調停論理が固定されていることを示す第２のフラグとを含むことを特徴とする請求項２から請求項４のいずれか記載の入出力制御装置。
【請求項６】
バーチャルチャネルからのリクエストを調停する調停手段を含む入出力制御装置において、前記バーチャルチャネルを用いて入出力制御を行う入出力制御方法であって、前記入出力制御装置側に、単位時間当りに転送するデータが途切れないことを必要とするアイソクロナス転送のトランザクションを検出するステップと、前記アイソクロナス転送のトランザクションが検出された時に前記調停手段の調停論理を一時的に固定して前記アイソクロナス転送用のパスを確保するステップとを有することを特徴とする入出力制御方法。
【請求項７】
前記アイソクロナス転送のトランザクションを検出するステップは、前記アイソクロナス転送が使用する前記バーチャルチャネルからのリクエストを検出し、そのリクエストのアドレスを保持した後、前記アイソクロナス転送用のパスを確保するためのスペシャルトランザクションを生成することを特徴とする請求項６記載の入出力制御方法。
【請求項８】
前記アイソクロナス転送が使用するバーチャルチャネルからのリクエストが途切れたことを検出するステップと、前記バーチャルチャネルからのリクエストが途切れたことが検出されてから一定時間後に前記アイソクロナス転送用のパスを閉塞するための再スペシャルトランザクションを生成するよう要求するステップとを含むことを特徴とする請求項７記載の入出力制御方法。
【請求項９】
前記調停手段において、前記ペシャルトランザクションを受信した時に前記調停論理を固定し、前記再スペシャルトランザクションを受信した時に固定していた調停論理を解放することを特徴とする請求項８記載の入出力制御方法。
【請求項１０】
前記スペシャルトランザクションが発行された時に第１のフラグを点灯させ、前記調停論理が固定された時に第２のフラグを点灯させることを特徴とする請求項７から請求項９のいずれか記載の入出力制御方法。
【請求項１１】
バーチャルチャネルからのリクエストを調停する調停手段を含む入出力制御装置において、前記バーチャルチャネルを用いて入出力制御を行う入出力制御方法のプログラムであって、コンピュータに、単位時間当りに転送するデータが途切れないことを必要とするアイソクロナス転送のトランザクションを検出する処理と、前記アイソクロナス転送のトランザクションが検出された時に前記調停手段の調停論理を一時的に固定して前記アイソクロナス転送用のパスを確保する処理とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は入出力制御装置及びそれに用いる入出力制御方法並びにそのプログラムに関し、特にバーチャルチャネルに対応したＩＯ（入出力）制御装置に関する。
【背景技術】
【０００２】
従来、この種のＩＯ制御装置においては、図１１に示すように、メモリ制御部５と、デバイス（＃０）６と、デバイス（＃１）７とに接続され、これらの間の入出力を制御している。
【０００３】
ここで、ＩＯ制御装置（＃１）４はポート＃０受信制御部４１と、ポート＃１受信制御部４４と、セレクタ４７〜４９とから構成され、ポート＃０受信制御部４１はＶＣ＃０（バーチャルチャネル０）バッファ４２とＶＣ＃１（バーチャルチャネル１）バッファ４３とを備え、ポート＃１受信制御部４４とＶＣ＃０バッファ４５とＶＣ＃１バッファ４６とを備えている。
【０００４】
メモリ制御部５はＶＣ＃０バッファ５１と、ＶＣ＃１バッファ５２と、セレクタ５３〜５５とから構成され、デバイス（＃０）６はＶＣ＃０バッファ６１と、ＶＣ＃１バッファ６２と、セレクタ６３とから構成され、デバイス（＃１）７はＶＣ＃０バッファ７１と、ＶＣ＃１バッファ７２と、セレクタ７３とから構成されている。
【０００５】
各ＶＣ＃０バッファ４２，４５，５１，６１，７１はＶＣ＃０のトランザクションを格納し、各ＶＣ＃１バッファ４３，４６，５２，６２，７２はＶＣ＃１のトランザクションを格納する。
【０００６】
セレクタ４７はポート＃０受信制御部４２及びポート＃１受信制御部４４のＶＣ＃０バッファ４２，４５からのリクエストのうちの一方を選択し、セレクタ４８はポート＃０受信制御部４２及びポート＃１受信制御部４４のＶＣ＃１バッファ４３，４６からのリクエストのうちの一方を選択する。セレクタ４９はＶＣに１つのリンクを通過させるための選択回路である。
【０００７】
セレクタ５３はＩＯ制御装置（＃１）４で集約されたＶＣ＃０のリクエストと図示せぬＩＯ制御装置（＃２）から集約されたＶＣ＃０のリクエストとのうちの一方を選択する。セレクタ５４はＩＯ制御装置（＃１）４のＶＣ＃１のリクエストとＩＯ制御装置（＃２）のＶＣ＃１のリクエストとのうちの一方を選択する。セレクタ５５はＶＣ＃０のリクエストとＶＣ＃１のリクエストとを最終的に１つにしてメモリ（図示せず）に転送する。
【０００８】
この例において、デバイス（＃１）７がＶＣ＃１を使ってトランザクションを送出した場合、そのトランザクションセレクタ７３→セレクタ４８→セレクタ４９→セレクタ５４→セレクタ５５を経由してメモリに送られる。
【０００９】
【特許文献１】特開平０７−２１９８８７号公報
【特許文献２】特開平１１−１８４８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来のＩＯ制御装置では、セレクタ４８やセレクタ５４のどちらもがＶＣ＃１のリクエストの調停を行っており、ラウンドロビン方式で調停している。このため、従来のＩＯ制御装置では、ＶＣ＃１のトランザクション同士が混在し、アイソクロナス転送のように、単位時間に転送するデータが途切れないことが要求されるトランザクションの場合においてポート数が増えると、データが途切れる可能性が出てくる。また、従来のＩＯ制御装置では、装置内に各ＶＣの専用線やバッファが必要になり、ハードウェア量の増大が起こるという問題がある。
【００１１】
つまり、従来のＩＯ制御装置では、アイソクロナス転送のように連続性が要求されるトランザクション転送の場合、ＶＣを構成し、各ＶＣを独立させて専用パスを設けることで実現しているため、ハードウェア量が増大するという問題がある。
【００１２】
さらに、従来のＩＯ制御装置では、同一ＶＣ同士の調停が発生した場合、ラウンドロビン調停になるため、ポートが増えるとアイソクロナス転送ができなくなるという問題がある。
【００１３】
そこで、本発明の目的は上記の問題点を解消し、ハードウェア量を削減することができ、アイソクロナス転送のように単位時間内に転送するデータが途切れないことを保証する必要のあるトランザクションを転送することができる入出力制御装置及びそれに用いる入出力制御方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明による入出力制御装置は、バーチャルチャネルからのリクエストを調停する調停手段を含み、前記バーチャルチャネルを用いて入出力制御を行う入出力制御装置であって、単位時間当りに転送するデータが途切れないことを必要とするアイソクロナス転送のトランザクションを検出する検出手段と、前記検出手段で前記アイソクロナス転送のトランザクションが検出された時に前記調停手段の調停論理を一時的に固定して前記アイソクロナス転送用のパスを確保する手段とを備えている。
【００１５】
本発明による入出力制御方法は、バーチャルチャネルからのリクエストを調停する調停手段を含む入出力制御装置において、前記バーチャルチャネルを用いて入出力制御を行う入出力制御方法であって、前記入出力制御装置側に、単位時間当りに転送するデータが途切れないことを必要とするアイソクロナス転送のトランザクションを検出するステップと、前記アイソクロナス転送のトランザクションが検出された時に前記調停手段の調停論理を一時的に固定して前記アイソクロナス転送用のパスを確保するステップとを備えている。
【００１６】
本発明による入出力制御方法のプログラムは、バーチャルチャネルからのリクエストを調停する調停手段を含む入出力制御装置において、前記バーチャルチャネルを用いて入出力制御を行う入出力制御方法のプログラムであって、コンピュータに、単位時間当りに転送するデータが途切れないことを必要とするアイソクロナス転送のトランザクションを検出する処理と、前記アイソクロナス転送のトランザクションが検出された時に前記調停手段の調停論理を一時的に固定して前記アイソクロナス転送用のパスを確保する処理とを実行させている。
【００１７】
すなわち、本発明の入出力制御装置は、ＶＣ（バーチャルチャネル）を用いて入出力制御を行う装置であり、単位時間当りに転送するデータが途切れないことを必要とするアイソクロナス転送をＶＣにアサインして実現する場合、そのアイソクロナス転送のトランザクションを検出すると、一時的に調停論理を固定し、アイソクロナス転送用のパスを確保することで、ＶＣ毎にハードウェアを設けることなく、アイソクロナス転送を実現することを特徴とする。
【００１８】
本発明の入出力制御装置は、アイソクロナス転送が使うＶＣからのリクエストを検出してそのリクエストのアドレスを保持した後スペシャルトランザクションを生成するスペシャルトランザクション生成回路と、スペシャルトランザクションを受信すると、調停を固定し、再びスペシャルトランザクションを受信すると、固定していた調停を解放する調停回路と、アイソクロナス転送が使うチャネルからのリクエストが途切れたことを検出し、一定時間カウントしてからスペシャルトランザクション生成回路にスペシャルトランザクションを生成するよう要求するタイマ回路とから構成されている。ここで、スペシャルトランザクション生成回路はタイマ回路から再びスペシャルトランザクション生成要求があった場合、保持していたアドレスでスペシャルトランザクションを生成する。
【００１９】
より具体的に説明すると、本発明の入出力制御装置では、スペシャルトランザクション生成回路がアイソクロナストランザクション受信用専用バッファであるＶＣ＃１バッファからのリクエストを検知すると、そのリクエストアドレスを保持した後、各ロック付き調停回路の調停を固定するためのスペシャルトランザクションを生成する。フラグ（Ｖ）はスペシャルトランザクションが発行されると、値として“１”を保持し、スペシャルトランザクションによる経路確保期間であることを示す。
【００２０】
調停回路はＶＣ＃１のトランザクション先頭にスペシャルトランザクションを割り込ませる。ロック付き調停回路内のスペシャルトランザクション検出回路はスペシャルトランザクションが要求され、かつロック付き調停回路内の調停回路がスペシャルトランザクションに調停権を与えたことを検知すると、スペシャルトランザクションをリクエストした側のパスに、調停を固定するようフラグ（Ｆａ）またはフラグ（Ｆｂ）を点灯させる。
【００２１】
ロック付き調停回路内の調停回路はフラグ（Ｆａ）またはフラグ（Ｆｂ）が点灯している側に調停を固定し、スペシャルトランザクションが通過した側のパスのみ通過させる。同様に、各ロック付き調停回路はスペシャルトランザクションが通過した方にのみ調停権利を与える。
【００２２】
このように、スペシャルトランザクションが通過した経路は、各セレクタが固定されて専用経路が確保される。この確保された経路でＶＣ＃１のトランザクションは他チャネルやメモリからの擾乱無く通過することが可能となる。
【００２３】
タイマ回路はＶＣ＃１バッファからのリクエストを監視し、リクエストがなくなった場合、タイマを起動する。タイマ回路は一定時間たってもリクエストがない場合、ＶＣ＃１のトランザクションが終了したと認識し、スペシャルトランザクション生成回路に経路を閉塞するためのスペシャルトランザクションを生成するよう促す。
【００２４】
スペシャルトランザクション生成回路ではタイマ回路からリクエストされると、１度目のスペシャルトランザクション生成時に保持しておいたアドレスで、２度目のスペシャルトランザクションを生成する。この２度目のスペシャルトランザクションによって、フラグ（Ｖ）がリセットされる。
【００２５】
調停回路はスペシャルトランサクションを調停し、ロック付き調停回路へ送出する。ロック付き調停回路内のスペシャルトランザクション検出回路では、２度目のスペシャルトランザクションを検出すると、フラグ（Ｆａ）またはフラグ（Ｆｂ）をリセットし、固定されていた調停を解除する。上記と同様の手順で、スペシャルトランザクション経路上のロック付き調停回路は固定されていた調停が解除され、通常状態に戻る。
【００２６】
これによって、本発明の入出力制御装置では、アイソクロナス転送時に、一時的に専用パスを確保することが可能となるため、ＶＣ毎に専用ハードウェアを持たずにアイソクロナス転送を実現することが可能となる。
【発明の効果】
【００２７】
本発明は、以下に述べるような構成及び動作とすることで、ハードウェア量を削減することができ、アイソクロナス転送のように単位時間内に転送するデータが途切れないことを保証する必要のあるトランザクションを転送することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２８】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例によるＩＯ制御装置の構成を示すブロック図である。図１において、ＩＯ制御装置（＃１）１はポート＃０受信制御部１１と、ポート＃１受信制御部１２と、ポート＃２出力制御部１３と、ロック付き調停回路１４と、セレクタ１５と、レジスタ１６と、ＩＯ制御装置（＃１）１が実行するプログラム（コンピュータで実行可能なプログラム）を格納する記録媒体１７とから構成され、メモリ制御部２及びデバイス（＃０〜＃２）３−０〜３−２に接続されている。
【００２９】
図２は図１のポート＃１受信制御部１２の構成を示すブロック図である。図２において、ポート＃１受信制御部１２はＶＣ（バーチャルチャネル）＃０バッファ１２１と、ＶＣ＃１バッファ１２２と、フラグ（Ｖ）１２３と、スペシャルトランザクション生成回路１２４と、セレクタ１２５，１２８，１３１と、タイマ回路１２６と、調停回路１２７と、レジスタ１２９，１３２と、ロック付き調停回路１３０とから構成されている。
【００３０】
図３は図２のロック付き調停回路１３０の構成を示すブロック図である。図３において、ロック付き調停回路１３０はスペシャルトランザクション検出回路１３０１と、フラグ（Ｆａ）１３０２と、フラグ（Ｆｂ）１３０３と、調停回路１３０４とから構成されている。
【００３１】
図４は図１のポート＃２出力制御部１３の構成を示すブロック図である。図４において、ポート＃２出力制御部１３はロック付き調停回路１３ａと、セレクタ１３ｂとから構成されている。
【００３２】
図５は図１のメモリ制御部２の構成を示すブロック図である。図５において、メモリ制御部２はロック付き調停回路２１と、セレクタ２２と、レジスタ２３とから構成されている。
【００３３】
図６は図１のデバイス（＃１）３−１の構成を示すブロック図である。図６において、デバイス（＃１）３−１はＶＣ＃０バッファ３１−１と、ＶＣ＃１バッファ３２−１と、セレクタ３３−１とから構成されている。
【００３４】
図７は本発明の一実施例に用いられるアイソクロナストランザクション及びスペシャルトランザクションの構成を示す図である。図７（ａ）はアイソクロナストランザクションの構成を示し、アイソクロナストランザクションは各々２ビットのＣＭＤ（コマンド）［例えば、書込み命令（ｗｒｉｔｅ）］と、４８ビットのＡＤＤ（アドレス）と、１２８バイトのＤＡＴＡ（データ）とからなるＮ個のデータ列で構成されている。
【００３５】
図７（ｂ）はスペシャルトランザクションの構成を示しており、スペシャルトランザクションは２ビットのＣＭＤ（コマンド）（例えば、ｓｐｅｃｉａｌ命令）と、４８ビットのＡＤＤ（アドレス）とからなるデータ列と、ｓｐｅｃｉａｌ命令であることを示すフラグ（ＳＰ）と、ＣＭＤ（例えば、書込み命令Ｗｒｉｔｅ０〜Ｎ）とからなるデータ列とで構成されている。
【００３６】
これら図１〜図７を参照して本発明の一実施例によるＩＯ制御装置（＃１）１について説明する。ここで、ポート＃１受信制御部１２のＶＣ＃１バッファ１２２はＶＣ＃１のトランザクションを格納しており、アイソクロナス転送用のトランザクションが格納されるものとする。
【００３７】
ＶＣ＃１バッファ１２２は空でない場合、調停回路１２７にリクエストを要求する。スペシャルトランザクション生成回路１２４はスペシャルトランザクション発行中を示すフラグ（Ｖ）１２３が点灯していなければ、ＶＣ＃１バッファ１２２のリクエストを検知し、ＶＣ＃１バッファ１２２の先頭リクエストのアドレスを保持するとともに、そのアドレスに対してスペシャルトランザクションを生成する。
【００３８】
また、スペシャルトランザクション生成回路１２４はフラグ（Ｖ）１２３が点灯している場合、タイマ回路１２６からのリクエストを受信すると、保持していたアドレスでスペシャルトランザクションを生成する。フラグ（Ｖ）１２３はスペシャルトランザクションが発行済みであり、ＩＯ制御装置（＃１）１内の各調停回路が固定されていることを示す。
【００３９】
セレクタ１２５はフラグ（Ｖ）１２３が点灯していない場合、ＶＣ＃１バッファ１２２のリクエストをスペシャルトランザクション生成回路１２４に送るが、フラグ（Ｖ）１２３が点灯している場合、タイマ回路１２６からの再スペシャルトランザクション生成要求をスペシャルトランザクション生成回路１２４に送り込む。
【００４０】
調停回路１２７はフラグ（Ｖ）１２３が点灯していない場合、ＶＣ＃１バッファ１２２からのリクエストに反応せず、セレクタ１２８においてスペシャルトランザクションのみを通過できるように調停するが、フラグ（Ｖ）１２３が点灯している場合、ＶＣ＃１バッファ１２２からのリクエストもセレクタ１２８を通過させる。セレクタ１２８はスペシャルトランザクションをＶＣ＃１バッファ１２２のリクエストの前に差し込む。
【００４１】
ロック付き調停回路１３０のスペシャルトランザクション検出回路１３０１はスペシャルトランザクションを検出し、かつフラグ（Ｆａ）１３０２及びフラグ（Ｆｂ）１３０３が点灯していない場合に調停回路１３０４がスペシャルトランザクション側に調停を与えたことを検出すると、フラグ（Ｆａ）１３０２及びフラグ（Ｆｂ）１３０３のうちの対応するフラグを点灯させる。
【００４２】
また、スペシャルトランザクション検出回路１３０１はフラグ（Ｆａ）１３０２またはフラグ（Ｆｂ）１３０３が点灯している場合、点灯している側のリクエストがスペシャルトランザクションであり、かつセレクタ１３１を通過したことを検出すると、対応するフラグをリセットする。
【００４３】
フラグ（Ｆａ）１３０２はＶＣ＃０バッファ１２１からスペシャルトランザクションを受信し、ＶＣ＃０バッファ１２１側に調停が固定されたことを示す。フラグ（Ｆｂ）１３０３はセレクタ１２８側のリクエストからスペシャルトランザクションを受信してセレクタ１２８側に調停が固定されていることを示す。フラグ（Ｆａ）１３０２及びフラグ（Ｆｂ）１３０３は両方同時に点灯することはない。
【００４４】
調停回路１３０４はフラグ（Ｆａ）１３０２及びフラグ（Ｆｂ）１３０３をチェックし、フラグが点灯している側のリクエストにのみ調停権を与えてセレクタ１３１を固定する。セレクタ１３１は調停回路１３０４の指示でＶＣ＃０バッファ１２１からのトランザクションとＶＣ＃１側からのトランザクションとのうちの一方を選択する。
【００４５】
ロック付き調停回路１４、ポート＃２出力制御部１３のロック付き調停回路１３ａ、メモリ制御部２のロック付き調停回路２１はそれぞれ上記のロック付き調停回路１３０と同じ構成であり、スペシャルトランザクションを受信し、かつ調停を与えた側のリクエスタに調停を固定する機能を持つ。
【００４６】
また、ポート＃０受信制御部１１はポート＃１受信制御部１２と同様な構成をとる。さらに、デバイス（＃１）３−１はアイソクロナス転送をＶＣ１側を使って転送するよう設定されているものとする。これらデバイス（＃０〜＃２）３−０〜３−２の構成等は当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成の説明は省略する。
【００４７】
図８は本発明の一実施例による経路の確保動作を示すシーケンスチャートであり、図９は図２のタイマ回路１２６の動作を示すフローチャートであり、図１０は本発明の一実施例による確保された経路の解放動作を示すシーケンスチャートである。これら図１〜図１０を参照して本発明の一実施例による経路の確保及び解放の動作について説明する。尚、図８〜図１０に示す動作はＩＯ制御装置１が記録媒体１７のプログラムを実行することで実現される。
【００４８】
デバイス（＃１）３−１はＶＣ＃１を使ってアイソクロナス転送用トランザクションを発行ように設定されている。ポート＃１受信制御部１２はＶＣ＃１でトランザクションを受信すると（図８のａ１）、ＶＣ＃１バッファ１２２に格納するとともに（図８のａ２）、調停回路１２７にトランザクションのリクエストを発行する（図８のａ３）。
【００４９】
調停回路１２７はこのリクエストを受信するが、フラグ（Ｖ）１２３が初期状態で“０”になっているため、ＶＣ＃１バッファ１２２からのリクエストを受付けない（図８のａ４）。一方、フラグ（Ｖ）１２３が“０”の時、セレクタ１２５はＶＣ＃１のリクエストをスペシャルトランザクション生成回路１２４に入力する（図８のａ５）。
【００５０】
スペシャルトランザクション生成回路１２４はフラグ（Ｖ）１２３が“０”の時にリクエストされると、受付けたリクエストのアドレスを保持し（図８のａ６）、さらにスペシャルトランザクションを生成して調停回路１２７にリクエストする（図８のａ７，ａ８）。
【００５１】
調停回路１２７はスペシャルトランザクションを受信すると、セレクタ１２８においてスペシャルトランザクションを通過させる（図８のａ９）。また、この時、フラグ（Ｖ）１２３はスペシャルトランザクションによって“１”にセットされる。
【００５２】
フラグ（Ｖ）１２３が“１”にセットされると、スペシャルトランザクション生成回路１２４にはタイマ回路１２６からのリクエストのみが入力されるようになるが、タイマ回路１２６はまだリクエストしていないので、スペシャルトランザクション生成回路１２４は動作しない。
【００５３】
調停回路１２７はフラグ（Ｖ）１２３が“１”にセットされると（図８のａ１０）、ＶＣ＃１バッファ１２２からのリクエストを受信してセレクタ１２８を通過させるようになる（図８のａ１１）。セレクタ１２８を通過したスペシャルトランザクションは、ロック付き調停回路１３０のスペシャルトランザクション検出回路１３０１と調停回路１３０４に対してリクエストを要求する（図８のａ１２）。
【００５４】
調停回路１３０４がスペシャルトランザクションに調停権を与えた場合、スペシャルトランザクション検出回路１３０１はフラグ（Ｆｂ）１３０３を点灯させる（図８のａ１３）。調停回路１３０４はフラグ（Ｆｂ）１３０３が点灯している場合、セレクタ１３１においてセレクタ１２８側からのリクエスト要求のみを通過させるように調停を固定する（図８のａ１４）。
【００５５】
ここで、ロック付き調停回路１４、ポート＃２出力制御部１３のロック付き調停回路１３ａ、メモリ制御部２のロック付き調停回路２１は上記のロック付き調停回路１３０と同様の動作を行う。
【００５６】
セレクタ１３１からのリクエストはロック付き調停回路１４に入力され、ロック付き調停回路１４においてポート＃０受信制御部１２１側からのリクエストとの調停の結果、選択された場合、ロック付き調停回路１４によってセレクタ１３１側のトランザクションが通過できるようセレクタ１５が固定される。
【００５７】
このリクエストのアドレスがデバイス（＃２）３−２へのアクセスだった場合、セレクタ１５を通過したトランザクションはポート＃２出力制御部１３のロック付き調停回路１３ａにリクエストを発行する。このロック付き調停回路１３ａにおいても、メモリ側からのリクエストとの調停の結果、セレクタ１５側の出力が選択されると、セレクタ１３ｂはロック付き調停回路１３ａによってセレクタ１５側のリクエストだけが通過できるように固定される。
【００５８】
セレクタ１３ｂはデバイス（＃２）３−２に対してスペシャルトランザクションと、その後に続くトランザクションとをフォワードする。デバイス（＃２）３−２はそのスペシャルトランザクションを受信しても廃棄する。または、セレクタ１３ｂがそのスペシャルトランザクションを破棄する。
【００５９】
上記の手順によって、デバイス（＃１）３−１→ＶＣ＃１バッファ１２２→セレクタ１２８→セレクタ１３１→セレクタ１５→セレクタ１３ｂ→デバイス（＃２）３−２へのパスが固定的に確保され、デバイス（＃１）３−１からのアイソクロナストランザクションは、他のデバイスからのリクエストやメモリトランザクションに干渉されることなく、デバイス（＃２）３−２に到達する。
【００６０】
次に、上記の手順によって確保された経路の解放について説明する。デバイス（＃１）３−１からのトランザクションはデバイス（＃１）３−１とＩＯ制御装置（＃１）１とのスピード差や転送速度の差によって、連続性が保証されない場合がある。このため、ＶＣ＃１バッファ１２２に格納されるトランザクションも非連続になる。
【００６１】
タイマ回路１２６はフラグ（Ｖ）１２３が点灯している時に（図９ステップＳ１）、ＶＣ＃１バッファ１２２からのリクエストが途絶えたことを検出すると（図９ステップＳ２）、図示せぬタイマを起動する（図９ステップＳ３）。タイマ回路１２６は一定時間内にリクエストがあれば（図９ステップＳ４，Ｓ５）、タイマをリセットする（図９ステップＳ６）。
【００６２】
デバイス（＃１）３−１からのリクエストは連続性が保証されていない。トランザクションの終了判定は、一定時間、トランザクションが途絶えたことを検知して行うため、このタイマ回路１２６は必要になる。
【００６３】
タイマ回路１２６は所定時間、ＶＣ＃１バッファ１２２からリクエストがないことを検知すると（図９ステップＳ４）、再びスペシャルトランザクションを生成するようにスペシャルトランザクション生成回路１２４にリクエストする（図９ステップＳ７）。この時、フラグ（Ｖ）１２３は既に“１”になっているため、セレクタ１２５を通じてスペシャルトランザクション生成回路１２４に２度目のスペシャルトランザクション生成リクエストが伝わる。
【００６４】
スペシャルトランザクション生成回路１２４は２度目のスペシャルトランザクション生成リクエストがあると（図１０のｂ１）、先に保持していたアドレスからスペシャルトランザクションを生成し（図１０のｂ２）、調停回路１２７にリクエストする（図１０のｂ３）。
【００６５】
調停回路１２７は２度目のスペシャルトランザクションがリクエストされると、セレクタ１２８においてそのスペシャルトランザクションを通過させる（図１０のｂ４）。この時、フラグ（Ｖ）１２３はそのスペシャルトランザクションによって同時にリセットされる（図１０のｂ５）。
【００６６】
セレクタ１２８を通過した２度目のスペシャルトランザクションはロック付き調停回路１３０のスペシャルトランザクション検出回路１３０１と調停回路１３０４とに入力される（図１０のｂ６）。調停回路１３０４はセレクタ１３１において２度目のスペシャルトランザクションを通過させる（図１０のｂ７）。
【００６７】
スペシャルトランザクション検出回路１３０１はそのスペシャルトランザクションを検出してフラグ（Ｆｂ）１３０３をリセットする（図１０のｂ８）。フラグ（Ｆｂ）１３０３がリセットされると、調停回路１３０４は固定していた調停を解除して通常状態に戻る（図１０のｂ９）。
【００６８】
ロック付き調停回路１４、ポート＃２出力制御部１３のロック付き調停回路１３ａは、上記のロック付き調停回路１３０と同様に、２度目のスペシャルトランザクション通過によってセレクタ１５、セレクタ１３ｂの調停固定を解除して通常状態に戻る。
【００６９】
このように、本実施例では、ＩＯ制御装置（＃１）１内においてＶＣ用の専用ハードウェアが必要ないので、ハードウェア量を削減することができる。また、本実施例では、ＩＯ制御装置１内の各調停部を固定するため、アイソクロナス転送のように単位時間に転送されるデータが途切れないことが要求されるトランザクションを転送することができる。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施例によるＩＯ制御装置の構成を示すブロック図である。
【図２】図１のポート＃１受信制御部の構成を示すブロック図である。
【図３】図２のロック付き調停回路の構成を示すブロック図である。
【図４】図１のポート＃２出力制御部の構成を示すブロック図である。
【図５】図１のメモリ制御部の構成を示すブロック図である。
【図６】図１のデバイス（＃１）の構成を示すブロック図である。
【図７】（ａ）はアイソクロナストランザクションの構成を示す図、（ｂ）はスペシャルトランザクションの構成を示す図である。
【図８】本発明の一実施例による経路の確保動作を示すシーケンスチャートである。
【図９】図２のタイマ回路の動作を示すフローチャートである。
【図１０】本発明の一実施例による確保された経路の解放動作を示すシーケンスチャートである。
【図１１】従来例によるＩＯ制御装置の構成を示すブロック図である。
【符号の説明】
【００７１】
１  ＩＯ制御装置（＃１）
２  メモリ制御部
３−０〜３−２  デバイス（＃０〜＃２）
１１  ポート＃０受信制御部
１２  ポート＃１受信制御部
１３  ポート＃２出力制御部
１３ａ，１４，２１，１３０  ロック付き調停回路
１３ｂ，１５，２２，３３−１，
１２５，１２８，１３１  セレクタ
１６，２３，１２９，１３２  レジスタ
１７  記録媒体
３１−１，１２１  ＶＣ＃０バッファ
３２−１，１２２  ＶＣ＃１バッファ
１２３  フラグ（Ｖ）
１２４  スペシャルトランザクション生成回路
１２６  タイマ回路
１２７，１３０４  調停回路
１３０１  スペシャルトランザクション検出回路
１３０２  フラグ（Ｆａ）
１３０３  フラグ（Ｆｂ）
【図１】
2005135035.tif 000003
【図２】
2005135035.tif 000004
【図３】
2005135035.tif 000005
【図４】
2005135035.tif 000006
【図５】
2005135035.tif 000007
【図６】
2005135035.tif 000008
【図７】
2005135035.tif 000009
【図８】
2005135035.tif 000010
【図９】
2005135035.tif 000011
【図１０】
2005135035.tif 000012
【図１１】
2005135035.tif 000013