(57)【要約】【課題】ユニットの何れかから発行されたリクエストが長時間、未処理となるのを回避するための技術を提供する。【解決手段】セレクタ７３２には、ＳＭモジュール７１０、及びＩＯモジュール７２０からそれぞれ、キューバッファ部７１１毎にリクエストが出力される。プライオリティ・ロジック７３１は、各キューバッファ部７１１のキュー制御部７１２から出力されるQueue  exist信号により、未処理のリクエストが存在するユニットを特定し、そのユニットのなかでリクエストを選択すべきユニットを、そのときに有効としている規則に従って選択する。その規則は、カウンタ７３３が出力するキャリー信号により複数回、動的に変更する。セレク７３２にはその選択結果に応じた選択信号を出力し、選択したユニットのリクエストを選択・出力させる。【選択図】図１
2008046997.tif 000002
【特許請求の範囲】
【請求項１】
ユニットが複数接続されるクロスバに搭載される、該ユニットがそれぞれ発行するリクエストのなかから一つを選択する調停回路において、
前記ユニットが分けられた複数のグループごとに、同一グループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第一のリクエスト選択手段と、
前記第一のリクエスト選択手段が前記グループごとに選択したリクエストの中から、一つのリクエストを選択する第二のリクエスト選択手段と、
予め定められた前記複数のグループ間の優先関係に従って、前記第二のリクエスト選択手段にリクエストを選択させる選択制御手段と、を備え、前記グループ間の優先関係は所定時間間隔ごとに変更されることを特徴とする調停回路。
【請求項２】
前記ユニットとして、１つ以上のＣＰＵを搭載したシステムボード、及び周辺装置との接続用のＩＯユニットがそれぞれ１つ以上、前記クロスバに接続されている場合に、前記複数のグループは、該システムボードのみが属する第１のグループ、及び該ＩＯユニットのみが属する第２のグループの２つであり、
前記選択制御手段は、前記時間間隔毎に、前記第２のグループより前記第１のグループの優先順位を一時的に高くする、
ことを特徴とする請求項１記載の調停回路。
【請求項３】
ユニットが複数接続されるクロスバに搭載される、該ユニットがそれぞれ発行するリクエストのなかから一つを選択する調停回路において、
前記ユニットが分けられた複数のグループごとに、同一グループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第一のリクエスト選択手段と、
前記第一のリクエスト選択手段が前記グループごとに選択したリクエストの中から、一つのリクエストを選択する第二のリクエスト選択手段と、
予め定められた前記複数のグループ間の優先関係に従って、前記第二のリクエスト選択手段にリクエストを選択させる選択制御手段とを備え、前記グループ間の優先関係は動的に変更されることを特徴とする調停回路。
【請求項４】
前記選択制御手段は、前記グループ別に前記リクエストが発行された回数を計数する複数の計数手段、を備え、前記優先関係は、該複数の計数手段がグループ別に計数した回数を基に動的に変更する、
ことを特徴とする請求項３記載の調停回路。
【請求項５】
ユニットが複数、接続されるクロスバにおいて、
前記ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第１のリクエスト選択手段と、
前記第１のリクエスト選択手段が前記グループ毎に選択したリクエストのなかから一つを選択する第２のリクエスト選択手段と、
予め定めた時間間隔毎に変更する前記グループ間の優先関係に従って、前記第２のリクエスト選択手段にリクエストを選択させる選択制御手段と、
を具備することを特徴とするクロスバ。
【請求項６】
ユニットが複数、接続されるクロスバにおいて、
前記ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第１のリクエスト選択手段と、
前記第１のリクエスト選択手段が前記グループ毎に選択したリクエストのなかから一つを選択する第２のリクエスト選択手段と、
前記グループ間の優先関係を動的に変更し、該優先関係に従って前記第２のリクエスト選択手段にリクエストを選択させる選択制御手段と、
を具備することを特徴とするクロスバ。
【請求項７】
ユニットが複数、接続されるクロスバに、該ユニットがそれぞれ発行するリクエストのなかから一つを選択させるための方法において、
前記ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択し、
予め定めた時間間隔毎に変更する前記グループ間の優先関係に従って、前記グループ毎に選択したリクエストのなかから一つを選択する、
ことを特徴とするリクエスト選択方法。
【請求項８】
ユニットが複数、接続されるクロスバに、該ユニットがそれぞれ発行するリクエストのなかから一つを選択させるための方法において、
前記ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択し、
前記グループ間の優先関係を動的に変更し、該優先関係に従って、前記グループ毎に選択したリクエストのなかから一つを選択する、
ことを特徴とするリクエスト選択方法。
【請求項９】
それぞれがリクエストを発行する、複数のグループに分けられた複数の処理部と、
前記複数の処理部から発行されたリクエストの調停を行う、同一グループに属する処理部がそれぞれ発行したリクエストのなかから一つを選択する第一のリクエスト選択手段と、  前記第一のリクエスト選択手段が前記グループごとに選択したリクエストの中から、一つのリクエストを選択する第二のリクエスト選択手段と、予め定められた前記複数のグループ間の優先関係に従って、前記第二のリクエスト選択手段にリクエストを選択させる選択制御手段とを備え、前記グループ間の優先関係は動的に変更される調停手段とを備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユニットが複数、接続されたクロスバに、そのユニット毎にそれぞれ発行されるリクエストのなかから一つを選択するための技術に関する。
【背景技術】
【０００２】
近年、コンピュータ（情報処理装置）のなかには、物理的に分離したユニットを複数、実装する構成が採用されたものがある。そのユニットとしては、ＣＰＵとメモリを搭載したシステムボード（ＳＢ）と、ハードディスク装置やＰＣＩスロットなどのＩＯデバイスを搭載したＩＯユニットとが用意されるのが普通である。そのようなユニットを用意するのは、ＣＰＵ資源やメモリ資源を状況に応じて柔軟に割り当てられるためである。つまり、それらをより効率的に活用できるという利点があるためである。その構成を採用したコンピュータには、システムボード、及びＩＯユニットはそれぞれ１つ以上、搭載される。クロスバは、それらのユニット間の接続に用いられる。
【０００３】
図６は、クロスバにより複数のユニットを接続したコンピュータの構成を説明する図である。図６に示すように、１つ以上のシステムボード１０、及びＩＯユニット２０は共に、２つのグローバル・アドレス・クロスバ（以降「アドレス・クロスバ」と略記）３０、及び４つのグローバル・データ・クロスバ（以降「データ・クロスバ」と略記）４０とそれぞれ接続されている。マネージングボード（ＭＭＢ：Management Board）５０は、管理専用ユニットであり、各ユニット１０〜４０とはＳＭバスにより接続されている。
【０００４】
２つのアドレス・クロスバ３０は、同時に同じリクエスト制御を行っている。それにより、アドレス・クロスバ３０はハードウェア的に２重化されている。４つのデータ・クロスバ４０が用意されているのは、通常、一度に大量のデータが転送されるためである。
【０００５】
２つのアドレス・クロスバ３０にはそれぞれ「＃０」「＃１」が表記されている。このことから、２つのアドレス・クロスバ３０のうちの一方のみを指す場合には、符号の後に「＃０」或いは「＃１」を付すことにする。これは他でも同様である。
【０００６】
図７は、システムボード１０、及びＩＯユニット２０の構成例を説明する図である。
システムボード１０は、４つのＣＰＵ１０１、２つのＦＷＨ（Firm Ware Hub）１０２、ノース・ブリッジ（North Bridge）１０３、４つのメモリ・スイッチ（図中「Mem Swich」と表記）１０４、及び各メモリ・スイッチ１０４に接続された複数のメモリ１０５を備えた構成となっている。他方のＩＯユニット２０は、サウス・ブリッジ（South Bridge）２０１、そのブリッジ２０１に接続された２つのＳＥＲ２０２、各ＳＥＲ２０２に接続されたＩＣＨ６、及び各ＩＣＨ６に接続された６個のコントローラ２１１〜２１６を備えた構成となっている。コントローラとしては、ＦＷＨ２１１、ＳＩＯ（Super IO）コントローラ２１２、ＢＭＣ（Baseboard ManagementController）２１３、ＶＧＡ（Video Graphics Array）コントローラ２１４、２つのＬＡＮアダプタ２１５、及び２１６がＩＣＨ６２０３に接続されている。ＢＭＣ２１３は、ＭＭＢ５０との間で通信を行うためのものである。ＩＣＨ６は、Ｉ／Ｏコントローラ・ハブである。図７に示すコントローラ２１１〜２１６は一例であり、その種類や数は任意に変更できる。それらはＩＯユニット２０単位で任意に決定しても良い。
【０００７】
ＩＯユニット２０のサウス・ブリッジ２０１は、２つのアドレス・クロスバ３０、及び４つのデータ・クロスバ４０とそれぞれ接続されている。そのブリッジ２０１は、ＳＥＲ２０２、及びＩＣＨ６を介して各コントローラ２１１〜２１６を制御する。コントローラ２１１〜２１６の何れかが取得したデータを転送する場合、そのためのリクエスト（アドレスリクエスト）を発行してアドレス・クロスバ３０に出力する。システムボード１０からデータ・クロスバ４０を介して転送されるデータを受信した場合には、ＳＥＲ２０２、及びＩＣＨ６を介して送出すべきコントローラに送出し、データの格納、出力、或いは送信を行わせる。
【０００８】
システムボード１０上の４つのＣＰＵ１０１は、メモリ１０５、他のシステムボード１０、或いはＩＯユニット２０へのリード／ライトコマンドを発行してノース・ブリッジ１０３に出力する。ノース・ブリッジ１０３は、各ＣＰＵ１０１から入力したコマンドを一旦、格納し、優先順位に従ってそのなかから一つを選択し、それをリクエスト（アドレスリクエストとして発行し、アドレス・クロスバ３０、及び４つのメモリ・スイッチ１０４にそれぞれ出力する。
【０００９】
データ・クロスバ４０を介して転送されるデータは、メモリ・スイッチ１０４により受信されてノース・ブリッジ１０３に出力され、そのブリッジ１０３によりそれを必要とするＣＰＵ１０１に渡される。他のシステムボード１０、或いはＩＯユニット２０に転送すべきデータは、メモリ・スイッチ１０４によりデータ・クロスバ４０に送信され転送される。以降は説明の便宜上、システムボード１０、及びＩＯユニット２０からそれぞれアドレス・クロスバ３０に発行・出力されるリクエストは「ＣＰＵリクエスト」「ＩＯリクエスト」とそれぞれ呼ぶことにする。
【００１０】
各システムボード１０、及び各ＩＯユニット２０はそれぞれ、必要に応じてリクエストをアドレス・クロスバ３０に出力する。それにより、リクエストはアドレス・クロスバ３０に集約される形となって、未処理のリクエストが複数ユニット分、存在する状況となり易い。このようなことから、アドレス・クロスバ３０には発行したユニットが異なる複数のリクエストのなかから一つを選択するための調停回路を搭載させている。図８は、従来の調停回路の構成を説明する図である。
【００１１】
各システムボード１０、及び各ＩＯユニット２０がそれぞれ発行・出力したリクエストは、システムボード用のモジュール（module for System Board：以降「ＳＭモジュール」と記す）３１０、ＩＯユニット用のモジュール（module for IO Board：以降「ＩＯモジュール」と記す）３２０に一旦、格納される。モジュール３１０には、ユニット別にリクエストを格納するために複数のキューバッファ部３１１が備えられている。各キューバッファ部３１１は、その制御を行うキュー制御部（図中「Queue Control」と表記）３１２、及びリクエスト格納用のバッファ３１３を備えている。そのバッファ３１３は、複数のリクエストを格納可能であり、図中に表記の「ｑｕｅｕｅ１」〜「ｑｕｅｕｅ５」はそれぞれバッファ３１３に格納されたリクエストを表している。「１」〜「５」の数字は、その値が小さくなるほど前に格納されたことを示している。それにより例えば「ｑｕｅｕｅ１」は最も前に格納されたリクエストであることを表している。このようなキューバッファ部３１１は、特には図示していないが、ＩＯモジュール３２０にもユニット別に用意されている。このことから、ＩＯモジュール３２０に用意されたキューバッファ部にもＳＭモジュール３１０と同じ符号を付すことにする。
【００１２】
従来の調停回路（Arbiter）３３０は、プライオリティ・ロジック（図中「Priority」と表記）３３１、及びセレクタ３３２を備えた構成となっている。セレクタ３３２には、ＳＭモジュール３１０、及びＩＯモジュール３２０からそれぞれ、キューバッファ部３１１毎にリクエストが出力される。出力されるリクエストは最も前に格納されたリクエストである。
【００１３】
各キューバッファ部３１１のキュー制御部３１２は、バッファ３１３に格納されたリクエストが存在するか否かを示すQueue  exist信号をプライオリティ・ロジック３３１に出力する。ロジック３３１は、その信号により、未処理のリクエストが存在するユニットを特定し、そのユニットのなかでリクエストを選択すべきユニットを定められた規則（プライオリティルール）に従って選択する。セレクタ３３２にはその選択結果に応じた選択信号を出力し、選択したユニットのリクエストを選択・出力させる。そのリクエストは、それを送信すべきユニットに送信されるか、或いはブロードキャストされる。そのブロードキャストにより、他のユニット全てにリクエストが送信されることとなる。
【００１４】
プライオリティ・ロジック３３１は、リクエストを選択したユニットに対応するキューバッファ部３１１のキュー制御部３１２に、そのリクエストの選択を通知する。その通知により、キュー制御部３１２は選択されたリクエストを消去する。残っているリクエストが存在している場合には、各リクエストのなかで最も前に格納したリクエストをセレクタ３３２に出力させる。それにより、未処理のリクエストのみをバッファ３１３に残す。新たに発行されたリクエストを受信した場合には、バッファ３１３上の空き領域を探し、そこにそのリクエストを格納する。
【００１５】
図９は、従来の調停回路に採用される規則によって決定される優先順序を説明する図である。図９において、「リクエスト１」〜「リクエスト８」はそれぞれ発行元の異なるリクエストである。初期プライオリティ状態は、発行元（ユニット）間に定められた優先順序の初期状態を表している。それにより、例えばリクエスト１を発行する発行元が最も優先順位が高く、リクエスト８を発行する発行元が最も優先順位が低いことを表している。選択リクエスト（selected request）は、セレクタ３３２により選択・出力されるリクエストに相当する。
【００１６】
発行元間の優先順位は、実際に選択されたリクエストによって変更される。リクエスト２が選択された場合には、リクエスト２の発行元を最も低い優先順位にし、リクエスト３の発行元を最も高い優先順位にする。同様に、リクエスト５が選択された場合には、リクエスト５の発行元を最も低い優先順位にし、リクエスト６の発行元を最も高い優先順位にする。リクエスト８が選択された場合には、リクエスト８の発行元を最も低い優先順位にし、リクエスト１の発行元を最も高い優先順位にする。つまり初期プライオリティ状態に戻す。そのようにして、リクエストを選択する度に優先順序を変更することにより、均等に発行元からのリクエストを選択できるようにしている。
【００１７】
上記規則に従ったリクエストの選択を行う場合、実際に選択されるリクエストの順序は状況に応じて以下のようになる。図１０、及び図１１を参照して、具体的に説明する。
図１０は、システムボード１０、及びＩＯユニット２０が共に５ユニット実装された場合に、従来の調停回路によって選択されるリクエストの順序を説明する図である。図１０（ａ）は、調停回路３３０が選択対象とするリクエストを発行するユニットを示し、図１０（ｂ）は実際に選択されたリクエストの順序を示している。
【００１８】
図１０（ａ）において、「ＣＰＵ＃０」〜「ＣＰＵ＃４」はそれぞれ異なるシステムボード１０から発行されるリクエストを表している。同様に「ＩＯ＃０」〜「ＩＯ＃４」はそれぞれ異なるＩＯユニット２０から発行されるリクエストを表している。「ＣＰＵ＃０」〜「ＣＰＵ＃４」を表記した枠に３１０を付しているのは、それらのリクエストはＳＭモジュール３１０に格納されているからである。「ＩＯ＃０」〜「ＩＯ＃４」を表記した枠に３２０を付しているのも同じ理由からである。
【００１９】
ここでの優先順序としては、優先順位の高い方から、「ＩＯ＃０」〜「ＩＯ＃４」、「ＣＰＵ＃０」〜「ＣＰＵ＃４」と想定している。未処理のリクエストは全てのユニットで存在していることを想定している。そのような優先順序であり、未処理のリクエストが全てのユニットで存在している状況では、プライオリティ・ロジック３３１によって図１０（ｂ）に示すような順序でリクエストが選択される。想定した優先順序の通りに、「ＩＯ＃０」〜「ＩＯ＃４」、「ＣＰＵ＃０」〜「ＣＰＵ＃４」の順序でリクエストが選択される。
【００２０】
図１１は、システムボード１０が５ユニット、及びＩＯユニット２０が１ユニット実装された場合に、従来の調停回路によって選択されるリクエストの順序を説明する図である。図１０と同様に、図１１（ａ）は、調停回路３３０が選択対象とするリクエストを発行するユニットを示し、図１１（ｂ）は実際に選択されたリクエストの順序を示している。
【００２１】
ここでの優先順序としては、優先順位の高い方から、「ＣＰＵ＃０」、「ＩＯ＃０」、「ＣＰＵ＃１」〜「ＣＰＵ＃４」と想定している。未処理のリクエストは全てのユニットに存在し、「ＩＯ＃０」のみは２つ存在していることを想定している。そのような優先順序であり、未処理のリクエストが全てのユニットに存在している状況では、プライオリティ・ロジック３３１によって図１１（ｂ）に示すような順序でリクエストが選択される。想定した優先順序の通りに、「ＣＰＵ＃０」、「ＩＯ＃０」、「ＣＰＵ＃１」〜「ＣＰＵ＃４」の順序でリクエストが選択され、その後も同じ順序で「ＣＰＵ＃０」、「ＩＯ＃０」、「ＣＰＵ＃１」、「ＣＰＵ＃２」が選択されている。
【特許文献１】特開平０５−３４２１７８号公報
【特許文献２】特開２０００−１１２８７６号公報
【特許文献３】特開２００６−６５４５７号公報
【特許文献４】特開２００４−５７２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
図９に示すように発行元となるユニット間の優先順序を変更することにより、均等にユニットからのリクエストを選択（処理）することができる。しかし、各ユニットがリクエストの発行を比較的に短い時間間隔で行うようなリクエスト状況では、各ユニットが発行したリクエストは順次、処理しなければならないため（図１０）、各ユニットのリクエストが選択されてから次に選択されるまでの時間は長くなる。その時間は、リクエストの発行元となるユニットの数が多くなるほど長くなる。また、図１１に示すように、或るユニットのみが連続して複数のリクエストを発行したとしても、そのようなリクエスト状況では、２番目以降のリクエストは他のユニットが後に発行したリクエストを選択してからでないと選択されなくなる。このようなことから、発行してから実際に選択されるまでの時間間隔はリクエスト状況に大きく依存する。複数のリクエストを連続して発行した場合には、最後のリクエストを発行してから実際に選択されるまでの時間間隔はリクエスト状況によって大きく変動する。これは、発行されてから実際に選択されるまでの時間間隔（処理時間）が非常に長くなるリクエストが生じる可能性があることを意味する。
【００２３】
処理時間が非常に長いリクエストを発行したユニットでは、その資源の利用効率が低下し、それによってコンピュータ（システム）全体の性能が低下する。処理時間が一定時間以上となると、つまりタイムアウトとなると、発行したリクエストの処理にエラーが発生したと見なされ、そのリクエストが再発行される。そのようなタイムアウトは、性能を大きく低下させる原因となるだけでなく、システム停止の状態に陥る原因となりうる。このようなことから、ユニットの何れかから発行されたリクエストが長時間、未処理となるのを回避することは極めて重要と考えられる。
【００２４】
本発明は、ユニットの何れかから発行されたリクエストが長時間、未処理となるのを回避するための技術を提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明の第１、及び第２の態様の調停回路は共に、ユニットが複数接続されるクロスバに搭載される、該ユニットがそれぞれ発行するリクエストのなかから一つを選択することを前提とし、ユニットが分けられた複数のグループごとに、同一グループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第一のリクエスト選択手段と、第一のリクエスト選択手段が前記グループごとに選択したリクエストの中から、一つのリクエストを選択する第二のリクエスト選択手段と、を備え、更にそれぞれ以下の手段を具備する。
【００２６】
第１の態様の調停回路は、予め定められた前記複数のグループ間の優先関係に従って、第二のリクエスト選択手段にリクエストを選択させる選択制御手段と、を備え、グループ間の優先関係は所定時間間隔ごとに変更される。
【００２７】
なお、上記ユニットとして、１つ以上のＣＰＵを搭載したシステムボード、及び周辺装置との接続用のＩＯユニットがそれぞれ１つ以上、クロスバに接続されている場合に、複数のグループは、該システムボードのみが属する第１のグループ、及び該ＩＯユニットのみが属する第２のグループの２つであり、選択制御手段は、時間間隔毎に、第２のグループより第１のグループの優先順位を一時的に高くする、ことが望ましい。
【００２８】
第２の態様の調停回路は、予め定められた前記複数のグループ間の優先関係に従って、第二のリクエスト選択手段にリクエストを選択させる選択制御手段とを備え、グループ間の優先関係は動的に変更される。
【００２９】
なお、上記選択制御手段は、グループ別にリクエストが発行された回数を計数する複数の計数手段、を備え、優先関係は、該複数の計数手段がグループ別に計数した回数を基に動的に変更する、ことが望ましい。
【００３０】
本発明の第１及び第２の態様のクロスバは共に、ユニットが複数、接続されることを前提とし、それぞれ上記第１及び第２の態様の調停回路を具備する。
本発明の第１及び第２の態様のリクエスト選択方法は共に、ユニットが複数、接続されるクロスバに、該ユニットがそれぞれ発行するリクエストのなかから一つを選択させるために用いられることを前提とし、それぞれ以下のようにリクエストの選択を行う。
【００３１】
第１の態様のリクエスト選択方法では、ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択し、予め定めた時間間隔毎に変更するグループ間の優先関係に従って、グループ毎に選択したリクエストのなかから一つを選択する。
【００３２】
第２の態様のリクエスト選択方法では、ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択し、グループ間の優先関係を動的に変更し、該優先関係に従って、グループ毎に選択したリクエストのなかから一つを選択する。
【００３３】
本発明の情報処理装置は、それぞれがリクエストを発行する、複数のグループに分けられた複数の処理部と、複数の処理部から発行されたリクエストの調停を行う、同一グループに属する処理部がそれぞれ発行したリクエストのなかから一つを選択する第一のリクエスト選択手段と、第一のリクエスト選択手段がグループごとに選択したリクエストの中から、一つのリクエストを選択する第二のリクエスト選択手段と、予め定められた複数のグループ間の優先関係に従って、第二のリクエスト選択手段にリクエストを選択させる選択制御手段とを備え、グループ間の優先関係は動的に変更される調停手段とを備えている。
【発明の効果】
【００３４】
本発明では、ユニット（処理部）を複数のグループに分け、グループ毎に、同一グループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択し、所定時間間隔毎に変更するグループ間の優先関係に従って、グループ毎に選択したリクエストのなかから一つを選択する。
【００３５】
グループ毎に選択したリクエストのなかから一つを選択するためのグループ間の優先関係を所定時間間隔毎に変更することにより、その時間間隔毎に優先順位を高くするグループに属するユニットから発行のリクエストが選択される単位時間当たりの回数は、リクエスト状況に係わらず、一定数以上に維持される。このため、時間間隔毎に優先的にリクエストを選択させるグループとして、発行したリクエストが長時間、未処理となる危険性が比較的に高いユニットが属するグループを選ぶことにより、リクエスト状況に係わらず、発行したリクエストが長時間、未処理となるユニットが生じるのを回避できるようになる。
【００３６】
グループ間の優先関係を動的に変更する場合には、その変更に伴い、同じリクエスト状況であってもグループで選択される単位時間当たりのリクエスト数が変化する。このため、例えばリクエスト状況に応じて、発行したリクエストが長時間、未処理となる危険性が比較的に高いユニットが属するグループの優先度を動的に高くすることにより、発行したリクエストが長時間、未処理となるユニットが生じるのを回避できるようになる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
＜第１の実施の形態＞
図１は、第１の実施の形態による調停回路の構成を説明する図である。その調停回路（Arbiter）７３０は、図６、或いは図７に示すアドレス・クロスバ３０に、システムボード１０、及びＩＯユニット２０がそれぞれ発行するリクエストの選択用に搭載されるものである。それにより本実施の形態によるクロスバは、その調停回路７３０を搭載したアドレス・クロスバ３０として実現される。本実施の形態による情報処理装置は、そのクロスバ３０によりシステムボード１０、及びＩＯユニット２０を相互接続させることにより実現されている。システムボード１０、及びＩＯユニット２０はそれぞれ処理部に相当する。
【００３８】
各システムボード１０、及び各ＩＯユニット２０がそれぞれ発行・出力したリクエストは、システムボード用のモジュール（module for System Board：以降「ＳＭモジュール」と記す）７１０、ＩＯユニット用のモジュール（module for IO Board：以降「ＩＯモジュール」と記す）７２０に一旦、格納される。モジュール７１０には、ユニット別にリクエストを格納するために複数のキューバッファ部７１１が備えられている。各キューバッファ部７１１は、その制御を行うキュー制御部（図中「Queue Control」と表記）７１２、及びリクエスト格納用のバッファ７１３を備えている。そのバッファ７１３は、複数のリクエストを格納可能であり、図中に表記の「ｑｕｅｕｅ１」〜「ｑｕｅｕｅ５」はそれぞれバッファ７１３に格納されたリクエストを表している。「１」〜「５」の数字は、その値が小さくなるほど前に格納されたことを示している。それにより例えば「ｑｕｅｕｅ１」は最も前に格納されたリクエストであることを表している。このようなキューバッファ部７１１は、特には図示していないが、ＩＯモジュール７２０にもユニット別に用意されている。このことから、ＩＯモジュール７２０に用意されたキューバッファ部にもＳＭモジュール７１０と同じ符号を付すことにする。
【００３９】
本実施の形態による調停回路（Arbiter）７３０は、図１に示すように、プライオリティ・ロジック（図中「Priority」と表記）７３１、セレクタ７３２、及びカウンタ７３３を備えた構成となっている。セレクタ７３２には、ＳＭモジュール７１０、及びＩＯモジュール７２０からそれぞれ、キューバッファ部７１１毎にリクエストが出力される。出力されるリクエストは最も前に格納されたリクエストである。
【００４０】
各キューバッファ部７１１のキュー制御部７１２は、バッファ７１３に格納されたリクエストが存在するか否かを示すQueue  exist信号をプライオリティ・ロジック７３１に出力する。ロジック７３１は、その信号により、未処理のリクエストが存在するユニットを特定し、そのユニットのなかでリクエストを選択すべきユニットを、そのときに有効としている（適用させている）規則（プライオリティルール）に従って選択する。セレク７３２にはその選択結果に応じた選択信号を出力し、選択したユニットのリクエストを選択・出力させる。そのリクエストは、それを送信すべきユニットに送信されるか、或いはブロードキャストされる。そのブロードキャストを行う場合には、他のユニット全てにリクエストが送信されることとなる。
【００４１】
有効とする規則は、カウンタ７３３からの信号により動的に変更する。そのカウンタ７３３は、例えばカウント可能な最大値までカウントするとカウント値が０となり、論理値が１のキャリー信号を出力するタイプのものである。カウントするクロックは、例えばシステムクロック、或いはそれを分周したものである。プライオリティ・ロジック７３１は、例えばカウンタ７３３から論理値が１のキャリー信号を入力する度に例えば複数回一時的に規則を変更する。以降、キャリー信号を出力する時間間隔を「計測期間」、一時規則を変更する時間間隔を「期間（period）Ａ」と呼ぶことにする。
【００４２】
期間Ａ毎に一時的に有効とする規則とは、例えばシステムボード１０、及びＩＯユニット２０のうちの一方の種類から発行されたリクエストを優先して選択するというものである。その規則（以降「一時規則」と呼ぶ）により、一方の種類（以降「優先種類」）が発行のリクエストは期間Ａ内で１回、強制的に選択される。その一時規則を有効としていないときには、例えば図９に示すような規則（以降「従来規則」）を有効とさせる。その従来規則は、一時規則を定期的に有効とさせることから、言い換えれば、その一時規則で優先種類としているユニットが発行のリクエストを強制的に選択するようにしていることから、その優先種類としているユニットは対象外としてリクエストの選択を行うものとしている。
【００４３】
一時規則を有効とするときに選択すべきリクエストは、例えば従来規則により選択している。それにより実際には、従来規則によるリクエストの選択は、優先種類、そうでない種類別に行い、優先種類、そうでない種類別に選択されるリクエストのなかから１つをそれらの間の優先関係に従って選択する形となっている。言い換えれば、優先種類とそうでない種類にユニット１０、２０をグループ分けして、グループ毎にリクエストを一つ選択し、グループ毎に選択したリクエストのなかから一つをグループ間の優先関係に従って選択するようになっている。このため、一時規則による優先順序の変更は、優先種類、及びそうでない種類間の優先関係の変更により行われている。
【００４４】
プライオリティ・ロジック７３１は、リクエストを選択したユニットに対応するキューバッファ部７１１のキュー制御部７１２に、そのリクエストの選択を通知する。その通知により、キュー制御部７１２は選択されたリクエストを消去する。残っているリクエストが存在している場合には、各リクエストのなかで最も前に格納したリクエストをセレクタ７３２に出力させる。それにより、未処理のリクエストのみをバッファ７１３に残す。新たに発行されたリクエストを受信した場合には、バッファ７１３上の空き領域を探し、そこにそのリクエストを格納する。
【００４５】
図２は、システムボード１０、及びＩＯユニット２０が共に５ユニット実装された場合に、本実施の形態による調停回路７３０によって選択されるリクエストの順序を説明する図である。図２（ａ）は、調停回路７３０が選択対象とするリクエストを発行するユニットを示し、図２（ｂ）は実際に選択されたリクエストの順序を示している。
【００４６】
図２（ａ）において、「ＣＰＵ＃０」〜「ＣＰＵ＃４」はそれぞれ異なるシステムボード１０から発行されるリクエストを表している。同様に「ＩＯ＃０」〜「ＩＯ＃４」はそれぞれ異なるＩＯユニット２０から発行されるリクエストを表している。「ＣＰＵ＃０」〜「ＣＰＵ＃４」を表記した枠に７１０を付しているのは、それらのリクエストはＳＭモジュール７１０に格納されているからである。「ＩＯ＃０」〜「ＩＯ＃４」を表記した枠に７２０を付しているのも同じ理由からである。
【００４７】
ここでは、優先種類としてはシステムボード１０を想定している。従来規則での優先順序（初期状態）としては、優先順位の高い方から、「ＩＯ＃０」〜「ＩＯ＃４」と想定している。一時規則の適用時での優先順序（初期状態）としては、優先順位の高い方から、「ＣＰＵ＃０」〜「ＣＰＵ＃４」と想定している。未処理のリクエストは全てのユニットで複数、存在していることを想定している。そのような優先種類、優先順序であり、未処理のリクエストが全てのユニットで複数、存在している状況では、プライオリティ・ロジック７３１によって図２（ｂ）に示すような順序でリクエストが選択される。期間Ａは３リクエスト選択分の長さであることから、その期間Ａ毎に１回、システムボード１０が発行のリクエストが優先順位に従って順次、選択されている。そのリクエストが選択される間は、ＩＯユニット２０が発行のリクエストが優先順序に従って順次、選択されている。
【００４８】
上記のように一時規則を定期的に有効とすることにより、優先種類のユニットが発行のリクエストを所望の時間間隔で強制的に選択させることができる。リクエスト状況に係わらず、優先種類のユニットが発行のリクエストが選択される単位時間当たりの回数を維持させることができる。このため、発行したリクエストの処理時間が長くなる可能性の高いユニットの種類を優先種類とした場合には、図９に示すような規則のみを有効とする場合と比較して、その優先種類のユニットが発行のリクエストの処理時間はより短くすることができる。それにより、その処理時間が長くなることによる性能の低下は抑えることができ、タイムアウトによるシステム停止は確実に回避できるようになる。
【００４９】
マネージングボード（ＭＭＢ）５０は、各部（チップセット）１０〜４０に対して様々な命令を実行させることや、その情報の入手などを行う。一方、各部１０〜４０は、内部に設定用のレジスタを備えており、各種設定はそのレジスタに格納するようになっている。このことから、一時規則とする規則や優先種類などの設定をそのレジスタに格納し、プライオリティ・ロジック７３１にそのレジスタに格納された設定に従って動作させることにより、上述したような動作を行わせることができる。
【００５０】
カウンタ７３３に入力するクロックの周期を変更可能とした場合には、そのレジスタに、期間Ａの長さを設定として格納できるようにしても良い。期間Ａ毎に強制的に選択するリクエストの数を設定として格納できるようにしても良い。このようなことから、様々な変形を行うことができる。
【００５１】
＜第２の実施の形態＞
上記第１の実施の形態では、優先種類（一時規則の有効時にリクエスト選択が優先されるユニットの種類）は固定的に設定するようになっている。これに対し第２の実施の形態は、リクエストをサンプリングして、その結果から優先種類の設定を自動的に変更するようにしたものである。リクエストをサンプリングした結果に応じて設定を変更することから、そのときの状況に応じて適切な優先種類を選択できるようになる。それにより、性能の低下はより抑えることができ、タイムアウトによるシステム停止はより確実に回避できるようになる。
【００５２】
第２の実施の形態では、第１の実施の形態と同じ、或いは基本的に同じものには同一の符号を付すことにする。それにより、第１の実施の形態から異なる部分に着目する形で説明する。
【００５３】
図３は、第２の実施の形態による調停回路の構成を説明する図である。その調停回路（Arbiter）９００は、第１の実施の形態と同じく、図６、或いは図７に示すアドレス・クロスバ３０に、システムボード１０、及びＩＯユニット２０がそれぞれ発行するリクエストの選択用に搭載されるものである。それにより本実施の形態によるクロスバは、その調停回路７３０を搭載したアドレス・クロスバ３０として実現される。本実施の形態による情報処理装置は、そのクロスバ３０によりシステムボード１０、及びＩＯユニット２０を相互接続させることにより実現されている。
【００５４】
各システムボード１０、及び各ＩＯユニット２０がそれぞれ発行・出力したリクエストは、ＳＭモジュール７１０、ＩＯモジュール７２０に一旦、格納される。調停回路９００には、それらのモジュール７１０、７２０にそれぞれ格納されるリクエストをモジュール７１０、７２０別にサンプリングして優先種類を設定するプライオリティ制御モジュール（Priority control module）９１０が搭載されている。そのモジュール９１０は、図３に示すように、２つのカウンタ９１１、９１２、比較（Compare）回路９１３、及びタイマ９１４を備えた構成となっている。
【００５５】
ＳＭモジュール７１０に搭載のキューバッファ部７１１の何れかにリクエストが入力される度に、システムボード１０が発行のリクエストをカウント用のカウンタ９１１に１パルスが出力される。同様に、ＩＯモジュール７２０に搭載のキューバッファ部７１１の何れかにリクエストが入力される度に、ＩＯユニット２０が発行のリクエストをカウント用のカウンタ９１２に１パルスが出力される。それらのカウンタ９１１、９１２は、タイマ９１４が一定時間毎に出力するキャリー信号によりリセットされるようになっている。それにより、各カウンタ９１１、９１２はそれぞれ、一定時間内にシステムボード１０、ＩＯユニット２０がそれぞれ発行したリクエスト数をカウントする。
【００５６】
タイマ９１４が出力するキャリー信号は、比較回路９１３にも入力される。その比較回路９１３は、キャリー信号（例えば論理値が１のアクティブのキャリー信号）を入力すると、各カウンタ９１１、９１２から直前に入力したカウント値（一定時間内に発行されたリクエスト数）の比較を行い、その比較結果をpriority control信号Ｓ１としてプライオリティ・ロジック９０１に出力する。その信号Ｓ１の論理値は、カウンタ９１１のカウント値＜カウンタ９１２のカウント値、の関係を満たしていれば１（信号レベルは“Ｈ”）とし、その関係を満たしていなければ０（信号レベルは“Ｌ”）とする。その論理値は、比較結果から変更すべきか否か特定することにより、変更すべき状況となった場合に変更する。
【００５７】
図４は、priority control信号Ｓ１の信号レベルと設定される優先種類の関係を説明する図である。図中、「設定モード」は優先種類に応じて設定されるモードのことであり、「ＣＰＵ優先」はシステムボード１０を優先種類とするモードの名称である。同様に「ＩＯ優先」はＩＯユニット２０を優先種類とするモードの名称である。それにより図４は、priority control信号Ｓ１の信号レベルが“Ｈ”のときにはＣＰＵ優先モードが設定され、その信号レベルが“Ｌ”のときにはＩＯ優先モードが設定されることを示している。そのようにモード設定を行うのは、一般的には全体のリクエスト数が少ないユニットが発行のリクエストを優先させる方が、システム性能の低下を抑える効果がより高いと考えられるためである。
【００５８】
プライオリティ・ロジック９０１はpriority control信号Ｓ１を監視し、その信号Ｓ１の信号レベルで指定されるモードで動作する。そのロジック９０１自体は、図５（ａ）に示すように、システムボード１０が発行のリクエストを対象に選択を行うＣＰＵプライオリティ・ロジック（図中「ＣＰＵ＿ｐｒｉｏｒｉｔｙ」と表記）１００１、ＩＯユニット２０が発行のリクエストを対象に選択を行うＩＯプライオリティ・ロジック（図中「ＩＯ＿ｐｒｉｏｒｉｔｙ」と表記）１００２、及び各ロジック１００１、１００２の選択結果を入力し、そのうちの一方を選択するＡＬＬプライオリティ・ロジック（図中「ＡＬＬ＿ｐｒｉｏｒｉｔｙ」と表記）１００３を備えた構成となっている。
【００５９】
各ロジック１００１、及び１００２はそれぞれ、例えば図９に示すような規則に従ってリクエストの選択を行うものである。priority control信号Ｓ１はＡＬＬプライオリティ・ロジック１００３に入力される。それにより、そのロジック１００３は、各ロジック１００１、及び１００２からそれぞれ選択結果を入力した場合に、その信号レベルから特定される方の選択結果を優先して選択する。このため、優先種類のユニットが発行したリクエストは全て無くなるまで優先して選択され、それとは異なる種類のユニットが発行したリクエストはその後に選択されることとなる。
【００６０】
図５は、５ユニットのシステムボード１０がそれぞれ発行したリクエストが全て複数、存在し、ＩＯユニット２０が発行したリクエストは１ユニットのみ複数、存在する場合に、第２の実施の形態による調停回路９００によって選択されるリクエストの順序を説明する図である。図５（ａ）は、ユニット毎に残っている未処理のリクエストを示し、図５（ｂ）は実際に選択されたリクエストの順序を示している。
【００６１】
ここでは、優先種類としてはＩＯユニット２０を想定している。システムボード１０が発行のリクエストの優先順序（初期状態）としては、優先順位の高い方から、「ＣＰＵ＃０」〜「ＣＰＵ＃４」と想定している。ＩＯユニット２０の何れからも新たなリクエストの発行は行われていないことを想定している。このため、図５（ａ）に示すような状況下でＩＯ優先モードが設定されていれば、つまりpriority control信号Ｓ１の信号レベルが“Ｈ”であれば、図５（ｂ）に示すように、２つのリクエストＩＯ＃０が連続して選択された後、システムボード１０が発行のリクエストが優先順序に従って順次、選択される。
【００６２】
なお、第２の実施の形態では、priority control信号Ｓ１の信号レベルが変化しない限り、その信号レベルで指定される優先順位に従って、システムボード１０、及びＩＯユニット２０のうちの何れか一方が発行したリクエストが無くなるまで選択し続けるようになっているが、そのような優先順位に従った選択は、定めた期間のみ、或いは定めた回数のみ有効としても良い。その期間のみ、或いは回数のみ有効とさせる場合には、その期間、或いは回数はリクエストのサンプリング結果から自動的に設定するようにしても良い。
【００６３】
システムボード１０、及びＩＯユニット２０のうちの何れか一方を優先させるモード設定については、それぞれモード別に満たすべき関係を定義して行うようにしても良い。具体的には、例えばＣＰＵ優先モードの設定は、カウンタ９１１のカウント値＜カウンタ９１２のカウント値−α（予め定めた定数）、の関係を満たした場合に行うようにしても良い。これはＩＯ優先モードの設定でも同様である。ＩＯ優先モード、及びＣＰＵ優先モードの何れも設定されていない状況では、３つのロジック１００１〜１００３を用いて図９に示すような規則に従ったリクエストの選択を行わせても良い。定数αの値やタイマ９１４に計時させる時間間隔などはマネージングボード５０、或いはＳＡＬ（Scientific Applications on Linux）などを用いて任意に設定できるようにしても良い。
【００６４】
実装が任意に行えるユニット（処理部）はシステムボード１０、及びＩＯユニット２０の２種類であることから、本実施の形態では、ユニットのグループ分けはその種類で分けて行っている。それによりグループ数は２となっている。しかし、システムボード１０、及びＩＯユニット２０以外の種類のユニットも実装可能、或いはそれらのうちの少なくとも一方が更に複数種類に分類可能な場合には、３つ以上のグループに分け、グループ毎に選択したリクエストのなかから一つをグループ間の優先関係に従って選択するようにしても良い。このようなこともあり、実装可能なユニットの種類は限定されるものではない。
【００６５】
（付記１）
ユニットが複数接続されるクロスバに搭載される、該ユニットがそれぞれ発行するリクエストのなかから一つを選択する調停回路において、
前記ユニットが分けられた複数のグループごとに、同一グループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第一のリクエスト選択手段と、
前記第一のリクエスト選択手段が前記グループごとに選択したリクエストの中から、一つのリクエストを選択する第二のリクエスト選択手段と、
予め定められた前記複数のグループ間の優先関係に従って、前記第二のリクエスト選択手段にリクエストを選択させる選択制御手段と、を備え、前記グループ間の優先関係は所定時間間隔ごとに変更されることを特徴とする調停回路。
【００６６】
（付記２）
前記ユニットとして、１つ以上のＣＰＵを搭載したシステムボード、及び周辺装置との接続用のＩＯユニットがそれぞれ１つ以上、前記クロスバに接続されている場合に、前記複数のグループは、該システムボードのみが属する第１のグループ、及び該ＩＯユニットのみが属する第２のグループの２つであり、
前記選択制御手段は、前記時間間隔毎に、前記第２のグループより前記第１のグループの優先順位を一時的に高くする、
ことを特徴とする付記１記載の調停回路。
【００６７】
（付記３）
ユニットが複数接続されるクロスバに搭載される、該ユニットがそれぞれ発行するリクエストのなかから一つを選択する調停回路において、
前記ユニットが分けられた複数のグループごとに、同一グループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第一のリクエスト選択手段と、
前記第一のリクエスト選択手段が前記グループごとに選択したリクエストの中から、一つのリクエストを選択する第二のリクエスト選択手段と、
予め定められた前記複数のグループ間の優先関係に従って、前記第二のリクエスト選択手段にリクエストを選択させる選択制御手段とを備え、前記グループ間の優先関係は動的に変更されることを特徴とする調停回路。
【００６８】
（付記４）
前記選択制御手段は、前記グループ別に前記リクエストが発行された回数を計数する複数の計数手段、を備え、前記優先関係は、該複数の計数手段がグループ別に計数した回数を基に動的に変更する、
ことを特徴とする付記３記載の調停回路。
【００６９】
（付記５）
前記選択制御手段は、前記複数の計数手段が計数した回数が最小のグループの優先順位を最も高くする、
ことを特徴とする付記４記載の調停回路。
【００７０】
（付記６）
前記ユニットとして、１つ以上のＣＰＵを搭載したシステムボード、及び周辺装置との接続用のＩＯユニットがそれぞれ１つ以上、前記クロスバに接続されている場合に、前記複数のグループは、該システムボードのみが属するグループ、及び該ＩＯユニットのみが属するグループの２つである、
ことを特徴とする付記３記載の調停回路。
【００７１】
（付記７）
ユニットが複数、接続されるクロスバにおいて、
前記ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第１のリクエスト選択手段と、
前記第１のリクエスト選択手段が前記グループ毎に選択したリクエストのなかから一つを選択する第２のリクエスト選択手段と、
予め定めた時間間隔毎に変更する前記グループ間の優先関係に従って、前記第２のリクエスト選択手段にリクエストを選択させる選択制御手段と、
を具備することを特徴とするクロスバ。
【００７２】
（付記８）
ユニットが複数、接続されるクロスバにおいて、
前記ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択する第１のリクエスト選択手段と、
前記第１のリクエスト選択手段が前記グループ毎に選択したリクエストのなかから一つを選択する第２のリクエスト選択手段と、
前記グループ間の優先関係を動的に変更し、該優先関係に従って前記第２のリクエスト選択手段にリクエストを選択させる選択制御手段と、
を具備することを特徴とするクロスバ。
【００７３】
（付記９）
前記ユニットとして、１つ以上のＣＰＵを搭載したシステムボード、及び周辺装置との接続用のＩＯユニットがそれぞれ１つ以上、前記クロスバに接続されている場合に、前記複数のグループは、該システムボードのみが属するグループ、及び該ＩＯユニットのみが属するグループの２つである、
ことを特徴とする付記７、または８記載のクロスバ。
【００７４】
（付記１０）
ユニットが複数、接続されるクロスバに、該ユニットがそれぞれ発行するリクエストのなかから一つを選択させるための方法において、
前記ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択し、
予め定めた時間間隔毎に変更する前記グループ間の優先関係に従って、前記グループ毎に選択したリクエストのなかから一つを選択する、
ことを特徴とするリクエスト選択方法。
【００７５】
（付記１１）
ユニットが複数、接続されるクロスバに、該ユニットがそれぞれ発行するリクエストのなかから一つを選択させるための方法において、
前記ユニットを複数のグループに分け、該グループ毎に、同じグループに属するユニットがそれぞれ発行したリクエストのなかから一つを選択し、
前記グループ間の優先関係を動的に変更し、該優先関係に従って、前記グループ毎に選択したリクエストのなかから一つを選択する、
ことを特徴とするリクエスト選択方法。
【００７６】
（付記１２）
前記ユニットとして、１つ以上のＣＰＵを搭載したシステムボード、及び周辺装置との接続用のＩＯユニットがそれぞれ１つ以上、前記クロスバに接続されている場合に、前記複数のグループは、該システムボードのみが属するグループ、及び該ＩＯユニットのみが属するグループの２つである、
ことを特徴とする付記１０、または１１記載のリクエスト選択方法。
【００７７】
（付記１３）
それぞれがリクエストを発行する、複数のグループに分けられた複数の処理部と、
前記複数の処理部から発行されたリクエストの調停を行う、同一グループに属する処理部がそれぞれ発行したリクエストのなかから一つを選択する第一のリクエスト選択手段と、  前記第一のリクエスト選択手段が前記グループごとに選択したリクエストの中から、一つのリクエストを選択する第二のリクエスト選択手段と、予め定められた前記複数のグループ間の優先関係に従って、前記第二のリクエスト選択手段にリクエストを選択させる選択制御手段とを備え、前記グループ間の優先関係は動的に変更される調停手段とを備えたことを特徴とする情報処理装置。
【図面の簡単な説明】
【００７８】
【図１】第１の実施の形態による調停回路の構成を説明する図である。
【図２】システムボード１０、及びＩＯユニット２０が共に５ユニット実装された場合に、第１の実施の形態による調停回路７３０によって選択されるリクエストの順序を説明する図である。
【図３】第２の実施の形態による調停回路の構成を説明する図である。
【図４】priority control信号Ｓ１の信号レベルと設定される優先種類の関係を説明する図である。
【図５】５ユニットのシステムボード１０がそれぞれ発行したリクエストが全て複数、存在し、ＩＯユニット２０が発行したリクエストは１ユニットのみ複数、存在する場合に、第２の実施の形態による調停回路９００によって選択されるリクエストの順序を説明する図である。
【図６】クロスバにより複数のユニットを接続したコンピュータの構成を説明する図である。
【図７】システムボード１０、及びＩＯユニットの構成例を説明する図である。
【図８】従来の調停回路の構成を説明する図である。
【図９】第２の実施の形態における各種信号波形の変化を示すタイミングチャートである。
【図１０】システムボード１０、及びＩＯユニット２０が共に５ユニット実装された場合に、従来の調停回路によって選択されるリクエストの順序を説明する図である。
【図１１】システムボード１０が５ユニット、及びＩＯユニット２０が１ユニット実装された場合に、従来の調停回路によって選択されるリクエストの順序を説明する図である。
【符号の説明】
【００７９】
１０      システムボード
２０      ＩＯユニット
３０      アドレス・クロスバ
５０      マネージメントボード
７１０      ＳＭモジュール
７２０      ＩＯモジュール
７３０、９００      調停回路
７３１、９０１      プライオリティ／ロジック
７３２      セレクタ
７３３、９１１、９１２      カウンタ
９１０      プライオリティ制御モジュール
９１３      比較回路
９１４      タイマ
【図１】
2008046997.tif 000003
【図２】
2008046997.tif 000004
【図３】
2008046997.tif 000005
【図４】
2008046997.tif 000006
【図５】
2008046997.tif 000007
【図６】
2008046997.tif 000008
【図７】
2008046997.tif 000009
【図８】
2008046997.tif 000010
【図９】
2008046997.tif 000011
【図１０】
2008046997.tif 000012
【図１１】
2008046997.tif 000013