(57)【特許請求の範囲】
【請求項１】
演算処理装置からの要求に対応する応答データを、主記憶装置から読み出して前記演算処理装置に応答するメモリ制御装置において、
前記主記憶装置から読み出した応答データを、格納する格納部と、
前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第１の保持部と、
前記主記憶装置から読み出した応答データを、前記第１の保持部に保持できない場合、前記格納部に格納された応答データを保持する第２の保持部と、
前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第１の保持部とにそれぞれ送信する送信制御部と、
所定の優先度に基づき、前記第１の保持部に保持された応答データ又は前記第２の保持部に保持された応答データのいずれかを、前記演算処理装置に送出する送出制御部と、
前記送信制御部が前記格納部と前記第１の保持部とにそれぞれ送信した応答データのうち、前記第１の保持部に送信した応答データが前記第１の保持部に保持された場合、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させるキャンセル部とを有することを特徴とするメモリ制御装置。
【請求項２】
前記第１の保持部は、前記主記憶装置から読み出した応答データを、保持可能な空き領域が存在する場合、前記空き領域に保持することを特徴とする、請求項１に記載のメモリ制御装置。
【請求項３】
前記第１の保持部は、前記空き領域が存在しない場合、前記主記憶装置から読み出した応答データを破棄することを特徴とする、請求項２に記載のメモリ制御装置。
【請求項４】
前記送信制御部は、前記主記憶装置から読み出した応答データが特定のデータ以外である場合、前記主記憶装置から読み出した応答データを、前記格納部に送信し、
前記第２の保持部は、前記送信制御部から送信された前記特定のデータ以外である応答データを、前記格納部から読み出して保持することを特徴とする、請求項１に記載のメモリ制御装置。
【請求項５】
前記送出制御部は、
前記第１の保持部に保持された応答データを分断し、前記優先度に基づき、前記分断した応答データ以外のデータを、割り込ませて前記演算処理装置に送出する分断送出部と、
前記第１の保持部に保持された応答データを、連続して前記演算処理装置に送出する連続送出部と、
前記分断送出部と前記連続送出部とを、前記第１の保持部の使用状況に応じて選択的に切り替える切替部とを有することを特徴とする、請求項１〜４のいずれか１項に記載のメモリ制御装置。
【請求項６】
演算処理装置からの要求に対応する応答データを、主記憶装置から読み出して前記演算処理装置に応答するとともに、前記主記憶装置から読み出した応答データを、格納する格納部と、前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第１の保持部と、前記主記憶装置から読み出した応答データを、前記第１の保持部に保持できない場合、前記格納部に格納された応答データを保持する第２の保持部とを有するメモリ制御装置の制御方法において、
前記メモリ制御装置が有する送信制御部が、前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第１の保持部とにそれぞれ送信し、
前記メモリ制御装置が有する送出制御部が、所定の優先度に基づき、前記第１の保持部に保持された応答データ又は前記第２の保持部に保持された応答データのいずれかを、前記演算処理装置に送出し、
前記送信制御部が前記格納部と前記第１の保持部とにそれぞれ送信した応答データのうち、前記第１の保持部に送信した応答データが前記第１の保持部に保持された場合、前記メモリ制御装置が有するキャンセル部が、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させることを特徴とするメモリ制御装置の制御方法。
【請求項７】
前記送出制御部が有する分断送出部が、前記第１の保持部に保持された応答データを分断し、前記優先度に基づき、前記分断した応答データ以外のデータを、割り込ませて前記演算処理装置に送出し、
前記送出制御部が有する連続送出部が、前記第１の保持部に保持された応答データを、連続して前記演算処理装置に送出し、
前記送出制御部が有する切替部が、前記分断送出部と前記連続送出部とを、前記第１の保持部の使用状況に応じて選択的に切り替えることを特徴とする、請求項６に記載のメモリ制御装置の制御方法。
【請求項８】
主記憶装置と、
前記主記憶装置に対して要求を発行する演算処理装置と、
前記演算処理装置からの要求に対応する応答データを、前記主記憶装置から読み出して前記演算処理装置に応答するシステムコントローラとを有し、
前記システムコントローラが、
前記主記憶装置から読み出した応答データを、格納する格納部と、
前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第１の保持部と、
前記主記憶装置から読み出した応答データを、前記第１の保持部に保持できない場合、前記格納部に格納された応答データを保持する第２の保持部と、
前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第１の保持部とにそれぞれ送信する送信制御部と、
所定の優先度に基づき、前記第１の保持部に保持された応答データ又は前記第２の保持部に保持された応答データのいずれかを、前記演算処理装置に送出する送出制御部と、
前記送信制御部が前記格納部と前記第１の保持部とにそれぞれ送信した応答データのうち、前記第１の保持部に送信した応答データが前記第１の保持部に保持された場合、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させるキャンセル部とを有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、プロセッサからのフェッチ要求に対応するフェッチ応答データを主記憶装置から取り出してプロセッサに送出する技術に関する。
【背景技術】
【０００２】
一般に、情報処理装置の高速化および高性能化という観点から、情報処理装置のシステムボード上に実装される集積回路は、より短時間でパケットの処理や送受信を行なうことが要求されている（例えば、下記特許文献１参照）。
図８は従来の情報処理装置のシステムボードの構成例を模式的に示すブロック図である。図９はそのシステムコントローラの構成例を模式的に示すブロック図である。
【０００３】
例えば、従来の情報処理装置８０においては、システムボード８１をそなえ、図８に示すように、システムボード８１上に、Ｉ／Ｏ（Input ／Output；ＩＯ）装置(外部入出力コントローラ)８２，ＣＰＵ（Central Processing Unit）８３，複数（図８に示す例では２つ）のメモリ（Memory）８４ａ，８４ｂおよび複数（図８に示す例では２つ）のシステムコントローラ（System Controller；ＳＣ)８５ａ，８５ｂが実装されている。
【０００４】
Ｉ／Ｏ装置８２は、システムボード８１の外部との信号の送受信を制御する装置である。このＩ／Ｏ装置８２は、例えば、外部から受信したデータをシステムコントローラ８５ａを介してＣＰＵ８３に送信するようになっている。
ＣＰＵ８３は、システムコントローラ８５ａ，８５ｂから受信したデータを用いて各種の演算を行なう装置である。このＣＰＵ８３は、後述するメモリ８４ａ，８４ｂに対するフェッチ要求をシステムコントローラ８５ａ，８５ｂに発行し、フェッチ要求に対応するフェッチ応答データをシステムコントローラ８５ａ，８５ｂから受信するようになっている。なお、フェッチ応答データは、パケット化されたデータである（以下、パケットという場合もある）。メモリ８４ａ，８４ｂは、データを記憶、保持する装置である。
【０００５】
以下、従来の情報処理装置８０の詳細について、システムコントローラ８５ａを例に説明する。
システムコントローラ８５ａは、ＣＰＵ８３とメモリ８４ａおよびＩ／Ｏ装置８２との間のデータのやり取りを制御する装置である。
このシステムコントローラ８５ａは、ＣＰＵ８３のフェッチ要求に対応するフェッチ応答データをメモリ８４ａから取り出してＣＰＵ８３に送出するようになっている。
【０００６】
例えば、システムコントローラ８５ａは、図９に示すように、ＭＡＣ（Memory Access Controller；メモリアクセスコントローラ）８６，データキュー（DATA-Q）８７，フェッチ応答データ用ポート８８，複数（図９に示す例ではｋ個；ｋは自然数）のポート８９−１〜８９−ｋおよび送出制御部（ＣＰＵ送出プライオリティ）９０をそなえて構成されている。
【０００７】
そして、ＣＰＵ８３からのメモリフェッチ要求を受取ったシステムコントローラ８５ａは、フェッチ応答データをメモリ８４ａから取り出す。メモリ８４ａから取り出されたフェッチ応答データは、ＭＡＣ８６においてＣＰＵ８３で処理可能なパケットフォーマットに整形され、ＦＩＦＯ（First-In First-Out）方式で構成されるデータキュー８７に格納される。そして、プライオリティ制御に参加するためのフェッチ応答データ用ポート８８に空きがあれば、フェッチ応答データをデータキュー８７から取り出して、フェッチ応答データ用ポート８８にセットする。その後、フェッチ応答データ用ポート８８にセットされたフェッチ応答データは、送出制御部９０におけるプライオリティを獲得した時点で、フェッチ応答データ用ポート８８からＣＰＵ８３に向けて送出される。
【０００８】
なお、システムコントローラ８５ｂは、ＣＰＵ８３とメモリ８４ｂおよびＩ／Ｏ装置８２との間のデータのやり取りを制御する装置であり、システムコントローラ８５ｂにおける構成および動作も、上述したシステムコントローラ８５ａの構成および動作と同様である。
【特許文献１】特開昭６２−２４５４６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の情報処理装置８０においては、メモリ８４ａから取り出した全てのフェッチ応答データは、デ−タキュー８７に一旦取り込まれてからＣＰＵ８３に向けて送出される。そのため、フェッチ応答データの容量が大きい場合には、デ−タキュー８７への書き込み動作とデ−タキュー８７からの読み出し動作に時間を要することになる。
また、ＣＰＵ８３へ送出するパケットが少なく、ＣＰＵ送出バスに余裕がある状態であっても、フェッチ応答データはデータキュー８７を必ず通過しなければならない。そのため、このような状態であっても、書き込み動作および読み出し動作に一定の時間を要することになる。
【００１０】
なお、一般に、フェッチの早さはシステムの性能そのものに直接的に影響することが知られている。
従って、フェッチ応答データを常にデ−タキュー８７を経由してＣＰＵ８３に送出することは、レイテンシを悪化させる原因となり、情報処理装置の性能向上の妨げになる。
また、上記以外のレイテンシを悪化させる原因として、システムコントローラ８５a内部をフェッチ応答データが通過する際の実経路が挙げられる。
【００１１】
図１０は従来の情報処理装置のシステムコントローラにおけるフェッチ応答経路を説明するための図であり、ＳＣチップ上における各部の配置例を示している。
例えば、図１０に示すように、従来のシステムコントローラ８５ａにおいては、ＭＡＣ８６がＳＣチップ上の一方端に、データキュー８７がＳＣチップ上の他方端にそれぞれ配置されており、送出制御部９０がＳＣチップ上におけるＭＡＣ８６とデータキュー８７との間に配置されている。
【００１２】
そして、図１０に示す例では、メモリ８４ａから取り込んだフェッチ応答データが、ＭＡＣ８６からデータキュー８７に送信された後に（図１０の符号“C１”参照）、データキュー８７からフェッチ応答データ用ポート８８（図１０において図示省略）を介して送出制御部９０に送信されるようになっている（図１０の符号“C２”参照）。
このように、チップのレイアウト上において、フェッチ応答データをデータキュー８７に取り込んでからプライオリティ制御に参加させるパス（Ｃ１＋Ｃ２）は長距離パスになってしまう。そのため、このような長距離パスでフェッチ応答データを転送することも、レイテンシを悪化させる原因となり、情報処理装置の性能向上の妨げになる。
【００１３】
本発明は、このような課題に鑑み創案されたもので、プロセッサからのフェッチ要求に対応するフェッチ応答データを主記憶装置から取り出してプロセッサに送出する場合において、フェッチ応答データが到着してからプロセッサに向けて送出されるまでのレイテンシを短縮することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、開示のメモリ制御装置は、演算処理装置からの要求に対応する応答データを、主記憶装置から読み出して前記演算処理装置に応答するメモリ制御装置において、前記主記憶装置から読み出した応答データを、格納する格納部と、前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第１の保持部と、前記主記憶装置から読み出した応答データを、前記第１の保持部に保持できない場合、前記格納部に格納された応答データを保持する第２の保持部と、前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第１の保持部とにそれぞれ送信する送信制御部と、所定の優先度に基づき、前記第１の保持部に保持された応答データ又は前記第２の保持部に保持された応答データのいずれかを、前記演算処理装置に送出する送出制御部と、前記送信制御部が前記格納部と前記第１の保持部とにそれぞれ送信した応答データのうち、前記第１の保持部に送信した応答データが前記第１の保持部に保持された場合、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させるキャンセル部とを有している。
【００１５】
また、開示のメモリ制御装置の制御方法は、演算処理装置からの要求に対応する応答データを、主記憶装置から読み出して前記演算処理装置に応答するとともに、前記主記憶装置から読み出した応答データを、格納する格納部と、前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第１の保持部と、前記主記憶装置から読み出した応答データを、前記第１の保持部に保持できない場合、前記格納部に格納された応答データを保持する第２の保持部とを有するメモリ制御装置の制御方法において、前記メモリ制御装置が有する送信制御部が、前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第１の保持部とにそれぞれ送信し、前記メモリ制御装置が有する送出制御部が、所定の優先度に基づき、前記第１の保持部に保持された応答データ又は前記第２の保持部に保持された応答データのいずれかを、前記演算処理装置に送出し、前記送信制御部が前記格納部と前記第１の保持部とにそれぞれ送信した応答データのうち、前記第１の保持部に送信した応答データが前記第１の保持部に保持された場合、前記メモリ制御装置が有するキャンセル部が、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させる。
【００１６】
さらに、開示の情報処理装置は、主記憶装置と、前記主記憶装置に対して要求を発行する演算処理装置と、前記演算処理装置からの要求に対応する応答データを、前記主記憶装置から読み出して前記演算処理装置に応答するシステムコントローラとを有し、前記システムコントローラが、前記主記憶装置から読み出した応答データを、格納する格納部と、前記主記憶装置から読み出した応答データを、前記格納部に格納せずに保持する第１の保持部と、前記主記憶装置から読み出した応答データを、前記第１の保持部に保持できない場合、前記格納部に格納された応答データを保持する第２の保持部と、前記主記憶装置から読み出した応答データが特定のデータである場合、前記主記憶装置から読み出した応答データを、前記格納部と前記第１の保持部とにそれぞれ送信する送信制御部と、所定の優先度に基づき、前記第１の保持部に保持された応答データ又は前記第２の保持部に保持された応答データのいずれかを、前記演算処理装置に送出する送出制御部と、前記送信制御部が前記格納部と前記第１の保持部とにそれぞれ送信した応答データのうち、前記第１の保持部に送信した応答データが前記第１の保持部に保持された場合、前記送信制御部が前記格納部に送信した応答データを前記格納部から破棄させるキャンセル部とを有している。
【発明の効果】
【００１７】
開示の技術によれば、以下の少なくともいずれか１つの効果ないし利点がある。
（１）フェッチ応答データを第１のポートにセットできた場合に、格納部への書き込み動作および読み出し動作を省略して、フェッチ応答データを送出制御部に高速転送することができる。
（２）フェッチ応答データが到着してからプロセッサに向けて送出されるまでのレイテンシを短縮することができる。
【００１８】
（３）外部信号を取り込むことなく、バイパス可能もしくはバイパス不可能を判断することができるので、高速でデータを転送することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態について
図１は本発明の一実施形態としての情報処理装置１０の構成例を模式的に示すブロック図である。
本発明の一実施形態としての情報処理装置１０は、集積回路で構成されたシステムボード１１をそなえ、図１に示すように、システムボード１１上に、Ｉ／Ｏ（Input ／Output；ＩＯ）装置(外部入出力コントローラ)１２，ＣＰＵ（Central Processing Unit；プロセッサ）１３，複数（図１に示す例では２つ）のメモリ（Memory；主記憶装置）１４ａ，１４ｂおよび複数（図１に示す例では２つ）のシステムコントローラ（System Controller；ＳＣ；メモリ制御装置；システムチップ）１５ａ，１５ｂをそなえて構成されている。
【００２０】
Ｉ／Ｏ装置１２は、システムボード１１の外部との信号の送受信を制御する装置である。このＩ／Ｏ装置１２は、例えば、外部から受信したデータをシステムコントローラ１５ａを介してＣＰＵ１３に送信するようになっている。なお、本実施形態においては、外部との間で授受するデータとして、パケット化されたデータ（パケット）を用いている。
ＣＰＵ１３は、システムコントローラ１５ａ，１５ｂから受信したデータを用いて各種の演算を行なう装置である。このＣＰＵ１３は、後述するメモリ１４ａ，１４ｂに対するフェッチ要求をシステムコントローラ１５ａ，１５ｂに発行し、フェッチ要求に対応するフェッチ応答データをシステムコントローラ１５ａ，１５ｂから受信するようになっている。なお、本実施形態においては、フェッチ応答データとして、上述したデータと同様に、パケット化されたデータ（パケット；応答パケットデータ）を用いている。
【００２１】
メモリ１４ａ，１４ｂは、データを記憶、保持する装置である。本実施形態においては、これらのメモリ１４ａ，１４ｂには、ＣＰＵ１３から発行されたフェッチ要求に対応するフェッチ応答データが記憶されている。
以下、本発明の一実施形態としての情報処理装置１０及びメモリ制御方法の詳細について、システムコントローラ１５ａを例に説明する。
【００２２】
図２は本発明の一実施形態としての情報処理装置１０におけるシステムコントローラ１５ａの構成例を示すブロック図である。図３はそのシステムコントローラ１５ａにおけるデータキュー経由回路Ａのフェッチ応答経路を説明するための図であり、ＳＣチップ上における各部の配置例を示している。図４はそのシステムコントローラ１５ａにおけるデータキューバイパス回路Ｂのフェッチ応答経路を説明するための図であり、ＳＣチップ上における各部の配置例を示している。
【００２３】
システムコントローラ１５ａは、ＣＰＵ１３とメモリ１４ａおよびＩ／Ｏ装置１２との間のデータの送受信（やり取り）を制御する装置である。
このシステムコントローラ１５ａは、ＣＰＵ１３のフェッチ要求に対応するフェッチ応答データをメモリ１４ａから取り出してＣＰＵ１３に送出するようになっている。
例えば、システムコントローラ１５ａは、図２に示すように、ＭＡＣ１６，送信制御部１７，第１のポート（バイパス側ポート）１８，データキュー（DATA-Q；格納部）１９，第２のポート２０，複数（図２に示す例ではｎ個；ｎは自然数）のポート２１−１〜２１−ｎおよび送出制御部（ＣＰＵ送出プライオリティ）２２をそなえて構成されている。
【００２４】
また、このシステムコントローラ１５ａにおいては、例えば、図３および図４に示すように、ＭＡＣ１６がＳＣチップ上の一方端に、データキュー１９がＳＣチップ上の他方端にそれぞれ配置されており、送出制御部２２がＳＣチップ上におけるＭＡＣ１６とデータキュー１９との間に配置されている。
なお、システムコントローラ１５ａにおいては、当該システムコントローラ１５ａにフェッチ応答データが短時間で大量に到着した場合を想定して、データキュー経由回路Ａとデータキューバイパス回路（バイパス回路）Ｂとが並列に実装されている。
【００２５】
データキュー経由回路Ａは、送出制御部２２からデータキュー１９，第２のポート２０，送出制御部２２の順に直列に接続されている。
図３に示す例では、メモリ１４ａから取り込んだフェッチ応答データが、データキュー経由回路Ａにおいて、ＭＡＣ１６から送信制御部１７を介してデータキュー１９に送信された後に（図３の符号“Ａ１”参照）、データキュー１９から第２のポート２０を介して送出制御部２２に送信されるようになっている（図３の符号“Ａ２”参照）。
【００２６】
データキューバイパス回路Ｂは、送出制御部２２から第１のポート１８，送出制御部２２の順に直列に接続されている。
図４に示す例では、メモリ１４ａから取り込んだフェッチ応答データが、データキューバイパス回路Ｂにおいて、ＭＡＣ１６から送信制御部１７および第１のポート１８を介して送出制御部２２に送信されるようになっている（図４の符号“Ｂ１”参照）。即ち、データキューバイパス回路Ｂでは、メモリ１４ａから取り込んだフェッチ応答データをデータキュー１９をバイパスして送出制御部２２に送信するのである。
【００２７】
ＭＡＣ１６は、メモリ１４ａから受信した（取り出した）フェッチ応答データをＣＰＵ１３で処理可能なパケットフォーマットに整形するものである。
例えば、ＭＡＣ１６は、メモリ１４ａからのフェッチ応答データが到着すると、このフェッチ応答データを、メモリ１４ａで取り扱われていたパケットフォーマットから、ＣＰＵ１３で処理可能なパケットフォーマットに整形する。本実施形態においては、メモリ１４ａで取り扱われていたパケットフォーマットは、（ヘッダ＋１６τ）×１セットである。又、ＣＰＵ１３で処理可能なパケットフォーマットは、（ヘッダ＋８τ）×２セットである。なお、τ（タウ）はクロック数を示す単位であり、ヘッダは１τである。即ち、ＭＡＣ１６は、フェッチ応答データを、１７τのパケットフォーマットから１８τのパケットフォーマットに整形するのである。なお、ＭＡＣ１６は、１７τのパケットフォーマット以外のフェッチ応答データについても、既知の手法を用いて所定のパケットフォーマット（例えば、６τのパケットフォーマット）に整形するようになっている。
【００２８】
送信制御部１７は、ＭＡＣ１６から受信したフェッチ応答データの送信を制御するものであって、後述する第１のポート１８やデータキュー１９へのフェッチ応答データの送信を制御するようになっている。
例えば、送信制御部１７は、メモリ１４ａから取り出したフェッチ応答データが特定の種類のデータである場合に、当該フェッチ応答データを後述するデータキュー１９と第１のポート１８との双方（両方）に送信（分配）するようになっている。
【００２９】
ここで、特定の種類のデータとは、データキュー１９をバイパスすべきバイパス対象のデータである。本実施形態においては、送信制御部１７は、１８τのパケットフォーマットで整形されたフェッチ応答データを特定の種類のデータと判断するようになっている。なお、１８τのパケットフォーマットであるか否かの判定は、フェッチ応答データに含まれるヘッダ（１τ目のパケット）のレングス情報に基づいて行なわれる。これにより、バイパス対象となるフェッチ応答データであることが確認されるのである。
【００３０】
なお、送信制御部１７は、メモリ１４ａから取り出したフェッチ応答データが特定の種類のデータ以外である場合に、当該フェッチ応答データを、第１のポート１８に送信することなく、データキュー１９にのみ送信するようになっている。ここで、特定の種類のデータ以外とは、１８τ以外のパケットフォーマットで整形されたフェッチ応答データのことであり、例えば、６τのパケットフォーマットで整形されたフェッチ応答データのことである。
【００３１】
第１のポート１８は、送信制御部１７から受信したフェッチ応答データ（以下、一方のフェッチ応答データという場合もある）を後述する送出制御部２２におけるプライオリティ制御に参加させるためのポートである。なお、プライオリティ制御の詳細については後述する。
この第１のポート１８は、フェッチ応答データをセット可能な複数（図２に示す例では４つ）のセット領域をそなえて構成されている。これらの複数のセット領域は、それぞれ、１８τのデータをセット可能に構成されている。
【００３２】
そして、第１のポート１８は、複数のセット領域のうちのいずれかに空き状態のセット領域（以下、空き領域という場合もある）が存在する場合には、データキュー１９をバイパス可能と判断し、送信制御部１７から受信したフェッチ応答データを当該空き状態のセット領域にセットする。フェッチ応答データは、空き状態のセット領域にセットされると、プライオリティ制御への参加が確定する。
【００３３】
従って、第１のポート１８は、メモリ１４ａから取り出したフェッチ応答データを後述するデータキュー１９をバイパスして受信し、この受信したフェッチ応答データを所定条件下で空き領域にセットするのである。これにより、データキューバイパス回路Ｂ側において、第１のポート１８のポート使用状況が確認されるのである。
また、第１のポート１８は、送信制御部１７から受信した一方のフェッチ応答データが第１のポート１８にセットされた場合に、送信制御部１７からデータキュー１９に送信されたフェッチ応答データ（以下、他方のフェッチ応答データという場合もある）を破棄させるキャンセル部として機能するようになっている。
【００３４】
具体的には、キャンセル部は、送信制御部１７から受信した一方のフェッチ応答データが第１のポート１８の空き領域にセットされると、データキュー１９をバイパス可能と判断し、キャンセル信号を他方のフェッチ応答データに向けて出力（発信）する。ここで、キャンセル信号は、データキュー１９に送信された他方のフェッチ応答データを無効化するための信号であって、本実施形態においては、１ビットのＨｉ信号が用いられる。
【００３５】
そして、キャンセル部から出力されたキャンセル信号は、他方のフェッチ応答データがデータキュー１９に受信される前に、他方のフェッチ応答データに入力（適用）される。なお、一方および他方のフェッチ応答データが送信制御部１７から同時に送信された場合においては、一方のフェッチ応答データが第１のポート１８の空き領域にセットされてから、キャンセル信号が他方のフェッチ応答データに入力されるまでのタイミングは固定である。そのため、キャンセル部から出力されたキャンセル信号は、送信制御部１７とデータキュー１９とを接続する信号経路上の固定位置で他方のフェッチ応答データに入力される。
【００３６】
他方のフェッチ応答データは、キャンセル信号が入力されると、自身に含まれる有効状態か無効状態かを示すフラグ（バリッドビット）が有効状態から無効状態に変更される。なお、キャンセル信号によりフェッチ応答データを有効状態から無効状態に変更する手法については、既知の種々の手法を用いることができる。
従って、本実施形態におけるシステムコントローラ１５ａは、フェッチ応答データの転送をより高速化するために、特定の種類のデータであるフェッチ応答データをデータキュー経由回路Ａとデータキューバイパス回路Ｂとに同時に送信する。その後、システムコントローラ１５ａは、一方のフェッチ応答データについてのデータキュー１９のバイパスが確定すると、データキュー経由回路Ａ側の他方のフェッチ応答データを無効化するのである。
【００３７】
また、第１のポート１８は、空き状態のセット領域が存在しない場合には、送信制御部１７から受信したフェッチ応答データを、複数のセット領域のいずれにもセットすることなく破棄するようになっている。即ち、データキューバイパス回路Ｂ側の第１のポート１８は、ＣＰＵ１３への送出待ちのフェッチ応答データで全てのセット領域が埋まっている場合には、キャンセル信号を出力することなく、送信制御部１７から受信したフェッチ応答データを破棄するのである。なお、フェッチ応答データの破棄には、上述の如くフェッチ応答データを積極的に受信して破棄することを含む他、フェッチ応答データの受信を拒否することも含まれる。
【００３８】
データキュー１９は、送信制御部１７から送信されたフェッチ応答データを所定条件下で格納（蓄積）するものである。このデータキュー１９は、例えば、送信制御部１７から送信されたフェッチ応答データを順次書き込んで蓄積するようになっている。そして、データキュー１９は、例えば、後述する第２のポート２０に空き状態のセット領域ができる都度、蓄積したフェッチ応答データをＦＩＦＯ（First-In First-Out）方式で順次読み出して、後述する第２のポート２０に送信するようになっている。
【００３９】
また、データキュー１９は、キャンセル信号により無効状態にされたフェッチ応答データを受信した場合には、当該無効状態のフェッチ応答データを書き込むことなく（又は、書き込む動作を止めて）破棄するようになっている。なお、フェッチ応答データの破棄には、上述の如くフェッチ応答データを受信して積極的に破棄することを含む他、フェッチ応答データの受信を拒否することも含まれる。従って、データキュー１９は、メモリ１４ａから取り出したフェッチ応答データを第１のポート１８にセットできない場合に、当該フェッチ応答データを格納するといえる。又、データキュー１９は、送信制御部１７から送信された特定の種類のデータ以外であるフェッチ応答データを格納するともいえる。
【００４０】
第２のポート２０は、データキュー１９から受信したフェッチ応答データを後述する送出制御部２２におけるプライオリティ制御に参加させるためのポートである。なお、プライオリティ制御の詳細については後述する。
この第２のポート２０は、フェッチ応答データをセット可能な複数（図２に示す例では２つ）のセット領域をそなえて構成されている。これらの複数のセット領域は、それぞれ、１８τのデータをセット可能に構成されている。
【００４１】
そして、第２のポート２０は、複数のセット領域のうちのいずれかに空き状態のセット領域が存在する都度、データキュー１９に蓄積されたフェッチ応答データを読み出して、この読み出したフェッチ応答データを当該空き状態のセット領域にセットする。即ち、第２のポート２０は、一方のフェッチ応答データを第１のポート１８にセットできない場合に、他方のフェッチ応答データをデータキュー１９を経由してセットするのである。又、第２のポート２０は、送信制御部１７から送信された特定のデータ以外であるフェッチ応答データをデータキュー１９を経由してセットするのである。フェッチ応答データは、空き状態のセット領域にセットされると、プライオリティ制御への参加が確定する。
【００４２】
複数のポート２１−１〜２１−ｎは、それぞれ、メモリ１４ａ以外の装置（例えば、Ｉ／Ｏ装置１２やシステムコントローラ１５ｂ；図１参照）から受信したデータを後述する送出制御部２２におけるプライオリティ制御に参加させるためのポートである。なお、プライオリティ制御の詳細については後述する。
これらの複数のポート２１−１〜２１−ｎは、それぞれ、各種のＣＰＵ宛パケットをセット可能なセット領域をそなえて構成されている。
【００４３】
そして、複数のポート２１−１〜２１−ｎは、それぞれ、空き状態のセット領域が存在する都度、メモリ１４ａ以外の装置から受信したデータを当該空き状態のセット領域にセットする。データは、空き状態のセット領域にセットされると、プライオリティ制御への参加が確定する。
送出制御部２２は、第１のポート１８，第２のポート２０および複数のポート２１−１〜２１−ｎにセットされたデータに対してプライオリティ制御を行なうものである。
【００４４】
ここで、プライオリティ制御とは、各ポート１８，２０，２１−１〜２１−ｎにセットされたデータに対して、ポート毎に予め規定されたプライオリティ（優先度）に従ってプライオリティを獲得させ、このプライオリティを獲得したデータをプライオリティの獲得順にＣＰＵ１３に送出することをいう（ＣＰＵ送出バスのプライオリティ制御）。
なお、本実施形態においては、第１のポート１８に規定されたプライオリティが高く設定されている。又、本実施形態においては、送出制御部２２は、第１のポート１８がＣＰＵ送出バスのプライオリティを獲得してフェッチ応答データを送信する際には、ＣＰＵ送出バスを１８τ使用する。更に、本実施形態においては、送出制御部２２は、第１のポート１８と第２のポート２０との両方がプライオリティ制御に参加している場合は、ＬＲＵ（Least Recently Used）によって交互に優先権を与えるようになっている。これは、片側のポートに設定されたフェッチ応答データが抜け出せなくなるのを防ぐためである。
【００４５】
従って、送出制御部２２は、プライオリティの高い特定（１８τ）のフェッチ応答データのみを、データキュー１９をバイパスして、短距離でＣＰＵ１３に高速転送する。又、送出制御部２２は、第１のポート１８のセット領域が飽和状態の場合は、データキュー１９を経由して、ＣＰＵ１３に転送する。つまり、送出制御部２２の混雑具合により、データキューバイパス回路Ｂもしくはデータキュー経由回路Ａのどちらかを選択してフェッチ応答データを送信するのである。
【００４６】
なお、送信制御部１７がデータキュー１９と第１のポート１８との双方にフェッチ応答データを送信した場合には、送出制御部２２は、第１のポート１８にセットされた一方のフェッチ応答データまたは第２のポート２０にセットされた他方のフェッチ応答データに対してプライオリティ制御を行なう。
ここで、短時間のうちに大量のパケットがシステムコントローラ１５ａに到着した場合には、ＣＰＵ１３に対する送出にも時間がかかる。本実施形態においては、先頭の数パケットについてデータキューバイパス回路Ｂを使って最短時間でプライオリティ制御に参加させることにより、その後のパケットについてはデータキュー１９に書込みと読出しをする時間的余裕がうまれることになる。これにより、必要最小限のポート実装容量でデータキューバイパス回路Ｂによるレイテンシ短縮の効果が得られるのである。
【００４７】
また、送出制御部２２は、第１のポート１８の使用状況（トラフィック量；混雑状況）に応じて、フェッチ応答データのＣＰＵ１３への転送を、分断モード（他パケット挿入可能）または連続モード(高速パケット占有)のいずれかを自律的（動的）に切り替えるようになっている。具体的には、送出制御部２２は、分断送出部２３，連続送出部２４および切替部２５として機能するようになっている。
【００４８】
図５は本発明の一実施形態としての情報処理装置１０における分断送出部２３の機能を説明するための図である。図６はその連続送出部２４の機能を説明するための図である。
分断送出部２３は、第１のポート１８にセットされたフェッチ応答データよりもプライオリティの高いデータを優先度に従って割り込ませることにより、当該フェッチ応答データを分断し、ＣＰＵ１３に送出する分断モードを実行するものである。なお、本実施形態において、フェッチ応答データよりも優先度の高いデータは、例えば、データなしの命令や、応答パケット（１τ）である。
【００４９】
図５に示す例では、分断送出部２３は、１８τで構成されるフェッチ応答データ（図５に示す“フェッチ応答−０”〜“フェッチ応答−１７”参照）の間に、フェッチ応答データよりも優先度の高いその他のデータ（図５に示す“フェッチ応答−２”と“フェッチ応答−３”との間の“その他のパケット”、“フェッチ応答−６”と“フェッチ応答−７”との間の“その他のパケット”参照）を割り込ませてＣＰＵ１３に送出するようになっている。従って、フェッチ応答データの最初のパケット送出から最終のパケット送出までの必要クロック数は、１８τ＋α（αは割り込みパケット数）になる。
【００５０】
連続送出部２４は、第１のポート１８にセットされたフェッチ応答データを連続する一塊のデータとしてＣＰＵ１３に送出する連続モードを実行するものである。
図６に示す例では、連続送出部２４は、フェッチ応答データ以外の他のデータの割り込みを抑止し、１８τで構成されるフェッチ応答データ（図６に示す“フェッチ応答−０”〜“フェッチ応答−１７”参照）を連続で送信するようになっている。従って、フェッチ応答データの最初のパケット送出から最終のパケット送出までの必要クロック数は、必ず１８τになる。
【００５１】
切替部２５は、分断送出部２３と連続送出部２４とを、第１のポート１８の使用状況に応じて選択的に切り替えるものである。即ち、切替部２５は、ＣＰＵバスへの送出プライオリティを動的に切り替えるのである(送出モード切替)。この切替部２５は、例えば、第１のポート１８にそなえられた全てのセット領域とＡＮＤ回路（図示省略）を介して接続されている。
【００５２】
そして、例えば、第１のポート１８にそなえられたいずれかのセット領域にフェッチ対象データがセットされていない場合には、ＡＮＤ回路からＬｏ信号が出力される。切替部２５は、ＡＮＤ回路からのＬｏ信号が入力されると、第１のポート１８が混雑していないと判断し、フェッチ応答データよりもプライオリティの高いその他のデータを溜め込まないために、分断送出部２３に切り替える。
【００５３】
また、例えば、第１のポート１８にそなえられた全てのセット領域にフェッチ対象データがセットされている場合には、ＡＮＤ回路からＨｉ信号が出力される。切替部２５は、ＡＮＤ回路からのＨｉ信号が入力されると、第１のポート１８が混雑していると判断し、このフェッチ対象データのＣＰＵ１３への送出を優先すべく、連続送出部２４に切り替える。これにより、第１のポート１８にフェッチ対象データを溜め続けることがなくなり、データキュー１９をバイパスする効果をより発揮させることができるのである。
【００５４】
上述の如く構成された本発明の一実施形態に係る情報処理装置１０においてフェッチ応答データがメモリ１４ａからＣＰＵ１３に送出される手順を、図７に示すフローチャート（ステップＳ１１〜Ｓ２５）に従って説明する。
先ず、ＣＰＵ１３からフェッチ要求が発行されると、メモリ１４ａは、フェッチ応答データを送信する（ステップＳ１１）。
【００５５】
次に、ＭＡＣ１６は、メモリ１４ａから送信されたフェッチ応答データを受信する（ステップＳ１２）。そして、ＭＡＣ１６は、受信したフェッチ応答データを、メモリ１４ａで取り扱われていたパケットフォーマットから、ＣＰＵ１３で処理可能なパケットフォーマットに整形する（ステップＳ１３）。
送信制御部１７は、ＭＡＣ１６から送信されたフェッチ応答データが特定の種類のデータであるか否かを、当該フェッチ応答データに含まれるヘッダのレングス情報に基づいて判断する。送信制御部１７は、フェッチ応答データが特定の種類のデータであると判断した場合には、当該フェッチ応答データをデータキュー１９と第１のポート１８との双方に送信する（送信制御ステップ）。
【００５６】
第１のポート１８は、自身のセット領域に空き状態のセット領域が存在する場合には、バイパスが成功することになる（ステップＳ１４の“ＹＥＳ”ルート参照）。そして、第１のポート１８は、送信制御部１７から受信したフェッチ応答データを当該空き状態のセット領域にセット（ＰＴセット）する（ステップＳ１５；第１のセットステップ）。ここで、第１のポート１８にセットされたフェッチ応答データは、送出制御部２２におけるプライオリティを獲得するまで、第１のポート１８にセットされ続ける（ステップＳ１６の“ＮＯ”ルート参照）。
【００５７】
また、第１のポート１８は、一方のフェッチ応答データが第１のポート１８にセットされると、キャンセル信号を他方のフェッチ応答データに出力し、送信制御部１７からデータキュー１９に送信された他方のフェッチ応答データを破棄させる（図７の“データキュ側キャンセル”参照；キャンセルステップ）。
送出制御部２２は、第１のポート１８にセットされたフェッチ応答データに対してプライオリティ制御を行なう（送出制御ステップ）。そして、第１のポート１８にセットされたフェッチ応答データがプライオリティを獲得すると（ステップＳ１６の“ＹＥＳルート”参照）、送出制御部２２は、フェッチ応答データを取り込む。
【００５８】
切替部２５は、第１のポート１８の使用状況（ＰＴ混雑状況）を確認する（ステップＳ１７）。第１のポート１８にそなえられたいずれかのセット領域にフェッチ対象データがセットされていない場合には、切替部２５は、第１のポート１８が混雑していないと判断し、分断送出部２３に切り替える（ステップＳ１７の“ＮＯ”ルート参照；切替ステップ）。分断送出部２３は、第１のポート１８にセットされた１８τのフェッチ応答データを分断し、当該フェッチ応答データよりもプライオリティの高いパケットを割り込ませてＣＰＵ１３に送出する（ステップＳ１８；分断送出ステップ）。ＣＰＵ１３は、分断送出部２３から送出されたフェッチ応答データを受信して（ステップＳ１９）、処理を終了する。
【００５９】
一方、第１のポート１８にそなえられた全てのセット領域にフェッチ対象データがセットされている場合には、切替部２５は、第１のポート１８が混雑していると判断し、連続送出部２４に切り替える（ステップＳ１７の“ＹＥＳ”ルート参照；切替ステップ）。連続送出部２４は、フェッチ応答データ以外の他のデータの割り込みを抑止し、第１のポート１８にセットされた１８τのフェッチ応答データを連続してＣＰＵに送出する（ステップＳ２０；連続送出ステップ）。ＣＰＵ１３は、連続送出部２４から送出されたフェッチ応答データを受信して（ステップＳ１９）、処理を終了する。
【００６０】
また、送信制御部１７は、フェッチ応答データが特定の種類のデータ以外であると判断した場合には、当該フェッチ応答データをデータキュー１９にのみ送信する。又、フェッチ応答データが特定の種類のデータであるが第１のポート１８のセット領域に空き状態のセット領域が存在しない場合には、送信制御部１７から送信されたフェッチ応答データは、第１のポート１８からのキャンセル信号が入力されることなく、データキュー１９に到達する。
【００６１】
これら場合には、データキュー１９のバイパスが失敗したことになり（ステップＳ１４の“ＮＯ”ルート参照）、データキュー１９は、送信制御部１７から送信されたフェッチ応答データを書き込んで蓄積する（ステップＳ２１）。
そして、フェッチ応答データは、第２のポート２０のセット領域に空き状態のセット領域ができるまで（つまり、送出される順番がまわってくるまで）データキュー１９に格納され続ける（ステップＳ２２の“ＮＯ”ルート参照）。
【００６２】
第２のポート２０は、自身のセット領域に空き状態のセット領域ができると（ステップＳ２２の“ＹＥＳ”ルート参照）、データキュー１９に蓄積されたフェッチ応答データをＦＩＦＯ方式で読み出して（ステップＳ２３）、当該空き状態のセット領域にセットする（ステップＳ２４；第２のセットステップ）。ここで、第２のポート２０にセットされたフェッチ応答データは、プライオリティを獲得するまで、第２のポート２０にセットされ続ける（ステップＳ２５の“ＮＯ”ルート参照）。
【００６３】
送出制御部２２は、第２のポート２０にセットされたフェッチ応答データに対してプライオリティ制御を行なう（送出制御ステップ）。そして、第２のポート２０にセットされたフェッチ応答データがプライオリティを獲得すると（ステップＳ２５の“ＹＥＳルート”参照）、送出制御部２２は、フェッチ応答データを取り込む。
送出制御部２２は、取り込んだフェッチ応答データをＣＰＵ１３に送出し、ＣＰＵ１３は、送出制御部２２から送出されたフェッチ応答データを受信して（ステップＳ１９）、処理を終了する。
【００６４】
以上、本発明の一実施形態としてのメモリ制御方法（情報処理装置１０の動作）について、システムコントローラ１５ａにおける動作を中心に説明した。なお、システムコントローラ１５ｂは、ＣＰＵ１３とメモリ１４ｂおよびＩ／Ｏ装置１２との間のデータの送受信を制御する装置であり、システムコントローラ１５ｂにおける構成および動作も、上述したシステムコントローラ１５ａの構成および動作と同様である。
【００６５】
このように、本発明の一実施形態としての情報処理装置１０によれば、ＣＰＵ１３からのフェッチ要求に対応するフェッチ応答データがメモリ１４ａ，１４ｂから返ってきた時に、データキューバイパス回路Ｂの第１のポート１８のセット領域に空きがあれば、データキュー１９を経由することなくダイレクトに第１のポート１８にセットされる。そして、フェッチ応答データは、第１のポート１８にセットされると、プライオリティ制御への参加が確定する。一方、データキューバイパス回路Ｂの第１のポート１８のセット領域に空きがない場合には、フェッチ応答データは、従来の経路と同様に、一旦データキュー１９に取り込まれてから第２のポート２０にセットされる。そして、フェッチ応答データは、第２のポート２０にセットされると、プライオリティ制御への参加が確定する。
【００６６】
そのため、フェッチ応答データが第１のポート１８にセットされた場合には、データキュー１９への書き込み動作および読み出し動作を省略して、フェッチ応答データを送出制御部２２に高速転送することができる。従って、フェッチ応答データがシステムコントローラ１５ａ，１５ｂに到着してからＣＰＵ１３に向けて送出されるまでのレイテンシを短縮することができる。
【００６７】
また、チップのレイアウト上においても、フェッチ応答データをデータキュー１９を介さずにプライオリティ制御に参加させるパス（図４の符号“Ｂ１”参照）を設定することにより、フェッチ応答データを短距離パスで高速転送することができる。従って、フェッチ応答データがシステムコントローラ１５ａ，１５ｂに到着してからＣＰＵ１３に向けて送出されるまでのレイテンシをより短縮することができる。
【００６８】
なお、本実施形態においては、データキューバイパス回路Ｂを増設することで、従来のデータキュー１９経由の転送と比べて、レイテンシが１４τ改善される。これは、ＣＰＵ１３がフェッチ要求を発行した時点からＣＰＵ１３がフェッチ応答データを受信するまでの総レイテンシで見ると約１０％強の短縮となる。
また、キャンセル部が、送信制御部１７から受信した一方のフェッチ応答データが第１のポート１８にセットされた場合に、送信制御部１７からデータキュー１９に送信された他方のフェッチ応答データを破棄させることにより、フェッチ応答データのＣＰＵ１３への送出についての信頼性が向上する。
【００６９】
さらに、外部信号を取り込むことなく、バイパス可能もしくはバイパス不可能を判断することができるので、レイテンシの観点から最速（高速）でデータを転送することができる。
また、切替部２５は、第１のポート１８が混雑していると判断した場合に、連続送出部２４に切り替えることにより、第１のポート１８に溜まっているフェッチ応答データを送出しやすくなる。これにより、第１のポート１８が混雑し難くなり、データキュー１９のバイパスの実行確率（成功確率）を高めることができる。
【００７０】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、システムボード１１上の集積回路を例に説明したが、それに限定されるものではなく、キューを用いたパケット転送に関する回路であれば本発明を適用することができる。
【００７１】
また、上記実施形態では、ＭＡＣ１６がＳＣチップ上の一方端に、データキュー１９がＳＣチップ上の他方端にそれぞれ配置されており、送出制御部２２がＭＡＣ１６とデータキュー１９との間に配置されているシステムコントローラ１５ａを例に説明したが、それに限定されるものではなく、ＳＣチップ上のレイアウトを任意に変更することができる。
さらに、上記実施形態では、メモリ１４ａで処理可能なパケットフォーマットとして、（ヘッダ＋１６τ）×１セットを用いるとともに、ＣＰＵ１３で処理可能なパケットフォーマットとして、（ヘッダ＋８τ）×２セットを用いる場合を例に説明したが、それに限定されるものではなく、メモリ１４ａで処理可能なパケットフォーマットやＣＰＵ１３で処理可能なパケットフォーマットとして、任意のパケットフォーマットを用いることができる。
【００７２】
また、上記実施形態では、送信制御部１７は、メモリ１４ａから取り出したフェッチ応答データが特定の種類のデータである場合に、当該フェッチ応答データを後述するデータキュー１９と第１のポート１８との双方に送信する例について説明したが、それに限定されるものではなく、メモリ１４ａから取り出したフェッチ応答データの種類に関わらず、当該フェッチ応答データを後述するデータキュー１９と第１のポート１８との双方に送信してもよい。
【００７３】
さらに、上記実施形態では、１８τのパケットフォーマットで整形されたフェッチ応答データを特定の種類のデータとして用いた場合を例について説明したが、それに限定されるものではなく、任意のパケットフォーマットで整形されたフェッチ応答データを特定の種類のデータとして用いることができる。
さらに、上記実施形態では、第１のポート１８が４つのセット領域をそなえるとともに、第２のポート２０が２つのセット領域をそなえる場合を例について説明したが、それに限定されるものではなく、第１のポート１８が任意のセット領域をそなえてもよく、第２のポート２０が任意のセット領域をそなえてもよい。
【００７４】
また、上記実施形態では、１ビットのＨｉ信号をキャンセル信号として用いた場合を例について説明したが、それに限定されるものではなく、データキュー１９に送信された他方のフェッチ応答データを無効化することができる既知の種々の信号を用いることができる。
さらに、上記実施形態では、データキュー１９がＦＩＦＯ方式で第２のポート２０に送信する場合を例について説明したが、それに限定されるものではなく、ＦＩＦＯ方式以外の既知の種々の方式を用いることができる。
【００７５】
〔３〕付記
（付記１）  プロセッサのフェッチ要求に対応するフェッチ応答データを主記憶装置から取り出して該プロセッサに送出するメモリ制御装置であって、
該主記憶装置から取り出した該フェッチ応答データを格納可能な格納部と、
該主記憶装置から取り出した該フェッチ応答データを該格納部をバイパスして受信し、当該受信したフェッチ応答データをセット可能な第１のポートと、
該フェッチ応答データを該第１のポートにセットできない場合に、該主記憶装置から取り出した該フェッチ応答データを該格納部を経由してセットする第２のポートと、
該第１のポートまたは該第２のポートにセットされた該フェッチ応答データに対して、予め規定された優先度に従って該プロセッサに送出するプライオリティ制御を行なう送出制御部とをそなえることを特徴とする、メモリ制御装置。
【００７６】
（付記２）  該第１のポートは、該フェッチ応答データをセット可能な空き領域が存在する場合に、受信した該フェッチ応答データを該空き領域にセットすることを特徴とする、付記１に記載のメモリ制御装置。
（付記３）  該第１のポートは、該空き領域が存在しない場合に、受信した該フェッチ応答データを破棄することを特徴とする、付記２に記載のメモリ制御装置。
【００７７】
（付記４）  該主記憶装置から取り出した該フェッチ応答データが特定のデータである場合に、当該フェッチ応答データを該格納部と該第１のポートとの双方に送信する送信制御部と、
該送信制御部から送信された一方のフェッチ応答データが該第１のポートにセットされた場合に、該送信制御部から該格納部に送信された他方のフェッチ応答データを破棄させるキャンセル部とをそなえることを特徴とする、付記１〜３のいずれか１項に記載のメモリ制御装置。
【００７８】
（付記５）  該送信制御部は、該主記憶装置から取り出した該フェッチ応答データが特定のデータ以外である場合に、当該フェッチ応答データを該格納部に送信し、
該第２のポートは、該送信制御部から送信された前記特定のデータ以外である該フェッチ応答データを該格納部を経由してセットすることを特徴とする、付記４に記載のメモリ制御装置。
【００７９】
（付記６）  該送出制御部は、
該第１のポートにセットされた該フェッチ応答データを分断し、当該フェッチ応答データ以外のデータを該優先度に従って割り込ませて該プロセッサに送出する分断送出部と、
該第１のポートにセットされた該フェッチ応答データを連続して該プロセッサに送出する連続送出部と
該分断送出部と該連続送出部とを、該第１のポートの使用状況に応じて選択的に切り替える切替部とをそなえることを特徴とする、付記１〜５のいずれか１項に記載のメモリ制御装置。
【００８０】
（付記７）  プロセッサのフェッチ要求に対応するフェッチ応答データを主記憶装置から取り出して該プロセッサに送出するメモリ制御方法であって、
該主記憶装置から取り出した該フェッチ応答データを格納部をバイパスして受信し、当該受信したフェッチ応答データを所定条件下で第１のポートにセットする第１のセットステップと、
該第１のセットステップにおいて該フェッチ応答データを該第１のポートにセットできない場合に、該主記憶装置から取り出した該フェッチ応答データを格納部を経由して第２のポートにセットする第２のセットステップと、
該第１のポートまたは該第２のポートにセットされた該フェッチ応答データに対して、予め規定された優先度に従って該プロセッサに送出するプライオリティ制御を行なう送出制御ステップとをそなえることを特徴とする、メモリ制御方法。
【００８１】
（付記８）  該第１のセットステップにおいて、該フェッチ応答データをセット可能な空き領域が該第１のポートに存在する場合を該所定条件として、受信した該フェッチ応答データを該空き領域にセットすることを特徴とする、付記７に記載のメモリ制御方法。
（付記９）  該第１のセットステップにおいて、該空き領域が該第１のポートに存在しない場合に、受信した該フェッチ応答データを破棄することを特徴とする、付記８に記載のメモリ制御方法。
【００８２】
（付記１０）  該主記憶装置から取り出した該フェッチ応答データが特定のデータである場合に、当該フェッチ応答データを該格納部と該第１のポートとの双方に送信する送信制御ステップと、
該送信制御ステップにおいて送信された一方のフェッチ応答データが該第１のポートにセットされた場合に、該送信制御ステップにおいて該格納部に送信された他方のフェッチ応答データを破棄させるキャンセルステップとをそなえることを特徴とする、付記７〜９のいずれか１項に記載のメモリ制御方法。
【００８３】
（付記１１）  該送信制御ステップにおいて、該主記憶装置から取り出した該フェッチ応答データが特定のデータ以外である場合に、当該フェッチ応答データを該格納部に送信し、
該第２のセットステップにおいて、該送信制御ステップにおいて送信された前記特定のデータ以外である該フェッチ応答データを該格納部を経由して該第２のポートにセットすることを特徴とする、付記１０に記載のメモリ制御方法。
【００８４】
（付記１２）  該送出制御ステップにおいて、
該第１のポートにセットされた該フェッチ応答データを分断し、当該フェッチ応答データ以外のデータを該優先度に従って割り込ませて該プロセッサに送出する分断送出ステップと、
該第１のポートにセットされた該フェッチ応答データを連続して該プロセッサに送出する連続送出ステップと
該分断送出ステップと該連続送出ステップとを、該第１のポートの使用状況に応じて選択的に切り替える切替ステップとをそなえることを特徴とする、付記７〜１１のいずれか１項に記載のメモリ制御方法。
【００８５】
（付記１３）  主記憶装置と、
該主記憶装置に対してフェッチ要求を発行するプロセッサと、
該プロセッサのフェッチ要求に対応するフェッチ応答データを該主記憶装置から取り出して該プロセッサに送出するシステムコントローラとをそなえ、
該システムコントローラが、
該主記憶装置から取り出した該フェッチ応答データを格納可能な格納部と、
該主記憶装置から取り出した該フェッチ応答データを該格納部をバイパスして受信し、当該受信したフェッチ応答データをセット可能な第１のポートと、
該フェッチ応答データを該第１のポートにセットできない場合に、該主記憶装置から取り出した該フェッチ応答データを該格納部を経由してセットする第２のポートと、
該第１のポートまたは該第２のポートにセットされた該フェッチ応答データに対して、予め規定された優先度に従って該プロセッサに送出するプライオリティ制御を行なう送出制御部とをそなえることを特徴とする、情報処理装置。
【００８６】
（付記１４）  該第１のポートは、該フェッチ応答データをセット可能な空き領域が存在する場合に、受信した該フェッチ応答データを該空き領域にセットすることを特徴とする、付記１３に記載の情報処理装置。
（付記１５）  該第１のポートは、該空き領域が存在しない場合に、受信した該フェッチ応答データを破棄することを特徴とする、付記１４に記載の情報処理装置。
【００８７】
（付記１６）  該主記憶装置から取り出した該フェッチ応答データが特定のデータである場合に、当該フェッチ応答データを該格納部と該第１のポートとの双方に送信する送信制御部と、
該送信制御部から送信された一方のフェッチ応答データが該第１のポートにセットされた場合に、該送信制御部から該格納部に送信された他方のフェッチ応答データを破棄させるキャンセル部とをそなえることを特徴とする、付記１３〜１５のいずれか１項に記載の情報処理装置。
【００８８】
（付記１７）  該送信制御部は、該主記憶装置から取り出した該フェッチ応答データが特定のデータ以外である場合に、当該フェッチ応答データを該格納部に送信し、
該第２のポートは、該送信制御部から送信された前記特定のデータ以外である該フェッチ応答データを該格納部を経由してセットすることを特徴とする、付記１６に記載の情報処理装置。
【００８９】
（付記１８）  該送出制御部は、
該第１のポートにセットされた該フェッチ応答データを分断し、当該フェッチ応答データ以外のデータを該優先度に従って割り込ませて該プロセッサに送出する分断送出部と、
該第１のポートにセットされた該フェッチ応答データを連続して該プロセッサに送出する連続送出部と
該分断送出部と該連続送出部とを、該第１のポートの使用状況に応じて選択的に切り替える切替部とをそなえることを特徴とする、付記１３〜１７のいずれか１項に記載の情報処理装置。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施形態としての情報処理装置の構成例を模式的に示すブロック図である。
【図２】本発明の一実施形態としての情報処理装置におけるシステムコントローラの構成例を示すブロック図である。
【図３】本発明の一実施形態としての情報処理装置のシステムコントローラにおけるデータキュー経由回路のフェッチ応答経路を説明するための図である。
【図４】本発明の一実施形態としての情報処理装置のシステムコントローラにおけるデータキューバイパス回路のフェッチ応答経路を説明するための図である。
【図５】本発明の一実施形態としての情報処理装置における分断送出部の機能を説明するための図である。
【図６】本発明の一実施形態としての情報処理装置における連続送出部の機能を説明するための図である。
【図７】本発明の一実施形態としての情報処理装置においてフェッチ応答データがメモリからＣＰＵに送出される手順を示すフローチャートである。
【図８】従来の情報処理装置のシステムボードの構成例を模式的に示すブロック図である。
【図９】従来の情報処理装置におけるシステムコントローラの構成例を示すブロック図である。
【図１０】従来の情報処理装置のシステムコントローラにおけるフェッチ応答経路を説明するための図である。
【符号の説明】
【００９１】
１０，８０ 情報処理装置
１１，８１  システムボード
１２，８２  Ｉ／Ｏ装置
１３，８３  ＣＰＵ（プロセッサ）
１４ａ，１４ｂ，８４ａ，８４ｂ  メモリ（主記憶装置）
１５ａ，１５ｂ，８５ａ，８５ｂ  システムコントローラ（メモリ制御装置）
１６，８６  ＭＡＣ
１７  送信制御部
１８  第１のポート（キャンセル部）
１９，８７  データキュー（格納部）
２０  第２のポート
２１−１〜２１−ｎ，８９−１〜８９−ｋ  ポート
２２，９０  送出制御部
２３  分断送出部
２４  連続送出部
２５  切替部
８８  フェッチ応答データ用ポート
Ａ  データキュー経由回路
Ｂ  データキューバイパス回路
【図１】
0005233360.tif 000002
【図２】
0005233360.tif 000003
【図３】
0005233360.tif 000004
【図４】
0005233360.tif 000005
【図５】
0005233360.tif 000006
【図６】
0005233360.tif 000007
【図７】
0005233360.tif 000008
【図８】
0005233360.tif 000009
【図９】
0005233360.tif 000010
【図１０】
0005233360.tif 000011