(57)【特許請求の範囲】
【請求項１】
相互にデータ転送可能な複数の装置間でデータ転送を行う際にそのデータ転送を要求するための第１の転送要求及びそのデータ転送を行うための第２の転送要求を調停する調停回路であって、前記第１の転送要求を調停する第１の調停手段と、前記第２の転送要求を調停する第２の調停手段と、前記第１の調停手段で調停された前記第１の転送要求に対する転送許可と前記第２の調停手段で調停された前記第２の転送要求に対する転送許可とを交互に発行する発行手段とを有することを特徴とする調停回路。
【請求項２】
前記発行手段は、前記第１の調停手段に取込まれた前記第１の転送要求全てに対する転送許可を発行した後に前記第２の調停手段に取込まれた前記第２の転送要求全てに対する転送許可を発行するよう構成したことを特徴とする請求項１記載の調停回路。
【請求項３】
前記第１の調停手段は、前記第２の調停手段に取込まれた前記第２の転送要求が全て処理された後に前記第１の転送要求を取込むよう構成し、
前記第２の調停手段は、前記第１の調停手段に取込まれた前記第１の転送要求が全て処理された後に前記第２の転送要求を取込むよう構成したことを特徴とする請求項１または請求項２記載の調停回路。
【請求項４】
前記第１の調停手段及び前記第２の調停手段各々は、取込んだ前記第１の転送要求及び前記第２の転送要求各々をその優先順位に基づいて選択するよう構成したことを特徴とする請求項１から請求項３のいずれか記載の調停回路。
【請求項５】
前記第１の調停手段及び前記第２の調停手段のうちの一方で調停された転送要求に対応する転送が不可となった時に当該転送要求による転送が可能となるまで前記第１の調停手段及び前記第２の調停手段のうちの他方で調停された転送要求に対応する転送を行うよう構成したことを特徴とする請求項１から請求項４のいずれか記載の調停回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は調停回路に関し、特にクロスバスイッチにおける各ノードからのノード間通信やデータ転送等のスイッチング要求の調停方法に関する。
【０００２】
【従来の技術】
従来、クロスバスイッチとしては、シングルノードモデル（最大３２台のプロセッサ構成）をノードとし、２〜１６ノードをクラスタ接続したシングルシステムとして利用するマルチノードモデルを実現するためものがある。
【０００３】
このクロスバスイッチでは、各ノードからのノード間通信やデータ転送等のスイッチング要求を受取り、それらのスイッチング要求を調停してスイッチングを行っている。
【０００４】
ノード間通信やデータ転送等における伝送路の使用要求に対する調停方法としては、情報処理装置に使用される汎用システムバスに備わるバスアービタが、バスに接続されているユニットに対してバスの使用権を与える集中アービトレション方法がある。この集中アービトレション方法については、特開平５−１３４９８１号公報に開示されている。
【０００５】
上記の公報記載の集中アービトレション方法では、バスに接続されている複数のユニットがバスアービタに対してバスの使用権を要求し、その後、バスアービタがバスの使用を許可した場合にのみバスの使用が可能となる装置において、各ユニットからのバス使用要求信号を一時的に保持し、その保持したバス使用要求信号が使用権の獲得によってすべてクリアされるまでの１ターン毎に、優先順序が各々異なる複数個の優先度回路によって、保持されているバス使用要求信号に異なった優先度を与え、各ユニットに対して平等にバスの使用権を与えるように構成している。
【０００６】
上記のバスアービタの構成を図４に示す。以下、この図４を用いて上記の公報記載の集中アービトレション方法について説明する。ここで、バスアービタ６０はアンド回路６１〜６５と、フリップフロップ（以下、ＦＦとする）６６〜６９と、セレクト回路７０と、各々設定されているユニットの優先度が異なるプライオリティ（ＰＲＩＯＲＩＴＹ）回路７１〜７４と、マルチプレクサ７５とから構成されている。
【０００７】
各ユニット（図示せず）からアサートされたバス使用要求ＢＲＱ１〜ＢＲＱ４はバスアービタ６０内のＦＦ６６〜６９に同時タイミングでラッチされる。ラッチされたバス使用要求ＢＲＱ１〜ＢＲＱ４はまずプライオリティ回路７１に取込まれ、プライオリティ回路７１で定められている優先度の高いユニットに対してバス使用許可ＢＧＲ１〜ＢＧＲ４がアサートされる。
【０００８】
バス使用許可ＢＧＲ１〜ＢＧＲ４がアサートされると、アサートされたバス使用許可ＢＧＲ１〜ＢＧＲ４によってＦＦ６６〜６９がクリアされる。アサートされたバス使用許可ＢＧＲ１〜ＢＧＲ４に対してデータ転送終了ＣＰＴがアサートされると、現在アサートしているバス使用許可ＢＧＲ１〜ＢＧＲ４をネゲートする。その時、ＦＦ６６〜６９にラッチされているバス使用要求ＢＲＱ１〜ＢＲＱ４の中で優先度の高い次のユニットに対してバス使用許可ＢＧＲ１〜ＢＧＲ４をアサートする。ＦＦ６６〜６９にラッチされているバス使用要求ＢＲＱ１〜ＢＲＱ４がなくなるまで上記の処理動作が行われる。
【０００９】
次に、バス使用要求ＢＲＱ１〜ＢＲＱ４をラッチしているＦＦ６６〜６９がすべてクリアされると、その時、アサートされている次のバス使用要求ＢＲＱ１〜ＢＲＱ４を同時タイミングでＦＦ６６〜６９にラッチする。この時、アサートされているバス使用許可ＢＧＲ１〜ＢＧＲ４に対するデータ転送終了ＣＰＴがアサートされた時点で、セレクト回路７０によってＦＦ６６〜６９の出力バスがプライオリティ回路７１からプライオリティ回路７２へと変更される。
【００１０】
その場合、ＦＦ６６〜６９にラッチされたバス使用要求ＢＲＱ１〜ＢＲＱ４は、ユニットの優先度がプライオリティ回路７１とは異なるプライオリティ回路７２に取込まれ、ＦＦ６６〜６９にラッチされたバス使用要求ＢＲＱ１〜ＢＲＱ４がすべてクリアされるまで、プライオリティ回路７２で定められている優先度の高いユニットから順にバス使用許可ＢＧＲ１〜ＢＧＲ４がアサートしていく。
【００１１】
以後、上記の処理動作を、プライオリティ回路７３→プライオリティ回路７４で順次行い、その後にプライオリティ回路７１に戻って上記と同様の順番で行うようになっている。これによって、複数個のユニットに対して平等にバス使用権を与えることが可能となる。
【００１２】
【発明が解決しようとする課題】
上述した従来の調停方法では、システムを構成する複数の装置からのデータ転送要求が（Ａ）系／（Ｂ）系に分けられ、どちらか一方の系に処理が偏ってしまうと、システム全体の処理能力が低下してしまうような場合、従来の技術のように全ての要求を１つの調停回路で処理すると、（Ａ）系／（Ｂ）系の２つの系の間での処理に偏りが生じてしまい、システム全体の処理能力が低下してしまう。
【００１３】
例えば、装置Ａから装置Ｂにリードリクエストを送り、そのリードリクエストに対して装置Ｂから装置Ａにデータを転送するような場合、装置Ａから装置Ｂへのリードリクエスト送出時の転送要求をリクエスト系の転送要求とし、装置Ｂから装置Ａへのデータ転送時の転送要求をリプライ系の転送要求とする。
【００１４】
この場合、調停回路での処理がリクエスト系の転送要求に偏った場合、あるいはリプライ系の転送要求に偏った場合のいずれかが生ずると、装置では要求したデータを得ることができなくなるため、デッドロックが発生してシステム停止を招く恐れがある。その際、システム全体の処理能力が低下してしまう。
【００１５】
そこで、本発明の目的は上記の問題点を解消し、（Ａ）系／（Ｂ）系（リクエスト系／リプライ系）の間での処理の偏りを少なくすることができ、システム全体の処理能力の低下を防ぐことができる調停回路を提供することにある。
【００１６】
【課題を解決するための手段】
本発明による調停回路は、相互にデータ転送可能な複数の装置間でデータ転送を行う際にそのデータ転送を要求するための第１の転送要求及びそのデータ転送を行うための第２の転送要求を調停する調停回路であって、前記第１の転送要求を調停する第１の調停手段と、前記第２の転送要求を調停する第２の調停手段と、前記第１の調停手段で調停された前記第１の転送要求に対する転送許可と前記第２の調停手段で調停された前記第２の転送要求に対する転送許可とを交互に発行する発行手段とを備えている。
【００１７】
すなわち、本発明の調停回路は、システムを構成する複数の装置があり、夫々が相互にデータ転送可能であるような構成において２つの装置間のデータ転送を行う際に、そのデータ転送を要求するための転送要求を調停する第１の調停回路と、そのデータ転送を行うための転送要求を調停する第２の調停回路とを備えている。
【００１８】
データ転送を行う装置はデータ転送先の調停回路に対して転送要求を発行する。ここで、転送要求は（Ａ）系／（Ｂ）系に分けられ、夫々別々の第１及び第２の調停回路［（Ａ）系の調停回路及び（Ｂ）系の調停回路］に取込まれる。但し、取込まれるタイミングは夫々の調停回路内の転送要求が全て処理された時である。
【００１９】
（Ａ）系の調停回路／（Ｂ）系の調停回路各々では取込んだ転送要求の中で一番優先順位の高い転送元装置を選択する。（Ａ）系の調停回路／（Ｂ）系の調停回路各々で選択された転送元装置のどちらか一方の系に対して転送許可を与える。
【００２０】
ここで、（Ａ）系に対して許可が与えられた場合、（Ａ）系の調停回路に取込まれていた転送要求が全て処理された後、（Ｂ）系に対して転送許可が与えられる。以後、このようにして（Ａ）系／（Ｂ）系を交互に切換えていく。
【００２１】
但し、（Ａ）系／（Ｂ）系のデータバッファが別々に存在する時に現在転送許可が与えられている系の転送先装置のバッファに空きが無い等の原因で転送が行えなくなった時は転送が可能になるまでもう一方の系の転送を行う。
【００２２】
これによって、（Ａ）系／（Ｂ）系（リクエスト系／リプライ系）の間での処理の偏りを少なくすることが可能となり、システム全体の処理能力の低下を防ぐことが可能となる。
【００２３】
【発明の実施の形態】
次に、本発明の一実施例について図面を参照して説明する。図１は本発明の一実施例による調停回路の構成を示すブロック図である。図において、本発明の一実施例による調停回路はリクエスト系調停回路１と、リプライ系調停回路２と、切換えフリップフロップ（以下、ＦＦとする）３と、セレクタ４と、エンコーダ５と、リクエスト系データバッファ６−ｉ（ｉ＝１，……）と、リプライ系データバッファ７−ｊ（ｊ＝１，……）と、アンド回路８〜１３，１６〜１９と、オア回路１４と、排他的論理和回路１５とから構成されている。
【００２４】
リクエスト系調停回路１はリクエスト系データバッファ６−ｉからの転送要求信号ＳＴＡ１１，２１，３１，４１と転送終了信号ＥＮＤ１１，２１，３１，４１とを入力してリクエスト系の転送要求を調停し、調停結果ＴＹＯ１１，２１，３１，４１を出力する。
【００２５】
リプライ系調停回路２はリプライ系データバッファ７−ｊからの転送要求信号ＳＴＡ１２，２２，３２，４２と転送終了信号ＥＮＤ１２，２２，３２，４２とを入力してリプライ系の転送要求を調停し、調停結果ＴＹＯ１２，２２，３２，４２を出力する。
【００２６】
切換えフリップフロップ３とアンド回路８〜１３，１６〜１９とオア回路１４と排他的論理和回路１５とはリクエスト系調停回路１及びリプライ系調停回路２のうちの一方が処理動作している時に他方の処理動作の結果の出力を抑止し、一方の処理動作が完了すると他方の処理動作の結果の出力を許可する。
【００２７】
すなわち、アンド回路８〜１１は排他的論理和回路１５から“０”が入力されると、リクエスト系調停回路１からの調停結果ＴＹＯ１１，２１，３１，４１を転送許可ＣＨＯ１１，２１，３１，４１として出力する。アンド回路１６〜１９は排他的論理和回路１５から“１”が入力されると、リプライ系調停回路２からの調停結果ＴＹＯ１２，２２，３２，４２を転送許可ＣＨＯ１２，２２，３２，４２として出力する。
【００２８】
セレクタ４はアンド回路８〜１１，１６〜１９各々の出力のエンコーダ５でのエンコード結果をセレクト信号ＳＥＬとして入力し、そのセレクト信号ＳＥＬに応じてリクエスト系データバッファ６−ｉ及びリプライ系データバッファ７−ｊに格納されたデータのうちの一つを選択して出力する。
【００２９】
図２は図１のリクエスト系調停回路１の構成を示すブロック図である。図において、リクエスト系調停回路１はアンド回路２１〜２８，３４〜３７，３９〜４２と、転送要求保持ＦＦ２９〜３２と、ノア回路３３と、オフ回路３８，４３とから構成されている。尚、図示していないが、リプライ系調停回路２もリクエスト系調停回路１と同様の構成となっている。
【００３０】
図３は本発明の一実施例のシステム構成を示すブロック図である。図において、本発明の一実施例によるシステムは４つのノード５１〜５４と、各ノード５１〜５４間でスイッチングを行うクロスバスイッチ５５とから構成されている。
【００３１】
クロスバスイッチ５５には上記の調停回路を備えており、各ノード５１〜５４から送出されるデータはリクエスト系データバッファ６−ｉ及びリプライ系データバッファ７−ｊに格納される。
【００３２】
これら図１〜図３を用いて本発明の一実施例による調停回路の調停動作について説明する。
【００３３】
リクエスト系データバッファ６−ｉ及びリプライ系データバッファ７−ｊは各々ノード５１行き用とノード５２行き用とノード５３行き用とノード５４行き用とに分けられ、ノード５１〜５４から送出されたデータは夫々対応するデータバッファに格納される。
【００３４】
リクエスト系データバッファ６−ｉはデータが格納されると、そのデータの転送先ノードに対応するリクエスト系調停回路１に対して転送要求信号ＳＴＡ１１，２１，３１，４１を発行し、リプライ系データバッファ７−ｊはデータが格納されると、そのデータの転送先ノードに対応するリプライ系調停回路２に対して転送要求信号ＳＴＡ１２，２２，３２，４２を発行する。
【００３５】
リクエスト系調停回路１及びリプライ系調停回路２内に取込んだ転送要求を保持する転送要求保持ＦＦ２９〜３２が全て“０”になった時、リクエスト系調停回路１及びリプライ系調停回路２は新たな転送要求信号ＳＴＡ１〜ＳＴＡ４を受付ける。
【００３６】
ここで、送り先ノード側のデータバッファをクロスバスイッチ５５内に設けたフローカウンタ（図示せず）でフロー制御し、受付けた転送要求のうち、転送要求とともに送られてくる情報の中に含まれるデータ転送量とデータ送出先のデータバッファの空き容量とを比較してデータ転送量の方が大きい時、ホールド信号ＨＬＤ１〜４がセットされてホールド状態となるので、その転送要求は調停に参加することができなくなる。
【００３７】
調停に参加することができる転送要求が全て無くなると、信号ＥＲＱが“１”となる。ホールド信号ＨＬＤ１〜４はデータ送出先のデータバッファの空き容量がデータ転送量より大きくなった時に“０”となる。そして、リクエスト系調停回路１及びリプライ系調停回路２は取込まれた転送要求のうちのホールド状態でない転送要求を調停し、調停結果ＴＹＯ１〜４のうちの１つを“１”とする。
【００３８】
調停結果ＴＹＯ１〜４はこのリクエスト系調停回路１及びリプライ系調停回路２の調停結果が有効になる時、転送許可ＣＨＯ１〜４のうちの１つが“１”となり、転送が開始されて転送終了信号ＥＮＤ１〜４が“１”になると、転送要求保持ＦＦ２９〜３２は「０」になり、転送が終了する。転送要求保持ＦＦ２９〜３２の中で残りの１つの転送要求に対する転送終了信号ＥＮＤ１〜４が“１”になった時に信号ＴＲＭが“１”になる。
【００３９】
次に、全ての転送要求がホールド状態でない時、すなわち信号ＥＲＱが“０”の時のリクエスト系調停回路１及びリプライ系調停回路２の切換え手順について説明する。
【００４０】
切換えＦＦ３が“０”の時はリクエスト系調停回路１の調停結果ＴＹＯ１１，２１，３１，４１が有効となり、転送許可ＣＨＯ１１，２１，３１，４１が“１”になる。そして、リクエスト系調停回路１に取込まれていた調停要求に対する最後の転送データが出力され、信号ＴＲＭ１が“１”になると同時に、切換えＦＦ３がセットされる。
【００４１】
これによって、リプライ系調停回路２の調停結果ＴＹ０１２，２２，３２，４２が有効となり、転送許可ＣＨ０１２，２２，３２，４２が“１”になる。そして、リプライ系調停回路２に取込まれていた調停要求に対する最後の転送データが出力され、信号ＴＲＭ２が“１”になると同時に、切換えＦＦ３がリセットされる。
【００４２】
送り先ノード側のデータバッファがリクエスト系／リプライ系に分かれているような構成で、夫々別々にフロー制御されているような場合に、ホールドが発生した時の処理について説明する。
【００４３】
切換えＦＦ３が“０”でリクエスト系調停回路１に取込まれていた転送要求が全て無くなる前に調停に参加できる転送要求が全て無くなった時（信号ＴＲＭ１が“１”になる前に信号ＥＲＱ１が“０”になった時）、リプライ系調停回路２に転送可能な転送要求があれば（信号ＥＲＱ２が“１”）、切換えＦＦ３の内容に関係なくリプライ系調停回路２の転送を行う。
【００４４】
本来転送を行うべきリクエスト調停回路１で転送が可能になる（信号ＥＲＱ１が“１”になる）と、リプライ系調停回路２で行われている転送の転送終了（転送終了信号ＥＮＤ１２，２２，３２，４２が“１”）を待ってリクエスト系調停回路１の転送が再開される。切換えＦＦ３が“１”の場合にも同様の処理動作が行われる。
【００４５】
このように、転送要求をリクエスト系／リプライ系に分けて調停を行い、どちらか一方の系に対して転送許可を与え（２段階調停）、その系の調停回路内に取込まれていた転送要求が全て終了したらもう一方の系に対して転送許可を与えることによって、複数の装置からの転送要求が（Ａ）系／（Ｂ）系（リクエスト系／リプライ系）に分けられるような時、２つの（Ａ）系／（Ｂ）系間での処理の偏りを少なくすることができ、システム全体の処理能力の低下を防ぐことができる。
【００４６】
ここで、上述した処理において、リクエスト系調停回路１及びリプライ系調停回路２には夫々、各ノード５１〜５４から一度に複数の転送要求が入力されるようになっており、リクエスト系調停回路１及びリプライ系調停回路２はそれら複数の転送要求を一つずつ処理するよう構成されている。
【００４７】
この場合、上記の処理ではリクエスト系調停回路１及びリプライ系調停回路２の一方がそれら複数の転送要求を全て処理するまで、他方の処理が行われないが、リクエスト系調停回路１及びリプライ系調停回路２の一方がそれら複数の転送要求のうちの一つの処理が完了する毎に、他方の処理を行うよう構成することも可能である。
【００４８】
尚、請求項の記載に関連して本発明はさらに次の態様をとりうる。
【００４９】
（１）相互にデータ転送可能な複数の装置間でデータ転送を行う際にそのデータ転送を要求するためのリクエスト系転送要求及びそのデータ転送を行うためのリプライ系転送要求を調停する調停回路であって、前記リクエスト系転送要求を調停するリクエスト系調停手段と、前記リプライ系転送要求を調停するリプライ系調停手段と、前記リクエスト系調停手段で調停された前記リクエスト系転送要求に対する転送許可と前記リプライ系調停手段で調停された前記リプライ系転送要求に対する転送許可とを交互に発行する発行手段とを有することを特徴とする調停回路。
【００５０】
（２）前記発行手段は、前記リクエスト系調停手段に取込まれた前記リクエスト系転送要求全てに対する転送許可を発行した後に前記リプライ系調停手段に取込まれた前記リプライ系転送要求全てに対する転送許可を発行するよう構成したことを特徴とする（１）記載の調停回路。
【００５１】
（３）前記リクエスト系調停手段は、前記リプライ系調停手段に取込まれた前記リプライ系転送要求が全て処理された後に前記リクエスト系転送要求を取込むよう構成し、
前記リプライ系調停手段は、前記リクエスト系調停手段に取込まれた前記リクエスト系転送要求が全て処理された後に前記リプライ系転送要求を取込むよう構成したことを特徴とする（１）または（２）記載の調停回路。
【００５２】
（４）前記リクエスト系調停手段及び前記リプライ系調停手段各々は、取込んだ前記リクエスト系転送要求及び前記リプライ系転送要求各々をその優先順位に基づいて選択するよう構成したことを特徴とする（１）から（３）のいずれか記載の調停回路。
【００５３】
（５）前記リクエスト系調停手段及び前記リプライ系調停手段のうちの一方で調停された転送要求に対応する転送が不可となった時に当該転送要求による転送が可能となるまで前記リクエスト系調停手段及び前記リプライ系調停手段のうちの他方で調停された転送要求に対応する転送を行うよう構成したことを特徴とする（１）から（４）のいずれか記載の調停回路。
【００５４】
【発明の効果】
以上説明したように本発明によれば、相互にデータ転送可能な複数の装置間でデータ転送を行う際にそのデータ転送を要求するためのリクエスト系転送要求及びそのデータ転送を行うためのリプライ系転送要求を調停する調停回路において、リクエスト系転送要求を調停するリクエスト系調停手段と、リプライ系転送要求を調停するリプライ系調停手段と、リクエスト系調停手段で調停されたリクエスト系転送要求に対する転送許可とリプライ系調停手段で調停されたリプライ系転送要求に対する転送許可とを交互に発行することによって、リクエスト系／リプライ系の間での処理の偏りを少なくすることができ、システム全体の処理能力の低下を防ぐことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例による調停回路の構成を示すブロック図である。
【図２】図１のリクエスト系調停回路の構成を示すブロック図である。
【図３】本発明の一実施例のシステム構成を示すブロック図である。
【図４】従来例による調停回路の構成を示すブロック図である。
【符号の説明】
１  リクエスト系調停回路
２  リプライ系調停回路
３  切換えフリップフロップ
４  セレクタ
５  エンコーダ
６−１  リクエスト系データバッファ
７−１  リプライ系データバッファ
８〜１３，１６〜１９  アンド回路
１４  オア回路
１５  排他的論理和回路
【図１】
0003667504.tif 000002
【図２】
0003667504.tif 000003
【図３】
0003667504.tif 000004
【図４】
0003667504.tif 000005