(57)【特許請求の範囲】
【請求項１】
メモリアクセス・リクエストを送信する複数のリクエスト手段と、
前記メモリアクセス・リクエストを調停する第１の調停手段と、
前記第１の調停手段で調停されたメモリアクセス・リクエストの処理を実行して処理結果であるメモリアクセス・リプライを出力し、前記処理のおけるメモリアクセス・リクエストの処理の混雑状態の情報を出力するメモリ処理手段と、
前記混雑状態の情報を基に、前記メモリ処理手段からのメモリアクセス・リプライの前記リクエスト手段への送信を調停する第２の調停手段と
を含み、
前記メモリ処理手段が、
前記第１の調停手段からのメモリアクセス・リクエストの受信に関する受信情報と、
前記メモリ処理手段からの前記第２の調停手段へのメモリアクセス・リプライの出力に関する出力情報と、
メモリバンクのビジーに関する情報であるビジー情報と
を基に前記混雑状態の情報を算出する
情報処理装置。
【請求項２】
前記メモリ処理手段が、
前記受信情報と前記出力情報と前記処理の状態の情報とを基に複数のカウント値をカウントし、
前記複数のカウントを基に前記混雑状態の情報を算出する
請求項１に記載の情報処理装置。
【請求項３】
前記メモリ処理手段が、
メモリアクセス・リクエストの短期的なカウント値をカウントする第１のカウンタと、前記第１のカウンタより長期的なカウント値をカウントする第２のカウンタと、前記第２のカウンタより長期的なカウント値をカウントする第３のカウンタと
を含む請求項２に記載の情報処理装置。
【請求項４】
前記第２の調停手段が、
受信した前記混雑状態の情報を基に前記メモリ処理手段の優先順位を算出し、前記優先順位を基に受信したメモリアクセス・リプライの出力を調停する
請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記メモリ処理手段が
１つの経路を用いて前記混雑状態の情報及びメモリアクセス・リプライを前記第２の調停手段に出力する
請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
複数のリクエスト手段からメモリアクセス・リクエストを送信させ、
前記メモリアクセス・リクエストを調停し、
メモリ処理手段に前記調停されたメモリアクセス・リクエストの処理を実行して処理結果であるメモリアクセス・リプライを出力させ、前記処理のおけるメモリアクセス・リクエストの処理の混雑状態の情報を出力させ、
前記混雑状態の情報を基に、前記メモリ処理手段からのメモリアクセス・リプライの前記リクエスト手段への送信を調停し、
前記メモリ処理手段に、
メモリアクセス・リクエストの受信に関する受信情報と、
前記メモリ処理手段からのメモリアクセス・リプライの出力に関する出力情報と、
メモリバンクのビジーに関する情報であるビジー情報と
を基に前記混雑状態の情報を算出させる
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の処理に関し、特に、メモリポートなどのリソース間を調停する情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置は、マルチコア化及びプログラムの並列化が進んでいる。情報処理装置は、同時に複数のスレッド処理を実行する場合、あるメモリポート又はメモリバンクなど一部のリソースにアクセスが集中する。この場合、後続処理の待ち時間が、増加する。そこで、メモリポートなどのリソースへのアクセスを調整して、処理能力を向上する技術が、提案されている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００６／０３０６５０号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の情報処理装置は、予めリソースに与えられた優先度を基に動作する。しかし、いずれのメモリポート又はメモリバンクなどのリソースにアクセスが集中するかは、情報処理装置が実行するプログラム又は並列に実行されているプログラムに依存する。このように、並列処理を実行する情報処理装置は、予め、メモリポートなどのリソースの優先度を決定することができない。そのため、特許文献１に記載の技術のような固定的なポートの優先順を用いる技術において、マルチコア又はプログラムの並列処理におけるリソースの調停が難しい。このように、特許文献１に記載の技術は、メモリポートなどのリソースを適切に調停することができないという問題点があった。
【０００５】
本発明の目的は、上記問題点を解決し、メモリポートなどのリソース間を適切に調停する情報処理装置、及び、情報処理方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一形態のおける情報処理装置は、メモリアクセス・リクエストを送信する複数のリクエスト手段と、メモリアクセス・リクエストを調停する第１の調停手段と、第１の調停手段で調停されたメモリアクセス・リクエストの処理を実行して処理結果であるメモリアクセス・リプライを出力し、処理のおけるメモリアクセス・リクエストの処理の混雑状態の情報を出力するメモリ処理手段と、混雑状態の情報を基に、メモリ処理手段からのメモリアクセス・リプライのリクエスト手段への送信を調停する第２の調停手段とを含む。
【０００７】
本発明の一形態のおけるデータ処理方法は、複数のリクエスト手段からメモリアクセス・リクエストを送信させ、メモリアクセス・リクエストを調停し、メモリ処理手段に調停されたメモリアクセス・リクエストの処理を実行して処理結果であるメモリアクセス・リプライを出力させ、処理のおけるメモリアクセス・リクエストの処理の混雑状態の情報を出力させ、混雑状態の情報を基に、メモリ処理手段からのメモリアクセス・リプライのリクエスト手段への送信を調停する。
【発明の効果】
【０００８】
本発明に基づけば、メモリポートなどのリソース間を適切に調停できるとの効果を奏することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明における第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係るメモリポート部の構成の一例を示すブロック図である。
【図３】図３は、第１の実施形態に係るメモリアクセス・リプライ・クロスバの構成の一例を示すブロック図である。
【図４】図４は、第１の実施形態に係るカウンタの遷移を示す図である。
【図５】図５は、第１の実施形態に係るカウンタの遷移を示す図である。
【図６】図６は、第２の実施形態に係るメモリポート部の構成の一例を示すブロック図である。
【図７】図７は、第２の実施形態に係るメモリアクセス・リプライ・クロスバの構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１０】
次に、本発明の実施形態について図面を参照して説明する。
【００１１】
なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
【００１２】
また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【００１３】
なお、以下の説明においてメモリポートを用いて説明する。しかし、これは、本発明の実施形態に係る情報処理装置の調停の対象をメモリポートに限定するものではない。本発明の実施形態に係る情報処理装置は、メモリポート又はメモリバンクのような、情報を並列に記憶又は処理する装置を調停できる。
【００１４】
＜第１の実施形態＞
図１は、本発明における第１の実施形態に係る情報処理装置１００の構成の一例を示すブロック図である。
【００１５】
情報処理装置１００は、複数のリクエスタ（リクエスタ７０、リクエスタ７１、リクエスタ７２、及びリクエスタ７３）と、メモリアクセス・リクエスト・クロスバ１０（Memory Access Request Cross Bar １０）とを含む。さらに、情報処理装置１００は、複数のメモリポート部（メモリポート部２０、メモリポート部２１、メモリポート部２２及びメモリポート部２３）と、メモリアクセス・リプライ・クロスバ１１（Memory Access Reply Cross Bar １１）とを含む。
【００１６】
情報処理装置１００は、上記の構成に基づく共有メモリ・システムにおいて、特定のメモリポート部２０ないし２３へのアクセスの集中を削減し、メモリポート部２０ないし２３の処理時間のばらつきを軽減する。つまり、本実施形態の情報処理装置は、メモリポート部２０ないし２３のメモリアクセス処理時間を平均化する。
【００１７】
なお、図１における、リクエスタ７０ないし７３、及びメモリポート部２０ないし２３の数は、一例である。情報処理装置１００は、４つより少ない又は４つより多いリクエスタを含んでもよい。また、情報処理装置１００は、４つより少ない又は４つより多いメモリポート部を含んでもよい。
【００１８】
リクエスタ７０ないし７３は、それぞれ同様の構成を含み、同様に動作する。そのため、区別の必要がない場合、以下の説明では、リクエスタ７０を用いて説明する。
【００１９】
同様に、メモリポート部２０ないし２３は、それぞれ同様の構成を含み、同様に動作する。そのため、区別の必要がない場合、以下の説明では、メモリポート部２０を用いて説明する。
【００２０】
リクエスタ７０は、メモリポート部２０へのデータの要求であるメモリアクセス・リクエストを、メモリアクセス・リクエスト・クロスバ１０に発行する。そのため、リクエスタ７０は、リクエスト部又はリクエスト手段でもある。リクエスタ７０は、メモリアクセスを要求する装置であれば、特に制限はない。例えば、リクエスタ７０は、マルチＣＰＵ（Central Processing Unit）として実装された並列処理を実行する処理装置又はコンピュータでもよい。そのため、リクエスタ７０の詳細な説明を省略する。
【００２１】
メモリアクセス・リクエスト・クロスバ１０は、受信したメモリアクセス・リクエストをアクセス先のメモリポート部２０に経路制御して送信し（ルーティングし）、メモリポート部２０の競合を調停する。そのため、メモリアクセス・リクエスト・クロスバ１０は、第１の調停部又は第１の調停手段でもある。情報処理装置１００は、メモリアクセス・リクエスト・クロスバ１０として、一般的なメモリ用のクロスバを用いればよい。そのため、メモリアクセス・リクエスト・クロスバ１０の詳細な説明を省略する。
【００２２】
メモリポート部２０は、メモリアクセス・リクエストを受信し、メモリアクセス・リクエストに対する応答（メモリアクセス・リプライ）をメモリアクセス・リプライ・クロスバ１１に送り出す。そのため、メモリポート部２０は、メモリ処理部又はメモリ処理手段でもある。メモリポート部２０の構成及び動作について、後ほど説明する。
【００２３】
メモリアクセス・リプライ・クロスバ１１は、メモリポート部２０からのメモリアクセス・リプライ（メモリ処理の結果）を受信し、処理の結果を調停（ルーティング）して、リクエスタ７０に戻す。そのため、メモリアクセス・リプライ・クロスバ１１は、第２の調停部又は第２の調停手段でもある。メモリアクセス・リプライ・クロスバ１１の構成及び動作については、後ほど説明する。
【００２４】
続いて、図面を参照して、メモリポート部２０とメモリアクセス・リプライ・クロスバ１１について、さらに説明する。
【００２５】
図２は、メモリポート部２０の構成の一例を示すブロック図である。
【００２６】
メモリポート部２０は、受信バッファ３０と、バンクビジー制御部３１と、メモリ制御部３２と、混雑情報生成部３３とを含む。
【００２７】
受信バッファ３０は、メモリアクセス・リクエスト・クロスバ１０から、メモリアクセス・リクエストを受信する。受信バッファ３０は、所定のメモリを含み、所定数までの受信したメモリアクセス・リクエストを一時的に保存し、メモリアクセス・リクエスト・クロスバ１０の動作とバンクビジー制御部３１の動作と時間差を吸収及び調整する。調整後、受信バッファ３０は、メモリアクセス・リクエストをバンクビジー制御部３１に送信する。受信バッファ３０は、メモリアクセス・リクエストの受信に関する情報を混雑情報生成部３３に通知してもよい。以下、受信バッファ３０のメモリアクセス・リクエストの受信に関する情報を「受信情報」と呼ぶ。
【００２８】
バンクビジー制御部３１は、メモリアクセス・リクエストが、次に説明するメモリ制御部３２に含まれる同一のメモリバンク（図示せず）に連続してアクセスするケースを削減するように、メモリアクセス・リクエストの順番を変更する制御を実行する。また、バンクビジー制御部３１は、メモリバンクがビジーの場合、メモリバンクのビジーに関する情報（以下、「ビジー情報」と呼ぶ）を混雑情報生成部３３に送信する。ビジー情報は、メモリポート部２０の処理の状態を示す情報の１つである。
【００２９】
メモリ制御部３２は、メモリバンクを構成するメモリ素子（図示せず）と、メモリ素子を制御するメモリコントローラ（図示せず）とを含み、メモリ素子に対するメモリコントローラの制御を基に、メモリバンクを構成する。メモリ素子は、例えば、ＲＡＭ（Random Access Memory）である。そして、メモリ制御部３２は、メモリバンクに対するメモリアクセス・リクエストを処理して、処理結果であるメモリアクセス・リプライをメモリアクセス・リプライ・クロスバ１１に出力する。また、メモリ制御部３２は、メモリアクセス・リプライの出力に関する情報を、混雑情報生成部３３に通知する。以下、この情報を「出力情報」と呼ぶ。
【００３０】
混雑情報生成部３３は、受信情報と、出力情報と、ビジー情報とを基に、メモリポート部２０の混雑情報を集計する。そのため、混雑情報生成部３３は、１つ又は複数のカウンタを含む。図２に示す混雑情報生成部３３は、一例として３つのカウンタ（カウンタ３３０、カウンタ３３１及びカウンタ３３２）を含む。カウンタ３３０ないし３３２は、メモリ制御部３２における仕掛かり命令数をカウントする。混雑情報生成部３３は、混雑情報として、カウンタ３３０ないし３３２のカウント数を、メモリアクセス・リプライ・クロスバ１１に送る。なお、混雑情報は、他の情報を含んでもよい。なお、カウンタ３３０ないし３３２については、後ほど説明する。
【００３１】
なお、図２に示すカウンタ３３０ないし３３２は、一例である。混雑情報生成部３３は、３つより少ないカウンタを含んでもよく、３つを超えるカウンタを含んでもよい。
【００３２】
図３は、メモリアクセス・リプライ・クロスバ１１の構成の一例を示すブロック図である。
【００３３】
メモリアクセス・リプライ・クロスバ１１は、複数の受信バッファ（受信バッファ５０、受信バッファ５１、受信バッファ５２及び受信バッファ５３）を含む。また、メモリアクセス・リプライ・クロスバ１１は、複数のリプライ調停部（リプライ調停部６０、リプライ調停部６１、リプライ調停部６２及びリプライ調停部６３）を含む。さらに、メモリアクセス・リプライ・クロスバ１１は、優先制御部４０を含む。なお、図３における、受信バッファ５０ないし５３と、リプライ調停部６０ないし６３の数は、一例である。メモリアクセス・リプライ・クロスバ１１は、４つより少ない又は４つより多い受信バッファを含んでもよい。メモリアクセス・リプライ・クロスバ１１は、４つより少ない又は４つより多いリプライ調停部を含んでもよい。
【００３４】
なお、受信バッファ５０ないし５３は、それぞれ同様の構成を含み、同様に動作する。そのため、区別の必要がない場合、以下の説明では、受信バッファ５０を用いて説明する。
【００３５】
同様に、リプライ調停部６０ないし６３は、それぞれ同様の構成を含み、同様に動作する。そのため、区別の必要がない場合、以下の説明では、リプライ調停部６０を用いて説明する。
【００３６】
受信バッファ５０は、メモリポート部２０からメモリアクセス・リプライを、受信する。受信バッファ５０は、メモリアクセス・リプライをリプライ調停部６０に送信する。受信バッファ５０は、所定のメモリを含み、所定数までの受信したメモリアクセス・リプライを一時的に保存し、メモリポート部２０の動作とリプライ調停部６０の動作と時間差を吸収及び調整する。調整後、受信バッファ５０は、メモリアクセス・リプライをリプライ調停部６０に送信する。
【００３７】
リプライ調停部６０は、優先制御部４０からの優先情報を基に、メモリアクセス・リプライを、リクエスタ７０に、ルーティングする。
【００３８】
優先制御部４０は、メモリポート部２０から受信した混雑情報を基に、リプライ調停部６０に、調整した優先順位を通知する。
【００３９】
［動作の説明］
次に、本実施形態の情報処理装置１００の動作について、本実施形態の特徴であるメモリポート部２０及びメモリアクセス・リプライ・クロスバ１１の動作を中心に説明する。
【００４０】
まず、メモリポート部２０の動作について説明する。
【００４１】
受信バッファ３０は、メモリアクセス・リクエストを受信すると、格納する。そして、受信バッファ３０は、メモリアクセス・リクエストをバンクビジー制御部３１に送信する。受信バッファ３０は、受信情報を混雑情報生成部３３に送信してよい。あるいは、混雑情報生成部３３が、受信バッファ３０と同様に、メモリアクセス・リクエストを受信し、受信情報を生成してもよい。
【００４２】
バンクビジー制御部３１は、メモリ制御部３２のメモリバンクのビジーの状態を基に、メモリアクセス・リクエストの順番を入れ替え、メモリ制御部３２に送信する。例えば、バンクビジー制御部３１は、メモリ制御部３２のビジーとなっているバンクがある場合、そのバンクへの送信を保留し、ビジーでないバンクにメモリアクセス・リクエストを送信する。バンクビジー制御部３１は、ビジー情報を混雑情報生成部３３に送信する。
【００４３】
メモリ制御部３２は、メモリアクセス・リクエストを基にメモリアクセス・リプライを生成し、メモリアクセス・リプライ・クロスバ１１に送信する。メモリ制御部３２は、出力情報を混雑情報生成部３３に送信する。
【００４４】
混雑情報生成部３３は、受信情報、ビジー情報、及び出力情報を受信する。そして、混雑情報生成部３３のカウンタ３３０ないし３３２は、これらの情報を基に、後述する所定のカウント値をカウントする。そして、混雑情報生成部３３は、これらのカウント値を基に、メモリアクセス・リプライ・クロスバ１１での優先処理に用いられる混雑情報を生成する。そして、混雑情報生成部３３は、メモリアクセス・リプライ・クロスバ１１に混雑情報を送信する。そのため、混雑情報生成部３３は、予め、メモリアクセス・リプライ・クロスバ１１の優先処理を基に決められている、カウンタ３３０ないし３３２におけるカウント手法、及び、送信する混雑情報の形式を保持する。そして、混雑情報生成部３３は、保持する手法を用いたカウンタ３００ないし３０２のカウントと、混雑情報の生成とを実行する。
【００４５】
カウンタ３３０ないし３３２の動作の一例について、図面を参照して詳細に説明する。
【００４６】
カウンタ３３０ないしカウンタ３３２は、滞留しているメモリアクセス・リクエストをカウントする。ただし、カウンタ３３０ないし３３２は、それぞれ、時間的に異なる滞留状態（例えば、最近の滞留状態、長期的な滞留状態、又は、その中間的な時間の滞留状態）を示す値をカウントする。カウンタ３３０は、最近の入出力に基づく滞留状態を示す値をカウントする。カウンタ３３１は、カウンタ３３０より長期的に滞留しているメモリアクセス・リクエストの滞留状態を示す値をカウントする。カウンタ３３２は、カウンタ３３１より長期的に滞留しているメモリアクセス・リクエストの滞留状態を示す値をカウントする。つまり、カウンタ３３０は、短期的な滞留状態、カウンタ３３１は、中期的な滞留状態、カウンタ３３２は、長期的な滞留状態をカウントする。なお、カウンタ３３０は、第１のカウンタに相当する。カウンタ３３１は、第２のカウンタに相当する。カウンタ３３２は、第３のカウンタに相当する。
【００４７】
カウンタ３３０ないし３３２の具体的なカウント動作の一例の図面を参照して説明する。
【００４８】
図４は、カウンタ３３０の遷移の一例を示す図である。図５は、カウンタ３３１及びカウンタ３３２の遷移の一例を示す図である。
【００４９】
カウンタ３３０ないし３３２は、メモリアクセス・リクエストの入力、メモリアクセス・リプライの出力、及び、ビジーの発生のいずれもがない場合（入力＝無、出力=無、ビジー＝無）、カウンタの値を変更しない。
【００５０】
カウンタ３３０は、メモリポート部２０に保持されているメモリアクセス・リクエストの数をカウントする。例えば、メモリアクセス・リクエストの入力がない（入力＝無）ときにバンクビジーが発生（ビジー=有）した場合、カウンタ３３０は、カウント値を「０」とする。あるいは、メモリアクセス・リクエストの入力がある（入力＝有）ときにバンクビジーが発生（ビジー=有）した場合、カウンタ３３０は、カウント値を「１」とする。また、カウンタ３３０は、メモリアクセス・リプライがメモリ制御部３２から出力（出力＝有）され、カウンタ３３１及びカウンタ３３２の値が「０」の場合、カウント値から「１」を減算する。
【００５１】
カウンタ３３１は、メモリアクセス・リクエストの入力に影響されない。そして、例えば、カウンタ３３１は、バンクビジーが発生（ビジー＝有）すると、カウンタの値に、カウンタ３３０の値を代入（コピー）する。ただし、メモリ制御部３２がメモリアクセス・リプライを出力（出力＝有）し、かつ、カウンタ３３１及びカウンタ３３２の値が０の場合、カウンタ３３１は、カウンタの値に、カウンタ３３０の値から「１」を減算した値を、代入する。あるいは、メモリ制御部３２がメモリアクセス・リプライを出力（出力＝有）し、かつ、カウンタ３３２の値が「０」の場合、カウンタ３３１は、カウンタ値から１を減算する。
【００５２】
カウンタ３３２は、メモリアクセス・リクエストの入力に影響されない。そして、例えば、カウンタ３３２は、バンクビジーが発生（ビジー＝有）し、メモリアクセス・リプライの出力がない（出力＝無）場合、カウンタ３３１の値を、カウンタ値に加算する。あるいは、カウンタ３３２は、バンクビジーが発生（ビジー＝有）し、メモリアクセス・リプライがメモリ制御部３２から出力され（出力＝有）、かつ、カウンタ３３１の値が「０」より大きい場合、カウンタ３３１の値から１減算したものをカウンタ値に加算する。もしくは、カウンタ３３２は、メモリアクセス・リプライがメモリ制御部３２から出力され（出力＝有）、かつ、カウンタ３３２の値が「０」より大きい場合、カウント値から１を減算する。
【００５３】
混雑情報生成部３３は、カウンタ３３０ないし３３２のカウント値を混雑情報として、定期的に、メモリアクセス・リプライ・クロスバ１１の優先制御部４０に送信する。
【００５４】
優先制御部４０は、メモリポート部２０ないし２３から受信した混雑情報に含まれるそれぞれのカウント値に、それぞれの所定の重み係数を掛ける。そして、優先制御部４０は、メモリポート部２０ないし２３毎に、カウンタ値を合算する。そして、優先制御部４０は、メモリポート部２０ないし２３のそれぞれの合算値を比較し、メモリポート部２０ないし２３の優先順を決定する。合計値は、メモリポート部２０ないし２３におけるメモリアクセス・リクエストの滞留状態を示している。そこで、優先制御部４０は、合算値がより大きなメモリポート部の優先順位を高くする。あるいは、優先制御部４０は、合算値がより小さなメモリポート部の優先順位を低くする。
【００５５】
なお、各カウンタ値それぞれに掛ける重み係数は、情報処理装置１００が、予め、メモリ・システムの構成に合わせた最適な値を保存しておけばよい。例えば、長期的滞留を少なくする場合、カウンタ３０２の重みが、カウンタ３００及びカウンタ３０１の重みより大きな重みとなっていればよい。
【００５６】
優先制御部４０は、決定した優先順位を含む情報を、定期的に、リプライ調停部６０に送信する。
【００５７】
リプライ調停部６０は、優先制御部４０から受信した優先情報を基に、受信したメモリアクセス・リプライを、リクエスタ７０などにルーティングする。リプライ調停部６０は、メモリアクセス・リプライの送信が競合した場合、調停を制御する。リプライ調停部６０の調停の制御は、特に制限はない。例えば、リプライ調停部６０は、一般的なラウンドロビン方式を用いて調停してもよい。ただし、リプライ調停部６０は、優先制御部４０から優先情報を受信している場合、優先情報に含まれる優先順位の高いメモリポート部２０からのメモリアクセス・リプライの選択回数を増やすように調停を制御する。あるいは、リプライ調停部６０は、混雑していないメモリポート部２０の優先度を下げ、選択回数を減らしてもよい。
【００５８】
このように、情報処理装置１００は、混雑しているメモリポート部２０の優先度を上げること、及び、混雑していないメモリポート部２０を下げることを用いて、メモリポート部２０におけるアクセス時間の差を小さくする。
【００５９】
次に、本実施形態の効果について説明する。
【００６０】
本実施形態の情報処理装置１００は、メモリポート部２０などのリソース間を適切に調停できるとの効果を提供できる。
【００６１】
その理由は、次のとおりである。情報処理装置１００のメモリポート部２０のメモリ混雑情報生成部３３は、メモリ制御部３２の混雑状況の情報（混雑情報）を、メモリアクセス・リプライ・クロスバ１１に送信する。メモリアクセス・リプライ・クロスバ１１の優先制御部４０は、混雑情報を基に、メモリポート部２０の優先順位をリプライ調停部６０に送信する。そして、リプライ調停部６０は、優先順位を基に、混雑しているメモリポート部２０を優先するように調停するためである。このように、情報処理装置１００は、メモリポート部２０の混雑情報を用いることで、メモリポート部２０の優先順位を動的に変更し、メモリポート部２０のアクセス時間のばらつきの平均化を実現することができる。
【００６２】
＜第２の実施形態＞
第１の実施形態に係るメモリポート部２０は、メモリアクセス・リプライ・クロスバ１１に、メモリアクセス・リプライと混雑情報とを別の経路（パス）を介して通信した。しかし、本発明の実施形態は、これに限る必要はない。
【００６３】
以下、第２の実施形態として、メモリアクセス・リプライと混雑情報と同じパスを介する情報処理装置１００について説明する。
【００６４】
図６は、第２の実施形態に係るメモリポート部２０の構成の一例を示すブロック図である。また、図７は、第２の実施形態に係るメモリアクセス・リプライ・クロスバ１１の構成の一例を示すブロック図である。
【００６５】
メモリポート部２０において、バンクビジー時又はメモリアクセス・リクエストを処理している時、メモリポート部２０のメモリ制御部３２は、メモリアクセス・リプライ・クロスバ１１にデータを転送しない。つまり、メモリ制御部３２から、受信バッファ５０にデータを転送していないタイミングが存在する。そこで、本実施形態の情報処理装置１００の混雑情報生成部３３は、そのタイミングに、混雑情報を、優先制御部４０に送信する。
【００６６】
このように構成された第２の実施形態は、第１の実施形態と同様の効果を得ることができる。
【００６７】
その理由は、第２の実施形態の情報処理装置１００のメモリポート部２０及びメモリアクセス・リプライ・クロスバ１１は、第１の実施形態のメモリポート部２０とメモリアクセス・リプライ・クロスバ１１と同様に動作できるためである。
【００６８】
さらに、第２の実施形態の情報処理装置１００は、経路となる信号線を削減するとの効果を得ることができる。
【００６９】
その理由は、混雑情報生成部３３が、メモリ制御部３２と同じ経路を用いて混雑情報を送信するためである。
【００７０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００７１】
１０    メモリアクセス・リクエスト・クロスバ
１１    メモリアクセス・リプライ・クロスバ
２０    メモリポート部
２１    メモリポート部
２２    メモリポート部
２３    メモリポート部
３０    受信バッファ
３１    バンクビジー制御部
３２    メモリ制御部
３３    混雑情報生成部
４０    優先制御部
５０    受信バッファ
５１    受信バッファ
５２    受信バッファ
５３    受信バッファ
６０    リプライ調停部
６１    リプライ調停部
６２    リプライ調停部
６３    リプライ調停部
７０    リクエスタ
７１    リクエスタ
７２    リクエスタ
７３    リクエスタ
１００    情報処理装置
３３０    カウンタ
３３１    カウンタ
３３２    カウンタ
【図１】
0006361410.tif 000002
【図２】
0006361410.tif 000003
【図３】
0006361410.tif 000004
【図４】
0006361410.tif 000005
【図５】
0006361410.tif 000006
【図６】
0006361410.tif 000007
【図７】
0006361410.tif 000008