(57)【要約】【課題】メモリに対するアクセス要求発行のスループットを向上させることができる演算処理装置及び演算処理装置の制御方法を提供することを課題とする。【解決手段】演算処理装置は、メモリに対して複数の長さのアクセス要求を発行するメモリ制御部を有する演算処理装置であって、前記メモリ制御部は、前記アクセス要求の長さ毎に前記アクセス要求を保持する複数のキュー保持部（２０３ａ〜２０３ｅ）と、前記メモリの資源の残数に応じて、前記複数のキュー保持部に保持されているアクセス要求のいずれかを選択して前記メモリに発行する調停部（２０４）とを有する。【選択図】図２
2015069326.tif 000002
【特許請求の範囲】
【請求項１】
メモリに対して複数の長さのアクセス要求を発行するメモリ制御部を有する演算処理装置であって、
前記メモリ制御部は、
前記アクセス要求の長さ毎に前記アクセス要求を保持する複数のキュー保持部と、
前記メモリの資源の残数に応じて、前記複数のキュー保持部に保持されているアクセス要求のいずれかを選択して前記メモリに発行する調停部と
を有することを特徴とする演算処理装置。
【請求項２】
前記複数の長さのアクセス要求は、複数の長さの書き込みデータを含む書き込み要求であることを特徴とする請求項１記載の演算処理装置。
【請求項３】
前記複数の長さのアクセス要求は、読み出し要求及び書き込み要求であることを特徴とする請求項１又は２記載の演算処理装置。
【請求項４】
前記メモリの資源の残数は、前記メモリ内のクロック乗り換え回路が前記アクセス要求を記憶する複数のフロップフロップ回路のうちの未使用のフリップフロップ回路の数であることを特徴とする請求項１〜３のいずれか１項に記載の演算処理装置。
【請求項５】
前記メモリは、前記アクセス要求の長さが長いほど多くの資源を必要とし、
前記調停部は、前記メモリの資源の残数以下の資源を必要とする長さのアクセス要求を選択して前記メモリに発行することを特徴とする請求項１〜４のいずれか１項に記載の演算処理装置。
【請求項６】
前記調停部は、前記アクセス要求の長さ毎の発行数をカウントするカウンタを有し、前記アクセス要求の長さ毎の発行数に応じて、前記複数のキュー保持部に保持されているアクセス要求のいずれかを選択して前記メモリに発行することを特徴とする請求項１〜５のいずれか１項に記載の演算処理装置。
【請求項７】
メモリに対して複数の長さのアクセス要求を発行するメモリ制御部を有する演算処理装置の制御方法であって、
前記メモリ制御部が有する複数のキュー保持部が、前記アクセス要求の長さ毎に前記アクセス要求を保持し、
前記メモリ制御部が有する調停部が、前記メモリの資源の残数に応じて、前記複数のキュー保持部に保持されているアクセス要求のいずれかを選択して前記メモリに発行することを特徴とする演算処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理装置及び演算処理装置の制御方法に関する。
【背景技術】
【０００２】
パケットのアドレスフィールドからリンクを特定でき、情報フレームが確認情報として送受信され、扱うパケット長に統計的な偏りを有するパケット通信方式が知られている（例えば、特許文献１参照）。バッファをパケット長に応じて複数種類設けてなるバッファプールと、受信パケットをパケット長に応じてバッファプールの各バッファに振分けるデータ受信部が設けられる。優先的に送受信を行ないたいパケットに応じたバッファの数を多くし、パケット受信時にデータ受信可能なバッファが無い場合、アドレスフィールドからリンクを特定しそのリンクに対してのみ自局ビジーとする。空バッファの総数が規定数以下になると、全リンクに対して自局ビジーとする機能と、空バッファの総数が一定数を越えると、自局レディとする機能とを有するフロー制御部が設けられる。
【０００３】
また、可変長のパケットにより通信するネットワークを相互に接続するパケット通信網接続装置が知られている（例えば、特許文献２参照）。判定手段は、受信したパケットを、そのパケット長が所定の値以下であれば短パケット、そうでなければ長パケットと判定する。優先送信手段は、短パケットを長パケットに優先して送信する。
【０００４】
また、単一の出力待ち行列を用いた優先制御方式が知られている（例えば、特許文献３参照）。この優先制御方式は、輻輳を受けているまたは受け得るパケットと輻輳を受けていないパケットの順序を交換することにより、輻輳を受けていないパケットの出力優先度を向上させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１−１４６４４５号公報
【特許文献２】特開平１０−２７１１６３号公報
【特許文献３】特開２００１−１７７５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
メモリに対するアクセス要求のパケット長は、アクセス要求の種別に依り異なり、固定長では無い。一方で、メモリは、受信処理の資源に限りがあるため、常時、アクセス要求を処理できない場合が多い。この場合、メモリは、資源の空きを待って、アクセス要求の処理を行うことになる。演算処理装置は、メモリの資源の残数が足りず、アクセス要求の送信が待たされることにより、スループットが低下してしまう。
【０００７】
１つの側面では、本発明の目的は、メモリに対するアクセス要求発行のスループットを向上させることができる演算処理装置及び演算処理装置の制御方法を提供することである。
【課題を解決するための手段】
【０００８】
演算処理装置は、メモリに対して複数の長さのアクセス要求を発行するメモリ制御部を有する演算処理装置であって、前記メモリ制御部は、前記アクセス要求の長さ毎に前記アクセス要求を保持する複数のキュー保持部と、前記メモリの資源の残数に応じて、前記複数のキュー保持部に保持されているアクセス要求のいずれかを選択して前記メモリに発行する調停部とを有する。
【発明の効果】
【０００９】
調停部を設けることにより、メモリに対するアクセス要求発行のスループットを向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態による演算処理システムの構成例を示す図である。
【図２】図２は、図１のメモリコントローラの構成例を示す図である。
【図３】図３は、図１のメインメモリの構成例を示す図である。
【発明を実施するための形態】
【００１１】
図１は、本実施形態による演算処理システムの構成例を示す図である。演算処理システムは、プロセッサ１０１及びメインメモリ１０５を有する。プロセッサ１０１は、演算処理装置であり、プロセッサコア１０２、キャッシュ回路１０３及びメモリコントローラ１０４を有する。プロセッサコア１０２は、フェッチ及びストア命令をキャッシュ回路１０３に発行する。キャッシュ回路１０３は、キャッシュメモリ及びキャッシュコントローラを有する。キャッシュコントローラは、アクセス要求（読み出し要求又は書き込み要求）のパケットをメモリコントローラ１０４に発行する。メモリコントローラ１０４は、メモリ制御部であり、アクセス要求の調停を行い、アクセス要求のパケットをメインメモリ１０５に発行する。メインメモリ１０５は、読み出し要求を入力すると、指定アドレスのデータを読み出し、読み出したデータを、メモリコントローラ１０４及びキャッシュ回路１０３を介して、プロセッサコア１０２に出力する。また、メインメモリ１０５は、書き込み要求を入力すると、書き込み要求内の書き込みデータを指定アドレスに書き込む。
【００１２】
メモリコントローラ１０４が発行するアクセス要求のパケット長は、アクセス要求の種別に依り異なり、可変長である。メモリコントローラ１０４は、メインメモリ１０５に対して複数の長さのアクセス要求を発行する。例えば、アクセス要求は、異なる長さの書き込みデータを含む書き込み要求によりパケット長が異なる。また、アクセス要求は、読み出し要求と書き込み要求とではパケット長が異なる。
【００１３】
図２は、図１のメモリコントローラ（ホスト回路）１０４の構成例を示す図である。メモリコントローラ１０４は、リクエスト受信部２０１、リクエスト処理部２０２、複数のキュー保持部２０３ａ〜２０３ｅ、リクエスト調停部２０４、及びリクエスト発行部２０９を有する。リクエスト調停部２０４は、リクエスト選択部２０５、調停制御部２０６及びリクエスト抑止制御部２０７を有する。リクエスト抑止制御部２０７は、カウンタ２０８を有する。メモリコントローラ１０４は、キャッシュ回路１０３からアクセス要求のパケットを受信し、受信したパケットの調停を行い、アクセス要求のパケットＰＫをメインメモリ１０５に送信する。その際、メモリコントローラ１０４は、メインメモリ１０５の資源の残数ρをメインメモリ１０５から受信し、アクセス要求の調停を行う。
【００１４】
図３は、図１のメインメモリ（リモート回路）１０５の構成例を示す図である。メインメモリ１０５は、アクセス要求のパケットＰＫの受信処理の資源に限りがあるため、資源の空きを待って、アクセス要求のパケットＰＫの受信処理を行う。プロセッサ１０１は、メインメモリ１０５の資源の残数が足りない場合には、アクセス要求の送信が待たされることにより、スループットが低下してしまう。
【００１５】
メインメモリ１０５は、受信パケットクロックドメイン３０１及びメモリクロックドメイン３０２を有する。受信パケットクロックドメイン３０１及びメモリクロックドメイン３０２は、クロック乗り換え回路を構成する。受信パケットクロックドメイン３０１は、複数のフリップフロップ回路３０３、書き込みポインタ記憶部３０４及び資源カウンタ回路３０５を有し、受信パケットＰＫの周波数と同じ第１のクロック信号に同期して動作する。メモリクロックドメイン３０２は、読み出し回路３０６及び読み出しポインタ記憶部３０７を有し、メインメモリ１０５の動作クロック信号である第２のクロック信号に同期して動作する。第２のクロック信号は、第１のクロック信号とは異なる周波数のクロック信号である。すなわち、受信パケットＰＫのクロック周波数と、メインメモリ１０５の内部のクロック周波数とが異なる。クロック乗り換え回路は、第１のクロック信号に同期するパケットＰＫを第２のクロック信号に同期するパケットに変換する。
【００１６】
複数のフリップフロップ回路３０３は、ファーストインファーストアウト（ＦＩＦＯ）のバッファを構成し、受信したアクセス要求のパケットＰＫを保持する。アクセス要求のパケットＰＫの長さにより、保持に必要なフリップフロップ回路３０３の数が異なる。パケットＰＫの長さが長いほど、多くのフリップフロップ回路３０３を必要とする。パケットＰＫは、第１のクロック信号に同期して、複数のフリップフロップ回路３０３内において、書き込みポインタ記憶部３０４に記憶されている書き込みポインタが示すアドレスに書き込まれる。書き込み後、書き込みポインタ記憶部３０４内の書き込みポインタはインクリメントされる。フリップフロップ回路３０３に保持されているパケットＰＫは、メインメモリ１０５内で処理するために読み出される。具体的には、読み出し回路３０６は、複数のフリップフロップ回路３０３において、読み出しポインタ記憶部３０７に記憶されている読み出しポインタが示すアドレスのデータを第２のクロック信号に同期して読み出す。読み出し後、読み出しポインタ記憶部３０７内の読み出しポインタはインクリメントされる。
【００１７】
以上の動作により、クロック乗り換え回路は、パケットＰＫの周波数で受信したデータをメインメモリ１０５の内部のクロック周波数のデータに変換することができる。ここで、もし第１のクロック信号が第２のクロック信号よりも高速な周波数である場合、書き込む速度が読み出す速度よりも速いため、データを保持しているフリップフロップ回路３０３が足りなくなり、いずれデータが上書きされてしまう。これを防ぐため、資源カウンタ回路３０５は、書き込みポインタ記憶部３０４内の書き込みポインタと読み出しポインタ記憶部３０７内の読み出しポインタとの差を、未使用のフリップフロップ回路（資源）３０３の残数ρとしてメモリコントローラ１０４に送信する。すなわち、メインメモリ１０５の資源の残数ρは、メインメモリ１０５内のクロック乗り換え回路がアクセス要求のパケットＰＫを記憶する複数のフロップフロップ回路３０３のうちの未使用のフリップフロップ回路３０３の数である。メインメモリ１０５は、資源の残数ρをパケットＰＫの送受信に合わせて送信しても良いし、定期的に送信してもよい。なお、メインメモリ１０４の資源は、クロック乗り換え回路のフリップフロップ回路３０３である例を説明したが、これに限定されない。
【００１８】
次に、図２を参照しながら、メモリコントローラ１０４の制御方法を説明する。リクエスト受信部２０１は、キャッシュ回路１０３からアクセス要求のパケットを受信してリクエスト処理部２０２に出力する。リクエスト処理部２０２は、入力したパケットのパケット長毎に異なるキュー保持部２０３ａ〜２０３ｅにパケットを振り分けて保持させ、パケット長毎のパケット受信情報をリクエスト抑止制御部２０７に出力する。キュー保持部２０３ａ、２０３ｂ、２０３ｃ、２０３ｄ、２０３ｅの順で、保持するパケットのパケット長が長くなっている。なお、５個のキュー保持部２０３ａ〜２０３ｅを設ける例を示すが、５個に限定されない。
【００１９】
キュー保持部２０３ａは、最もパケット長が長い第１のパケット長のパケットを保持する。メインメモリ１０５が第１のパケット長のパケットを受信処理するには、最も多い第１の資源数μ１を必要とする。すなわち、資源の残数ρが第１の資源数μ１以上である場合には、キュー保持部２０３ａに保持されている第１のパケット長のアクセス要求のパケットをメインメモリ１０５に発行可能である。
【００２０】
キュー保持部２０３ｂは、２番目にパケット長が長い第２のパケット長のパケットを保持する。メインメモリ１０５が第２のパケット長のパケットを受信処理するには、２番目に多い第２の資源数μ２を必要とする。すなわち、資源の残数ρが第２の資源数μ２以上である場合には、キュー保持部２０３ｂに保持されている第２のパケット長のアクセス要求のパケットをメインメモリ１０５に発行可能である。
【００２１】
キュー保持部２０３ｃは、３番目にパケット長が長い第３のパケット長のパケットを保持する。メインメモリ１０５が第３のパケット長のパケットを受信処理するには、３番目に多い第３の資源数μ３を必要とする。すなわち、資源の残数ρが第３の資源数μ３以上である場合には、キュー保持部２０３ｃに保持されている第３のパケット長のアクセス要求のパケットをメインメモリ１０５に発行可能である。
【００２２】
キュー保持部２０３ｄは、４番目にパケット長が長い第４のパケット長のパケットを保持する。メインメモリ１０５が第４のパケット長のパケットを受信処理するには、４番目に多い第４の資源数μ４を必要とする。すなわち、資源の残数ρが第４の資源数μ４以上である場合には、キュー保持部２０３ｄに保持されている第４のパケット長のアクセス要求のパケットをメインメモリ１０５に発行可能である。
【００２３】
キュー保持部２０３ｅは、５番目にパケット長が長い第５のパケット長のパケットを保持する。メインメモリ１０５が第５のパケット長のパケットを受信処理するには、５番目に多い第５の資源数μ５を必要とする。すなわち、資源の残数ρが第５の資源数μ５以上である場合には、キュー保持部２０３ｅに保持されている第５のパケット長のアクセス要求のパケットをメインメモリ１０５に発行可能である。以上より、μ１＞μ２＞μ３＞μ４＞μ５の関係を有する。
【００２４】
リクエスト抑止制御部２０７は、リクエスト処理部２０２から入力するパケット長毎のパケット受信情報を基に、パケット長毎の単位時間当たりの受信数λ１〜λ５を演算する。受信数λ１は、キュー保持部２０３ａに保持される第１のパケット長のパケットの単位時間当たりの受信数である。受信数λ２は、キュー保持部２０３ｂに保持される第２のパケット長のパケットの単位時間当たりの受信数である。受信数λ３は、キュー保持部２０３ｃに保持される第３のパケット長のパケットの単位時間当たりの受信数である。受信数λ４は、キュー保持部２０３ｄに保持される第４のパケット長のパケットの単位時間当たりの受信数である。受信数λ５は、キュー保持部２０３ｅに保持される第５のパケット長のパケットの単位時間当たりの受信数である。なお、受信数λ１〜λ５は、レジスタ等により、ユーザが自由に設定できるようにしてもよい。
【００２５】
また、リクエスト抑止制御部２０７は、パケット長毎の発行限度数Ｌ１〜Ｌ５を演算する。第１の発行限度数Ｌ１は、キュー保持部２０３ａに保持されている第１のパケット長のパケットの発行限度数であり、次式により演算される。ここで、Ｔａは、定数である。
Ｌ１＝（Ｔａ×λ１）／（λ１＋λ２＋λ３＋λ４＋λ５）
【００２６】
第２の発行限度数Ｌ２は、キュー保持部２０３ｂに保持されている第２のパケット長のパケットの発行限度数であり、次式により演算される。
Ｌ２＝（Ｔａ×λ２）／（λ１＋λ２＋λ３＋λ４＋λ５）
【００２７】
第３の発行限度数Ｌ３は、キュー保持部２０３ｃに保持されている第３のパケット長のパケットの発行限度数であり、次式により演算される。
Ｌ３＝（Ｔａ×λ３）／（λ１＋λ２＋λ３＋λ４＋λ５）
【００２８】
第４の発行限度数Ｌ４は、キュー保持部２０３ｄに保持されている第４のパケット長のパケットの発行限度数であり、次式により演算される。
Ｌ４＝（Ｔａ×λ４）／（λ１＋λ２＋λ３＋λ４＋λ５）
【００２９】
第５の発行限度数Ｌ５は、キュー保持部２０３ｅに保持されている第５のパケット長のパケットの発行限度数であり、次式により演算される。
Ｌ５＝（Ｔａ×λ５）／（λ１＋λ２＋λ３＋λ４＋λ５）
ここで、発行限度数Ｌ１〜Ｌ５は、それぞれ、１より小さい場合は１に設定される。
【００３０】
初期時、メインメモリ１０５のフリップフロップ回路３０３は使用されていないので、資源の残数ρは最大値になる。この場合、ρ≧μ１であるので、調停制御部２０６は、キュー保持部２０３ａ〜２０３ｅが出力するパケットのヘッダ内の時間情報を基に、各キュー保持部２０３ａ〜２０３ｅの先頭のパケットの中で最も古いアクセス要求のパケットの選択信号をリクエスト選択部２０５に出力し、リクエスト発行情報をリクエスト抑止制御部２０７に出力する。リクエスト選択部２０５は、選択信号を基に、各キュー保持部２０３ａ〜２０３ｅの先頭のパケットの中で最も古いアクセス要求のパケットを選択してリクエスト発行部２０９に出力する。リクエスト発行部２０９は、選択されたアクセス要求のパケットＰＫをメインメモリ１０５に発行する。選択されたパケットは、キュー保持部から削除され、次のパケットについて、上記の処理が繰り返される。
【００３１】
次に、ρ＜μ１になると、カウンタ２０８は、調停制御部２０６から入力したリクエスト発行情報を基に、パケット長毎の発行数Ｃ１〜Ｃ５のカウントを開始する。第１の発行数Ｃ１は、リクエスト選択部２０４及びリクエスト発行部２０９により発行されたキュー保持部２０３ａのアクセス要求のパケットの数である。第２の発行数Ｃ２は、リクエスト選択部２０４及びリクエスト発行部２０９により発行されたキュー保持部２０３ｂのアクセス要求のパケットの数である。第３の発行数Ｃ３は、リクエスト選択部２０４及びリクエスト発行部２０９により発行されたキュー保持部２０３ｃのアクセス要求のパケットの数である。第４の発行数Ｃ４は、リクエスト選択部２０４及びリクエスト発行部２０９により発行されたキュー保持部２０３ｄのアクセス要求のパケットの数である。第５の発行アクセス要求数Ｃ５は、リクエスト選択部２０４及びリクエスト発行部２０９により発行されたキュー保持部２０３ｅのアクセス要求のパケットの数である。
【００３２】
リクエスト抑止制御部２０７は、第１の発行数Ｃ１が第１の限度数Ｌ１より大きくなった場合には、キュー保持部２０３ａに発行抑止信号を出力する。キュー保持部２０３ａは、発行抑止信号を入力すると、内部のアクセス要求のパケットの発行を抑止する。
【００３３】
また、リクエスト抑止制御部２０７は、第２の発行数Ｃ２が第２の限度数Ｌ２より大きくなった場合には、キュー保持部２０３ｂに発行抑止信号を出力する。キュー保持部２０３ｂは、発行抑止信号を入力すると、内部のアクセス要求のパケットの発行を抑止する。
【００３４】
また、リクエスト抑止制御部２０７は、第３の発行数Ｃ３が第３の限度数Ｌ３より大きくなった場合には、キュー保持部２０３ｃに発行抑止信号を出力する。キュー保持部２０３ｃは、発行抑止信号を入力すると、内部のアクセス要求のパケットの発行を抑止する。
【００３５】
また、リクエスト抑止制御部２０７は、第４の発行数Ｃ４が第４の限度数Ｌ４より大きくなった場合には、キュー保持部２０３ｄに発行抑止信号を出力する。キュー保持部２０３ｄは、発行抑止信号を入力すると、内部のアクセス要求のパケットの発行を抑止する。
【００３６】
また、リクエスト抑止制御部２０７は、第５の発行数Ｃ５が第５の限度数Ｌ５より大きくなった場合には、キュー保持部２０３ｅに発行抑止信号を出力する。キュー保持部２０３ｅは、発行抑止信号を入力すると、内部のアクセス要求のパケットの発行を抑止する。
【００３７】
カウンタ２０８は、ρ≧μ１になると、発行数Ｃ１〜Ｃ５をそれぞれ「０」にリセットする。
【００３８】
調停制御部２０６は、ρ＜μ１である場合、発行が抑止されていないキュー保持部２０３ａ〜２０３ｅであり、かつρ以下の資源数μ１〜μ５を持つキュー保持部２０３ａ〜２０３ｅの中で、最も古いアクセス要求のパケットの選択信号をリクエスト選択部２０５に出力し、リクエスト発行情報をリクエスト抑止制御部２０７に出力する。リクエスト選択部２０５は、選択信号を基に、上記の最も古いアクセス要求のパケットを選択してリクエスト発行部２０９に出力する。リクエスト発行部２０９は、選択されたアクセス要求のパケットＰＫをメインメモリ１０５に発行する。選択されたパケットは、キュー保持部から削除され、次のパケットについて、上記の処理が繰り返される。上記のように、発行数Ｃ１〜Ｃ５がそれぞれ限度数Ｌ１〜Ｌ５より大きくなった場合には、それぞれの発行抑止信号を出力することにより、各パケット長のパケットの発行数を平均化することができる。
【００３９】
なお、すべてのキュー保持部２０３ａ〜２０３ｅの中で発行可能なアクセス要求のパケットがない場合は、アクセス要求のパケットの発行が行われない。この待機時間により、メインメモリ１０５の資源の空きが発生し、資源の残数ρが徐々に増加していく。
【００４０】
また、リクエスト抑止制御部２０７は、パケット長毎に、一定時間パケットが選択されなかった場合には、優先度を上げることができる。この場合、調停制御部２０６は、一定時間パケットが選択されず、優先度を上げたパケット長のパケットの属するキュー保持部２０３ａ〜２０３ｅを優先して選択する。また、調停制御部２０６は、資源の残数ρにより、そのキュー保持部２０３ａ〜２０３ｅのパケットが選択できない場合は、資源の残数ρが資源数μ１〜μ５以上になるまで、パケットの発行を抑止する。
【００４１】
上記の定数Ｔａは、レジスタ等でユーザにより自由に設定できる。定数Ｔａが大きければ、アクセス要求のパケットの発行の空き時間が最短となり、スループットが最大となる。ただし、長時間発行されないアクセス要求のパケットが存在する恐れがあり、最大レイテンシが大きくなってしまう。これに対し、定数Ｔａが小さければ、短期的に全てのキュー保持部２０３ａ〜２０３ｅのアクセス要求のパケットを発行しようとするため、最大レイテンシは小さくなるが、アクセス要求のパケット発行を待たせる時間が多くなるため、スループットは小さくなる。
【００４２】
以上のように、複数のキュー保持部２０３ａ〜２０３ｅは、アクセス要求のパケットの長さ毎にアクセス要求のパケットを保持する。調停部２０４は、メインメモリ１０５の資源の残数ρに応じて、複数のキュー保持部２０３ａ〜２０３ｅに保持されているアクセス要求のパケットのいずれかを選択してメインメモリ１０５に発行する。
【００４３】
メインメモリ１０５は、アクセス要求のパケットＰＫの長さが長いほど多くの資源を必要とする。調停部２０４は、メインメモリ１０５の資源の残数ρ以下の資源を必要とする長さのアクセス要求のパケットを選択してメインメモリ１０５に発行する。
【００４４】
カウンタ２０８は、アクセス要求のパケットの長さ毎の発行数Ｃ１〜Ｃ５をカウントする。調停部２０４は、アクセス要求のパケットの長さ毎の発行数Ｃ１〜Ｃ５に応じて、複数のキュー保持部２０３ａ〜２０３ｅに保持されているアクセス要求のパケットのいずれかを選択してメインメモリ１０５に発行する。
【００４５】
仮に、メモリコントローラ１０４が、一律にアクセス要求のパケットを受信した順番でパケットを発行すると、メインメモリ１０５の資源不足により、パケット発行が待たされ、スループットが小さくなってしまう。本実施形態によれば、メインメモリ１０５の資源不足の場合には、後続の発行可能なアクセス要求のパケットを先に発行するため、全体的に、スループットを向上させることができる。
【００４６】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００４７】
１０１  プロセッサ
１０２  プロセッサコア
１０３  キャッシュ回路
１０４  メモリコントローラ
１０５  メインメモリ
２０１  リクエスト受信部
２０２  リクエスト処理部
２０３ａ〜２０３ｅ  キュー保持部
２０４  リクエスト調停部
２０５  リクエスト選択部
２０６  調停制御部
２０７  リクエスト抑止制御部
２０８  カウンタ
２０９  リクエスト発行部
３０１  受信パケットクロックドメイン
３０２  メモリクロックドメイン
３０３  フリップフロップ回路
３０４  書き込みポインタ記憶部
３０５  資源カウンタ回路
３０６  読み出し回路
３０７  読み出しポインタ記憶部
【図１】
2015069326.tif 000003
【図２】
2015069326.tif 000004
【図３】
2015069326.tif 000005