JP4314528B2 - マルチプロセッサシステムおよびメモリアクセス方法 - Google Patents

マルチプロセッサシステムおよびメモリアクセス方法 Download PDF

Info

Publication number
JP4314528B2
JP4314528B2 JP2005096235A JP2005096235A JP4314528B2 JP 4314528 B2 JP4314528 B2 JP 4314528B2 JP 2005096235 A JP2005096235 A JP 2005096235A JP 2005096235 A JP2005096235 A JP 2005096235A JP 4314528 B2 JP4314528 B2 JP 4314528B2
Authority
JP
Japan
Prior art keywords
memory access
unit
input
access request
input port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005096235A
Other languages
English (en)
Other versions
JP2006277404A (ja
Inventor
泰洋 西垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005096235A priority Critical patent/JP4314528B2/ja
Publication of JP2006277404A publication Critical patent/JP2006277404A/ja
Application granted granted Critical
Publication of JP4314528B2 publication Critical patent/JP4314528B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、複数の中央処理装置(CPU)と複数の主記憶装置(MMU)とを具備するマルチプロセッサシステムに関し、特に中央処理装置の主記憶装置アクセスに関する。
図1は、マルチプロセッサシステムの構成例を示すブロック図である。マルチプロセッサシステムは、複数の中央処理装置(CPU)101−1〜4と複数の主記憶装置(MMU)102−1〜4とを具備する。ここでは4CPU構成を例示して説明する。中央処理装置101−1〜4は、主記憶装置102−1〜4のいずれにもアクセスできるように、それぞれ主記憶装置102−1〜4に接続されている。中央処理装置101−mは、主記憶装置102−nをアクセスする場合、アクセス先の主記憶装置102−nに対してメモリアクセスリクエストを送出する。主記憶装置102−nは、中央処理装置101−mから送出されるメモリアクセスリクエストと他の中央処理装置101−m’から送出されるメモリアクセスリクエストとの競合状態を調停し、要求されるメモリアクセスを実行する。したがって、この競合調停によって待ち状態が発生すると、このシステムの性能低下に繋がる。
主記憶装置102−1〜4に内蔵される中央処理装置101−1〜4とのインタフェース部分(ここではクロスバ装置と称することにする)の構成が図2に示される。クロスバ装置は、メモリアクセスリクエストを保持する入力部1−1〜4、2−1〜4、3−1〜4と、メモリアクセスリクエストの競合を調停する競合調停部21と、競合調停部21の制御を受けて接続先を切り替えるクロスバ部30と、メモリ部(図示せず)にメモリアクセスリクエストを出力する出力部4−1〜4とを具備する。
クロスバ装置は、クロックに同期して動作している。クロスバ装置は、各中央処理装置101−m(m:1〜4)に接続されるポート1〜4からメモリアクセスリクエストを入力し、1段目の入力部1−1〜4に保持する。入力部1−1〜4に保持されるメモリアクセスリクエストは、次の時刻において、次段の入力部2−1〜4が空いていれば、次段の入力部2−1〜4に送出される。次段の入力部が次の時刻に空いていなければ、そのメモリアクセスリクエストはそのまま入力部1−nに留まる。同様に、入力部2−1〜4に保持されるメモリアクセスリクエストは、次段の入力部3−1〜4が空いていれば、次段の入力部3−1〜4に送出される。入力3−1〜4に保持されるメモリアクセスリクエストは、競合調停部21によりアクセスするメモリの競合状態により調停される。競合状態がある場合、メモリアクセスリクエストの優先順位に応じてメモリアクセスが許可される。したがって、優先順位の低いメモリアクセスリクエストは、待ち状態になる。クロスバ部30は、競合の無いメモリアクセスリクエストと優先順位の高いメモリアクセスリクエストとを指定されるメモリに接続される出力部4−1〜4に出力する。出力部4−1〜4は、メモリアクセスリクエストを主記憶を構成するメモリ部に送出する。
このメモリアクセスリクエスト競合処理の動作例が、図3を参照して説明される。図3は、クロスバ装置の動作を示すタイムチャートである。図3の縦方向は入力部1−1〜4、2−1〜4、3−1〜4、出力部4−1〜4を示し、横方向は状態T(時刻T)を示す。状態Tにおける各入力部、出力部に保持されるメモリアクセスリクエストが図中に示され、その括弧内にクロスバ部30の出力先が示される。
状態T=1において、入力部3−1〜4にはメモリアクセスリクエストA1(1)、B1(2)、C1(3)、D1(4)がそれぞれ保持され、入力部2−1、2−3、2−4にはA2(2)、C2(4)、D2(1)が保持され、入力部1−1にはA3(3)が保持されている。競合調停部21は、入力部3−1〜4に保持されているメモリアクセスリクエストの競合を調停し、クロスバ出力を制御する。入力部3−1〜4に保持されているメモリアクセスリクエストは、全て異なる出力部に出力されるため、状態T=2に遷移する。
状態T=2では、T=1の状態で競合がないため入力部3−1〜4に保持されているメモリアクセスリクエストはクロスバ部30を通過して出力部4−1〜4に移動する。入力3−1〜4は空き状態になるため、入力部2−1、2−3、2−4に保持されていたメモリアクセスリクエストは、それぞれ入力部3−1、3−3、3−4に移動する。入力部3−2は有効なメモリアクセスリクエストを保持していない。同様に、メモリアクセスリクエストA3(3)は、入力部2−1に保持される。この状態でも競合はない。
状態T=3において、入力部3−1、3−3、3−4に保持されていたメモリアクセスリクエストA2(2)、C2(4)、D2(1)は、クロスバ部30を通過してそれぞれ出力部4−2、4−4、4−1に保持される。入力部2−1に保持されていたメモリアクセスリクエストA3(3)は、入力部3−1に保持される。
状態T=4において、メモリアクセスリクエストA3(3)が出力部4−3に移動し、全てのメモリアクセスリクエストがクロスバ部30を通過したことになる。この場合、競合の無い例を示したが、処理が終わるまで4状態を遷移することがわかる。
次に、競合がある場合の例を、図4を参照して説明する。状態T=1において、入力部3−1〜4にはメモリアクセスリクエストE1(4)、F1(2)、G1(3)、H1(4)が保持されている。また、入力部2−1にメモリアクセスリクエストE2(1)、入力1−1にE3(3)が保持されている。競合調停部21は、入力3−1〜4に保持されているメモリアクセスリクエストの競合を調停し、クロスバ出力を制御する。この場合、メモリアクセスリクエストE1(4)とH1(4)が共に出力部4−4に出力要求しているため、競合調停部21は調停を行う。メモリアクセスリクエストH1(4)を先に出力部4−4に出力するものとして、メモリアクセスリクエストE1は入力部3−1で待機状態となる。メモリアクセスリクエストF1(2)とメモリアクセスリクエストG1(3)とは、競合しないため、クロスバ部30を通過して出力部4−2、4−3に移動するように制御される。
したがって、状態T2において、出力部4−2、4−3、4−3にメモリアクセスリクエストF1(2)、G1(3)、H1(4)が保持されることになる。入力部3−1にはメモリアクセスリクエストE1(4)が保持されたままになるため、入力2−1、1−1にはメモリアクセスリクエストE2(1)、E3(3)が待機状態となる。ポート1以外の入力部にはメモリアクセスリクエストが残っていないため、その後メモリアクセスリクエストE1(4)、E2(1)、E3(3)が順次クロスバ部30を通過して出力部に到達する。即ち、状態T=3においてメモリアクセスリクエストE1(4)が出力部4−4に、状態T=4においてメモリアクセスリクエストE2(1)が出力部4−1に、状態T=5においてメモリアクセスリクエストE3(3)が出力部4−3に保持され、メモリ部に出力される。したがって、この場合、競合が1度発生して処理終了まで5状態遷移することがわかる。
このようにCPUからのメモリアクセスリクエストは、順次クロスバ部30を通過していくことになる。しかし、メモリアクセスリクエストは入力ポートに固定されているため、他の入力ポートが未使用状態であっても、同じ入力ポートに先に入力されたメモリアクセスリクエストが処理されるまで待たされることになる。
即ち、従来のクロスバ装置において、メモリアクセスリクエストは、入力された入力ポート以外の入力部を使用することができない。つまり、CPUに接続する入力ポートに対応した入力部を介してクロスバを通過するため、他に未使用の入力ポートがあったとしても他の入力ポートの入力部から競合に参加できないという欠点がある。そのため、入力ポートに先行するメモリアクセスリクエストがあれば、その先行するメモリアクセスリクエストがクロスバ部30を通過しないと競合調停にすら参加できないという欠点もある。
このため、クロスバ部30の性能は、入力部の未使用の割合によって性能を活かしきれないことになる。例えば、図2に示される従来例の構成は、最大で同時に4つのメモリアクセスリクエストがクロスバ部30を通過できる構成となっているが、1つの入力部が未使用になっていると、同時に3つのメモリアクセスリクエストしか処理できない。即ち、このクロスバ装置としてみるとクロスバ部30の性能は最大で25%低下することになる。
特開2001−175634号公報によれば、クロスバネットワークによって接続されるデータ転送装置の技術が開示されている。このデータ転送装置は、複数のインタリーブ構成されたメモリと内蔵するクロスバネットワークによって接続される。データ転送装置は、このクロスバネットワークに残存するメモリへのリクエストの有無を示す信号を用いてメモリへのリクエストを発行または抑止し、メモリアクセス順序を保証する。
また、このデータ転送装置は、リクエストを発行する手段と、残存リクエストの有無を通知する手段と、同期命令を挿入する手段と、リクエストの発行を再開する手段とを設けたことを特徴としている。リクエストを発行する手段は、メモリに対するデータ転送命令に基づくリクエストを発行する。残存リクエストの有無を通知する手段は、一つのリクエストが後続のリクエストによって追い越される可能性がなくなる多段クロスバネットワークの部分までの多段クロスバスイッチにおける残存リクエストの有無を通知する。同期命令を挿入する手段は、このデータ転送装置からメモリアクセス順序の保証が必要なリクエストを発行する際に、各リクエスト間に同期命令を挿入する。リクエストの発行を再開する手段は、残存リクエストが有れば同期命令によって後続のリクエストの発行を抑止し、また、残存リクエストが無ければ同期命令を破棄することによって後続のリクエストの発行を再開する。
また、特開2002−328838号公報によれば、クロスバ装置に関する技術が開示されている。このクロスバ装置は、複数の入力ポートと、各入力ポート毎のデータ入力部と、複数の出力部と、各出力部毎のセレクタ部と、セレクト信号生成手段とを備えたことを特徴とする。このセレクト信号生成手段は、出力先が複数の出力部の内の特定の出力部に固定される入力ポートを示す情報および特定の出力部を示す情報に基づいて、出力先が特定の出力部に固定される入力ポートについては、対応するデータ入力部をバイパスさせるバイパス信号線を有効にする。そして、特定の出力部に対応するセレクタ部に、有効にしたバイパス信号線を選択させる。
また、このクロスバ装置は、複数の入力ポートと、各入力ポート毎のデータ入力部と、第1のセレクタ部と、第2のセレクタ部と、セレクト信号生成手段とを備えたことを特徴とする。第1のセレクタ部は、各データ入力部毎に設けられ、対応するデータ入力部をバイパスするバイパス信号線と、各データ入力部毎に設けられ、対応するデータ入力部或いは対応するバイパス信号線の内の何れか一方を選択する。第2のセレクタ部は、各第1のセレクタ部毎のタイミングレジスタと、各出力部毎に設けられ、複数のタイミングレジスタの内の1つを選択する。セレクト信号生成手段は、出力先が複数の出力部の内の特定の出力部に固定される入力ポートを示す情報および特定の出力部を示す情報に基づいて、複数の第1のセレクタ部の内の、出力先が特定の出力部に固定される入力ポートと対応する第1のセレクタ部にバイパス信号線を選択させる。また、セレクト信号生成手段は、他の第1のセレクタ部にデータ入力部を選択させる。さらに、セレクト信号生成手段は、複数の第2のセレクタ部の内の、特定の出力部に対応する第2のセレクタ部に、バイパス信号線を選択させた第1のセレクタ部に対応するタイミングレジスタを選択させる。また、セレクト信号生成手段は、他の第2のセレクタ部に、ルーティングアドレスと予め定められている優先順位とに基づいて決まるタイミングレジスタを選択させる。
また、特開平11−66024号公報によれば、クロスバスイッチ切換システムに関する技術が開示されている。このクロスバスイッチ切換システムは、複数の情報処理装置間のデータ転送路を切換えるクロスバスイッチ切換システムである。クロスバスイッチ切換システムは、前段及び後段のクロスバスイッチからなる。後段のクロスバスイッチは、自己のクロスバスイッチの出力ポートが使用中であるか否かを示す使用状態情報を前段のクロスバスイッチへ通知する通知手段を有する。前段のクロスバスイッチは、後段のクロスバスイッチからの使用状態情報に基づき後段のクロスバスイッチとの接続を切換える切換制御手段を有する。切換制御手段は、使用状態情報により後段のクロスバスイッチの出力ポートが使用中であることを認識すると、出力ポートが空きの後段のクロスバスイッチに接続を切換える。
特開平11−212866号公報によれば、多段クロスバに関する技術が開示されている。多段クロスバは、複数の入力部と、複数の出力部と、複数の入力部を介して供給される各信号をセレクト信号に従って複数の出力部に供給するセレクタ部とを有するクロスバを複数組み合わせて構成される。この多段クロスバは、構成情報を保持する構成情報保持手段と、バイパス手段とを具備することを特徴とする。このバイパス手段は、構成情報保持手段に保持されている構成情報により複数のクロスバにおける一部のクロスバにおいて入力部、出力部およびセレクタ部のいずれかをバイパスさせる。
特開2001−175634号公報 特開2002−328838号公報 特開平11−66024号公報 特開平11−212866号公報
以上のように、マルチプロセッサシステムにおける従来のクロスバ部および入力部は、CPUからの入力に対応した入力部のみからクロスバ部を通過するため、未使用部の入力ポートから競合に参加できない。また、CPUからの入力に対応した入力部のみからクロスバ部を通過するため、先行するメモリアクセスリクエストが競合調停の結果でクロスバの入力部で待たされていると後続のメモリアクセスリクエストは、クロスバを通過することが出来ない。
本発明の目的は、入力ポート内の同一メモリアドレスにアクセスするメモリアクセスリクエスト間のアクセス順序を守りながらクロスバ性能を向上させるマルチプロセッサシステムを提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の観点では、複数の中央処理装置(101−n;n=1〜4)と複数の主記憶装置(102−m;m=1〜4)とを備えるマルチプロセッサシステムは、複数の出力部(4−m)と、複数の入力ポート(1〜4)と、クロスバ部(30)と、出力先情報比較部(20、41)とを具備する。複数の出力部(4−m)は、主記憶装置(102−m)に内蔵されるメモリをアクセスする。複数の入力ポート(1〜4)は、中央処理装置(101−n)と接続され、中央処理装置(101−n)がメモリをアクセスするために発行するメモリアクセスリクエストを保持する複数の入力部(1−n/2−n/3−n/4−n;n=1〜4)を備える。クロスバ部(30)は、メモリアクセスリクエストを複数の出力部(4−m)のうち中央処理装置(101−n)により指定される指定出力部(4−k;k=1〜4)に出力する。出力先情報比較部(20、41)は、複数の入力ポートのうち第1入力ポート(1)に保持されるメモリアクセスリクエストを、複数の入力ポートのうち未使用の入力部(2−2)を有する第2入力ポート(2)に移動させる。移動したメモリアクセスリクエストは、入力した第1入力ポート(1)と異なる第2入力ポート(2)を介してクロスバ部(30)を通過する。
本発明の入力部(1−n/2−n/3−n/4−n)は、指定出力部(4−k)を示す出力先情報(RA)を保持する。この出力先情報(RA)は、有効ビット(Vbit:31)と、ルーティングアドレスビット(Rbit:32)とを具備する。有効ビット(Vbit:31)は、入力部(1−n/2−n/3−n/4−n;n:1〜4)に保持されるメモリアクセスリクエストが有効であることを示す。ルーティングアドレスビット(Rbit:32)は、メモリアクセスリクエストの出力先のアドレスを示す。
本発明の出力先情報比較部(20)は、出力先情報(RA)に基づいて未使用入力部(2−2)を検出する。出力先情報比較部(20)は、検出された未使用入力部(2−2)を含む第2入力ポート(2)に第1入力ポート(1)のメモリアクセスリクエストを移動させる。
本発明の出力先情報比較部(20)は、第1入力ポート(1)と第2入力ポート(2)とに保持される出力先情報(RA)のルーティングアドレスビットを比較する。比較の結果、第1入力ポート(1)に保持される後続のメモリアクセスリクエストが、先行するメモリアクセスリクエストを追い越してクロスバ部(30)を通過しない場合だけ、出力先情報比較部(20)は、第2入力ポート(2)にメモリアクセスリクエストを移動させる。
また、本発明の出力先情報比較部(41)は、第1入力ポート(1)に保持されるメモリアクセスリクエストの出力先情報(RA)に基づいて、メモリアクセスリクエストを第2入力ポート(2)に移動させるか否かを判定する。
本発明のマルチプロセッサシステムは、構成保持部(40)をさらに具備する。構成保持部(40)は、動作している中央処理装置(101−1〜4)が入力ポート(1〜4)に接続しているか否かを示す構成情報を保持する。出力先情報比較部(41)は、この構成情報に基づいて未使用入力ポート(2)を検出し、第1入力ポート(1)のメモリアクセスリクエストを第2入力ポート(2)に移動させる。
本発明の複数の入力ポート(1〜4)は、複数のメモリアクセスリクエストを保持して先入れ先出しする入力バッファ(5−1〜4)を具備する。また、第2入力ポート(2)は、出力先情報比較部(20、41)から出力される選択信号(220、241)に基づいて第1入力ポート(1)と第2入力ポート(2)とに保持されるメモリアクセスリクエストのいずれかを選択して出力する選択部(10、50)を備える。
本発明の他の観点では、メモリアクセス方法は、複数の出力部(4−m)と、複数の入力ポート(1〜4)と、クロスバ部(30)とを具備するマルチプロセッサシステムのメモリアクセス方法であって、検出ステップと、移動ステップとを具備する。複数の出力部(4−m)は、主記憶装置(102−m)に内蔵されるメモリをアクセスする。複数の入力ポート(1〜4)は、中央処理装置(101−n)と接続され、中央処理装置(101−n)が主記憶装置(102−m)のメモリをアクセスするために発行するメモリアクセスリクエストを保持する複数の入力部(1−n/2−n/3−n/4−n)を備える。クロスバ部(30)は、メモリアクセスリクエストを複数の出力部(4−m)のうち中央処理装置(101−n)により指定される指定出力部(4−k)に出力する。検出ステップは、複数の入力ポートのうち未使用の入力部(2−2)を有する第2入力ポート(2)を検出する。移動ステップは、検出ステップにより検出された第2入力ポート(2)に複数の入力ポートのうち第1入力ポート(1)に保持されるメモリアクセスリクエストを移動させる。移動したメモリアクセスリクエストは、入力した第1入力ポート(1)と異なる第2入力ポート(2)を介してクロスバ部(30)を通過する。
本発明の検出ステップは、指定出力部(4−k)を示す出力先情報(RA)に基づいて未使用入力部(2−2)を検出する。また、移動ステップは、第1入力ポート(1)と第2入力ポート(2)とに保持される出力先情報(RA)を比較して、第1入力ポート(1)に保持される後続のメモリアクセスリクエストが先行するメモリアクセスリクエストを追い越してクロスバ部(30)を通過しない場合だけ第2入力ポート(2)にメモリアクセスリクエストを移動させる。
本発明において、マルチプロセッサシステムは、動作している中央処理装置(101−1〜4)が入力ポート(1〜4)に接続しているか否かを示す構成情報を保持する構成保持部(40)をさらに具備する。検出ステップは、この構成情報に基づいて未使用入力ポート(2)を検出する。また、移動ステップは、第1入力ポート(1)に保持されるメモリアクセスリクエストの指定出力部(4−k)を示す出力先情報(RA)に基づいて、メモリアクセスリクエストを第2入力ポート(2)に移動させるか否かを判定する。
本発明によれば、未使用の入力部がある場合には、未使用の入力部を使用してクロスバを通過させることにより、入力ポート内の同一メモリアドレスにアクセスするメモリアクセスリクエスト間のアクセス順序を守りながらクロスバ性能を向上させるマルチプロセッサシステムを提供することができる。
図を参照して第1の実施の形態を説明する。図1に、中央処理装置−主記憶装置間がクロスバで接続されたマルチプロセッサシステムの構成が示される。複数の中央処理装置(CPU)101−1〜4と複数の主記憶装置(MMU)102−1〜4が相互に接続される。ここでは、4×4の構成が示される。中央処理装置101−m(m:1〜4)は、アクセス先にメモリアクセスリクエストを送出して主記憶装置102−n(n:1〜4)をアクセスする。主記憶装置102−nは、中央処理装置101−mから送出されるメモリアクセスリクエストと他の中央処理装置101−m’から送出されるメモリアクセスリクエストとの競合状態を調停し、要求されるメモリアクセスを実行する。
主記憶装置102−1〜4に内蔵される中央処理装置101−1〜4とのインタフェース部分(以降クロスバ装置と称する)の構成が図5に示される。クロスバ装置は、ポート1の入力部1−1、2−1、3−1と、ポート2の入力部1−2、2−2、3−2と、ポート3の入力部1−3、2−3、3−3と、ポート4の入力部1−4、2−4、3−4と、クロスバ部30と、出力部4−1、4−2、4−3、4−4と、競合調停部21と、RA比較部20と、セレクタ10とを具備する。
ポート1〜4にCPU101−1〜4が接続され、メモリアクセスリクエストが送られてくる。ポート1から入力されるメモリアクセスリクエストは、入力部1−1から入力部2−1、入力部3−1を経てクロスバ部30に入力される。また、入力部1−1と入力部2−1の出力は、セレクタ10にも入力される。ポート2から入力されるメモリアクセスリクエストは、入力部1−2から入力部2−2を経てセレクタ10に入力される。セレクタ10の出力は、入力部3−2に接続される。入力部3−2の出力はクロスバ部30に入力される。ポート3入力されるメモリアクセスリクエストは、入力部1−3、2−3、3−3を経て、ポート4に入力されるメモリアクセスリクエストは、入力部1−4、2−4、3−4を経て、クロスバ部30に入力される。入力部1−1〜4、2−1〜4、3−1〜4には、メモリアクセスリクエストおよび出力先情報(RA)が保持される。出力先情報(RA)は、図6に示されるように、有効ビット(Vbit)31とルーティングアドレスビット(Rbit)32とを含む。有効ビット31は、メモリアクセスリクエストの有効/無効を示す。ルーティングアドレスビット32は、メモリアクセスリクエストのクロスバ部30からの出力先を示す。
クロスバ部30にメモリアクセスリクエストを出力する入力部3−1、3−2、3−3、3−4は、保持するメモリアクセスリクエストの出力先情報(RA)を競合調停部21に出力する。競合調停部21は、これらの出力先情報に基づいて競合状態を調停し、クロスバ部30を制御してメモリアクセスリクエストをその出力先の出力部4−1〜4に送る。競合調停部21は、競合調停結果221をRA比較部20に送る。競合調停結果221は、入力部3−1のメモリアクセスリクエストが待機となることを示すH1と、入力3−2のメモリアクセスリクエストが待機になることを示すH2とを含む。このとき、競合調停によりクロスバ部30を通過できなかったメモリアクセスリクエストは、入力部3−1〜4で待機状態となる。クロスバ部30の出力は、出力部4−1〜4に保持され、保持されたメモリアクセスリクエストは、メモリ部(図示せず)に出力される。
RA比較部20は、入力部3−1、3−2、2−1、2−2、1−1が保持する出力先情報(RA)203−1、203−2、202−1、202−2、201−1および競合調停結果221を取り込み、先行するメモリアクセスリクエストと後続のメモリアクセスリクエストの出力先を比較する。RA比較部20は、比較の結果、出力先が異なり、且つメモリアクセスリクエストが保持されない入力部がある場合に、後続のメモリアクセスリクエストを空いている入力部を経由してクロスバを通過させるようにセレクタ10を制御する。
セレクタ10は、RA比較部20から出力される選択信号220に基づいて、入力部3−2に保持すべきメモリアクセスリクエストと出力先情報とを入力部2−2、2−1、1−1の出力のいずれかから選択し、出力する。
図7にRA比較部20の構成の一例が示される。RA比較部20は、比較回路61〜65、論理積回路71〜75、論理和回路77、78、選択信号号生成部22を備える。
比較回路61は、入力部1−1の出力先情報201−1のルーティングアドレスビットR1と入力部2−1の出力先情報201−1のルーティングアドレスビットR2とを比較し、一致を示す比較結果を論理積回路71に出力する。論理積回路71は、出力先情報202−1の有効ビットV2に基づいて、入力部2−1のメモリアクセスリクエストが有効であるときのみその一致を示す比較結果を論理和回路77に出力する。
比較回路62は、入力部1−1の出力先情報201−1のルーティングアドレスビットR1と入力部3−1の出力先情報203−1のルーティングアドレスビットR3とを比較し、一致を示す比較結果を論理積回路72に出力する。論理積回路72は、出力先情報203−1の有効ビットV3に基づいて、入力部3−1のメモリアクセスリクエストが有効であるときのみその一致を示す比較結果を論理和回路77に出力する。
比較回路63は、入力部2−1の出力先情報202−1のルーティングアドレスビットR2と入力部3−1の出力先情報203−1のルーティングアドレスビットR3とを比較し、一致を示す比較結果を論理積回路73に出力する。論理積回路73は、出力先情報203−1の有効ビットV3に基づいて、入力部3−1のメモリアクセスリクエストが有効であるときのみその一致を示す比較結果を論理和回路78に出力する。
比較回路64は、入力部1−1の出力先情報201−1のルーティングアドレスビットR1と入力部3−2の出力先情報203−2のルーティングアドレスビットR5とを比較し、一致を示す比較結果を論理積回路74に出力する。論理積回路74は、出力先情報203−2の有効ビットV5に基づいて、入力部3−2のメモリアクセスリクエストが有効であるときのみその一致を示す比較結果を論理和回路78に出力する。
比較回路65は、入力部2−1の出力先情報202−1のルーティングアドレスビットR2と入力部3−2の出力先情報203−2のルーティングアドレスビットR5とを比較し、一致を示す比較結果を論理積回路75に出力する。論理積回路75は、出力先情報203−2の有効ビットV5に基づいて、入力部3−2のメモリアクセスリクエストが有効であるときのみその一致を示す比較結果を論理和回路78に出力する。
論理和回路77は、論理積回路71、72、74の出力の論理和をとり信号C1を生成する。論理和回路78は、論理積回路73、75の出力の論理和をとり信号C2を生成する。したがって、信号C1は、入力部1−1と入力部2−1のメモリアクセスリクエストが有効で出力先が同じ場合、入力部1−1と入力部3−1のメモリアクセスリクエストが有効で出力先が同じ場合、入力部1−1と入力部3−2のメモリアクセスリクエストが有効で出力先が同じ場合に出力が“1”となる。また、信号C2は、入力部2−1と入力部3−1のメモリアクセスリクエストが有効で出力先が同じ場合、入力部2−1と入力部3−2のメモリアクセスリクエストが有効で出力先が同じ場合に出力が“1”となる。即ち、一致信号C1は、入力部1−1に格納されるメモリアクセスリクエストの出力先が同じポート系列の入力部2−1、3−1もしくは他のポート系列の入力部3―2に格納されるメモリアクセスリクエストの出力先と同じかどうかを示す。また、一致信号C2は、入力部2−1の出力先が入力部3−1もしくは入力部3−2と同じかどうかを示す。
選択信号生成部22は、競合調停部21が出力する競合調停結果221に含まれる入力部3−1、3−2の待機状態を示すH1、H2と、有効ビットV1、V2、V4と一致信号C1、C2とに基づいて、選択信号220を生成する。
図7の場合、選択信号生成部22は、入力部2−2が空き状態で(V4=0)、入力3−1、3−2が待機状態になく(H1=H2=0)、入力部1−1、2−1にメモリアクセスリクエストが保持され(V1=V2=1)、入力部1−1に格納されるメモリアクセスリクエストの出力先が他と一致しない(C1=0)場合、セレクタ10に入力部1−1の出力を選択する選択信号220(SEL=11)を生成する。即ち、ポート1にメモリアクセスリクエストが続き、ポート2が空いている場合には、メモリアクセスリクエストの順番が逆転しない範囲で、ポート2を使用してメモリアクセスリクエストを処理することが可能となる。
また、選択信号生成部22は、入力部2−2が空き状態で(V4=0)、入力部3−1が待機状態(H1=1)、入力部3−2が待機状態になく(H2=0)、入力部2−1にメモリアクセスリクエストが保持され、入力部2−1に格納されるメモリアクセスリクエストの出力先が先行するメモリアクセスリクエストと一致しない(C2=0)場合、セレクタ10の入力部2−1の出力を選択する選択信号220(SEL=10)を生成する。即ち、入力部3−1のメモリアクセスリクエストが待機状態であってポート2が空いている場合には、メモリアクセスリクエストの順番が逆転しない範囲で、ポート2を使用してメモリアクセスリクエストを処理することが可能となる。
これらの条件に当てはまらない場合、選択信号生成部22は、入力部2−2の出力を選択する選択信号220(SEL=00)を生成する。このように、RA比較部20においてクロスバ装置の入力部で先行するメモリアクセスリクエストと後続のメモリアクセスリクエストの出力先を比較し、出力先が異なり、かつ、メモリアクセスリクエストを保持しない入力部がある場合に、後続のメモリアクセスリクエストをメモリアクセスリクエストのない入力部を経由してクロスバ部30を通過させるよう制御するする。そのため、クロスバ性能を向上させることが出来る。以上詳細に構成を述べたが、CPU/メモリ本体は、当業者にとってよく知られており、また本発明とは直接関係しないので、その構成、動作の詳細な説明は省略する。
次に図8に示されるタイムチャートを参照してメモリアクセスリクエスト競合処理動作を説明する。図8は、図5に示されるクロスバ装置の動作を示すタイムチャートである。図8の縦方向は入力部1−1〜4、2−1〜4、3−1〜4、出力部4−1〜4を示し、横方向は状態T(時刻T)を示す。状態Tにおける各入力部出力部に保持されるメモリアクセスリクエストが図中に示され、その括弧内にクロスバ部30の出力先が示される。例えば、“A1(3)”は、出力先が出力部4−3であるメモリアクセスリクエストA1を示し、“B1(2)”は、出力先が出力部4−2であるメモリアクセスリクエストB1を示すこととする。
状態T=1において、入力部3−1〜4にはメモリアクセスリクエストA1(1)、B1(2)、C1(3)、D1(4)がそれぞれ保持され、入力部2−1、2−3、2−4にはA2(2)、C2(4)、D2(1)が保持され、入力部1−1にはA3(3)が保持されている。この状態は、図3(T=1)に示される状態と同じである。競合調停部21は、入力部3−1〜4に保持されているメモリアクセスリクエストの競合を調停し、クロスバ出力を制御する。入力部3−1〜4に保持されているメモリアクセスリクエストは、全て異なる出力部に出力されるため、競合調停部21は、調停による待機制御を行わない。
RA比較部20は、入力部1−1、2−1、3−1、2−2、3−2に保持されるメモリアクセスリクエストの出力先情報の有効ビット31とルーティングアドレスビット32と、競合調停結果221とに基づいて選択信号220を生成する。このとき、入力部2−1、1−1にメモリアクセスリクエストが保持され(V1=V2=1)、入力部2−2は空き状態である(V4=0)。また、クロスバ部30に接続する入力部3−1〜4に格納されるメモリアクセスリクエストの出力先は全て異なるので、これらのメモリアクセスリクエストは全てクロスバ部30を通過し、待機状態になるメモリアクセスリクエストはない(H1=H2=0)。したがって、RA比較部20は、入力部1−1に格納されているメモリアクセスリクエストを入力部3−2に移動するかどうかを判定することになる。入力部1−1に保持されるメモリアクセスリクエストA3(3)は、先行するメモリアクセスリクエストA2(2)、A1(1)およびメモリアクセスリクエストB1(2)と出力先が異なる。即ち、一致信号C1は“0”である。したがって、選択信号生成部22は、SEL=11とする。RA比較部20は、セレクタ10に対して入力部1−1の出力を選択する選択信号220を出力する。
状態T=2では、セレクタ10は選択信号220に基づいて入力部1−1の出力を選択するため、入力部3−2はメモリアクセスリクエストA3(3)を保持する。また、入力部3−1、3−3、3−4は、それぞれ入力部2−1、2−3、2−4からメモリアクセスリクエストが移動し、A2(2)、C2(4)、D2(1)を保持する。即ち、メモリアクセスリクエストA3(3)は、状態T=2において、競合調停に参加することになる。出力部4−1、4−2、4−3、4−4は、クロスバ部30を通過したメモリアクセスリクエストA1(1)、B1(2)、C1(3)、D1(4)を保持することになる。全てのメモリアクセスリクエストはクロスバ部30に入力される状態になる。このとき、各メモリアクセスリクエストの出力先は全て異なるため、調停処理による待機なしに状態T=3に遷移する。
状態T=3では、出力部4−1、4−2、4−3、4−4にメモリアクセスリクエストD2(1)、A2(2)、A3(3)、C2(4)がセットされる。この状態で全てのメモリアクセスリクエストはクロスバ部30を通過したことになり、図3に示される処理に比べて1タイミング早いことがわかる。また、メモリアクセスリクエストA2(2)は、メモリアクセスリクエストA3(3)に追い越されてクロスバ部30を通過することはなく、処理秩序が保たれている。
また、図9には図4に対応する競合がある場合の動作を示すタイムチャートが示される。図9の状態T=1は、図4の状態T=1と同じ状態である。状態T=1において、入力部3−1〜4にはメモリアクセスリクエストE1(4)、F1(2)、G1(3)、H1(4)が保持されている。また、入力部2−1にメモリアクセスリクエストE2(1)、入力1−1にE3(3)が保持されている。競合調停部21は、入力3−1〜4に保持されているメモリアクセスリクエストの競合を調停し、クロスバ出力を制御する。この場合、メモリアクセスリクエストE1(4)とメモリアクセスリクエストH1(4)とが共に出力部4−4に出力要求しているため、競合調停部21は調停処理を行う。メモリアクセスリクエストH1(4)を先に出力部4−4に出力するものとして、メモリアクセスリクエストE1は入力部3−1で待機状態となる。メモリアクセスリクエストF1(2)とメモリアクセスリクエストG1(3)とは、競合しないため、クロスバ部30を通過して出力部4−2、4−3に移動するように制御される。
RA比較部20は、入力部1−1、2−1、3−1、2−2、3−2に保持されるメモリアクセスリクエストの出力先情報の有効ビット31とルーティングアドレスビット32と、競合調停結果221とに基づいて選択信号220を生成する。このとき、入力部2−1、1−1にメモリアクセスリクエストが保持され(V1=V2=1)、入力部2−2は空き状態である(V4=0)。入力部3−1に保持されるメモリアクセスリクエストE1(4)は待機状態になっているが(H1=1)、入力部3−2のメモリアクセスリクエストF1(2)は調停を受けず、クロスバ部30を通過する(H2=0)。したがって、RA比較部20は、入力部2−1に格納されているメモリアクセスリクエストE2(1)を入力部3−2に移動するかどうかを判定することになる。入力部2−1に保持されるメモリアクセスリクエストE3(1)は、先行するメモリアクセスリクエストE1(4)、F1(2)と出力先が異なる。即ち、一致信号C2は“0”である。したがって、選択信号生成部22は、SEL=10とする。RA比較部20は、セレクタ10に対して入力部2−1の出力を選択する選択信号220を出力する。
状態T=2において、入力部3−1は待機状態のメモリアクセスリクエストE1(4)を保持する。セレクタ10は選択信号220に基づいてメモリアクセスリクエストE2(1)を選択して出力し、入力部3−2に保持させる。入力部2−1には入力部1−1に保持されていたメモリアクセスリクエストE3(3)が移動し、保持される。出力部4−2、4−3、4−4は、クロスバ部30を通過したメモリアクセスリクエストF1(2)、G1(3)、H1(4)を保持する。この状態で、待機状態のメモリアクセスリクエストE1(4)とともにメモリアクセスリクエストE2(1)も競合調停に加わることができる。
状態T=3において、メモリアクセスリクエストE1(4)、E2(1)はクロスバ部30を通過し、出力部4−4、4−1に保持される。また、入力部3−1は、メモリアクセスリクエストE3(3)を保持する。状態T=4において、メモリアクセスリクエストE3(3)はクロスバ部30を通過して出力部4−3に保持される。ここまで4状態を遷移することにより処理が終わる。図4において説明した5状態に比べ、1タイミング早く処理が完了することが判る。これは、メモリアクセスリクエストE2(1)がポート2の入力部3−2を使用することにより1タイミング早くクロスバ部30を通過することができたためである。また、状態T=2においてメモリアクセスリクエストE2(1)が入力部3−2に移動するため、後続のメモリアクセスリクエストE3(3)は入力部2−1に移動できるようになる。したがって、状態T=4のタイミングで出力部4−3に送ることが可能となる。
ここで、RA比較部20において、クロスバ部30の出力先が異なる場合に出力先が異なると判断しているが、アクセスするメモリアドレスが異なる場合に出力先が異なると判断しても問題ない。
以上説明したように、本発明によれば、入力ポート内の同一メモリアドレスにアクセスするリクエスト間のアクセス順序を守りながらクロスバ性能を向上できる。これは、マルチプロセッサシステムにおいて、クロスバ装置の入力部で先行するメモリアクセスリクエストと後続のメモリアクセスリクエストの出力先が異なり、かつ、リクエストの無い入力部がある場合に、後続のメモリアクセスリクエストをメモリアクセスリクエストのない入力部を経由してクロスバを通過させるため、可能となる。また、システム構成上未使用の入力部を経由してクロスバ部を通過させるため、入力ポート内の同一メモリアドレスにアクセスするリクエスト間のアクセス順序を守りながらクロスバ性能を向上できる。
図10、図11を参照して第2の実施の形態を説明する。第2の実施の形態の基本的構成は第1の実施の形態と同じであるが、未使用ポートの検出方法が異なる。図10に第2の実施の形態に係るクロスバ装置の構成が示される。クロスバ装置は、入力部1−1〜4、3−1〜4、入力バッファ5−1〜4、出力部4−1〜4、クロスバ部30、競合調停部21、構成保持部40、RA比較部41、セレクタ50を具備する。
ポート1〜4にCPU101−1〜4が接続され、メモリアクセスリクエストが送られる。ポート1から入力されるメモリアクセスリクエストは、入力部1−1、入力バッファ5−1、入力部3−1を介してクロスバ部30に入力される。入力部1−1の出力は、セレクタ50にも入力される。ポート2から入力されるメモリアクセスリクエストは、入力部1−2を介してセレクタ50に入力される。セレクタ50は、RA比較部41から出力される選択信号241に基づいて、入力部1−1の出力と入力部1−2の出力との一方を選択して出力する。セレクタ50の出力は、入力バッファ5−2、入力部3−2を介してクロスバ部30に入力される。ポート3から入力されるメモリアクセスリクエストは、入力部1−3、入力バッファ5−3、入力部5−3、入力部3−3を介してクロスバ部30に入力される。ポート4から入力されるメモリアクセスリクエストは、入力部1−4、入力バッファ5−4、入力部3−4を介してクロスバ部30に入力される。
入力バッファ5−1〜4は、メモリアクセスリクエスト競合発生時の緩衝用として設けられるバッファであり、複数のメモリアクセスリクエストを格納できる先入れ先出し(FIFO)回路である。入力部1−1〜4、3−1〜4、入力バッファ5−1〜4は、メモリアクセスリクエストおよび出力情報(RA)を保持する。クロスバ部30にメモリアクセスリクエストを出力する入力部3−1〜4に保持される出力先情報は、競合調停部21に入力される。競合調停部21は、これらの出力先情報に基づいて競合状態を調停し、クロスバ部30を制御してメモリアクセスリクエストをその出力先の出力部4−1〜4に送る。このとき、競合調停によりクロスバ部30を通過できなかったメモリアクセスリクエストは、入力部3−1〜4で待機状態となる。クロスバ部30の出力は、出力部4−1〜4に保持され、保持されたメモリアクセスリクエストは、メモリ部(図示せず)に出力される。
構成保持部40は、ポート2に接続されるCPUが停止状態、或いはポート2にCPUが接続されていない場合に、入力部1−2は未使用であるという情報を保持し、その入力部の使用/未使用情報240をRA比較部41に通知する。
RA比較部41は、入力部1−1の出力先情報201−1を入力し、入力部1−1に保持されるメモリアクセスリクエストの移動先を決定する。図11は、RA比較部41の構成を示すブロック図である。RA比較部41は、入力部1−2の使用/未使用情報240と入力部1−1の出力先情報201−1とを入力し、選択信号241を生成する選択信号生成部42を備える。
構成保持部40から出力される入力部1−2の使用/未使用情報240は、ポート2に接続されるCPUが停止状態、或いはポート2にCPUが接続されていない場合に、入力部1−2は未使用であることを示す使用中情報Vを含む。使用中情報Vは、未使用の場合“0”、使用中の場合“1”となる。入力部1−1から出力される出力先情報201−1は、図6に示されるように、有効ビット31により示される有効無効情報V1と、ルーティングアドレスビット32により示されるアドレスR1とを含む。
使用中情報Vが“1”の場合、ポート2に入力されるメモリアクセスリクエストがあるため、選択信号生成部42は、セレクタ50が入力部1−2の出力を選択するように選択信号241を生成する(SEL=0)。また、使用中情報Vが“0”の場合、アドレスR1に基づいてセレクタ50が選択するメモリアクセスリクエストを決定し、選択信号241を生成する。出力先が出力部4−1(R1=001)または出力部4−2(R1=010)のとき、セレクタ50が入力部1−2の出力を選択するように選択信号241を生成する(SEL=0)。出力先が出力部4−3(R1=011)または出力部4−4(R1=100)のとき、セレクタ50が入力部1−1の出力を選択するように選択信号241を生成する(SEL=1)。
このように制御することにより、入力部1−2が未使用である場合に、入力部1−1に格納されるメモリアクセスリクエストは、入力部1−1のメモリアクセスリクエストの出力先情報に基づいて、入力バッファ5−1もしくは入力バッファ5−2に入力されるようになる。入力バッファ5−2に入力部1−1に保持されるメモリアクセスリクエストを送るとき、そのメモリアクセスリクエストが入力バッファ5−1に入力されないように制御されるのはいうまでもない。
したがって、入力部1−2が未使用である場合には従来使用されていなかった入力バッファ5−2および入力部3−2を使用し、メモリアクセスリクエストがクロスバを通過できるようにすることでクロスバ性能を向上させることが出来る。また、このように出力先により入力部の経路を固定することにより、出力先が同じメモリアクセスリクエストはアクセス順序が守られることになる。
第1および第2の実施の形態では、説明を簡略にするために1入力ポートのみにRA比較部およびセレクタを設けた構成により説明したが、RA比較部およびセレクタは複数ポートに設けてもよいし、全ポートに設けてもよい。
以上説明したように、マルチプロセッサシステムにおいて、入力ポート内の同一メモリアドレスにアクセスするメモリアクセスリクエスト間のアクセス順序を守りながらクロスバ性能を向上できる。これは、クロスバ装置の入力部でメモリアクセスリクエストの出力先が異なり、かつ、メモリアクセスリクエストの無い入力部がある場合に、後続のメモリアクセスリクエストをリクエストのない入力部を経由してクロスバを通過させることにより可能となる。
また、システム構成上未使用のクロスバ入力部を経由してクロスバを通過させることにより、入力ポート内の同一メモリアドレスにアクセスするリクエスト間のアクセス順序を守りながらクロスバ性能を向上できる。
マルチプロセッサシステムの構成を示すブロック図である。 従来のクロスバ装置の構成を示すブロック図である。 従来のクロスバ装置の動作を示すタイムチャート(1)である。 従来のクロスバ装置の動作を示すタイムチャート(2)である。 本発明の第1の実施の形態に係るクロスバ装置の構成を示すブロック図である。 同出力先情報の構成を示す図である。 同RA比較部の構成を示すブロック図である。 同クロスバ装置の動作を示すタイムチャート(1)である。 同クロスバ装置の動作を示すタイムチャート(2)である。 本発明の第2の実施の形態に係るクロスバ装置の構成を示すブロック図である。 同RA比較部の構成を示すブロック図である。
符号の説明
1−1〜4、2−1〜4、3−1〜4 入力部
4−1〜4 出力部
5−1〜4 入力バッファ
10 セレクタ
20 RA比較部
21 競合調停部
22 選択信号生成部
30 クロスバ部
31 有効ビット(Vbit)
32 ルーティングアドレスビット(Rbit)
40 構成保持部
41 RA比較部
42 選択信号生成部
50 セレクタ
61〜65 比較回路
71〜75 論理積回路
77、78 論理和回路
101−1〜4 中央処理装置(CPU)
102−1〜4 主記憶装置(MMU)
201−1、202−1、202−2、203−1、203−2 出力先情報
220 選択信号
221 競合調停結果
240 入力部使用/未使用情報
241 選択信号

Claims (14)

  1. 主記憶装置に内蔵されるメモリをアクセスする複数の出力部と、
    中央処理装置に接続し、前記中央処理装置が前記メモリをアクセスするために発行するメモリアクセスリクエストを保持する複数の入力部を備える複数の入力ポートと、
    前記メモリアクセスリクエストを前記複数の出力部のうち前記中央処理装置により指定される指定出力部に出力するクロスバ部と、
    前記複数の入力ポートのうち第1入力ポートに保持される前記メモリアクセスリクエストを、前記複数の入力ポートのうち未使用の入力部を有する第2入力ポートに移動させる出力先情報比較部と
    を具備し、
    前記メモリアクセスリクエストは、入力した前記第1入力ポートと異なる前記第2入力ポートを介して前記クロスバ部を通過するマルチプロセッサシステム。
  2. 前記入力部は、前記指定出力部を示す出力先情報を保持する
    請求項1に記載のマルチプロセッサシステム。
  3. 前記出力先情報は、
    前記入力部に保持される前記メモリアクセスリクエストが有効であることを示す有効ビットと、
    前記メモリアクセスリクエストの出力先のアドレスを示すルーティングアドレスビットと
    を具備する
    請求項2に記載のマルチプロセッサシステム。
  4. 前記出力先情報比較部は、前記出力先情報に基づいて未使用入力部を検出し、前記第1入力ポートの前記メモリアクセスリクエストを前記第2入力ポートに移動させる
    請求項2または請求項3に記載のマルチプロセッサシステム。
  5. 前記出力先情報比較部は、前記第1入力ポートと前記第2入力ポートとに保持される前記出力先情報を比較して、前記第1入力ポートに保持される後続のメモリアクセスリクエストが先行するメモリアクセスリクエストを追い越して前記クロスバ部を通過しない場合だけ前記第2入力ポートに前記メモリアクセスリクエストを移動させる
    請求項2から請求項4のいずれかに記載のマルチプロセッサシステム。
  6. 前記出力先情報比較部は、前記第1入力ポートに保持される前記出力先情報に基づいて前記メモリアクセスリクエストを前記第2入力ポートに移動させるか否かを判定する
    請求項2または請求項3に記載のマルチプロセッサシステム。
  7. 動作している前記中央処理装置が前記入力ポートに接続しているか否かを示す構成情報を保持する構成保持部をさらに具備し、
    前記出力先情報比較部は、前記構成情報に基づいて未使用入力ポートを検出し、前記第1入力ポートの前記メモリアクセスリクエストを前記第2入力ポートに移動させる
    請求項2、請求項3、請求項6のいずれかに記載のマルチプロセッサシステム。
  8. 前記複数の入力ポートは、複数のメモリアクセスリクエストを保持して先入れ先出しする入力バッファを具備する
    請求項1から請求項7のいずれかに記載のマルチプロセッサシステム。
  9. 前記第2入力ポートは、前記出力先情報比較部から出力される選択信号に基づいて前記第1入力ポートと前記第2入力ポートとに保持される前記メモリアクセスリクエストのいずれかを選択して出力する選択部を備える
    請求項1から請求項8のいずれかに記載のマルチプロセッサシステム。
  10. 主記憶装置に内蔵されるメモリをアクセスする複数の出力部と、
    中央処理装置と接続され、前記中央処理装置が前記メモリをアクセスするために発行するメモリアクセスリクエストを保持する複数の入力部を備える複数の入力ポートと、
    前記メモリアクセスリクエストを前記複数の出力部のうち前記中央処理装置により指定される指定出力部に出力するクロスバ部と
    を具備するマルチプロセッサシステムのメモリアクセス方法であって、
    前記複数の入力ポートのうち未使用の入力部を有する第2入力ポートを検出する検出ステップと、
    前記検出ステップにより検出された前記第2入力ポートに前記複数の入力ポートのうち第1入力ポートに保持される前記メモリアクセスリクエストを移動させる移動ステップと
    を具備するメモリアクセス方法。
  11. 前記検出ステップは、前記指定出力部を示す出力先情報に基づいて未使用入力部を検出する
    請求項10に記載のメモリアクセス方法。
  12. 前記移動ステップは、前記第1入力ポートと前記第2入力ポートとに保持される前記出力先情報を比較して、前記第1入力ポートに保持される後続のメモリアクセスリクエストが先行するメモリアクセスリクエストを追い越して前記クロスバ部を通過しない場合だけ前記第2入力ポートに前記メモリアクセスリクエストを移動させる
    請求項11に記載のメモリアクセス方法。
  13. 前記マルチプロセッサシステムは、動作している前記中央処理装置が前記入力ポートに接続しているか否かを示す構成情報を保持する構成保持部をさらに具備し、
    前記検出ステップは、前記構成情報に基づいて未使用入力ポートを検出する
    請求項10に記載のメモリアクセス方法。
  14. 前記移動ステップは、前記第1入力ポートに保持される前記メモリアクセスリクエストの前記指定出力部を示す出力先情報に基づいて前記メモリアクセスリクエストを前記第2入力ポートに移動させるか否かを判定する
    請求項13に記載のメモリアクセス方法。
JP2005096235A 2005-03-29 2005-03-29 マルチプロセッサシステムおよびメモリアクセス方法 Expired - Fee Related JP4314528B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005096235A JP4314528B2 (ja) 2005-03-29 2005-03-29 マルチプロセッサシステムおよびメモリアクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005096235A JP4314528B2 (ja) 2005-03-29 2005-03-29 マルチプロセッサシステムおよびメモリアクセス方法

Publications (2)

Publication Number Publication Date
JP2006277404A JP2006277404A (ja) 2006-10-12
JP4314528B2 true JP4314528B2 (ja) 2009-08-19

Family

ID=37212091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005096235A Expired - Fee Related JP4314528B2 (ja) 2005-03-29 2005-03-29 マルチプロセッサシステムおよびメモリアクセス方法

Country Status (1)

Country Link
JP (1) JP4314528B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
US9292436B2 (en) 2007-06-25 2016-03-22 Sonics, Inc. Various methods and apparatus to support transactions whose data address sequence within that transaction crosses an interleaved channel address boundary
US8972995B2 (en) 2010-08-06 2015-03-03 Sonics, Inc. Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads

Also Published As

Publication number Publication date
JP2006277404A (ja) 2006-10-12

Similar Documents

Publication Publication Date Title
EP1345125B1 (en) Dynamic random access memory system with bank conflict avoidance feature
US7574573B2 (en) Reactive placement controller for interfacing with banked memory storage
US8243737B2 (en) High speed packet FIFO input buffers for switch fabric with speedup and retransmit
US7925804B2 (en) FIFO device and method of storing data in FIFO buffer
JP4314528B2 (ja) マルチプロセッサシステムおよびメモリアクセス方法
US6990541B2 (en) Arbitration unit for prioritizing requests based on multiple request groups
EP1238339A1 (en) Interface for a memory unit
WO2006098135A1 (ja) バスコントローラ
JP5650441B2 (ja) 演算装置、キャッシュ装置、その制御方法及びコンピュータプログラム
US9317475B2 (en) Multiplexing auxiliary processing element and semiconductor integrated circuit
JP4633334B2 (ja) 情報処理装置およびメモリアクセス調停方法
JP2853652B2 (ja) プロセッサ間通信におけるパケット送信方法およびその装置
US8164973B2 (en) Storage apparatus and method of controlling storage apparatus
JP3789315B2 (ja) ベクトルギャザー命令追い越し回路
JP2001154913A (ja) 主記憶制御装置
US20060112207A1 (en) Data transfer apparatus
JPH1131066A (ja) バッファ制御システム
JP3586603B2 (ja) データ転送装置及びデータ転送方法
US20050060475A1 (en) Data transfer apparatus and data transfer method
JP2878160B2 (ja) 競合調停装置
KR20060039719A (ko) 시스템 버스 성능 개선을 위한 상호접속 장치
JP2006091982A (ja) オンチップバスシステム
JP2002132702A (ja) メモリ制御方式
JPH11110289A (ja) バッファ制御方式
JPH06274405A (ja) メモリライト制御回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090423

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090506

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140529

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees