(57)【要約】【課題】要求パケットより応答パケットを優先して送出する方式を採用するシステム制御装置において、性能の低下を防ぐ。【解決手段】複数の演算処理装置１に接続されるシステム制御装置２は、複数の演算処理装置１のうち第１の演算処理装置１からの要求を格納する要求保持部８と、第１の演算処理装置１からの要求に対応する、複数の演算処理装置１のうち第２の演算処理装置１への応答を格納する応答保持部１１と、要求保持部８に要求が格納された場合、応答保持部１１に応答が既に保持されているとき、要求よりも応答を先に出力するとともに、要求保持部８に要求が格納された場合、応答保持部１１に応答が未だ保持されていないとき、応答よりも要求を先に出力する調停部１２を有する。【選択図】図２
2013206247.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算処理装置に接続されるシステム制御装置において、
前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、
前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部と、
前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記要求よりも前記応答を先に出力するとともに、前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記応答よりも前記要求を先に出力する調停部と、を有することを特徴とするシステム制御装置。
【請求項２】
前記応答保持部は複数のエントリを有し、
前記システム制御装置はさらに、
前記応答保持部が有する複数のエントリのいずれかを指定する読み出しポインタを有し、
前記調停部は、
前記要求保持部に要求が格納されてから前記読み出しポインタが前記複数のエントリを一巡して前記複数のエントリの全てを指定したことを検知することにより、前記要求保持部に要求が格納されてから新たに格納された要求が存在しないと判定することを特徴とする請求項１記載のシステム制御装置。
【請求項３】
前記システム制御装置はさらに、
前記要求保持部に要求が格納されてから前記読み出しポインタが前記複数のエントリを一巡して前記複数のエントリの全てを指定したかを示す状態保持部を有することを特徴とする請求項１又は２記載のシステム制御装置。
【請求項４】
複数の演算処理装置とシステム制御装置とを有する情報処理装置において、
前記システム制御装置は、
前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、
前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部と、
前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記要求よりも前記応答を先に出力するとともに、前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記応答よりも前記要求を先に出力する調停部と、を有することを特徴とする情報処理装置。
【請求項５】
複数の演算処理装置に接続されるとともに、前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部とを備えたシステム制御装置の制御方法において、
前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記システム制御装置が有する調停部が、前記要求よりも前記応答を先に出力し、
前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記調停部が、前記応答よりも前記要求を先に出力することを特徴とするシステム制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、システム制御装置、情報処理装置及びシステム制御装置の制御方法に関する。
【背景技術】
【０００２】
ＳＭＰ（Symmetrical Multi Processor）等のメモリ共有マルチプロセッサシステムにおいては、プロセッサとメモリ間、或いは、複数プロセッサ間でデータの転送が行なわれる。このようなシステムでは、各プロセッサがそれぞれデータを更新する。このため、データに矛盾が生じないように、システムコントローラ（System Controller：ＳＣ）によって、各プロセッサのキャッシュを監視して、複数のプロセッサによるデータの処理の順序を制御する必要がある。
【０００３】
プロセッサは、データを例えばパケット単位で扱う。このようなパケットには主に、プロセッサが新たに発行する要求パケット（メモリフェッチ等）と、他のプロセッサからの要求に対する応答パケット（メモリストア、プロセッサ間のデータ転送等）との少なくとも２種類ある。
一般に、ＳＣは、プロセッサからの要求パケットを受け取り、異なるプロセッサ間の要求を、優先順位を付けて選択（この処理を「調停」と呼ぶ）する調停回路を備える。この調停回路は、複数のプロセッサがそれぞれ出力する複数の要求を調停して、各プロセッサのキャッシュステータスを検索するためのスヌープパイプラインに投入する。そして、ＳＣは、要求パケットに対して、スヌープ結果に応じて、メモリにアクセスするか（キャッシュミスの場合）、キャッシュヒットした場合には、そのプロセッサに対してオーダーを発行する。
【０００４】
一部のシステムアーキテクチャでは、キャッシュ間のデータのコヒーレンシを保障するために、要求パケットが応答パケットを追い越してはならないという制約を課している。この制約は、ＳＣ内に設けられた、送出パケットを選択する調停回路が、常に要求パケットよりも応答パケットを優先することにより実現される。
ここで、このような従来のＳＣ１０２が適用される情報処理装置としての情報処理システム２００のハードウェア構成の例を説明する。
【０００５】
図６は、従来のＳＣ１０２が適用される情報処理システム２００のハードウェア構成の例を模式的に示す図である。
情報処理システム２００は、１以上の演算処理装置としてのＣＰＵ（Central Processing Unit）１０１−１〜１０１−ｎ（ｎは１以上の整数）、ＳＣ１０２、入出力ユニット（Input/Output Unit：ＩＯ）１０３、メモリアクセスコントローラ（Memory Access Controller：ＭＡＣ）１０４、及び１以上のＤＲＡＭ（Dynamic Random Access Memory）１０５−１〜１０５−ｍ（ｍは１以上の整数）を備える。
【０００６】
ＣＰＵ１０１−１〜１０１−ｎは、ＤＲＡＭ１０５−１〜１０５−ｍ等から不図示のプログラムや、不図示のストレージからＯＳ（Operating System）等を読み出し、各種処理を実行するプロセッサである。
ＳＣ１０２は、ＣＰＵ１０１−１〜１０１−ｎ、ＩＯ１０３、及びＭＡＣ１０４とバスで接続されており、１つのシステムボード（System Board：ＳＢ）に組み込まれている。また、ＳＣ１０２には、不図示の他のＳＢとの接続用のバスも存在する。
【０００７】
ＩＯ１０３は、情報処理システム２００と外部との接続に使用される入出力インタフェースであり、例えばネットワークインタフェースボードやＳＣＳＩ（Small Computer Systems Interface）カードなどである。
ＭＡＣ１０４は、ＳＣ１０２と間でＤＲＡＭ１０５−１〜１０５−ｍに対するアクセスを制御するコントローラである。
【０００８】
ＤＲＡＭ１０５−１〜１０５−ｍは、ＣＰＵ１０１−１〜１０１−ｎが演算や制御を行なうに際して、種々のデータやプログラムを格納する記憶領域である。
なお、以下、ＣＰＵを示す符号としては、複数のＣＰＵのうち１つを特定する必要があるときには符号１０１−１〜１０１−ｎを用いるが、任意のＣＰＵを指すときには符号１０１を用いる。
【０００９】
また、ＤＲＡＭを示す符号としては、複数のＤＲＡＭのうち１つを特定する必要があるときには符号１０５−１〜１０５−ｍを用いるが、任意のＤＲＡＭを指すときには符号１０５を用いる。
このような構成の情報処理システム２００において、例えば、ＣＰＵ１０１の１つがＳＣ１０２に対して要求パケットを発行する。
【００１０】
ＳＣ１０２は、要求されたデータが、他のＣＰＵ１０１の不図示のキャッシュに存在するかどうかをスヌープする。要求データが他のＣＰＵ１０１のキャッシュに存在する（すなわちヒット）場合、ＳＣ１０２は、データを有するキャッシュのＣＰＵ１０１に対してオーダーを発行する。
一方、要求データが他のＣＰＵ１０１のキャッシュに存在しない（すなわちヒットしない）場合、ＳＣ１０２は、ＭＡＣ１０４にメモリ要求を送る。
【００１１】
ＳＣ１０２は、オーダーを発行した先のＣＰＵ１０１、又はメモリ要求を発行した先のＭＡＣ４から応答パケットを受信すると、その応答パケットを、要求パケットを発行したＣＰＵ１０１に転送する。
図７は、従来の情報処理システム２００におけるＳＣ１０２の構成例を模式的に示す図である。
【００１２】
ＳＣ１０２は、要求キュー（Request Queue：ＲＱＱ）部１３０、応答キュー（Return Queue：ＲＴＮＱ）部１４０、調停回路（ＰＲＩＯ）１１２、要求用資源使用カウンタ（ＲＱ用ＵＳＥＤ−ＣＴ）１１３、及び応答用資源使用カウンタ（ＲＴＮ用ＵＳＥＤ−ＣＴ）１１４を備える。
要求キュー部１３０は、要求キューを処理する部分であり、要求キュー用ライトポインタ（Write Pointer：ＷＴＰＴ）１０６、要求キュー用リードポインタ（Read Pointer：ＲＤＰＴ）１０７、及び要求キュー１０８を有する。
【００１３】
要求キュー１０８は、８つのエントリ１０８−０〜１０８−７を有する先入先出し（First In First Out：ＦＩＦＯ）キューであり、ＣＰＵ１０１やＩＯ１０３から受信した要求パケットを格納する。
なお、以下、要求キューを示す符号としては、要求キューのエントリのうちの１つを特定する必要があるときには符号１０８−０〜１０８−７を用いるが、要求キューの任意のエントリを指すとき、或いは要求キュー全体を指すときには符号１０８を用いる。
【００１４】
要求キュー用ライトポインタ１０６は、ＣＰＵ１０１やＩＯ１０３から受信した要求パケットを、要求キュー１０８のエントリ１０８−０〜１０８−７のいずれに書き込むかを示すポインタである。
要求キュー用リードポインタ１０７は、要求キュー１０８のエントリ１０８−０〜１０８−７のうちのいずれから要求パケットを読み出すかを示すポインタである。
【００１５】
応答キュー部１４０は、応答キューを処理する部分であり、応答キュー用ライトポインタ１０９、応答キュー用リードポインタ１１０、及び応答キュー１１１を有する。
応答キュー１１１は、８つのエントリ１１１−０〜１１１−７を有するＦＩＦＯキューであり、ＣＰＵ１０１やＩＯ１０３、ＭＡＣ１０４から受信した応答パケットを格納する。
【００１６】
なお、以下、応答キューを示す符号としては、応答キューのエントリのうちの１つを特定する必要があるときには符号１１１−０〜１１１−７を用いるが、応答キューの任意のエントリを指すとき、或いは応答キュー全体を指すときには符号１１１を用いる。
応答キュー用ライトポインタ１０９は、ＣＰＵ１０１やＩＯ１０３、ＭＡＣ１０４から受信した応答パケットを、応答キュー１１１のエントリ１１１−０〜１１１−７のうちのいずれに書き込むかを示すポインタである。
【００１７】
応答キュー用リードポインタ１１０は、応答キュー１１１のエントリ１１１−０〜１１１−７のうちのいずれから応答パケットを読み出すかを示すポインタである。
調停回路１１２は、ＳＣ１０２から送出されるパケットを、要求キュー部１３０と応答キュー部１４０との間で調停する回路である。つまり、調停回路１１２は、要求パケットと応答パケットのどちらを選択するかを制御する回路である。調停回路１１２は、要求キュー部１３０と応答キュー部１４０との両方から調停参加信号（不図示）を受け取り、両者の調停参加要求が競合した場合は、必ず、応答キュー部１４０を優先して選択する。このため、たとえ応答パケットの宛先資源がビジーであり、応答パケットを送出できない場合であっても、要求パケットが送出されることはない。
【００１８】
上記のごとき、無条件で応答パケットを優先する情報処理システム２００では、応答パケットが大量に発生すると、要求パケットが長時間、調停回路１１２で選択されずに要求キュー１０８で待たされてしまう。
その間、要求パケットの処理回路は動作せず、この結果、情報処理システム２００の処理性能が低下する。
【００１９】
このような問題を解決する手法として、要求パケットが一定時間待たされた場合、その要求パケットを応答パケットよりも優先させる手法がある。
しかし、この手法では、応答パケットと要求パケット間の順序が正しく維持されることを保障することができない。
このような問題を解決するための手法がいくつか存在し、例えば、特許文献１に記載の構成がある。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開平８−２４９２９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
しかし、特許文献１の構成においては、例えば、キューのエントリ数をＮとすると、制御に必要なＦＦ（フリップフロップ）のビット数が、Ｎ（１＋ｌｏｇ２Ｎ）となる。このとき、ＦＦのビット数は、Ｎ＝８の場合Ｎ（１＋ｌｏｇ２Ｎ）＝３２ビット、Ｎ＝６４の場合Ｎ（１＋ｌｏｇ２Ｎ）＝４４８ビットとなり、フリップフロップのビット数が増える場合、ビット数の増加する以上に回路の規模が大きくなる。また、キューのエントリ数分の比較回路が大量に必要となり、回路が複雑化してしまう。
【００２２】
このため、要求パケットより応答パケットを優先して送出する方式を採用するシステムコントローラにおいて、より小規模な回路で性能の低下を防ぐことが望ましい。
１つの側面では、本開示は、要求パケットよりも応答パケットを優先する方式を採用するシステムコントローラにおいて、性能の低下を防ぐことができる技術を提供することを目的とする。
【課題を解決するための手段】
【００２３】
このため、このシステム制御装置は、複数の演算処理装置に接続されるシステム制御装置であって、前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部と、前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記要求よりも前記応答を先に出力するとともに、前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記応答よりも前記要求を先に出力する調停部と、を有する。
【００２４】
また、この情報処理装置は、複数の演算処理装置とシステム制御装置とを有する情報処理装置であって、前記システム制御装置は、前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部と、前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記要求よりも前記応答を先に出力するとともに、前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記応答よりも前記要求を先に出力する調停部と、を有する。
【００２５】
また、このシステム制御装置の制御方法は、複数の演算処理装置に接続されるとともに、前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部とを備えたシステム制御装置の制御方法であって、前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記システム制御装置が有する調停部が、前記要求よりも前記応答を先に出力し、前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記調停部が、前記応答よりも前記要求を先に出力する。
【発明の効果】
【００２６】
本開示によれば、要求パケットより応答パケットを優先して送出する方式を採用するシステムコントローラにおいて、性能の低下を防ぐことができる。
【図面の簡単な説明】
【００２７】
【図１】第１実施形態の一例としてのシステムコントローラが適用される情報処理システムのハードウェア構成の例を模式的に示す図である。
【図２】第１実施形態の一例としてのシステムコントローラの構成例を模式的に示す図である。
【図３】第１実施形態の一例としてのシステムコントローラにおける処理を示すタイムチャートである。
【図４】第２実施形態の一例としてのシステムコントローラの例を模式的に示す図である。
【図５】第２実施形態の一例としてのシステムコントローラにおける処理を示すタイムチャートである。
【図６】従来の情報処理システムのハードウェア構成の例を模式的に示す図である。
【図７】従来の情報処理システムのシステムコントローラの構成例を模式的に示す図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明の実施の形態を説明する。
（１）第１実施形態
まず、第１実施形態の一例としてのＳＣ２が適用される情報処理システム２０のハードウェア構成の例を説明する。
図１は、実施形態の一例としてのＳＣ２が適用される情報処理システム２０のハードウェア構成の例を模式的に示す図である。
【００２９】
情報処理システム２０は、１以上のＣＰＵ１−１〜１−ｎ（ｎは１以上の整数）、ＳＣ２、ＩＯ３、ＭＡＣ４、及び１以上のＤＲＡＭ５−１〜５−ｍ（ｍは１以上の整数）を備える。
ＣＰＵ１−１〜１−ｎは、ＤＲＡＭ５−１〜５−ｍ等から不図示のプログラムや、不図示のストレージからＯＳ等を読み出し、各種処理を実行するプロセッサである。
【００３０】
ＳＣ２は、ＣＰＵ１−１〜１−ｎ、ＩＯ３、及びＭＡＣ４とバスで接続されており、１つのシステムボード（System Board：ＳＢ）に組み込まれている。また、ＳＣ２には、不図示の他のＳＢとの接続用のバスも存在する。
ＩＯ３は、情報処理システム２０と外部との接続に使用されるインタフェースであり、例えばネットワークインタフェースボードやＳＣＳＩ（Small Computer Systems Interface）カードなどである。
【００３１】
ＭＡＣ４は、ＳＣ２と間でＤＲＡＭ５−１〜５−ｍに対するアクセスを制御するコントローラである。
ＤＲＡＭ５−１〜５−ｍは、ＣＰＵ１−１〜１−ｎが演算や制御を行なうに際して、種々のデータやプログラムを格納する記憶領域である。
なお、以下、ＣＰＵを示す符号としては、複数のＣＰＵのうち１つを特定する必要があるときには符号１−１〜１−ｎを用いるが、任意のＣＰＵを指すときには符号１を用いる。
【００３２】
また、ＤＲＡＭを示す符号としては、複数のＤＲＡＭのうち１つを特定する必要があるときには符号５−１〜５−ｍを用いるが、任意のＤＲＡＭを指すときには符号５を用いる。
このような構成の情報処理システム２０において、例えば、ＣＰＵ１の１つがＳＣ２に対して要求パケットを発行する。
【００３３】
ＳＣ２は、要求されたデータが、他のＣＰＵ１の不図示のキャッシュに存在するかどうかをスヌープする。要求データが他のＣＰＵ１のキャッシュに存在する（すなわちヒット）の場合、ＳＣ２は、データを有するキャッシュのＣＰＵ１に対してオーダーを発行する。
一方、要求データが他のＣＰＵ１のキャッシュに存在しない（すなわちヒットしない）場合、ＳＣ２は、ＭＡＣ４にメモリ要求を送る。
【００３４】
ＳＣ２は、オーダーを発行した先のＣＰＵ１、又はメモリ要求を発行した先のＭＡＣ４から応答パケットを受信すると、その応答パケットを、要求パケットを発行したＣＰＵ１に転送する。
上記の動作のために、ＳＣ２は、図２に示すように、要求パケットや応答パケットを受信して保持するＦＩＦＯキューを複数備える。
【００３５】
図２は、第１実施形態の一例としてのＳＣ２の構成例を模式的に示す図である。
ＳＣ２は、要求キュー（Request Queue：ＲＱＱ）部３０、応答キュー（Return Queue：ＲＴＮＱ）部４０、調停回路（調停部；ＰＲＩＯ）１２、要求用資源使用カウンタ（ＲＱ用ＵＳＥＤ−ＣＴ）１３、及び応答用資源使用カウンタ（ＲＴＮ用ＵＳＥＤ−ＣＴ）１４を備える。
【００３６】
要求キュー部３０は、要求キューを処理する部分であり、要求キュー用ライトポインタ（Write Pointer：ＷＴＰＴ）６、要求キュー用リードポインタ（Read Pointer：ＲＤＰＴ）７、要求キュー８、及び状態カウンタ（ＳＴＡＴＥ−ＣＴ）１５−０〜１５−７を有する。
要求キュー８は、８つのエントリ８−０〜８−７を有するＦＩＦＯキューであり、ＣＰＵ１やＩＯ３から受信した要求パケットを格納する。
【００３７】
なお、以下、要求キューを示す符号としては、要求キューのエントリのうちの１つを特定する必要があるときには符号８−０〜８−７を用いるが、要求キューの任意のエントリを指すとき、或いは要求キュー全体を指すときには符号８を用いる。
ライトポインタ６は、ＣＰＵ１やＩＯ３から受信した要求パケットを、要求キュー８のエントリ８−０〜８−７のいずれに書き込むかを示すポインタである。
【００３８】
リードポインタ７は、要求キュー８のエントリ８−０〜８−７のうちのいずれから要求パケットを読み出すかを示すポインタである。
状態カウンタ１５−０〜１５−７は、要求キュー８の各エントリ８−０〜８−７に対応する２ビット幅のカウンタである。
この状態カウンタ１５−０〜１５−７は、それぞれ、後述する応答キュー用リードポインタ１０と接続されている。
【００３９】
状態カウンタ１５−０〜１５−７の動作については後述する。
要求キュー部３０は、要求キュー用ライトポインタ６と要求キュー用リードポインタ７との値が一致している場合、要求キュー８にはパケットが存在しないので、調停には参加しない（調停参加信号（ＲＱ  ＰＲＩＯ）３１を送信しない）。
一方、要求キュー部３０は、要求キュー用ライトポインタ６と要求キュー用リードポインタ７との値が一致せず、かつ要求パケットの宛先の資源（不図示）がビジーでない場合、調停回路１２にＲＱ  ＰＲＩＯ３１を送る。
【００４０】
応答キュー部４０は、応答キューを処理する部分であり、応答キュー用ライトポインタ９、応答キュー用リードポインタ（読み出しポインタ）１０、及び応答キュー１１−０〜１１−７を有する。
応答キュー１１は、８つのエントリ１１−０〜１１−７を有するＦＩＦＯキューであり、ＣＰＵ１やＩＯ３、ＭＡＣ４から受信した応答パケットを格納する。
【００４１】
なお、以下、応答キューを示す符号としては、応答キューのエントリのうちの１つを特定する必要があるときには符号１１−０〜１１−７を用いるが、応答キューの任意のエントリを指すとき、或いは応答キュー全体を指すときには符号１１を用いる。
応答キュー用ライトポインタ９は、ＣＰＵ１やＩＯ３、ＭＡＣ４から受信した応答パケットを、応答キュー１１のエントリ１１−０〜１１−７のうちのいずれに書き込むかを示すポインタである。
【００４２】
応答キュー用リードポインタ１０は、応答キュー１１のエントリ１１−０〜１１−７のうちのいずれから応答パケットを読み出すかを示すポインタである。
なお、要求キュー８、応答キュー１１のいずれも、８エントリのキューとして図示されているが、エントリ数は８以外でもよい。
応答キュー部４０は、応答キュー用ライトポインタ９と応答キュー用リードポインタ１０との値が一致している場合、応答キュー１１にはパケットが存在しないので、調停には参加しない（調停参加信号（ＲＴＮ  ＰＲＩＯ）４１を送信しない）。
【００４３】
一方、応答キュー部４０は、応答キュー用ライトポインタ９と応答キュー用リードポインタ１０との値が一致しない場合、調停回路１２にＲＴＮ  ＰＲＩＯ４１を送る。
要求用資源使用カウンタ１３は、要求パケットの宛先資源の使用数を示す要求用資源使用カウンタであり、要求パケットの宛先資源が１つ使用される度に１インクリメントされ、要求パケットの宛先資源が１つ解放される度に１デクリメントされる。
【００４４】
応答用資源使用カウンタ１４は、応答パケットの宛先資源の使用数を示す応答用資源使用カウンタであり、応答パケットの宛先資源が１つ使用される度に１インクリメントされ、応答パケットの宛先資源が１つ解放される度に１デクリメントされる。
調停回路１２は、ＳＣ２から送出されるパケットを、要求キュー部３０と応答キュー部４０との間で調停する回路である。つまり、調停回路１２は、要求パケットと応答パケットのどちらを選択するかを制御する回路である。調停回路１２は、要求キュー部３０と応答キュー部４０との両方から調停参加信号（ＲＱ  ＰＲＩＯ３１，ＲＴＮ  ＰＲＩＯ４１）を受け取り、両者の調停参加要求が競合した場合は、下記に記載する例外を除き、基本的には応答キュー部４０を優先して選択する。このため、たとえ応答パケットの宛先資源がビジーであり、応答パケットを送出できない場合であっても、要求パケットが送出されることはない。
【００４５】
したがって、応答キュー１１に１つでもパケットが格納されている場合には、要求キュー８のパケットが選択されることはない。調停回路１２は、このような制御を行なうことにより、要求パケットが応答パケットよりも先に送出される（要求パケットが応答パケットを追い越す）ことを阻止する。
また、要求キュー部３０は、要求キュー８の各エントリ８−０〜８−７に対応する２ビット幅のカウンタである、状態カウンタ１５−０〜１５−７を備える。
【００４６】
状態カウンタ１５−０は、要求キュー８のエントリ８−０に、状態カウンタ１５−１は、エントリ８−１に、状態カウンタ１５−２は、エントリ８−２に、状態カウンタ１５−３は、エントリ８−３に、それぞれ対応している。また、状態カウンタ１５−４は、要求キュー８のエントリ８−４に、状態カウンタ１５−５は、エントリ８−５に、状態カウンタ１５−６は、エントリ８−６に、状態カウンタ１５−７は、エントリ８−７に、それぞれ対応している。
【００４７】
なお、以下、状態カウンタを示す符号としては、状態カウンタのうちの１つを特定する必要があるときには符号１５−０〜１５−７を用いるが、状態カウンタの任意のカウンタを指すとき、或いは状態カウンタ全体を指すときには符号１５を用いる。
状態カウンタ１５は、対応するいずれかの要求キュー８のエントリ８−０〜８−７に要求パケットが格納されており、かつ、応答キュー用リードポインタ１０が“０”から“１”にインクリメントされると、そのエントリ８−０〜８−７に対応する状態カウンタ１５−０〜１５−７が１カウントアップ（＋１）される。
【００４８】
例えば、要求キュー８のエントリ８−０に要求パケットが格納されており、かつ、応答キュー用リードポインタ１０が“０”から“１”にインクリメントされると、状態カウンタ１５−０が１カウントアップ（＋１）される。
つまり、状態カウンタ１５−０〜１５−７のいずれかの値が“２”になった場合、要求パケットが要求キュー８の対応するエントリ８−０〜８−７に格納されてから、応答キュー用リードポインタ１０が１周以上したことを示す。
【００４９】
つまり、要求パケットが要求キュー８にセットされた時点で、既に応答キュー１１に格納されていたパケットが全て送出されており、要求パケットが応答パケットを追い越さないことが保障される。
このため、調停回路１２は、要求キュー用リードポインタ１０が示す要求キュー８のエントリの状態カウンタ１５が“２”の場合、応答パケットよりも要求パケットを優先して選択する。
【００５０】
また、応答キュー１１が空の場合は、要求キュー８のパケットが格納されている全エントリに対応する状態カウンタ１５に“２”をセットする。
この一連の動作のタイムチャートを図３に示す。
図３は、第１実施形態の一例としてのＳＣ２における処理を示すタイムチャートである。
【００５１】
図３において、横軸は時間（サイクル）を示しており、図３は、各サイクルにおける各種信号の状態又はカウンタの値を示す。
図３の上半分の「ＲＱＱ」は、要求キュー部３０に関連する各種信号の状態又はカウンタの値を示す。
詳細には、ＷＴＰＴ６は、図２の要求キュー用ライトポインタ６、ＲＤＰＴ７は要求キュー用リードポインタ７の値をそれぞれ示す。また、ＳＴＡＴＥ−ＣＴ−Ｑ１５−０〜ＳＴＡＴＥ−ＣＴ−Ｑ１５−７は、状態カウンタ１５−０〜１５−７の値をそれぞれ示す。また、ＲＱ  ＰＲＩＯ３１は、要求キュー８から要求パケットをＳＣ２の外部に送信するために、要求キュー部３０が、調停回路１２にパケット送出権を獲得しようとして送信する調停参加信号を示す。要求キュー部３０から調停回路１２に調停参加信号を出すときにＲＱ  ＰＲＩＯ３１をイネーブルにする。ＰＲＩＯ＿ＴＫＮ３２は、要求キュー８からの調停参加信号を受けて、調停回路１２が要求キュー８を選択するとイネーブルとなり、応答キュー１１を選択するとディスエーブルとなる信号である。ＵＳＥＤ−ＣＴ１３は、要求用資源使用カウンタ１３の値を示す。ＢＵＳＹ３３は、要求パケットの宛先資源のＢＵＳＹ信号であり、要求パケットの宛先資源が全て使用されビジーになるとイネーブルとなる。ＲＬＳ３４は、要求パケットの宛先資源の解放通知信号（ＲＬＳ）であり、要求パケットの宛先資源が解放されるとイネーブルとなる。
【００５２】
また、図３の下半分の「ＲＴＮＱ」部分は、応答キュー部４０に関連する各種信号の状態又はカウンタの値を示す。
なお、この例においては、説明の便宜上、応答パケットの宛先資源（不図示）の数を４個とする。
詳細には、ＷＴＰＴ９は、図２の応答キュー用ライトポインタ９、ＲＤＰＴ１０は応答キュー用リードポインタ１０の値をそれぞれ示す。また、ＲＴＮ  ＰＲＩＯ４１は、応答キュー１１から応答パケットをＳＣ２の外部に送信するために、応答キュー部４０が、調停回路１２にパケット送出権を獲得しようとして送信する調停参加信号を示す。応答キュー部３０から調停回路１２に調停参加信号を出すときにＲＴＮ  ＰＲＩＯ４１をイネーブルにする。ＰＲＩＯ＿ＴＫＮ４２は、応答キュー１１からの調停参加信号を受けて、調停回路１２が応答キュー１１を選択するとイネーブルにし、要求キュー８を選択するとディスエーブルとする選択信号である。ＵＳＥＤ−ＣＴ１４は、応答用資源使用カウンタ１４の値を示す。ＢＵＳＹ４３は、応答パケットの宛先資源のＢＵＳＹ信号であり、応答パケットの宛先資源が全て使用されビジーになるとイネーブルとなる。ＲＬＳ４４は、応答パケットの宛先資源の解放通知信号（ＲＬＳ）であり、応答パケットの宛先資源が解放されるとイネーブルとなる。
【００５３】
図３において、サイクルｔ１〜ｔ７に、応答パケットが次々にＳＣ２に送られ、応答キュー用ライトポインタ９（ＷＴＰＴ９）がインクリメントされる。
これに対応して、サイクルｔ１において、応答キュー部４０は、応答キュー１１からパケット送出権を獲得するために調停参加信号４１（ＲＴＮ  ＰＲＩＯ４１）をイネーブルにする。調停回路１２は応答キュー４０を選択し、選択信号４２（ＰＲＩＯ＿ＴＫＮ４２）をイネーブルにする。
【００５４】
サイクルｔ１〜ｔ４にかけて、応答キュー部４０がパケット送出権を獲得しているので、応答キュー部４０は、応答パケットが送出される度に、応答キュー用リードポインタ１０（ＲＤＰＴ１０）をインクリメントする。これと同時に、応答パケットの宛先資源の使用数をカウントする資源使用カウンタ１４（ＵＳＥＤ−ＣＴ１４）もインクリメントされる。
【００５５】
前述のように、応答パケットの宛先資源の数はここでは４個としている。したがって、サイクルｔ５において、資源使用カウンタ１４の値が“４”になると、応答パケットをこれ以上送出できなくなる。このため、サイクルｔ５において、応答パケットの宛先資源用のＢＵＳＹ信号４３（ＢＵＳＹ４３）がイネーブルとなる。
サイクルｔ８において、応答パケットの宛先資源が解放されると、応答パケットの宛先資源解放信号４４（ＲＬＳ４４）がイネーブルとなり、ＢＵＳＹ信号４３はディスエーブルとなる。また、サイクルｔ８で資源解放信号４４（ＲＬＳ４４）がイネーブルとなると資源使用カウンタ１４もデクリメントされる。
【００５６】
一方、要求パケットは、応答パケットの合間に時々送られてくる。そして、要求キュー部３０は、要求パケットを受信する度に、要求キュー用ライトポインタ６（ＷＴＰＴ６）をインクリメントする（サイクルｔ７，ｔ１１，ｔ１５，ｔ２３参照）。
しかし、応答キュー１１に、要求パケットよりも優先順位の高い応答パケットが格納されているため、調停回路１２は、これらの要求パケットを選択しない。
【００５７】
サイクルｔ１２において、応答キュー用リードポインタ１０（ＲＤＰＴ１０）が“０”から“１”にインクリメントされる。これに対応して、サイクルｔ１３において、要求キュー８のパケットが書き込まれているエントリ８−０，８−１に対応する状態カウンタ１５−０，１５−１（ＳＴＡＴＥ−ＣＴ−Ｑ０，ＳＴＡＴＥ−ＣＴ−Ｑ１）がインクリメントされる。
【００５８】
サイクルｔ２０においても同様に、応答キュー用リードポインタ１０（ＲＤＰＴ１０）が“０”から“１”にインクリメントされる。これに対応して、サイクルｔ２１において、要求キュー８のパケットが書き込まれているエントリ８−０，８−１，８−３に対応する状態カウンタ１５−０〜１５−２（ＳＴＡＴＥ−ＣＴ−Ｑ０，ＳＴＡＴＥ−ＣＴ−Ｑ１，ＳＴＡＴＥ−ＣＴ−Ｑ２）がインクリメントされる。
【００５９】
この結果、サイクルｔ２１において、要求キュー８のエントリ８−０，８−１の状態カウンタ１５−０〜１５−７の値が“２”となり、調停回路１２は、応答パケットに優先して要求パケットを選択する。この結果、要求パケットが送出され、要求キュー用リードポインタ７（ＲＤＰＴ７）がインクリメントされる。
このように、本実施形態の一例としてのＳＣ２は、応答パケットを大量に受信した場合でも、調停回路１２によって要求パケットを選択して送出することができる。
【００６０】
このため、要求パケットが先行の応答パケットを追い越してはならないという制限を満たしつつ、待たされた要求パケットを優先することが可能となる。この結果、応答処理の合間に要求処理を割り込ませることになり、処理の並列度を向上させ、性能の低下を防止することができる。
更に、本実施形態の制御回路に必要となるＦＦのビット数は、キューのエントリ数をＮとすると、２Ｎとなる。Ｎ＝８の場合は１６ビット、Ｎ＝６４の場合は１２８ビットであり、従来の構成に比べて少ない回路規模で実現できる。また、本実施形態の一例としてのＳＣ２は比較回路が不要であり、回路が簡潔である。
【００６１】
（２）第２実施形態
上記の第１実施形態の一例では、要求キュー８のエントリごとに２ビットの状態カウンタ１５を用意する必要がある。このため、要求キュー８のエントリが増えるに従い、多くのＦＦのビット数が必要となる。
このため、第２実施形態の一例としてのＳＣ２′では回路構成を工夫して、必要なＦＦのビット数を低減させる。
【００６２】
第２実施形態の一例としてのＳＣ２′が適用される情報処理システム２０のハードウェア構成は、図１に示した第１実施形態の場合と同じであるため、その図示並びに説明を省略する。
図４は、第２実施形態の一例としてのＳＣ２′の例を模式的に示す図である。
ＳＣ２′は、要求キュー部３０′、応答キュー部４０、調停回路１２、要求用資源使用カウンタ１３、及び応答用資源使用カウンタ１４を備える。
【００６３】
しかし、第２実施形態の一例としてのＳＣ２′においては、要求キュー部３０′が、状態カウンタ１５−０〜１５−７に代えて、状態テーブル（状態ＴＢＬ）１６，１７と、比較回路１８とを有する。
を有する。
それ以外の構成は、図２に示した第１実施形態の一例としてのＳＣ２と同じであるため、説明を省略する。
【００６４】
状態テーブル１６は、ＶＡＬＩＤフィールド１６１と要求キュー用ライトポインタフィールド１６２とを有する。
ＶＡＬＩＤフィールド１６１は、後述する要求キュー用ライトポインタフィールド１６２が有効かどうかを示すフラグであり、例えば、値にイネーブルが設定されている場合、要求キュー用ライトポインタフィールド１６２が有効であることを示す。
【００６５】
要求キュー用ライトポインタフィールド１６２は、後述するように、応答キュー用リードポインタ１０が“０”から“１”になった時点の、要求キュー用ライトポインタ６の値を格納する。
状態テーブル１７も、ＶＡＬＩＤフィールド１７１と要求キュー用ライトポインタフィールド１７２とを有する。
【００６６】
ＶＡＬＩＤフィールド１７１は、後述する要求キュー用ライトポインタフィールド１６２が有効かどうかを示すフラグであり、例えば、値にイネーブルが設定されている場合、要求キュー用ライトポインタフィールド１７２が有効であることを示す。
要求キュー用ライトポインタフィールド１７２は、応答キュー用リードポインタ１０が２度目に“０”から“１”になった時点に、応答キュー用リードポインタ１０が最初に“１”になったときの要求キュー用ライトポインタの値を格納する。
【００６７】
応答キュー用リードポインタ１０が“０”から“１”にインクリメントされると、要求キュー部３０′は、要求キュー８が空でなければ（つまり、エントリ８−０〜８−７のいずれかに要求パケットが格納されている場合には）、要求キュー用ライトポインタ６の値を、要求キュー用ライトポインタフィールド１６２にセットする。このとき、要求キュー部３０′は、要求キュー用ライトポインタフィールド１７２が有効であることを示すために、ＶＡＬＩＤフィールド１６１を、例えばイネーブルに設定する。
【００６８】
その後、もう一度応答キュー用リードポインタ１０が“０”から“１”にインクリメントされると、要求キュー部３０′は、ＶＡＬＩＤフィールド１６１の値をＶＡＬＩＤフィールド１７１に転送する。また、要求キュー部３０′は、要求キュー用ライトポインタフィールド１６２の値を、要求キュー用ライトポインタフィールド１７２に転送する。
状態ＶＡＬＩＤフィールド１７１がイネーブルである場合、調停回路１２は、要求キュー用リードポインタ７が要求キュー用ライトポインタフィールド１７２の値に追い付くまで、要求パケットを応答パケットより優先する。
【００６９】
要求キュー用リードポインタ７が、要求キュー用ライトポインタフィールド１７２の値に追い付く（つまり、両者が同じ値になる）と、ＶＡＬＩＤフィールド１６１，１７１がリセットされる。また、応答キュー１１が空の場合、要求キュー部３０′は、要求キュー用ライトポインタ６の値を直接、要求キュー用ライトポインタフィールド１７２にセットすると共に、ＶＡＬＩＤフィールド１７１をイネーブルにする。
【００７０】
比較回路１８は、状態テーブル１７の値と要求キュー用ライトポインタ６、要求キュー用リードポインタ７の値とを比較する回路である。具体的には、ＳＴＡＴＥ−ＴＢＬ−Ｖ１７１がイネーブルで、ＷＴＰＴ６＞ＲＤＰＴ７の場合、ＲＤＰＴ７＜ＳＴＡＴＥ−ＴＬＢ１７２＜ＷＴＰＴ６であれば、要求パケットを応答パケットよりも優先するように調停回路に通知する信号ＰＲＩＯ＿ＨＩＧＨ＿ＲＱＱ３５がイネーブルになる。また、ＳＴＡＴＥ−ＴＢＬ１７１がイネーブルで、ＷＴＰＴ６＜ＲＤＰＴ７の場合、ＷＴＰＴ６＞ＳＴＡＴＥ−ＴＢＬ１７２、またはＲＤＰＴ６＜ＳＴＡＴＥ−ＴＢＬ１７２であれば、ＰＲＩＯ＿ＨＩＧＨ＿ＲＱＱ３５がイネーブルになる。
【００７１】
第２実施形態の一例としてのＳＣ２′は、このような構成を有することにより、各エントリに対応する状態カウンタ１５−０〜１５−７を設けた場合と、同等の制御を行なうことができる。更に、要求キュー８のエントリ数が増加しても、状態テーブル１６，１７のビット幅が要求キュー用ライトポインタ６のビット幅分だけしか増加しないため、ＦＦの必要ビット数はほとんど増えない。
【００７２】
この一連の動作のタイムチャートを図５に示す。
図５は、第２実施形態の一例としてのＳＣ２′における処理を示すタイムチャートである。
図５においても、横軸は時間（サイクル）を示しており、図５は、各サイクルにおける各種信号の状態又はカウンタの値を示す。
【００７３】
図５の上半分の「ＲＱＱ」は、要求キュー部３０に関連する各種信号の状態又はカウンタの値を示す。
ここで、ＳＴＡＴＥ＿ＴＢＬ−Ｖ１６１は、図４のＶＡＬＩＤフィールド１６１、ＳＴＡＴＥ＿ＴＢＬ１６２は、要求キュー用ライトポインタフィールド１６２の値をそれぞれ示す。また、ＳＴＡＴＥ＿ＴＢＬ−Ｖ１７１は、図４のＶＡＬＩＤフィールド１７１、ＳＴＡＴＥ＿ＴＢＬ１７２は、要求キュー用ライトポインタフィールド１７２の値をそれぞれ示す。
【００７４】
それ以外の信号及びカウンタは、図３に示した第１実施形態の一例としてのＳＣ２のタイムチャートと同じであるため、説明を省略する。
図５において、サイクルｔ１〜ｔ７に、応答パケットが次々にＳＣ２′に送られ、応答キュー用ライトポインタ９（ＷＴＰＴ９）がインクリメントされる。
これに対応して、サイクルｔ１において、応答キュー部４０は、応答キュー１１からパケット送出権を獲得するために調停参加信号４１（ＲＴＮ  ＰＲＩＯ４１）をイネーブルにする。調停回路１２は応答キュー４０を選択し、選択信号４２（ＰＲＩＯ＿ＴＫＮ４２）をイネーブルにする。
【００７５】
サイクルｔ１〜ｔ４にかけて、応答キュー部４０がパケット送出権を獲得しているので、応答キュー部４０は、応答パケットが送出される度に、応答キュー用リードポインタ１０（ＲＤＰＴ１０）をインクリメントする。これと同時に、応答パケットの宛先資源の使用数をカウントする資源使用カウンタ１４（ＵＳＥＤ−ＣＴ１４）もインクリメントされる。
【００７６】
前述のように、応答パケットの宛先資源の数はここでは４個としている。したがって、サイクルｔ５において、資源使用カウンタ１４の値が“４”になると、応答パケットをこれ以上送出できなくなる。このため、サイクルｔ５において、応答パケットの宛先資源用のＢＵＳＹ信号４３（ＢＵＳＹ４３）がイネーブルとなる。
サイクルｔ８において、応答パケットの宛先資源が解放されると、応答パケットの宛先資源解放信号４４（ＲＬＳ４４）がイネーブルとなり、ＢＵＳＹ信号４３はディスエーブルとなる。また、サイクルｔ８で資源解放信号４４（ＲＬＳ４４）がイネーブルとなると資源使用カウンタ１４もデクリメントされる。
【００７７】
一方、要求パケットは、応答パケットの合間に時々送られてくる。そして、要求キューブ３０は、要求パケットを受信する度に、要求キュー用ライトポインタ６（ＷＴＰＴ６）をインクリメントする（サイクルｔ７，ｔ１１，ｔ１５，ｔ２３参照）。
しかし、応答キュー１１に、要求パケットよりも優先順位の高い応答パケットが格納されているため、調停回路１２は、これらの要求パケットを選択しない。
【００７８】
サイクルｔ１２において、応答キュー用リードポインタ１０（ＲＤＰＴ１０）が“０”から“１”にインクリメントされる。これに対応して、サイクルｔ１３において、ＶＡＬＩＤフィールド１６１（ＳＴＡＴＥ＿ＴＢＬ−Ｖ１６１）がイネーブルとなると共に、要求キュー用ライトポインタフィールド１６２（ＳＴＡＴＥ＿ＴＢＬ１６２）に要求キュー用ライトポインタ６の値である“２”がセットされる。
【００７９】
サイクルｔ２０においても同様に、応答キュー用リードポインタ１０（ＲＤＰＴ１０）が“０”から“１”にインクリメントされる。これに対応して、サイクルｔ２１において、要求キュー用ライトポインタフィールド１６２（ＳＴＡＴＥ＿ＴＢＬ１６２）の値が要求キュー用ライトポインタフィールド１７２（ＳＴＡＴＥ＿ＴＢＬ１７２）に転送される。また、ＶＡＬＩＤフィールド１６１（ＳＴＡＴＥ＿ＴＢＬ−Ｖ１６１）の値もＶＡＬＩＤフィールド１７２（ＳＴＡＴＥ＿ＴＢＬ−Ｖ１７１）に転送される。
【００８０】
また、ＶＡＬＩＤフィールド１６１（ＳＴＡＴＥ＿ＴＢＬ−Ｖ１６１）がイネーブルとなると共に、要求キュー用ライトポインタフィールド１６２（ＳＴＡＴＥ＿ＴＢＬ１６２）に要求キュー用ライトポインタ６の値である“３”がセットされる。
この結果、サイクルｔ２１において、状態ＶＡＬＩＤフィールド１７１及びＰＲＩＯ＿ＨＩＧＨ＿ＲＱＱ３５がイネーブルとなると共に、要求キュー用ライトポインタフィールド１６２が“２”となり、調停回路１２は、応答パケットに優先して要求パケットを選択する。この結果、要求パケットが送出され、要求キュー用リードポインタ７（ＲＤＰＴ７）がインクリメントされる。
【００８１】
このように、本実施形態の一例としてのＳＣ２′は、第１実施形態の一例といてのＳＣ２と同様に、応答パケットを大量に受信した場合でも、調停回路１２によって要求パケットを選択して送出することができる。
このため、要求パケットが先行の応答パケットを追い越してはならないという制限を満たしつつ、待たされた要求パケットを優先することが可能となる。この結果、応答処理の合間に要求処理を割り込ませることになり、処理の並列度を向上させ、性能の低下を防止することができる。
【００８２】
更に、本実施形態の制御回路に必要となるＦＦ（フリップフロップ）のビット数は、キューのエントリ数をＮとすると、２ｌｏｇ２Ｎとなる。Ｎ＝８の場合は６ビット、Ｎ＝６４の場合は１２ビットであり、従来に比べてより一層少ない回路規模で実現できる。
（３）その他
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００８３】
例えば、上記の実施形態の例においては、情報処理装置２０をマルチプロセッサシステムとして説明したが、これに限定されるものではない。例えば、本実施形態のＳＣは、マルチコアのシングルプロセッサシステム等の他のアーキテクチャのシステムにも適用可能である。
また、図３，図５の信号出力は例示に過ぎず、例えば、調停回路１２が、要求キュー部３０が選択したときに、ＲＱ  ＰＲＩＯ３１の値をディスエーブルに設定して出力してもよい。他の信号の値も適宜変更してもよい。
【００８４】
（４）付記
上記の実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の演算処理装置に接続されるシステム制御装置において、
前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、
前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部と、
前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記要求よりも前記応答を先に出力するとともに、前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記応答よりも前記要求を先に出力する調停部と、を有することを特徴とするシステム制御装置。
【００８５】
（付記２）
前記応答保持部は複数のエントリを有し、
前記システム制御装置はさらに、
前記応答保持部が有する複数のエントリのいずれかを指定する読み出しポインタを有し、
前記調停部は、
前記要求保持部に要求が格納されてから前記読み出しポインタが前記複数のエントリを一巡して前記複数のエントリの全てを指定したことを検知することにより、前記要求保持部に要求が格納されてから新たに格納された要求が存在しないと判定することを特徴とする付記１記載のシステム制御装置。
【００８６】
（付記３）
前記システム制御装置はさらに、
前記要求保持部に要求が格納されてから前記読み出しポインタが前記複数のエントリを一巡して前記複数のエントリの全てを指定したかを示す状態保持部を有することを特徴とする付記１又は２記載のシステム制御装置。
【００８７】
（付記４）
複数の演算処理装置とシステム制御装置とを有する情報処理装置において、
前記システム制御装置は、
前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、
前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部と、
前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記要求よりも前記応答を先に出力するとともに、前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記応答よりも前記要求を先に出力する調停部と、を有することを特徴とする情報処理装置。
【００８８】
（付記５）
前記応答保持部は複数のエントリを有し、
前記システム制御装置はさらに、
前記応答保持部が有する複数のエントリのいずれかを指定する読み出しポインタを有し、
前記調停部は、
前記要求保持部に要求が格納されてから前記読み出しポインタが前記複数のエントリを一巡して前記複数のエントリの全てを指定したことを検知することにより、前記要求保持部に要求が格納されてから新たに格納された要求が存在しないと判定することを特徴とする付記４記載の情報処理装置。
【００８９】
（付記６）
前記システム制御装置はさらに、
前記要求保持部に要求が格納されてから前記読み出しポインタが前記複数のエントリを一巡して前記複数のエントリの全てを指定したかを示す状態保持部を有することを特徴とする付記４又は５記載の情報処理装置。
【００９０】
（付記７）
複数の演算処理装置に接続されるとともに、前記複数の演算処理装置のうち第１の演算処理装置からの要求を格納する要求保持部と、前記第１の演算処理装置からの要求に対応する、前記複数の演算処理装置のうち第２の演算処理装置への応答を格納する応答保持部とを備えたシステム制御装置の制御方法において、
前記要求保持部に要求が格納された場合、前記応答保持部に応答が既に保持されているとき、前記システム制御装置が有する調停部が、前記要求よりも前記応答を先に出力し、
前記要求保持部に要求が格納された場合、前記応答保持部に応答が未だ保持されていないとき、前記調停部が、前記応答よりも前記要求を先に出力することを特徴とするシステム制御装置の制御方法。
【００９１】
（付記８）
前記応答保持部は複数のエントリを有し、
前記システム制御装置はさらに、
前記応答保持部が有する複数のエントリのいずれかを指定する読み出しポインタを有し、
前記調停部は、
前記要求保持部に要求が格納されてから前記読み出しポインタが前記複数のエントリを一巡して前記複数のエントリの全てを指定したことを検知することにより、前記要求保持部に要求が格納されてから新たに格納された要求が存在しないと判定することを特徴とする付記７記載のシステム制御装置の制御方法。
【００９２】
（付記９）
前記システム制御装置はさらに、
前記要求保持部に要求が格納されてから前記読み出しポインタが前記複数のエントリを一巡して前記複数のエントリの全てを指定したかを示す状態保持部を有することを特徴とする付記７又は８記載のシステム制御装置の制御方法。
【符号の説明】
【００９３】
１…ＣＰＵ（演算処理装置）
２…システムコントローラ（ＳＣ、システム制御装置）
３…ＩＯ
４…ＭＡＣ
５…ＤＲＡＭ
６…要求キュー用ライトポインタ
７…要求キュー用読み出しポインタ
８…要求キュー（要求保持部）
９…応答キュー用ライトポインタ
１０…応答キュー用リードポインタ（読み出しポインタ）
１１…応答キュー（応答保持部）
１２…調停回路（調停部）
１３…要求用資源使用カウンタ
１４…応答用資源使用カウンタ
１５…状態カウンタ（状態保持部）
１６…状態テーブル（状態保持部）
１７…状態テーブル
１８…比較回路
２０…情報処理システム（情報処理装置）
【図１】
2013206247.tif 000003
【図２】
2013206247.tif 000004
【図３】
2013206247.tif 000005
【図４】
2013206247.tif 000006
【図５】
2013206247.tif 000007
【図６】
2013206247.tif 000008
【図７】
2013206247.tif 000009