JP4452707B2 - マルチプロセッサ装置及びそのメモリアクセス方法 - Google Patents
マルチプロセッサ装置及びそのメモリアクセス方法 Download PDFInfo
- Publication number
- JP4452707B2 JP4452707B2 JP2006276567A JP2006276567A JP4452707B2 JP 4452707 B2 JP4452707 B2 JP 4452707B2 JP 2006276567 A JP2006276567 A JP 2006276567A JP 2006276567 A JP2006276567 A JP 2006276567A JP 4452707 B2 JP4452707 B2 JP 4452707B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- command
- access
- bus
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
さらに、各々のプロセッサモジュール101−1〜101−nはいずれも、例えば図21に示すように、少なくとも1つのプロセッサエレメント103をそなえるとともに、メモリモジュール104及びシステムバスインタフェースモジュール105をそなえている。
ここで、プロセッサエレメント103は、プロセッサ103a,キャッシュメモリ103b及びキャッシュ制御モジュール103cをそなえて構成されるようになっている。
また、キャッシュ制御モジュール103cは、プロセッサ103aとキャッシュメモリ103bとの間のデータの読み出し/書き込みをコピーバック方式で制御するものである。
ここで、ディレクトリメモリ104bは、マルチプロセッサ装置100をプロセッサエレメント101−1〜101−nにおける全てのキャッシュメモリ103に対する、主記憶データの登録状況を記憶するものである。
例えば、アクセス制御モジュール104cは、キャッシュメモリ103b上の値と主記憶素子104a上の値とが同じシェア状態の場合にはキャッシュメモリ103b上への登録状況を4つのサブラインで構成されるキャッシュライン単位でディレクトリメモリ104bに記憶する一方、プロセッサ103aによりキャッシュメモリ103b上の値が書き換えられた場合には主記憶素子104a上の値を更新せず、またキャッシュメモリ103b上の値が最新値であり主記憶素子104a上の値が旧値であるダーティ状態の場合にはキャッシュメモリ103bの状態及び最新値の保持先をサブライン単位にディレクトリメモリ104bに記憶するように制御するようになっている。
また、システムバスインタフェースモジュール105は、メモリモジュール104とシステムバス102との間をインタフェースするものである。
このような構成により、上述の図20,図21に示すマルチプロセッサ装置100のメモリモジュール104では、一つの書き込みアクセス又はキャッシュオフアクセスを行なう場合において、当該キャッシュラインがシェア状態にある場合には、以下に示すようにキャッシュ無効化処理(パージ)を行なうようになっている。
ここで、アクセス制御モジュール104cでは、当該キャッシュラインがシェア状態であるならばディレクトリメモリ104bに記憶されているすべての参照先のキャッシュメモリ103bに対して前記アクセスアドレスと共に無効化指令としてのキャッシュ無効化コマンドを発行する。
その後、アクセスモジュール104cでは、キャッシュ無効化が成立し、キャッシュラインを構成するすべてのサブラインにおいてシェア状態が存在しない場合に、ディレクトリメモリ104b上の参照先キャッシュメモリ103bの記憶を削除する。
まず、プロセッサ103aからのリードアクセスがキャッシュミスヒットした場合、キャッシュ制御モジュール103cはキャッシュスヌープバス106を介して、メモリモジュール104に主記憶読み出しアクセスを発行する(ステップA1)。
ここで、キャッシュメモリ103bの状態がダーティであるならば、キャッシュコヒーレンス処理を施した後に(ステップA3,ステップA4)、主記憶素子104aの読み出しを開始すると共にディレクトリメモリ104bの状態を更新し(ステップA5)、キャッシュスヌープバス106上への読み出しデータの転送が開始される(ステップA6)。
ここで、読み出しデータにマルチビットエラーが検出されない場合には、読み出し処理は正常終了するが(ステップA8のNOルートからステップA9)。
さらに、キャッシュ制御モジュール103cでは、キャッシュスヌープバス106上への読み出しデータ転送を中止を受けて、キャッシュメモリ103bへの登録を無効にする一方(ステップA11)、アクセス制御モジュール104cからの障害発生応答を受けて、プロセッサ103aに対してアクセスエラー応答を返送する(ステップA13)。
さらに、プロセッサ103aからメモリモジュール104に対しての主記憶素子104aへのメモリアクセスは、例えば、図25に示すようなコマンドシーケンスにより行なわれる。この図25においては、プロセッサモジュール101−1のプロセッサ103aからプロセッサモジュール101−2の主記憶素子104aに対してメモリアクセスが行なわれた場合について示しているが、他のプロセッサモジュール間又はプロセッサモジュール内においてのメモリアクセスについても同様である。
この場合においては、まず、ローカルPM101−1はホームPM101−2のディレクトリ部104Aに対して非キャッシュメモリストアコマンドM−STを発行するとともに(図25の丸付き数字「1」参照)、タイマ108による経過時間の計時が開始される。
この場合においては、メモリ番地「A」はリモート101−nでキャッシングされているので、ディレクトリ部104のアクセス制御モジュール104cでは、リモートPM101−nのキャッシュ部103Aに対してキャッシュ無効化コマンド(キャッシュパージコマンド)C−PGを発行する(図25の丸付き数字「2」参照)。
PG−CMPコマンドを受信したホームPM101−2は、ローカルPM101−1からのM−STコマンドで指定されたデータを、主記憶素子104aのメモリ番地「A」に書き込む。
ところで、上述のタイマ108における所定のタイムアウト時間Tは、上述のコマンドシーケンスにかかる時間に基づいて設定されるようになっている。
ところで、図26は上述のマルチプロセッサ装置100におけるシステムバス102,キャッシュスヌープバス106又は内部バス107として用いることができるスプリットバスを適用したデータ転送システムを示すブロック図であり、この図26に示すデータ転送システム200においては、送信装置210がスプリットバス201を介して受信装置220に接続されている。
さらに、送信装置210は例えば前述のマルチプロセッサ装置100のプロセッサ103aのごときCPUや入出力装置(I/O装置)により構成され、送信キュー制御部(send queue control)211,バス制御部(bus control-1)212及び出力セレクタ(out selector)214をそなえるとともに、フリップフロップ(FF)やランダムアクセスメモリ(RAM)等により構成される4つの送信コマンド/データ・キュー(squeue1〜squeue4)213−1〜213−4により構成されている。
さらに、バス制御部212は、送信キュー制御部211からのバス使用要求に基づいて、スプリットバス201の使用状態を制御する図示しないバス調停装置に対してバス使用権の獲得要求を出力するようになっている。
出力セレクタ214は、バス制御部212からのセレクト信号に基づいて、4つのコマンド/データ・キュー213−1〜213−4に格納されているコマンド/データパケットのうちのいずれかを所定のアルゴリズムで選択し、選択されたパケットを構成するコマンド及びデータを連続してスプリットバス201に送出するようになっている。
さらに、送信装置アドレスフィールド303は送信装置アドレスを指定するものであり、相手装置アドレスフィールド304は、相手装置アドレスを指定するものであり、サイズフィールド305は、データ転送コマンドの際のデータサイズを指定するものであり、メモリアドレスフィールド306は、メモリアクセスのメモリ番地を指定するものである。
具体的には、コマンドデコーダ221は、自装置宛のコマンドであり、且つ受信キュー222−1〜222−4のいずれかが空いていると判断すると、バス制御部223にその旨を通知する一方、自装置宛でないコマンドに対しては無視し、また、受信キュー222−1〜222−4に空きがない場合は、送信装置210に対してその旨を通知するようになっている。
メモリセレクタ225は、受信キュー制御部224からのセレクト信号を入力されて、受信キュー222−1〜222−4に格納されているメモリアクセスコマンドのうちのいずれかを所定のアルゴリズムで選択してメモリ制御部226に出力するとともに、後続のデータは前述の図21に示す主記憶素子104aのごときメモリに出力されるようになっており、例えばFIFO(First In First Out)メモリ等により構成されるようになっている。
このデータ付きパケットコマンドパケットを送信装置210から送信する際には、転送操作コードと転送データサイズ等を含むバスコマンド情報が定義されたパケットに続き、データパケットを一括して転送する。
空きの送信コマンド/データ・キューにコマンド及びデータが格納されることによりバス使用の準備ができた時点で、送信キュー制御部211はバス制御部212に要求を渡す。バス制御部212では送信コマンド/データ・キュー213−1〜213−4に格納されている4つのバス要求から所定のアルゴリズムで要求を選択し、スプリットバス201の使用権を得るべく図示しないバス調停装置に要求reqを出す(図28における時点u1〜時点u3参照)。
ここで、受信されたコマンドパケットが自装置宛のコマンドであり、且つ受信キュー222−1〜222−4のいずれかが空いているとコマンドデコーダ221において判断すると、バス制御部223にその旨通知し、当該空きの受信キューに受信コマンド及び後続のデータを格納する(図28における時点u4〜時点u11参照)。
バス制御部223ではバス受信動作が完了すると、受信キュー制御部224に対して、受信キュー222−1〜222−4に格納したコマンドのメモリアクセス制御を依頼する。
また、このようなデータ転送システムにおけるデータ転送速度の向上のためにはスプリットバスにおけるバスの使用効率を高めることも必要となるが、このためには、バスコマンドやデータの受信バッファをできるだけ多く具備することが有効である。
キャッシュメモリ103bの無効化指令はメモリシステムを構成する複数のバスを使用することから、バス使用権の獲得及び無効化指令の処理がアクセス毎に必要となるため、処理時間が長くなるという課題がある。
この場合においては、このような主記憶素子104aに対するアクセスのそれぞれに対して上述の図23に示すような処理を行なう必要があり、アクセス発行元のプロセッサに対してエラー応答が返送されるまでの処理サイクルが不必要に長くなるという課題がある。
また、エラー発生後も主記憶素子104a及びキャッシュメモリ103b間でのキャッシュコヒーレンシを保つ必要がある場合、ディレクトリメモリ104bの状態書き込み及びキャッシュメモリ103bへの読み出しデータの登録を、エラー発生時点でキャンセルし初期状態に戻す必要がある。従って、処理が複雑化するとともに、アクセス完了時点まで初期状態を保持するための記憶素子が新たに必要となる課題もある。
即ち、この図29に示すように、ローカルPM101−1がホームPM101−2に対して、メモリ番地「A」への非キャッシュメモリストアコマンドM−STを発行すると(図29における丸付き数字「1」参照)、同時にタイマ108にてアクセスタイマ値(タイムアウト時間)をTとしてタイマ計時を開始する(図30における時点v1参照)。
さらに、ホームPM101−2からのC−PGコマンドを受信すべきリモートPM101−nでは、上述のキャッシュパージコマンドC−PGの送信に先行して、キャッシングされているメモリ番地「A」に対して書き込みアクセスを開始しており、ホームPM101−2のディレクトリメモリ104bを更新状態にすべくアクセス制御モジュール104cに対してキャッシュ更新通知コマンドM−EXを発行している(図29における丸付き数字「2」参照)。
リモートPM101−nでは、上述のM−EXコマンドを送信した後に、ホームPM101−2からのC−PGコマンドを受信するが、既に同一ラインのキャッシュ操作を実行しているため、パージ処理はリモートPM101−n内で保留される(Pending)。
この場合においては、パージ処理はリモートPM101−n内で保留されたままとなり、従って、リモートPM101−2ではM−STコマンドに対する応答も実行できない。
ところで、ホームPM101−2におけるタイマ108において計時される、C−PGコマンドに対する応答待ち時間のアクセスタイマ値T2は、前述の式(1)からT>T2であるため、リモートPM101−nでのM−EXの応答待ちタイマ時間Tより先にタイムアウトする(図30における時点v4参照)。
また、リモートPM101−nにおいては、M−EXコマンドのタイムアウトが検出されると(図30における時点v6参照)、リモートPM101−n内のアクセス元のプロセッサ103aに対してその旨を通知する。
即ち、このC−PGコマンドのタイムアウトは、ホームPM101−2とリモートPM101−nとの間に何ら問題が存在しないにもかかわらず、先のM−EXコマンドに対する応答がないことに起因して発生したものであるが、ホームPM101−2ではこれを原因として特定することができないのである。
しかしながら、このデータ転送システム200においては、受信バッファとしての受信キューの容量をバス使用効率の向上を図るために十分に大きくすることは困難であるため、満足すべき受信バッファ数を用意することができず、スプリットバスの利点を生かしきることができない課題がある。
なお、図1においては、以下に示すプロセッサ群1−1〜1−nの詳細な構成としてプロセッサ群1−1のみに着目して示しており、プロセッサ群1−2〜1−nの詳細な構成についてはプロセッサ群1−1と基本的に同様であり、図示を省略している。
また、主記憶メモリ7は、上記の各プロセッサ群を構成するプロセッサ2−1〜2−mのそれぞれに第2バス11を介して接続されることにより、プロセッサ2−1〜2−m(他のプロセッサ群1−2〜1−nにおけるプロセッサも含む)に共有され、各種データを記憶するものである。
また、キャッシュ制御部4−1〜4−mは、それぞれ、プロセッサ2−1〜2−mとキャッシュメモリ3−1〜3−mとの間のデータの読み出し/書き込みを制御するものである。
また、8はディレクトリメモリであり、このディレクトリメモリ8は、主記憶メモリ7に格納されているデータのキャッシュメモリ3−1〜3−m(他のプロセッサ群1−2〜1−nにおけるキャッシュメモリも含む)毎への登録状態を記憶するものである。
また、ディレクトリ制御部9は、プロセッサ2−1〜2−mによりキャッシュメモリ3−1〜3−m上の値が書き換えられた場合には主記憶メモリ7上の値を更新せず、またキャッシュメモリ3−1〜3−m上の値が最新値であり主記憶メモリ7上の値が旧値であるダーティ状態の場合にはキャッシュメモリ3−1〜3−mの状態及び最新値の保持先をサブライン単位にディレクトリメモリ8に記憶するように制御するものである。
さらに、ディレクトリ制御部9は、格納されているデータが最新値でないキャッシュメモリ8に対して発行される書き込みアクセス、又はあるキャッシュメモリ3−iに対するキャッシュオフアクセスのアクセスアドレスを含むキャッシュラインが、複数のプロセッサにシェア状態で存在する場合において、ディレクトリメモリ8に記憶されたすべての参照先に対して、キャッシュラインの無効化指令を、キャッシュライン単位に発行する無効化指令発行部9aをそなえている。
上述の図1に示すマルチプロセッサ装置12では、キャッシュメモリ3−1〜3−m上の値と主記憶メモリ7上の値とが同じシェア状態の場合には、ディレクトリ制御部9により、キャッシュメモリ3−1〜3−m上への登録状況を複数のサブラインで構成されるキャッシュライン単位でディレクトリメモリ8に記憶する一方、プロセッサ2−1〜2−mによりキャッシュメモリ3−1〜3−m上の値が書き換えられた場合には主記憶メモリ7上の値を更新せず、またキャッシュメモリ3−1〜3−m上の値が最新値であり主記憶メモリ7上の値が旧値であるダーティ状態の場合にはキャッシュメモリ3−1〜3−mの状態及び最新値の保持先をサブライン単位にディレクトリメモリ8に記憶する。
さて、この図2に示すマルチプロセッサ装置12Aは、前述の図1に示すものに比してプロセッサ群1A−1〜1A−nを構成するディレクトリ制御部9Aの機能が異なるが、その他の構成については基本的に同様である。なお、図2中、図1と同一の符号は、同様の部分を示している。
さらに、アクセス禁止部9cは、ディレクトリメモリ8上においてハードエラー発生の識別情報を有するキャッシュラインに対する、キャッシュメモリ3−1〜3−mへのアクセスを禁止するものである。
上述の図2に示すマルチプロセッサ装置12Aでは、主記憶メモリ7からの読み出し処理の際にハードエラーが生じた場合、ディレクトリメモリ8における、当当読み出しアドレスが含まれるキャッシュラインのディレクトリエントリにハードエラー発生の識別情報を保持しておき、当該識別情報を有するキャッシュラインには主記憶アクセスを生じさせないようにする。
さて、この図3に示すマルチプロセッサ装置12Bは、前述の図1に示すものに比してプロセッサ群1B−1〜1B−nを構成するプロセッサ2B−1〜2B−m及びディレクトリ制御部9Bの機能が異なるが、その他の構成については基本的に同様である。なお、図3中、図1と同一の符号は、同様の部分を示している。
また、上述のプロセッサ2B−1,キャッシュメモリ3−1及びキャッシュ制御部4−1により、プロセッサ部5B−1が構成されるようになっており、プロセッサ部5B−2〜5B−mについても同様に、プロセッサ2B−2〜2B−m,キャッシュメモリ3−1〜3−m及びキャッシュ制御部4−1〜4−mにより構成されている。
ところで、プロセッサ2B−1〜2B−mは、経過時間計時部2a及びタイムアウト時間再設定部2bをそなえており、ディレクトリ制御部9Bは、キャッシュアクセス発生情報返信部9cをそなえている。
また、プロセッサ2B−1〜2B−mの経過時間計時部2aは、主記憶メモリ7に対してアクセス信号を送信してから応答信号を受信するまでの経過時間を計時し、計時された経過時間が予め設定された所定のタイムアウト時間を経過しても応答信号を受信しない場合には、タイムアウト信号として出力するものである。
これにより、経過時間計時部2aにおいては、タイムアウト時間再設定部2bにて再設定されたタイムアウト時間に基づいて、経過時間の計時を再計時するようになっている。
一方、プロセッサ2B−1〜2B−mからのアクセスを受けた主記憶メモリ7において、キャッシュメモリ3−1〜3−mへのアクセスが発生した場合においては、キャッシュアクセス発生情報返信部9cにおいてその旨をアクセス元のプロセッサ2B−1〜2B−mに通知する。
ここで、送信側コマンドキュー17−1〜17−nは、送信すべきデータ付きパケットを構成するコマンドを保持するものであり、送信側データキュー18−1〜18−nは、送信側コマンドキュー17−1〜17−nに対応して設けられ、データ付きパケットを構成するデータを保持するものであり、キュー制御部19は、送信側コマンドキュー17−1〜17−n及び送信側データキュー18−1〜18−nに対してコマンド又はデータを格納制御するものである。
また、送信側セレクタ制御部21は、キュー制御部19の制御により送信側コマンドキュー17−1〜17−nにコマンドが格納されるとともに、送信側データキュー18−1〜18−nにコマンドに対応したデータが格納されると、送信側セレクタ20において出力されるコマンドを選択するためのセレクト信号を、送信側セレクタ20に対して出力するものである。
ここで、受信側コマンドキュー22−1〜22−pは、バス15を介して受信されたコマンドを保持するものであり、受信側データキュー23は、バス15を介して受信されたデータを保持するものである。
これにより、送信側セレクタ制御部21は、データ送信要求コマンド送信部28から送信されたコマンドに基づいて、送信側データキュー18−1〜18−nに格納されているデータを選択して受信装置16に送信すべく送信側セレクタ20を制御するようになっている。
また、受信装置16において、データ転送の送信要求コマンドパケットを受信すると、当該処理要求を処理待ちキューとしての受信側コマンドキュー22−1〜22−pに格納し、処理可能な状態になった時点で、送信装置14に対してデータ要求コマンドパケットとしてのデータ送信要求コマンドを送信する。
さらに、本発明によれば、エラー識別情報記憶制御部において、主記憶メモリに格納されたデータについての読み出し処理の際に、主記憶メモリにおいてハードエラーが発生したことを検出すると、ディレクトリメモリ上の対応するキャッシュラインに、当該ハードエラー発生の識別情報を記憶するように制御するとともに、アクセス禁止部において、ハードエラー発生の識別情報を有するキャッシュラインに対するアクセスを禁止することにより、障害を持った主記憶メモリへのアクセスが再度発生しないため、正常な主記憶メモリへのアクセス性能の劣化を抑えることができる利点がある。
また、本発明の第2関連発明によれば、キャッシュアクセス発生情報返信部により、アクセスを受けた主記憶メモリにおいて、キャッシュメモリへのアクセスが発生した場合においては、その旨をアクセス元のプロセッサに通知し、アクセス元のプロセッサにおいて、キャッシュメモリへのアクセスが発生した旨の通知を受けると、タイムアウト時間再設定部により、経過時間計時部におけるタイムアウト信号を出力するための経過時間の計時をキャッシュメモリのアクセスに要するに十分な時間の応答待ちタイマ値に変更して、経過時間計時部において再計時を行なうことができるので、障害発生箇所の確実に特定することができ、ディレクトリ方式等を採用した分散共有メモリシステムにおける共有メモリ装置としての主記憶メモリをアクセスした際に発生し得る、種々のリモートキャッシュメモリ内でのアクセス干渉に関わりなく、故障箇所特定精度の高い時間監視が可能となり、ひいては障害発生時においても確実なリカバリを行なうことができる利点がある。
なお、本発明は、以下の実施の形態に限定されるものではない。又、上述の本願発明の目的のほか、他の技術的課題,その技術的課題を解決する手段及び作用効果についても、以下の実施の形態による開示によって明らかとなる。
(A)第1実施形態(本発明に関連する第1関連発明の実施形態)の説明
図5は本発明に関連する第1関連発明の実施形態としての第1実施形態にかかるマルチプロセッサ装置を示すブロック図であり、このマルチプロセッサ装置30−1は、複数のプロセッサ群としてのプロセッサモジュール31−1〜31−n(n;2以上の整数)が第1バスとしてのシステムバス32を介して互いに接続されている。
なお、プロセッサモジュール31−1〜31−nにおけるプロセッサエレメント33の数は、各プロセッサモジュール31−1〜31−nにおいて一つ以上の任意の値を設定することができる。
即ち、メモリモジュール34は各種データを記憶するものであって、プロセッサモジュール31−1〜31−nを構成するプロセッサエレメント33のそれぞれにキャッシュスヌープバス36を介して接続されることにより、プロセッサエレメント33に共有されるようになっている。
ここで、プロセッサエレメント33は、プロセッサ33a,キャッシュメモリ33b及びキャッシュ制御モジュール33cをそなえて構成されるよういなっている。
また、キャッシュ制御モジュール33cは、プロセッサ33aとキャッシュメモリ33bとの間のデータの読み出し/書き込みを例えばコピーバックモードで制御するものであり、キャッシュ制御部としての機能を有している。
ところで、メモリモジュール34は、各プロセッサモジュール31のそれぞれにキャッシュスヌープバス36を介して共有され、各種データを記憶する主記憶メモリとしての主記憶素子34aをそなえるとともに、ディレクトリメモリ34b及びアクセス制御モジュール34cをそなえて構成されている。
具体的には、ディレクトリメモリ34bとしては、キャッシュライン単位に例えば図6に示すようなフォーマットのディレクトリエントリを有して構成されている。
即ち、この図6に示すディレクトリエントリのフォーマットとしては、シェア情報フィールド34b−1,ダーティ情報フィールド34b−2及び障害識別フィールド34b−3により構成されている。
さらに、インバリッド状態とはキャッシュラインがダーティでもシェアでもない状態を示す。なお、ディレクトリメモリ34b上ではダーティ/シェアの双方の状態とも、プロセッサモジュール31−1〜31−nのみを識別し、個々のプロセッサエレメント33までは識別しない。
例えば、アクセス制御モジュール34cは、キャッシュメモリ33b上の値と主記憶素子34a上の値とが同じシェア状態の場合にはキャッシュメモリ33b上への登録状況を4つのサブラインで構成されるキャッシュライン単位でディレクトリメモリ34bに記憶する一方、プロセッサ33aによりキャッシュメモリ33b上の値が書き換えられた場合には主記憶素子34a上の値を更新せず、またキャッシュメモリ33b上の値が最新値であり主記憶素子34a上の値が旧値であるダーティ状態の場合にはキャッシュメモリ33bの状態及び最新値の保持先をサブライン単位にディレクトリメモリ34bに記憶するように制御するようになっている。
換言すれば、無効化指令発行部34c−1は、格納されているデータが最新値でないキャッシュメモリ33bに対してあるプロセッサ33aから発行される書き込みアクセス、又はあるキャッシュメモリ33bに対するキャッシュオフアクセスのアクセスアドレスを含むキャッシュラインが、前記プロセッサ33a以外の複数のプロセッサ33aにシェア状態で存在する場合において、ディレクトリメモリ34bに記憶されたすべての参照先としてのキャッシュ制御モジュール33cに対して、キャッシュラインの無効化指令を、キャッシュライン単位に発行するようになっている。
ところで、無効化指令発行部34c−1から無効化指令が発行される態様としては、詳細には以下に示す2つがある。
ところで、この無効化指令発行部34c−1から発行される無効化指令としては、アクセスコマンドの種類に応じて、上述のキャッシュライン単位に発行することができるほか、前述の図22にて示したようなサブライン単位に発行するもできる。
これにより、この識別情報の付された無効化コマンドを受けたキャッシュ制御モジュール33cにおいては、識別情報に基づいてキャッシュライン単位の無効化か又はサブライン単位の無効化を行なうことができる。
なお、上述のマルチプロセッサ装置30−1においては、システムバス32,キャッシュスヌープバス36及び内部バス37により階層バスが構成され、プロセッサモジュール31−1〜31−nの間をディレクトリ方式、プロセッサモジュール31−1〜31−n内をスヌープ方式を用いることによりキャッシュコヒーレンシを保つシステムが構築されている。また、各バス32,36,37は例えばスプッリットバスにより構成され、分散アービトレーションにより制御されるようになっている。
なお、以下の説明中においては、便宜上、主記憶素子34aへのアクセス元のプロセッサモジュール(Processor Module,PM)31−1をローカルPM、アクセスされる主記憶素子34aの所在するプロセッサモジュール31−2をホームPM、当該主記憶素子34aをキャッシングしているプロセッサモジュール31−nをリモートPMと呼ぶ。
ここで、アクセス制御モジュール34c(無効化指令発行部34c−1)では、参照したディレクトリエントリがシェア状態であれば、システムバスインタフェースモジュール35に対して内部バス37を介して、アクセスアドレスと共にパージコマンド41をキャッシュライン単位で発行する。
また、無効化指令発行部34c−1では、上述のパージコマンド41を発行する際に、ディレクトリメモリ34bの内容に基づいて、アクセスコマンドに対応した無効化方式を示す識別情報を付して発行している(この場合においてはキャッシュライン単位の無効化を行なうための識別情報が付されている)。
システムバスインタフェースモジュール35では、上述のブロードマップに従って、リモートPM31−nに対してへシステムバス32を介してアクセスアドレスと共にパージコマンド(以降リモートパージコマンドと呼ぶ)42をキャッシュライン単位に発行する。
キャッシュ無効化コマンドを受信したプロセッサエレメント33内のキャッシュ制御モジュール33cは、このキャッシュ無効化コマンドに付加されたサブラインアドレスに対応したタグを参照し、参照されたタグがシェア状態ならばそのタグの値を無効化し、一定サイクル毎にキャシュスヌープバス36上へのキャッシュ無効化の成功応答44を返送する一方、タグがダーティ状態である場合は、不成立応答返送部33c−1により、一定サイクル後にキャッシュスヌープバス上にキャッシュ無効化の不成功応答44(ダーティ状態が存在する旨の通知)を返送して、タグの値を保持する(図7の時点w5〜時点w9参照)。
ホームPM31−2のシステムバスインタフェースモジュール35では、システムバス32を介して上述のリモートパージ応答45を受け取り、このリモートパージ応答を取りまとめて、メモリモジュール34に対して内部バス37を介することによりキャッシュラインの無効化の成否応答46として返送する。
(B)第2実施形態の説明
図9は本発明の一実施形態としての第2実施形態にかかるマルチプロセッサ装置を示すブロック図であり、この図9に示すマルチプロセッサ装置30−2は、前述の第1実施形態におけるもの(符号30−1参照)に比して、メモリモジュール34にエラー識別情報記憶制御部34c−2及びアクセス禁止部34c−3をそなえている点が異なる。なお、図9中、図5と同一の符号は、同様の部分を示している。
具体的には、上述のハードエラー発生の識別情報としては、例えば前述の図6に示すディレクトリエントリを構成する障害識別フィールド34b−3に記憶することができるようになっている。
なお、ディレクトリメモリ34bに記憶すべきハードエラー発生の識別情報としては、正常時には発生しえない情報を記憶するように構成することもできる。具体的には、前述の図6におけるシェア状態フィールド34b−1及びダーティ状態フィールド34b−2の双方に、キャッシュラインの状態をダーティ状態でありシェア状態である旨のビット記憶することが考えられる。
エラー識別情報記憶制御部34c−2において、障害発生情報としてこのような状態値をディレクトリメモリ34bに記録することで障害を識別することができるよになり、必要なディレクトリエントリのビット数を専用フィールドを設ける場合よりも削減させることができる。
上述の構成により、本発明の一実施形態としての第2実施形態にかかるマルチプロセッサ装置30−2の動作を、図10に示すフローチャートを用いて以下に説明する。
メモリモジュール34のアクセス制御モジュール34cでは、ディレクトリメモリ34b上の、アクセスアドレスが含まれるキャッシュラインのディレクトリエントリを参照する(ステップB2)。
ここで、メモリモジュール34において、読み出しデータにマルチビットエラーを検出すると、メモリモジュール34ではキャッシュスヌープバス36上への読み出しデータ転送を中止し(ステップB9のYESルートからステップB11)、キャッシュ制御モジュール33cに対して障害発生応答を返送する(ステップB13)。
その後、アクセス制御モジュール34cのエラー識別情報記憶制御部34c−2では、障害の発生したアクセスアドレスに該当するディレクトリエントリの障害識別フィールド34b−3に、障害発生情報をセットする(ステップB15)。
このように、本発明の一実施形態としての第2実施形態にかかるマルチプロセッサ装置30−2によれば、エラー識別情報記憶制御部34c−2において、主記憶素子34aに格納されたデータについての読み出し処理の際に、主記憶素子34aにおいてハードエラーが発生したことを検出すると、ディレクトリメモリ34b上の対応するキャッシュラインに、当該ハードエラー発生の識別情報を記憶するように制御するとともに、アクセス禁止部34c−3において、ハードエラー発生の識別情報を有するキャッシュラインに対するアクセスを禁止することにより、障害を持った主記憶素子34aへのアクセスが再度発生しないため、正常な主記憶素子34aへのアクセス性能の劣化を抑えることができる利点がある。
(C)第3実施形態(本発明に関連する第2関連発明の実施形態)の説明
図11は本発明に関連する第2関連発明の実施形態としての第3実施形態にかかるマルチプロセッサ装置を示すブロック図であり、この図11に示すマルチプロセッサ装置30−3は、前述の第1実施形態におけるもの(符号30−1参照)に比して、メモリモジュール34にキャッシュアクセス発生情報返信部34c−4をそなえるとももに、プロセッサ33aにタイマ回路33a−1をそなえている点が異なる。なお、図11中、図5と同一の符号は、同様の部分を示している。
ここで、デコーダ51は、アクセス先からキャッシュスヌープバス36又はシステムバス32を介して入力されるバスコマンド情報としての応答信号についてデコードするものである。
ここで、カウンタ53は、メモリモジュール34に対してアクセス信号を送信してから応答信号を受信するまでの経過時間(応答待ち時間)を計時するものであり、応答待ち時間がタイマシーケンサ52にて設定制御された所定のタイムアウト時間を経過した場合には、タイムアウト信号(timeout)をタイマシーケンサ51に出力するようになっている。
ところで、上述のカウンタ53にて計時されるタイムアウト値Taとしては、M−STコマンドを発行してからST−CMPを受信するまでに要する最大時間よりも大きくなるように設定され、タイムアウト値Tbは、C−PGコマンドを発行してからPG−CMPコマンドを受信するまでに要する最大時間よりも大きくなり、且つ、Ta<Tbとなるように設定されるようになっている。
これにより、パルス選択回路54からの出力信号(pulse)となるOR回路54dからは、上述の制御信号が“L”レベル信号の場合にはパルス信号“a”が出力され、制御信号が“H”レベル信号の場合にはパルス信号“b”が出力されるようになっている。
上述のタイマシーケンサ52の状態遷移としては、例えば図13に示すようになる。即ち、初期状態においてはタイマ非動作の状態(カウンタ53が動作しない状態)であって、カウンタ53に対してクリア信号をアサートするようになっている(図13のidle状態)。
その後、カウンタ53に対してenable信号をアサートする。この時、タイマシーケンサ52ではパルス選択回路54に対してリモート信号をアサートしており、パルス信号“b”が選択される。これにより、タイムアウト値Tbでカウンタ53による経過時間の計時が再開されるようになっている(図13のremote状態)。
なお、上述のremote状態において、デコーダ52からst-cmp信号がアサートされると、もとのidle状態に遷移するようになっている。
なお、図14,図16は上述のマルチプロセッサ装置30−3におけるコマンドシーケンスを説明するためのブロック図であり、この図14,図16に示すマルチプロセッサ装置30−3のプロセッサモジュール31−1〜31−nは、それぞれ、プロセッサ(CPU)33a,キャッシュ部(CS)33A,ディレクトリ部(DIR)34A,主記憶メモリとしての主記憶素子(MS)34a及びシステムバス制御機構としてのシステムバスインタフェースモジュール35をそなえている(図14,図16に示すものにおいては、複数のプロセッサエレメント33,キャッシュスヌープバス36及び内部バス37の図示を省略している)。
上述の構成により、本発明に関連する第2関連発明の実施形態としての第3実施形態にかかるマルチプロセッサ装置30−3の動作を図14〜図17を用いて以下に説明する。
まず、ホームPM31−2のキャッシュアクセス発生情報返信部34c−4において、キャッシュメモリ33bへのアクセスが発生した旨を通知する際に、専用コマンドtimeを用いる場合には、図14,図15に示すように動作する。
また、上述のコマンド発行と同時に、ホームPM31−2においては、アクセスタイマ値T2(;C−PGコマンドを発行してからPG−CMPコマンドを受信するまでに要する最大時間)でタイマ計時を開始する。このとき、ホームPM31−2のディレクトリメモリ34bはメモリ番地「A」を含むライン単位にビジー状態となっている(図15の時点y3参照)。
ローカルPM31−1において、上述のタイマ値変更コマンドTIMEを受信すると、タイマ回路33a−1におけるM−STコマンドのアクセスタイマ値を、TaからTbに変更し、タイマ計時を再開する(図15の時点y4参照)。
リモートPM31−nでは、上述のM−EXコマンドを送信した後に、ホームPM31−2からのC−PGコマンドを受信するが、既に同一ラインのキャッシュ操作を実行しているため、パージ処理はリモートPM31−n内で保留される(Pending)。
この場合においては、パージ処理はリモートPM31−n内で保留されたままとなり、従って、リモートPM31−2ではM−STコマンドに対する応答も実行できない。また、Ta<T2<Tbの関係が成立するので、リモートPM31−nにおける、M−EXコマンドに対するアクセスタイマが最も先にタイムアウトする(図15の時点y5参照)。
その後、M−STコマンドの発行元であるローカルPM31−1に対して、メモリストア完了応答コマンドST−CMPを発行する(図14の丸付き数字「4」,図15の時点y7参照)。
また、上述と同様の場合に、ホームPM31−2のキャッシュアクセス発生情報返信部34c−4においてキャッシュメモリ33bへのアクセスが発生した旨を通知する際に、このキャッシュアクセスコマンドの専用フィールドを用いる場合には、図16に示すように、当該キャッシュアクセスコマンドとしてのC−PGコマンドにおける専用フィールドにおいてアクセス元のプロセッサ33aを指定する。
なお、上述の図14又は図16のいずれのシーケンスでホームPM31−2のキャッシュアクセス発生情報返信部34c−4においてキャッシュメモリ33bへのアクセスが発生した旨を通知する場合においても、リモートPM101−nにて検出されるM−EXコマンドに対する処理は異常終結するが、この原因としては、リモートPM101−nとホームPM101−2との間の何らかの要因であることを特定することができる。
(D)第4実施形態(本発明に関連する第3関連発明の実施形態)の説明
図18は本発明に関連する第3関連発明の実施形態としての第4実施形態にかかるデータ転送システムを示すブロック図であり、この図18に示すデータ転送システム60は、上述のマルチプロセッサ装置30−1〜30−3におけるスプリットバスとしてのシステムバス32,キャッシュスヌープバス36又は内部バス37に用いることができるものであり、送信装置61,スプリットバス62及び受信装置63をそなえて構成されている。
なお、上述のCPUとしての送信装置61からのコマンド付きデータパケットとしては、前述の図26におけるものと同様に、例えばメインメモリとしての受信装置63に対するメモリ書き込みコマンドを含むデータ転送要求とすることができ、このメモリ書き込みコマンド等のコマンド付きデータパケットを構成するコマンドについても、前述の図27に示すようなフォーマットにより構成されるようになっている。
ここで、送信側コマンドキュー64−1〜64−4は、送信すべきデータ付きパケットを構成するコマンドを保持するものであり、送信側データキュー65−1〜65−4は、送信側コマンドキュー64−1〜64−4に対応して設けられ、データ付きパケットを構成するデータを保持するものであり、例えばフリップフロップ又はランダムアクセスメモリにより構成される。
なお、上述の図示しないバス調停装置によるバス使用権の獲得/放棄の制御を行なう際には、例えばスプリットバス62を介して接続された装置間にバス使用/使用否を通知する専用信号線を設けることができる。
ところで、受信装置63は、詳細には複数(例えば4つ)の受信側コマンドキュー(cqueue1〜cqueue4)70−1〜70−4,コマンドデコーダ(dec)71,バス制御部(bus control-2)72,受信キュー制御部(receive queue control) 73,メモリセレクタ(mem-selector)74,エンコーダ(enc,encoder)75,メモリ制御部(memory control)77,データバッファ(dbuf1,dbuf2) 78−1,78−2,データセレクタ79及びメモリ80をそなえて構成されている。
さらに、デコーダ71は、スプリットバス62を介して受信されたコマンドをチェックするとともに、受信側コマンドキュー70−1〜70−4の状態をチェックするものであり、チェック部としての機能を有している。
さらに、メモリセレクタ74は、受信側コマンドキュー70−1〜70−4からのコマンドのうちのいずれかを選択的にエンコーダ75及びメモリ制御部77対して出力するものであり、受信側セレクタとしての機能を有している。
さらに、エンコーダ75は、メモリセレクタ74からのコマンドに対応したデータの送信を要求するデータ送信要求コマンドをスプリットバス62を介して送信装置61に送信するものであり、データ送信要求コマンド送信部としての機能を有している。
これにより、バス制御部67は、エンコーダ75から送信されたコマンドに基づいて、送信側データキュー65−1〜65−4に格納されているデータを選択して受信装置63に送信すべく出力セレクタ68を制御するようになっている。
さらに、メモリ制御部77は、メモリセレクタ74を介してコマンド情報を入力され、エンコーダ75から送信されるデータ送信要求コマンドに対応するデーのメモリ80への記憶制御を行なうものである。
上述の構成により、本発明に関連する第3関連発明の実施形態としての第4実施形態にかかるデータ転送システム60では、送信装置61において、データ付きパケットの送信要求が生じると、バスコマンド情報が定義されたパケットのみをスプリットバス62を介して受信装置63に転送して、受信装置63においては、送信装置61からのバスコマンド情報が定義されたパケットを受信すると、当該パケットを処理待ちキューとしての受信側コマンドキュー70−1〜70−4に格納し、処理可能な状態になった時点で、送信装置61に対してデータ要求コマンドパケットを送信し、その後、送信装置61においては、受信装置61からのデータ要求コマンドパケットの受信を契機として、一定時間後にバス獲得の動作なしに所望のデータパケットを転送した後に、受信装置63において、バス獲得状態のまま一定時間後に転送される送信装置61からのデータパケットを受信し、データパケットの受信を完了すると、スプリットバス62を解放する。
バス制御部67では、送信側コマンドキュー64−1〜64−4に格納されている4つのバス要求から、適当なアルゴリズムで要求を選択するとともに、図示しないバス調停装置に対してバス使用権獲得要求reqを出力する(図19の時点z1〜時点z3参照)。
ここで、コマンドデコーダ71では、受信されたコマンドパケットの装置アドレスが自身の受信装置63宛のコマンドであり、かつ受信側コマンドキュー70−1〜70−4のいずれかが空いていると判断すると、バス制御部72に対してその旨を通知する。バス制御部72では、当該空きコマンドキュー70−1〜70−4に受信コマンドを格納するように制御する(図19の時点z4〜時点z16)。
また、バス制御部72では、送信装置61からのコマンドパケットの受信動作が終了すると、受信キュー制御部73に対して、受信側コマンドキュー70−1〜70−4に格納したコマンドのメモリアクセス制御を依頼する。
さらに、メモリ制御部77では、選択されたコマンドに対応したメモリアクセスの準備が可能であると判断されると、受信キュー制御部73に対してその旨を通知し、受信キュー制御部73では、メモリセレクタ74に対してセレクト信号を出力することにより、当該コマンド情報をエンコーダ75に出力するように制御する。
受信キュー制御部73では、受信側コマンドキュー70−1〜70−4内に格納されている要求と、空きデータバッファ78−1,78−2とを対応付けて管理される。例えば、受信側コマンドキュー70−1の内容が空きのデータバッファ78−1と組み合わせられたとする。
エンコーダ75では、上述のメモリセレクタ74からの送信元の送信装置61のアドレス,コマンドIDに基づいて、当該バスコマンドに対応するデータの転送を要求する旨のデータ要求コマンドパケットを生成する。このデータ要求コマンドパケットdreqについては、上述のごとく獲得されたバス使用権を用いることにより、スプリットバス62を介して送信装置61に対して転送する(図19の時点z7〜時点z8参照)。
即ち、受信装置63からのデータ要求コマンドを受信した送信装置61では、デコーダ69にて上述のデータ要求コマンドを構成する装置アドレス,コマンドID等をチェックする。
また、受信装置63では、要求したデータの転送が始まると、バス制御部72により現在処理中であるデータバッファ(この場合はデータバッファ78−1)に順次データを格納する(図19における時点z10〜時点z16)。さらに、要求したワード数分のデータを受信し終わると、バス制御部72によりバス使用権を解放する。
この場合においては、先行するメモリアクセスが無ければ、メモリ制御部77を制御することにより、実際のメモリアクセスを開始する一方、先行するメモリアクセスがあれば、そのメモリアクセスが完了してから実際のメモリアクセスを開始する。
2−1〜2−n,2B−1〜2B−n プロセッサ
2a 経過時間計時部
2b タイムアウト時間再設定部
3−1〜3−m キャッシュメモリ
4−1〜4−m キャッシュ制御部
5−1〜5−m,5B−1〜5B−n プロセッサモジュール
6 第1バス
7 主記憶メモリ
8 ディレクトリメモリ
9,9A,9B ディレクトリ制御部
9a 無効化指令発行部
9b エラー識別情報記憶制御部
9c アクセス禁止部
10,10A,10B メモリ部
11 第2バス
12,12A,12B マルチプロセッサ装置
13 データ転送システム
14 送信装置
15 バス
16 受信装置
17−1〜17−n 送信側コマンドキュー
18−1〜18−n 送信側データキュー
19 キュー制御部
20 送信側セレクタ
21 送信側セレクタ制御部
22−1〜22−p 受信側コマンドキュー
23 受信側データキュー
24 チェック部
25 受信制御部
26 受信側セレクタ
27 受信側セレクタ制御部
28 データ送信要求コマンド送信部
30−1〜30−3 マルチプロセッサ装置
31−1〜31−n プロセッサモジュール(プロセッサ群)
32 システムバス(第1バス)
33 プロセッサエレメント
33a プロセッサ
33a−1 タイマ回路
33b キャッシュメモリ
33c キャッシュ制御モジュール(キャッシュ制御部)
33c−1 不成立応答返送部
33A キャッシュ部
34 メモリモジュール
34a 主記憶素子(主記憶メモリ)
34b ディレクトリメモリ
34b−1 シェア情報フィールド
34b−2 ダーティ情報フィールド
34b−3 障害識別フィールド
34c アクセス制御モジュール(ディレクトリ制御部)
34c−1 無効化指令発行部
34c−2 エラー識別情報記憶制御部
34c−3 アクセス禁止部
34c−4 キャッシュアクセス発生情報返信部
34A ディレクトリ部
35 システムインタフェースモジュール
36 キャッシュスヌープバス(第2バス)
37 内部バス
51 デコーダ
52 タイマシーケンサ
53 カウンタ
54 パルス選択回路
54a NOT回路
54b,54c AND回路
54d OR回路
60 データ転送システム
61 送信装置
62 スプリットバス
63 受信装置
64−1〜64−4 送信側コマンドキュー
65−1〜65−4 送信側データキュー
66 送信キュー制御部(キュー制御部)
67 バス制御部(セレクタ制御部)
68 出力セレクタ(送信側セレクタ)
69 デコーダ
70−1〜70−4 受信側コマンドキュー
71 デコーダ(チェック部)
72 バス制御部(受信制御部)
73 受信キュー制御部(受信側セレクタ制御部)
74 メモリセレクタ(受信側セレクタ)
75 エンコーダ(データ送信要求コマンド送信部)
77 メモリ制御部
78−1〜78−2 データバッファ(受信側データキュー)
79 データセレクタ
80 メモリ
100 マルチプロセッサ装置
101−1〜101−n プロセッサモジュール
102 システムバス
103 プロセッサエレメント
103a プロセッサ(CPU)
103b キャッシュメモリ
103c キャッシュ制御モジュール
103A キャッシュ部
104 メモリモジュール
104a 主記憶素子
104b ディレクトリメモリ
104c アクセス制御モジュール
104A ディレクトリ部
105 システムバスインタフェースモジュール
106 キャッシュスヌープバス
107 内部バス
108 タイマ
200 データ転送システム
201 スプリットバス
210 送信装置
211 送信キュー制御部
212 バス制御部
213−1〜213−4 送信コマンド/データ・キュー
214 出力セレクタ
221 デコーダ
222−1〜222−4 受信キュー
223 バス制御部
224 受信キュー制御部
225 メモリセレクタ
226 メモリ制御部
300 メモリ書き込みコマンド
301 コマンドフィールド
302 コマンドIDフィールド
303 送信装置アドレスフィールド
304 相手装置アドレスフィールド
305 サイズフィールド
306 メモリアドレスフィールド
Claims (4)
- 少なくとも一つ以上のプロセッサを有するプロセッサ群が複数第1バスを介して接続されるとともに、
上記の各プロセッサ群を構成するプロセッサのそれぞれに第2バスを介して共有され、各種データを記憶する主記憶メモリと、
該プロセッサ毎に設けられ、該主記憶メモリにおける各種データをキャッシュライン単位で記憶するキャッシュメモリと、
上記のプロセッサとキャッシュメモリとの間のデータの読み出し/書き込みをコピーバック方式で制御するキャッシュ制御部と、
該主記憶メモリに格納されているデータの該キャッシュメモリ上への登録状態を記憶するディレクトリメモリと、
上記のキャッシュメモリ上の値と主記憶メモリ上の値とが同じシェア状態の場合には該キャッシュメモリ上への登録状況を複数のサブラインで構成されるキャッシュライン単位で該ディレクトリメモリに記憶する一方、該プロセッサにより該キャッシュメモリ上の値が書き換えられた場合には該主記憶メモリ上の値を更新せず、また該キャッシュメモリ上の値が最新値であり該主記憶メモリ上の値が旧値であるダーティ状態の場合には該キャッシュメモリの状態及び最新値の保持先をサブライン単位に該ディレクトリメモリに記憶するように制御するディレクトリ制御部とをそなえてなるマルチプロセッサ装置であって、
該ディレクトリ制御部が、
該主記憶メモリに格納されたデータについての読み出し処理の際に、該主記憶メモリにおいてハードエラーが発生したことを検出すると、該ディレクトリメモリ上の対応するディレクトリエントリに、当該ハードエラー発生の識別情報を記憶するように制御するエラー識別情報記憶制御部と、
該ハードエラー発生の識別情報を有するディレクトリエントリに対応するキャッシュラインに対するアクセスを禁止するアクセス禁止部とをそなえて構成されたことを特徴とする、マルチプロセッサ装置。 - 該ディレクトリメモリに、ハードエラー発生の識別情報を記憶するための専用フィールドを設けるように構成されたことを特徴とする、請求項1記載のマルチプロセッサ装置。
- 該ディレクトリメモリに、ハードエラー発生の識別情報として、正常時には発生しえない情報を記憶するように構成されたことを特徴とする、請求項1記載のマルチプロセッサ装置。
- 主記憶メモリをそなえるとともに、該主記憶メモリを共有する複数のプロセッサと、該複数のプロセッサ毎に該主記憶メモリにおける各種データをキャッシュライン単位で記憶するキャッシュメモリと、該主記憶メモリにて格納されているデータの該キャッシュメモリへの登録状態を記憶するディレクトリメモリとをそなえてなるマルチプロセッサ装置のメモリアクセス方法において、
該主記憶メモリからの読み出し処理の際にハードエラーが生じた場合、該ディレクトリメモリにおける、当該読み出しアドレスが含まれるキャッシュラインのディレクトリエントリにハードエラー発生の識別情報を保持しておき、当該識別情報を有するディレクトリエントリに対応するキャッシュラインには主記憶アクセスを生じさせないことを特徴とする、マルチプロセッサ装置のメモリアクセス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006276567A JP4452707B2 (ja) | 2006-10-10 | 2006-10-10 | マルチプロセッサ装置及びそのメモリアクセス方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006276567A JP4452707B2 (ja) | 2006-10-10 | 2006-10-10 | マルチプロセッサ装置及びそのメモリアクセス方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21031896A Division JP3875749B2 (ja) | 1996-08-08 | 1996-08-08 | マルチプロセッサ装置及びそのメモリアクセス方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007004833A JP2007004833A (ja) | 2007-01-11 |
JP4452707B2 true JP4452707B2 (ja) | 2010-04-21 |
Family
ID=37690314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006276567A Expired - Fee Related JP4452707B2 (ja) | 2006-10-10 | 2006-10-10 | マルチプロセッサ装置及びそのメモリアクセス方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4452707B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6613874B2 (ja) * | 2015-12-24 | 2019-12-04 | 富士通株式会社 | 情報処理装置、演算処理装置および情報処理装置の制御方法 |
-
2006
- 2006-10-10 JP JP2006276567A patent/JP4452707B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007004833A (ja) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3875749B2 (ja) | マルチプロセッサ装置及びそのメモリアクセス方法 | |
US8935513B2 (en) | Processor performance improvement for instruction sequences that include barrier instructions | |
TWI431475B (zh) | 用於在本地代理者之記憶體鏡像及遷移之裝置、系統及方法 | |
US9411644B2 (en) | Method and system for work scheduling in a multi-chip system | |
US9529532B2 (en) | Method and apparatus for memory allocation in a multi-node system | |
JP3210590B2 (ja) | マルチプロセッサシステムおよびキャッシュコヒーレンシ制御方法 | |
JP3996454B2 (ja) | 分割サーバにおけるドメイン間低オーバヘッドメッセージ受渡しのためのシステム及び方法 | |
US8856588B2 (en) | Information processing apparatus, control method, and computer-readable recording medium | |
US20150254182A1 (en) | Multi-core network processor interconnect with multi-node connection | |
US9372800B2 (en) | Inter-chip interconnect protocol for a multi-chip system | |
US8051325B2 (en) | Multiprocessor system and failure recovering system | |
US10592459B2 (en) | Method and system for ordering I/O access in a multi-node environment | |
US20080282040A1 (en) | Computer system, method, cache controller and computer program for caching i/o requests | |
JP5941168B2 (ja) | 第1および第2のプロトコルドメインを有するデータ処理装置およびデータ処理装置に関する方法 | |
US6892283B2 (en) | High speed memory cloner with extended cache coherency protocols and responses | |
JPH08249231A (ja) | マルチプロセッサ・システムにおける古いデータの処理システム及び方法 | |
US7797495B1 (en) | Distributed directory cache | |
JP4644647B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JP4452707B2 (ja) | マルチプロセッサ装置及びそのメモリアクセス方法 | |
JP2007048314A (ja) | データ転送システムにおける送信装置及び受信装置,データ転送システム並びにデータ転送システムのバス制御方法 | |
US10775870B2 (en) | System and method for maintaining cache coherency | |
CN110083548B (zh) | 数据处理方法及相关网元、设备、系统 | |
CN112955877A (zh) | 修改存储数据的装置和方法 | |
JPH1185615A (ja) | 情報処理システム及び情報処理装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061010 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091217 |
|
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: 20100112 |
|
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: 20100201 |
|
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: 20130205 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140205 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |