JP3833760B2 - 計算機システム及びメモリ状態復元装置 - Google Patents
計算機システム及びメモリ状態復元装置 Download PDFInfo
- Publication number
- JP3833760B2 JP3833760B2 JP34332096A JP34332096A JP3833760B2 JP 3833760 B2 JP3833760 B2 JP 3833760B2 JP 34332096 A JP34332096 A JP 34332096A JP 34332096 A JP34332096 A JP 34332096A JP 3833760 B2 JP3833760 B2 JP 3833760B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- line
- data
- before image
- buffer
- 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
- Retry When Errors Occur (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、コピーバック型のキャッシュを備えた計算機システムに適用されるメモリ状態復元装置に関する。
【0002】
【従来の技術】
通常の計算機では、プログラムを実行して処理が一旦進んでしまうと、それ以前の状態に戻って処理を再開するという機能手段をもたない。
これに対して、ソフトウェアデバッギング、フォールトトレラントシステム、バックトラッキング等の各種応用技術に於いては、プログラムを実行し、処理が進んだ後に、それ以前の状態に戻って処理を再開するための機能を実現するために、メモリの内容を以前の状態に戻し、その時点から処理を継続するための機能(メモリ状態回復機能)が必要とされる。
【0003】
ここで、上記ソフトウェアデバッギングは、プログラムの実行中に何らかのエラーが発生した場合に、以前の状態に遡ることにより、エラーの原因を解析することができる。また、上記フォールトトレラントシステムは、システムの動作中に何らかの故障により処理が続行できなくなった場合に、以前の状態に戻って、そこから処理を再開することにより、システムを停止させることなく動作を継続することができる。このようなフォールトトレラント技術は、例えばPhilip A Bernstein, "Sequoia: A Fault-Tolerant Tightly Coupled Multiprocessor for Transaction Processing," IEEE Computer, Vol.21, No.2, 1988 に開示されている。また、上記バックトラッキングは、論理型のプログラミング言語に於いて、実行状態のバックトラッキングが基本的な操作であり、メモリの内容が以前の状態に戻る機能を用いることによりバックトラッキングを実現することができる。
【0004】
上記したような「メモリ状態回復機能」を実現する方法として、考えられている技術の一つに“バックワード手法”がある。
このような技術は、例えばRok Sosic, "History Cache: Hardware Support for Reverse Ex-ecution," Computer Architecture News, Vol.22, No.5, 1994 に開示されている。
【0005】
又、本発明の出願人は、コピーバック型のキャッシュを用いたコンピュータシステムに於いて、メモリ状態回復機能を実現する処理のオーバヘッドを低減し、システムを効率化するために以下に示す技術を開発した。
【0006】
この方式によるシステムの一構成例を図13に示す。
この構成例では、N個のプロセッサ74〜75、各プロセッサ74〜75に対応するN個のキャッシュ77〜78が設けられている。キャッシュ77〜78は、メモリ制御部20、及びビフォアイメージバッファ制御部81と、バス76を介して接続されている。
【0007】
ビフォアイメージバッファ制御部81は、バスインタフェース制御部811、状態保存制御部812、バストランザクション応答制御部813、バッファアクセス制御部814、及びバストランザクション発行制御部815を有している。
【0008】
バスインタフェース制御部811は、バス76と直接接続され、バス76の制御を行なう。バスインタフェース制御部811は、常時、バス76を監視しており、バス76に発行されたトランザクションに応じて動作する。
【0009】
状態保存制御部812は、主メモリ72の状態を保存するために必要な各種機能を制御する。バストランザクション応答制御部813は、バス76に発行されたトランザクションに対して応答を返す機能を制御する。
【0010】
バッファアクセス制御部814は、ビフォアイメージバッファ73と接続されビフォアイメージバッファに対するアクセスを制御する。バストランザクション発行制御部815は、主メモリ72の状態を保存するために必要なバストランザクションを発行する機能を制御する。
【0011】
キャッシュ77〜78は、コピーバック型のキャッシュであり、以下に説明する方式に従って、データ一貫性保持のためのプロトコルを実現する。
キャッシュ77〜78は、キャッシュラインデータを保持するデータメモリと、データメモリに格納された各キャッシュラインデータを管理する情報を保持するためのタグメモリから構成される。
【0012】
このタグメモリのエントリの一例を図14に示す。
タグメモリには、対応するキャッシュラインデータのキャッシュラインアドレス(ADDR)を示すアドレスタグと、キャッシュラインデータの状態を示す3ビットのデータが格納される。
【0013】
キャッシュラインデータの状態は、バリッド(V:Valid)、モディファイド(M:Modified)、シェアード(S:Shared)の3ビットの値の組合せにより管理される。
【0014】
尚、バリッド(V)は、対応するキャッシュラインデータが有効(“1”)であることを示す。モディファイド(M)は、キャッシュ上で更新された状態にあることを示す。シェアード(S)は、他のプロセッサのキャッシュ上にも同じキャッシュラインデータが保持されていることを示す。
【0015】
これら3ビットの値の組合せにより、図15に示すように、キャッシュラインデータは4つの状態をとる。
コピーバックキャッシュに関連した、バストランザクションは、“Read−Line”、“Write−Line”、“Invalidate”を含む。
【0016】
“Read−Line”(キャッシュラインデータのリード)は、プロセッサからのあるアドレスのキャッシュラインに対するリードアクセスに対して、該当する有効なキャッシュラインデータがキャッシュに存在せずキャッシュミスした場合に発行される。
【0017】
尚、キャッシュミスは、アクセスの対象とするキャッシュラインデータを示すアドレスがタグメモリに格納されていない、及びアドレスは格納されているがバリッドビット(V)が無効(“0”)を示す場合である。これに対し、キャッシュヒットは、対象とするキャッシュラインデータのアドレスがタグメモリに格納され、バリッドビット(V)が有効(“1”)を示す場合である。
【0018】
“Read−Line−with−Invalidate”(キャッシュラインデータのリード、及び他のキャッシュに格納されたデータ無効化)は、プロセッサからのライトアクセスに対して、キャッシュミスした場合に発行される。
【0019】
“Write−Line”(キャッシュラインデータのライト)は、プロセッサからの指示により明示的にキャッシュラインデータを主メモリ72に書き出す場合、キャッシュラインデータを置換する必要が生じて更新データが主メモリ72に書き出される場合、及び他のプロセッサからの要求に応じて更新データを主メモリ72に書き出す場合に発行される。
【0020】
“Invalidate”(他のキャッシュに格納されたデータ無効化)は、プロセッサからのライトアクセスに対して、キャッシュに当該ラインが存在したが、クリーンシェアードであった場合に発行される。このトランザクション自身はアドレスの転送のみであり、データ転送を伴わない。
【0021】
尚、以上に示したトランザクション以外にもサポートされることが多いが、以下の記述に直接関係しないので、上記以外の説明は省略する。
バス76は、シェアード応答信号線(shared)、モディファイド応答信号線 (modified)、バスコマンド信号線(command )、及びアドレス/データ信号線(address/data)を含む。一般には、この他にアービトレーションを行なうための信号線などを含むが、以下の記述に直接関係しないので、ここではその説明を省略する。
【0022】
シェアード応答信号線(shared)は、他のプロセッサ/キャッシュにより発行されたトランザクションに対して、トランザクションが対象としているキャッシュラインデータを保持している、即ち共有していることを通知するために用いられる。
【0023】
モディファイド応答信号線(modified)は、他のプロセッサ/キャッシュにより発行されたトランザクションに対して、トランザクションが対象としているキャッシュラインデータを更新された状態で保持していることを通知するために用いられる。この信号がアサートされたときは、そのトランザクションはアボートされる。この後、トランザクションをアボートしたスレーブは、バスを獲得した後、更新キャッシュラインデータをメモリに書き出す。一方、最初のトランザクションを発行したマスタは、再びバスを獲得した後、同じトランザクションを再発行する。
【0024】
尚、これら2つの信号線(shared),(modified)が同時にアサートされたときにも同様にそのトランザクションはアボートされる。
バスコマンド信号線(command )は、前述したバストランザクションの種類を示す他に、トランザクションに関する各種情報を送るために用いられる。
【0025】
アドレス/データ信号線(address/data)は、バストランザクションが対象とするキャッシュラインデータのアドレスおよびデータを送るため信号線である。図13に於いては一つに纏めて示しているが、共通の信号線を時分割で使う方式や、アドレス/データ各々に独立した信号線を設ける方式等も存在し、それらのいずれの構成であってもよい。
【0026】
次に、マルチプロセッサシステムの動作、即ち、前述したバストランザクションを用いてキャッシュ間のデータ一貫性保持プロトコルがどのように実現されているかについて説明する。
【0027】
ここでは、トランザクションを発行してアクセスを起動する側のプロセッサ及びキャッシュ(マスタプロセッサ)、あるプロセッサ/キャッシュが発行したトランザクションに対して動作する他のプロセッサ及びキャッシュ(スレーブプロセッサ)、及びメモリ制御部80のそれぞれの動作について説明する。
【0028】
a.マスタプロセッサの動作について
先ず、トランザクションを発行してアクセスを起動するマスタプロセッサの動作と、発行されたトランザクションに対応するキャッシュの状態遷移について説明する。尚、ここではマスタプロセッサが、プロセッサ74(キャッシュ77)であるとして説明する。
【0029】
リードアクセス(キャッシュヒット):プロセッサ74がリードアクセス要求した結果、キャッシュ77においてキャッシュヒットした場合、キャッシュ77から該当するデータが読み出される。プロセッサ74(キャッシュ77)は、バス76にトランザクションを発行しない。このとき、キャッシュラインの状態は変わらない。
【0030】
リードアクセス(キャッシュミス):プロセッサ74がリードアクセス要求した結果、キャッシュ77においてキャッシュミスした場合、プロセッサ74(キャッシュ77)は、バス76に“Read−Line”トランザクションを発行する。
【0031】
これに対して、モディファイド応答信号線(modified)を介してモディファイド応答信号がアサートされたならば、他のキャッシュのうち一つがそのラインの更新データを保持していることになる。キャッシュ77は、この後、モディファイド応答信号をアサートしたキャッシュから主メモリ72に書き出されたキャッシュラインデータを読み込み、データメモリに格納する。キャッシュラインの状態は“クリーン・シェアード”とする。
【0032】
一方、モディファイド応答信号がアサートされず、シェアード応答信号線(shared)を介してシェアード応答信号がアサートされたならば、他のキャッシュがそのラインをクリーンな状態で保持していることになる。
【0033】
キャッシュ77は、キャッシュラインの状態を“クリーン・シェアード”とするとともに、主メモリ72より読み出されたデータを取り込んで、データメモリに格納する。
【0034】
また、モディファイド応答信号とシェアード応答信号のいずれもアサートされない場合には、いずれのキャッシュにも、対象とするキャッシュラインがを保持されていないことになる。
【0035】
キャッシュ77は、キャッシュラインの状態を“クリーン・エクスクルーシブ”とする。この場合も、キャッシュ77は、主メモリ72より読み出されたデータを取り込み、データメモリに格納する。
【0036】
いずれの場合も、キャッシュ77はバス76から取り込んだキャッシュラインデータのうち、必要とされるデータをプロセッサ74に返す。
ライト(キャッシュヒット/モディファイド):プロセッサ74がライトアクセス要求した結果、キャッシュ77に於いてキャッシュヒットし、対応するキャッシュラインデータがモディファイドの状態の場合、該当するキャッシュラインにデータが書き込まれる。プロセッサ74(キャッシュ77)は、バス76にトランザクションを発行しない。このとき、キャッシュラインの状態は変わらない。
【0037】
ライト(キャッシュヒット/クリーンエクスクルーシブ):プロセッサ74がライトアクセス要求した結果、キャッシュ77に於いてキャッシュヒットし、対応するキャッシュラインデータがクリーンエクスクルーシブの状態の場合、該当するキャッシュラインにデータが書き込まれる。プロセッサ74(キャッシュ77)は、バス76にトランザクションを発行しない。キャッシュ77は、該当するキャッシュラインの状態を“モディファイド”に変更する。
【0038】
但し、後述するように、この方式ではクリーンエクスクルーシブ状態を避けるように制御されるので、この条件は実際には存在しないことになる。
ライト(キャッシュヒット/クリーンシェアード):プロセッサ74がライトアクセス要求した結果、キャッシュ77に於いてキャッシュヒットし、対応するキャッシュラインデータがクリーンシェアードの状態の場合、プロセッサ74 (キャッシュ77)は、バス76に“Invali−date”トランザクションを発行する。キャッシュ77は、該当するキャッシュラインの状態を“モディファイド”にして、データを書き込む。
【0039】
ライト(キャッシュミス):プロセッサ74がライトアクセス要求した結果、キャッシュ77に於いてキャッシュミスした場合、バス76に“Read−Line−with−Invalidate”トランザクションを発行する。
【0040】
これに対して、モディファイド応答信号がアサートされたならば、他のキャッシュのうち一つがそのラインの更新データを保持していることになる。キャッシュ77は、この後、モディファイド応答信号をアサートしたキャッシュから主メモリ72に書き出されたキャッシュラインデータを読み込み、データメモリに格納する。
【0041】
一方、モディファイド応答信号がアサートされなければ、キャッシュ77は、主メモリ72より読み出されたデータを取り込み、データメモリに格納する。
いずれの場合も、該当するキャッシュラインの状態を“モディファイド”とし、データを書き込む。
【0042】
b.スレーブプロセッサの動作について
次に、あるプロセッサ/ キャッシュが発行したトランザクションに対する他のプロセッサとそれに対応するキャッシュ(スレーブプロセッサ)の動作、及び状態遷移について説明する。
【0043】
尚、ここではマスタプロセッサがプロセッサ74(キャッシュ77)、スレーブプロセッサがプロセッサ75(キャッシュ78)であるとし、マスタプロセッサから発行されるトランザクション毎に説明する。
【0044】
“Read−Line”トランザクション:キャッシュ78は、トランザクションが対象とするキャッシュラインデータを“モディファイド”の状態で保持している場合、モディファイド応答信号線(modified)を介しモディファイド応答信号をアサートして、更新データを保持していることを通知する。この後、キャッシュ78は、“Write−Line”トランザクションを発行して更新データを主メモリ72に書き出す。キャッシュ78は、該当するキャッシュラインの状態を“クリーンシェアード”とする。
【0045】
また、キャッシュ78は、トランザクションが対象とするキャッシュラインデータを“クリーンエクスクルーシブ”又は“クリーンシェアード”の状態で保持している場合、シェアード応答信号線(shared)を介しシェアード応答信号をアサートして、クリーンデータを保持していることを通知する。いずれの場合も、キャッシュ78は、該当するキャッシュラインの状態を“クリーンシェアード”とする。尚、キャッシュ78は、対応する有効なキャッシュラインデータを保持していない場合には何もしない。
【0046】
“Read−Line−with−Invalidate”トランザクション:キャッシュ78は、トランザクションが対象とするキャッシュラインデータを“モディファイド”の状態で保持している場合、モディファイド応答信号線(modified)を介してモディファイド応答信号をアサートし、更新データを保持していることを通知する。この後、キャッシュ78は、“Write−Line”トランザクションを発行して更新データを主メモリ72に書き出す。キャッシュ78は、該当するキャッシュラインの状態を“インバリッド”とする。
【0047】
また、キャッシュ78は、トランザクションが対象とするキャッシュラインデータを“クリーンエクスクルーシブ”又は“クリーンシェアード”の状態で保持している場合、該当するキャッシュラインの状態を“インバリッド”とする。
【0048】
尚、キャッシュ78は、対応する有効なキャッシュラインデータを保持していない場合には何もしない。
“Invalidate”トランザクション:キャッシュ78は、トランザクションが対象とするキャッシュラインデータを“クリーンエクスクルーシブ”または“クリーンシェアード”の状態で保持している場合、該当するキャッシュラインの状態を“インバリッド”とする。
【0049】
また、キャッシュ78は、対応する有効なキャッシュラインデータを保持していない場合には何もしない。尚、この場合、対応するラインを“モディファイド”の状態で保持していることはあり得ない。
【0050】
”Write−Line”トランザクション:キャッシュ78は何もしない。
c.メモリ制御部の動作について
次に、各バストランザクションに対するメモリ制御部80の動作を説明する。
【0051】
“Write−Line”トランザクション:バス76に発行された“Write−Line”トランザクションをスヌープすると、キャッシュから書き出されるキャッシュラインデータを取り込み、主メモリ72の該当するアドレスに書き込む。
【0052】
“Invalidate”:何もしない。
“Read−Line”、“Read−Line−with−Invalidate”:メモリ制御部20は、これら2つのトランザクションに対しては、同一の動作をする。
【0053】
これらのトランザクションに対してモディファイド応答信号がアサートされた場合は何もしない。これは、アサートしたスレーブプロセッサのキャッシュが既に更新データを保持していることを示している。この場合、これらのトランザクションに引続き、このキャッシュから“Write−Line”トランザクションが発行され、更新データが書き出される。
【0054】
一方、モディファイド応答信号がアサートされない場合は、アクセス対象となっているキャッシュラインのアドレスで示されるメモリロケーションからキャッシュラインデータを読み出し、バス76に出力する。
【0055】
ビフォアイメージバッファ制御部の動作について
次に、各バストランザクションに対するビフォアイメージバッファ制御部81の動作を説明する。
【0056】
以下、バス76に発行されるトランザクション毎に説明する。
“Read−Line”トランザクション:バスインタフェース制御部811がバス76に発行された“Read−Line”トランザクションをスヌープすると、状態保存制御部812は、バストランザクション応答制御部813を起動する。バストランザクション応答制御部813は、バスインタフェース制御部811を介してシェアード応答信号をシェアード応答信号線(shared)にアサートする。
【0057】
これによって、マスタプロセッサのキャッシュの現在対象としているキャッシュラインの状態を“クリーンエクスクルーシブ”ではなく、“クリーンシェアード”の状態にすることができる。そして、この後、当該キャッシュラインに対してライトアクセスが発生した場合に、更新前のデータを保存することを可能としている。
【0058】
尚、プロセッサ及びキャッシュの機能として、“クリーンエクスクルーシブ”状態を避ける方法がある場合には、ビフォアイメージバッファ制御部81がシェアード応答信号をアサートする必要はない。
【0059】
“Invalidate”トランザクション:バスインタフェース制御部811がバス76に発行された“In−validate”トランザクションをスヌープすると、状態保存制御部812は、バストランザクション応答制御部813を起動する。
【0060】
バストランザクション応答制御部813は、バスインタフェース制御部811を介してシェアード応答信号とモディファイド応答信号を、シェアード応答信号線(shared)、及びモディファイド応答信号線(modified)にアサートする。
【0061】
これによって、“Inval−idate”トランザクションはアボートされたことになり、この後、マスタプロセッサは、再びバスを獲得した後、同じトランザクションを再発行する。
【0062】
バストランザクション応答制御部813は、下記の処理が完了するまで、再発行された“In−validate”トランザクションに対して、シェアード応答信号およびモディファイド応答信号をアサートし、アボートし続ける。
【0063】
状態保存制御部812は、バストランザクション発行制御部815を起動する。バストランザクション発行制御部815は、更新前のキャッシュラインデータを得るため、バスインタフェース制御部811を介して得た無効対象となっているキャッシュラインのアドレスで示されるメモリロケーションに対する“Read−Line”トランザクションを発行する。
【0064】
更に、状態保存制御部812は、バッファアクセス制御部814を起動し、メモリ制御部80が主メモリ72から読み出しバス76に出力したキャッシュラインデータを、バスインタフェース制御部811からバッファアクセス制御部814に転送して、アドレス値と共にビフォアイメージバッファ73に書き込ませる。
【0065】
この処理が終了すると、バストランザクション応答制御部813は、再発行された“Invali−date”トランザクションに対するアボートを中止する。
【0066】
また、状態保存制御部812は、上記処理を実施したキャッシュブロックのアドレスを記憶し、この後、再び同じアドレスに対する“Invalidate”トランザクションが発行された場合には無視する。
【0067】
“Read−Line−with−Invalidate”トランザクション:当該トランザクションの発行に伴って、モディファイド応答信号がアサートされた場合は、アサートしたキャッシュが既に更新データを保持していることを示しており、そのプロセッサが最新のチェックポイント以降にライトアクセスを実行していることが分かる。このため、その時点で以前のデータがビフォアイメージバッファ73に格納されていることになり、改めてこのアドレスのデータをビフォアイメージバッファに格納する必要はない。従って、状態保存制御部812は何もしない。
【0068】
一方、“Read−Line−with−Invalidate”トランザクションの発行に伴って、モディファイド応答信号がアサートされない場合は、バッファアクセス制御部814を起動し、メモリ制御部80が主メモリ72から読み出しバス76に出力したキャッシュラインデータを、バスインタフェース制御部811からバッファアクセス制御部814に転送して、アドレス値と共にビフォアイメージバッファ73に書き込ませる。この場合、“Read−Line”を発行する必要はない。
【0069】
“Write−Line”トランザクション:何もしない。
チェックポイント処理について
次に、前述のようにして動作するマルチプロセッサシステムにおけるチェックポイント処理について説明する。
【0070】
チェックポイント時には、プロセッサ74〜75の内部状態(即ち内部レジスタ等)を主メモリ72に書き出すとともに、各キャッシュ77〜78の“モディファイド”状態にある全てのキャッシュラインのデータを主メモリ72に書き戻す。尚、実際には、プロセッサ内部状態の主メモリ72への書き出しもキャッシュを介して行なわれるので、バストランザクション上、特別な配慮は不要である。
【0071】
キャッシュ77〜78は、主メモリ72に書き戻したキャッシュラインの状態を“クリーンシェアード”または“インバリッド”にする。主メモリへのラインデータの書き戻しは“Write−Line”トランザクションを用いて行なわれるため、このときにビフォアイメージバッファへのデータ保存が発生することはない。
【0072】
以上に述べた方式によると、チェックポイント時には、コピーバックキャッシュに保持されていた更新データを主メモリに書き出すだけでよく、この時点で更新前データを保存する必要がなくなるため、チェックポイントのオーバヘッドを小さくすることができる。
【0073】
また、メモリ制御部を改造せずに、容易にメモリ状態回復機能を提供することができる。
ところが、上記した方式では、バス76に“Invalidate”トランザクションが発行されたとき、更新前のキャッシュラインデータを得るために、前記“Invalidate”トランザクションをアボートし、“Read−Line”トランザクションを発行しなければならない。
【0074】
また、このために発行した“Read−Line”トランザクションが完了するまで、前記“Invalidate”トランザクションをアボートし続けなければならない。即ち、バス76に通常の処理とは無関係のトランザクションが発行されるため、オーバヘッドになっていた。
【0075】
【発明が解決しようとする課題】
上記したように、コピーバック型のキャッシュを用いたコンピュータシステムに於ける従来のメモリ状態回復機能を実現する方式は、バス76に“Invalidate”トランザクションが発行されたとき、更新前のキャッシュラインデータを得るために、“Invalidate”トランザクションをアボートし、“Read−Line”トランザクションを発行しなければならず、又、発行した“Read−Line”トランザクションが完了するまで、“Invalidate”トランザクションをアボートし続けなければならないため、バス76に通常の処理とは無関係のトランザクションが発行され、オーバヘッドになるという問題があった。
【0076】
このように従来では、メモリ状態回復機能を実現しようとしたとき、バスに通常の処理とは無関係の余分なトランザクションを発行しなければならず、従ってオーバヘッドになるという問題があった。
【0077】
本発明は上記実情に鑑みなされたもので、バスに通常の処理とは無関係の余分なトランザクションを発行することなく、メモリ状態を回復できる計算機システム及びメモリ状態復元装置を提供することを目的とする。
【0078】
【課題を解決するための手段】
本発明は、プロセッサに対応して設けられるコピーバック型のキャッシュと、主メモリ上に於ける更新前データとそのアドレスとの組を格納するバッファとを備えた計算機システムに於いて、前記キャッシュに対応して、該当するキャッシュのクリーンな状態を保持するキャッシュデータ保持手段を設け、前記キャッシュデータ保持手段のデータをもとに前記バッファを用いて前記主メモリの状態を復元する制御手段とを具備して、バスに通常の処理とは関係のない余分なトランザクションを発行することなくメモリ状態を回復できるようにしたことを特徴とする。
【0079】
又、本発明は、プロセッサに対応して設けられるコピーバック型のキャッシュと、主メモリ上に於ける更新前データとそのアドレスとの組を格納するバッファとを備えた計算機システムに於いて、前記キャッシュのクリーンな状態を保持するnウェイセットアソシエィティブキャッシュ型のキャッシュデータ保持手段を設け、前記キャッシュデータ保持手段のデータをもとに前記バッファを用いて前記主メモリの状態を復元する制御手段とを具備して、キャッシュとキャッシュデータ保持手段(ビフォアイメージキャッシュ)とを対応付けた構成を採らずに、バスに通常の処理とは関係のない余分なトランザクションを発行することなくメモリ状態を回復できるようにしたことを特徴とする。
【0080】
又、上記計算機システムに於いて、キャッシュデータ保持手段及び当該保持データにより主メモリの状態を復元する制御手段が拡張用のボードにより提供され又は標準装備されることを特徴とする。
【0081】
又、本発明は、プロセッサに対応して設けられ、前記プロセッサからのアクセス要求に応じて各種のトランザクションを発行するデータ一貫性保持機能を有する少なくとも一つのコピーバック型のキャッシュと、前記プロセッサの処理に必要なデータを保持する主メモリと、前記主メモリに対するアクセスを制御するメモリ制御手段と、前記少なくとも一つのキャッシュと前記メモリアクセス制御手段とが接続されるバスとを備えた計算機システムのメモリ状態復元装置に於いて、前記主メモリに於ける更新前データとそのアドレスとの組を格納するバッファと、前記キャッシュに対応して設けられ、前記キャッシュからのリード要求に対する主メモリからの応答データを格納するビフォアイメージキャッシュと、前記バスに接続され前記キャッシュからの各種トランザクションをスヌープする手段と、前記キャッシュのリード要求に対するメモリからの応答データをスヌープし、前記ビフォアイメージキャッシュに格納する手段と、前記キャッシュがライト要求を発行したとき前記主メモリが更新される前のデータを前記バッファメモリへ格納するために前記ビフォアイメージキャッシュから該当キャッシュラインデータを読み出す手段をもつビフォアイメージキャッシュ制御手段と、前記ビフォアイメージキャッシュから読み出されたデータ及び対応するアドレスを前記バッファに格納するバッファアクセス制御手段とを具備して、メモリ制御手段その他には手を加えず、バスに主メモリから更新前のデータを読み出すためのリード要求を発行しなくても、付加ハードウェアによりメモリ状態復元機能が実現できるようにしたことを特徴とする。
【0082】
又、上記メモリ状態復元装置に於いて、ビフォアイメージキャッシュの状態を管理するために、少なくとも1ビットのモディファイドビットを備えたビフォアイメージキャッシュであって、ビフォアイメージキャッシュの制御手段は、主メモリあるいは他のプロセッサからの対応するキャッシュラインからデータを読み出すトランザクションであるとき、当該トランザクションにより示されるビフォアイメージキャッシュの該当キャッシュラインのモディファイドビットをモディファイドでない状態にする手段と、キャッシュから発行されるトランザクションが他のプロセッサの対応するキャッシュラインの無効化を指示するトランザクションであるとき、当該トランザクションにより示されるビフォアイメージキャッシュの該当キャッシュラインのモディファイドビットをモディファイド状態にする手段と、キャッシュから発行されたリード要求により、ビフォアイメージキャッシュのモディファイドラインが置換されるとき、前記主メモリが更新される前のデータをバッファへ格納するために、ビフォアイメージキャッシュから置換されるキャッシュラインを読み出す手段とを具備してなることを特徴とする。
【0083】
又、上記メモリ状態復元装置に於いて、キャッシュから発行されるリード要求に於いて、キャッシュ内のモディファイドラインが置換されることを示すモディファイドライン置換信号を備え、ビフォアイメージキャッシュ制御手段は、モディファイドライン置換信号が有効であるとき、主メモリが更新される前のデータをバッファへ格納するために、ビフォアイメージキャッシュから該当キャッシュラインを読み出す手段を備えたことを特徴とする。
【0084】
又、上記メモリ状態復元装置に於いて、ビフォアイメージキャッシュ制御手段は、キャッシュから無効化要求が発行されたとき、主メモリが更新される前のデータをバッファへ格納するために当該トランザクションにより示されるビフォアイメージキャッシュから該当するキャッシュラインデータを読み出す手段を具備してなることを特徴とする。
【0085】
又、本発明は、プロセッサに対応して設けられ、前記プロセッサからのアクセス要求に応じて各種のトランザクションを発行するデータ一貫性保持機能を有する少なくとも一つのコピーバック型のキャッシュと、前記プロセッサの処理に必要なデータを保持する主メモリと、前記主メモリに対するアクセスを制御するメモリ制御手段と、前記少なくとも一つのキャッシュと前記メモリアクセス制御手段とが接続されるバスとを備えた計算機システムのメモリ状態復元装置に於いて、
nウェイセットアソシエィティブキャッシュ型のビフォアイメージキャッシュを設け、当該ビフォアイメージキャッシュの制御手段に、キャッシュから発行されるリード要求のアドレスがビフォアイメージキャッシュ内にあるか否かを判定するためのタグ比較手段を設けて、プロセッサのリード要求がビフォアイメージキャッシュにミスしたとき、主メモリが更新される前のデータをバッファへ格納するためにビフォアイメージキャッシュの該当するセット中の全てのラインを読み出す手段と、前記ビフォアイメージキャッシュの該当するセット中のラインから置換するラインを選択し、前記リード要求に対する応答データを選択したキャッシュラインへ格納する手段とを具備して、プロセッサに接続されたキャッシュとビフォアイメージキャッシュとの構成を異ならせて、バスに主メモリから更新前のデータを読み出すためのリード要求を発行しなくてもメモリ状態復元機能が実現できることを特徴とする。
【0086】
又、上記nウェイセットアソシエィティブキャッシュ型のビフォアイメージキャッシュを設けてなるメモリ状態復元装置に於いて、ビフォアイメージキャッシュの制御手段に、キャッシュのリード要求がビフォアイメージキャッシュにミスし、ビフォアイメージキャッシュのセット中にモディファイドラインがあるとき、主メモリが更新される前のデータをバッファへ格納するために、モディファイドライン全てを読み出す手段と、リード要求がビフォアイメージキャッシュにミスし、ビフォアイメージキャッシュの該当するセット中にモディファイドラインがないとき、ビフォアイメージキャッシュの該当するセット中のラインから置換するラインを選択し、主メモリが更新される前のデータをバッファへ格納するために、選択したラインを読み出す手段とを具備してなることを特徴とする。
【0087】
又、上記nウェイセットアソシエィティブキャッシュ型のビフォアイメージキャッシュを有してなるメモリ状態復元装置に於いて、ビフォアイメージキャッシュの制御手段に、キャッシュから発行されるリード要求のアドレスがビフォアイメージキャッシュ内にあるか否かを判定するためのタグ比較手段を備え、プロセッサのリード要求がビフォアイメージキャッシュにミスしたとき、主メモリが更新される前のデータをバッファへ格納するために、ビフォアイメージキャッシュの該当するセット中の全てのラインを読み出す手段と、ビフォアイメージキャッシュの該当するセット中のラインから置換するラインを選択し、リード要求に対する応答データを選択したキャッシュラインへ格納する手段とを具備してなることを特徴とする。
【0088】
【発明の実施の形態】
以下図面を参照して本発明の実施形態を説明する。
第1実施形態
先ず、図1乃至図5を参照して本発明の第1実施形態を説明する。
【0089】
図1は本発明の第1実施形態に係るメモリ状態回復機能を有するコンピュータシステムの構成を示すブロック図である。
図1に示す第1実施形態のコンピュータシステムに於いては、N個のプロセッサ14〜15と、各プロセッサに対応するN個のキャッシュ17〜18が設けられている。
【0090】
キャッシュ17〜18は、メモリ制御部20、及びビフォアイメージバッファ制御部21と、バス16を介して接続されている。
ビフォアイメージバッファ制御部21は、バスインタフェース制御部211、状態保存制御部212、バッファアクセス制御部214、及びキャッシュ制御部215を有している。
【0091】
バスインタフェース制御部211は、バス16と直接接続され、バスの制御を行なう。バスインタフェース制御部211は、常時、バス16を監視しており、バス16に発行されたトランザクションに応じて動作する。
【0092】
状態保存制御部212は、主メモリ12の状態を保存するために必要な各種機能を制御する。バッファアクセス制御部214は、ビフォアイメージバッファ13と接続されビフォアイメージバッファに対するアクセスを制御する。
【0093】
キャッシュ制御部215は、後述するビフォアイメージキャッシュ30〜31と接続され、ビフォアイメージキャッシュ30〜31に対するアクセスを制御する。
【0094】
キャッシュ17〜18は、コピーバック型のキャッシュであり、上述した従来技術で説明した方式に従って、データ一貫性保持のためのプロトコルを実現する。
【0095】
キャッシュ17〜18は、上述した従来技術と同様の構成をもち、キャッシュラインデータを保持するデータメモリと、データメモリに格納された各キャッシュラインデータを管理する情報を保持するためのタグメモリから構成される。
【0096】
又、タグメモリも上述した従来技術と同様の構成をもち、従来技術と同様の方式により状態を管理する。
ビフォアイメージキャッシュ30〜31は、それぞれ、各プロセッサに接続されたキャッシュ17〜18と同様の構成をもち、キャッシュ17〜18のリードデータのコピーを格納するためのデータメモリと、データメモリに格納された各キャッシュラインデータを管理するためのタグメモリから構成される。
【0097】
タグメモリの構成は、キャッシュ17〜18と同じでもよいが、この実施形態では状態管理が不要である。
コピーバックキャッシュに関連したバストランザクションは、従来技術と同様であり、次のようなものを含む。
【0098】
“Read−Line”(キャッシュラインデータのリード)。
“Read−Line−with−Invalidate”(キャッシュラインデータのリード、及び他のキャッシュに格納されたデータ無効化)。
【0099】
“Write−Line”(キャッシュラインデータのライト)。
“Invalidate”(他のキャッシュに格納されたデータ無効化)。
これらの各機能は、従来技術と同様である。
【0100】
バス16は、シェアード応答信号線(shared)161、モディファイド応答信号線(modified)162、バスコマンド信号線(command )163、プロセッサID信号線(ID)165、及びアドレス/データ信号線(address/data)164を含む。一般には、この他にアービトレーションを行なうための信号線などを含むが、本発明の主旨には直接関係しないので、その説明を省略する。
【0101】
プロセッサID信号線(ID)165は、トランザクションを発行したプロセッサを識別するために、それぞれのプロセッサに割り振られた識別番号である。プロセッサID信号線(ID)165により、トランザクションを発行したプロセッサ(キャッシュ)に対応するビフォアイメージキャッシュを決定する。
【0102】
その他の機能は、上述した従来技術と同様である。
マスタプロセッサ及びスレーブプロセッサの動作について
マスタプロセッサおよびスレーブプロセッサの動作は上述した従来技術と同様である。
【0103】
メモリ制御部の動作について
メモリ制御部20の動作は上述した従来技術と同様である。
ビフォアイメージバッファ制御部の動作について
次に、“Write−Line”トランザクションが発行されたときに、バックアップを作成するときの、各バストランザクションに対するビフォアイメージバッファ制御部21の動作を説明する。図2乃至図5はそれぞれ上記第1実施形態の動作説明図である。
【0104】
尚、ここでは、マスタプロセッサをプロセッサ14(キャッシュ17)、当該プロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュをビフォアイメージキャッシュ30、スレーブプロセッサをプロセッサ15(キャッシュ18)、当該プロセッサ15(キャッシュ18)に対応するビフォアイメージキャッシュをビフォアイメージキャッシュ31として動作を説明する。
【0105】
又、キャッシュ17でキャッシュミスしたことにより発行されるリード要求 (“Read−Line”,”Read−Line−with−Invalidate”)よりも、キャッシュミスにより“モディファイド”ラインを主メモリ12に書き戻すために発行される“Write−Line”トランザクションが常に先に発行される。
【0106】
“Read−Line”トランザクション:バスインタフェース制御部211がバス16に発行された“Read−Line”トランザクションをスヌープすると、状態保存制御部212とキャッシュ制御部215を起動する。
【0107】
状態保存制御部212は、“Read−Line”トランザクションに対して、メモリ制御部20が主メモリ12から読み出しバス16へ出力したデータを取り込む。
【0108】
キャッシュ制御部215は、プロセッサID信号線165で示されるプロセッサ14(キャッシュ17)に対応したビフォアイメージキャッシュ30の該当キャッシュラインへ、“Read−Line”トランザクションに対する応答データを格納する(図2(1−a),図5(1−d)参照)。
【0109】
“Invalidate”トランザクション:何もしない(図3(1−b)参照)。
“Read−Line−with−Invalidate”トランザクション:“Read−Line”トランザクションと同じ動作をする。
【0110】
“Write−Line”トランザクション:バスインタフェース制御部211がバス16に発行された“Write−Line”トランザクションをスヌープすると、キャッシュ制御部215を起動する。
【0111】
キャッシュ制御部215は、プロセッサID信号線(ID)165で示されるプロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30の該当キャッシュラインを読み出し、状態保存制御部212を起動する。
【0112】
状態保存制御部212は、バッファアクセス制御部214を起動し、ビフォアイメージキャッシュ30から読み出したキャッシュラインデータをバッファアクセス制御部214に転送して、アドレス値とともにビフォアイメージバッファ13に書き込ませる(図4(1−c)参照)。
【0113】
このように、コピーバック型のキャッシュに於いて、プロセッサがストアを行なうとき、必ずキャッシュラインをリードしてから、キャッシュを更新するので、ビフォアイメージキャッシュ内には更新前のデータが記録されている。
【0114】
このため、メモリが更新されるときに(“Write−Line”が発行された)、更新されるキャッシュラインデータをビフォアイメージバッファ13に保存することができる。
【0115】
チェックポイント処理について
チェックポイント処理は上述した従来技術と同様の処理を行ない、更に次の処理を行なう。
【0116】
キャッシュ14〜15のキャッシュラインを全て無効化する。
又は、メモリに書き出したキャッシュラインデータをビフォアイメージキャッシュに格納する。
【0117】
このとき、ビフォアイメージキャッシュに書き込む前に、そのキャッシュラインのデータをビフォアイメージキャッシュから読み出し、ビフォアイメージバッファ13に格納する。この動作は通常のバックアップをとる動作と同様である。
【0118】
上記したような第1実施形態の機能により、メモリ制御手段その他には手を加えず、バスに主メモリから更新前のデータを読み出すためのリード要求を発行しなくても、付加ハードウェアによりメモリ状態復元機能が実現できる。
【0119】
第2実施形態
次に、図6乃至図10を参照して本発明の第2実施形態を説明する。
図6は本発明の第2実施形態に係るメモリ状態回復機能を有するコンピュータシステムの構成を示すブロック図である。
【0120】
この第2実施形態では“Read−Line”トランザクションが発行されたときに、バックアップを作成するためのビフォアイメージバッファ制御部21の動作に特徴をもつ。
【0121】
この第2実施形態の構成は次の点を除いて上記第1実施形態と同様である。
ビフォアイメージバッファ制御部21は、バス16に発行されたトランザクションに対して応答を返す機能を制御するためのバストランザクション応答制御部213を備える。
【0122】
ビフォアイメージキャッシュ30〜31は、“モディファイド”状態を管理するために、モディファイド(M)ビットを備える。
ビフォアイメージキャッシュ30〜31の状態を管理するためのモディファイド(M)ビットは、モディファイドビット(M)が(“1”)のとき、そのラインが“モディファイド”であることを示す。(“0”)のとき、“モディファイドでない”つまり、“クリーン・シェアード”、“クリーン・エクスクルーシブ”、又は“インバリッド”であることを示す。
【0123】
チェックポイント時は、ビフォアイメージキャッシュ30〜31の状態を全て“モディファイでない”にする。
次に、各バストランザクションに対するビフォアイメージバッファ制御部21の動作を説明する。
【0124】
図7乃至図10はそれぞれ上記第2実施形態の動作説明図である。
“Read−Line”トランザクション:バスインタフェース制御部211がバス16に発行された“Read−Line”トランザクションをスヌープすると、状態保存制御部212とキャッシュ制御部215を起動する。
【0125】
状態保存制御部212は、バストランザクション応答制御部213を起動する。バストランザクション応答制御部213は、バスインタフェース制御部211を介してシェアード応答信号をシェアード応答信号線161にアサートする。
【0126】
これによって、マスタプロセッサ14(キャッシュ17)が現在対象としているキャッシュラインの状態を“クリーンエクスクルーシブ”ではなく、“クリーンシェアード”の状態にすることができる。
【0127】
そして、この後、当該キャッシュラインが置換されるときに、更新前のデータを保存することを可能としている。
また、状態保存制御部212は、“Read−Line”トランザクションに対して、メモリ制御部20が主メモリ12から読み出しバス16へ出力したデータを取り込む。
【0128】
尚、プロセッサ及びキャッシュの機能として、“クリーンエクスクルーシブ”状態を避ける方法がある場合には、ビフォアイメージバッファ制御部21がシェアード応答信号をアサートする必要はない。
【0129】
キャッシュ制御部215は、プロセッサID信号線165で示されるプロセッサ14(キャッシュ17)に対応したビフォアイメージキャッシュ30から該当するタグメモリを読み出す。
【0130】
ビフォアイメージキャッシュ30から読み出したラインが“モディファイドでない”ときであって、モディファイド応答信号線162がアサートされないとき、キャッシュ制御部215は、プロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30の該当キャッシュラインへ“Read−Line”トランザクションに対する応答データを格納する(図7参照)。
【0131】
ビフォアイメージキャッシュ30から読み出したラインが“モディファイドでない”ときであって、モディファイド応答信号線162がアサートされたとき、キャッシュ制御部215は、モディファイド応答信号線162をアサートしたプロセッサ15(キャッシュ18)に対応するビフォアイメージキャッシュ31から該当キャッシュラインを読み出し、そのラインを“モディファイドでない”とする。
【0132】
そして、状態保存制御部212は、バッファアクセス制御部214を起動し、ビフォアイメージキャッシュ31から読み出したキャッシュラインデータをバッファアクセス制御部214に転送して、アドレス値とともにビフォアイメージバッファ13に書き込ませる。
【0133】
ビフォアイメージキャッシュ30から読み出したラインが“モディファイド”のとき、キャッシュ制御部215は、プロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30から該当キャッシュラインデータを読み出す。
【0134】
そして、“Read−Line”トランザクションに対する応答データをプロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30の該当キャッシュラインへ書き込む。
【0135】
状態保存制御部212は、バッファアクセス制御部214を起動し、ビフォアイメージキャッシュ30から読み出したキャッシュラインデータをバッファアクセス制御部214に転送して、アドレス値とともにビフォアイメージバッファ13に書き込ませる(図9参照)。
【0136】
ビフォアイメージキャッシュ30の該当キャッシュラインの状態を“モディファイドでない”とする。
“Invalidate”トランザクション:バスインタフェース制御部211がバス16に発行された“In−validate”トランザクションをスヌープすると、キャッシュ制御部215は、プロセッサID信号線(ID)165で示されるプロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30の該当キャッシュラインの状態を“モディファイド”とする(図8参照)。
【0137】
“Read−Line−with−Invalidate”トランザクション:ビフォアイメージキャッシュ30の状態を“モディファイド”とすることを除いて、“Read−Line”トランザクションと同様である。
【0138】
但し、モディファイド応答信号162がアサートされた場合、プロセッサ15(キャッシュ18)に対応するビフォアイメージキャッシュ31の該当キャッシュラインの更新前データをビフォアイメージバッファ13に格納するので、ビフォアイメージキャッシュ30の該当キャッシュラインが置き換えられるときには、バックアップを作成する必要はない。このため、ビフォアイメージキャッシュ30の該当ラインの状態を“モディファイド”にする必要はない。
【0139】
“Write−Line”トランザクション:何もしない(図10参照)。
第3実施形態
この第3実施形態は、上記第2実施形態に於いて、リード要求(“Read−Line”,“Read−Line−with−Invalidate”)が発行されたときに、前記リード要求により“モディファイド”ラインが置き換えられることを示すモディファイドライン置換信号が出力される場合の動作に特徴をもつ。尚、この第3実施形態では、ビフォアイメージキャッシュ30〜31の状態を管理するためのモディファイド(M)ビットは不要である。又、バストランザクション応答制御部は必要ない。つまり、キャッシュの状態が“クリーン・エクスクルーシブ”の状態を持つことがある。
【0140】
“Read−Line”トランザクション:バスインタフェース制御部211がバス16に発行された“Read−Line”トランザクションをスヌープすると、キャッシュ制御部215を起動する。
【0141】
また、状態保存制御部212は、“Read−Line”トランザクションに対して、メモリ制御部20が主メモリ12から読み出しバス16へ出力したデータを取り込む。
【0142】
“Read−Line”トランザクションにより“モディファイド”ラインが置き換えられるとき、モディファイドライン置換信号がアサートされる。
このとき、キャッシュ制御部215は、プロセッサID信号線(ID)165で示されるプロセッサ14(キャッシュ17)に対応したビフォアイメージキャッシュ30から該当キャッシュラインデータを読み出し、状態保存制御部212に渡す。
【0143】
そして、“Read−Line”トランザクションに対する応答データを、プロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30へ書き込む。
【0144】
状態保存制御部212は、バッファアクセス制御部214を起動し、ビフォアイメージキャッシュ30から読み出したキャッシュラインデータをバッファアクセス制御部214に転送して、アドレス値とともにビフォアイメージバッファ13に書き込ませる。
【0145】
モディファイドライン置換信号がアサートされず、モディファイド応答信号線162がアサートされたとき、キャッシュ制御部215は、モディファイド応答信号線162をアサートしたプロセッサ15(キャッシュ18)に対応するビフォアイメージキャッシュ31から該当キャッシュラインを読み出す。
【0146】
そして、“Read−Line”トランザクションに対する応答データを、プロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30へ書き込む。
【0147】
状態保存制御部212が、バッファアクセス制御部214を起動し、ビフォアイメージキャッシュ31から読み出したキャッシュラインデータをバッファアクセス制御部214に転送して、アドレス値と共にビフォアイメージバッファ13に書き込ませる。
【0148】
モディファイドライン置換信号がアサートされず、モディファイド応答信号線162もアサートされないとき、キャッシュ制御部215は、“Read−Line”トランザクションに対する応答データを、プロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30へ書き込む。
【0149】
“Invalidate”トランザクション:何もしない。
“Read−Line−with−Invalidate”トランザクション:“Read−Line”トランザクションと同様の動作を行なう。
【0150】
“Write−Line”トランザクション:何もしない。
第4実施形態
この第4実施形態は、上記第2、第3実施形態に於いて、リード要求時(“Read−Line”,“Read−Line−with−Invalidate”)にバックアップを作成する方法を示したが、無効化要求(“Invalidate”)が発行されたときにバックアップを作成する動作に特徴をもつ。
【0151】
この第4実施形態に於ける構成は、上記した第2実施形態と同様である。但し、ビフォアイメージキャッシュ30〜31の状態管理のためのモディファイド(M)ビットはない。
【0152】
“Read−Line”トランザクション:バスインタフェース制御部211がバス16に発行された“Read−Line”トランザクションをスヌープすると、状態保存制御部212とキャッシュ制御部215を起動する。
【0153】
状態保存制御部212は、バストランザクション応答制御部213を起動する。
バストランザクション応答制御部213は、バスインタフェース制御部211を介してシェアード応答信号をシェアード応答信号線(shared)161にアサートする。
【0154】
マスタプロセッサ14(キャッシュ17)が現在対象としているキャッシュラインの状態を“クリーンエクスクルーシブ”ではなく、“クリーンシェアード”の状態にすることができる。
【0155】
そして、この後、当該キャッシュラインに対してライトアクセスが発生した場合に、更新前のデータを保存することを可能としている。
また、状態保存制御部212は、“Read−Line”トランザクションに対して、メモリ制御部20が主メモリ12から読み出しバス16へ出力したデータを取り込む。
【0156】
尚、プロセッサ及びキャッシュの機能として、“クリーンエクスクルーシブ”状態を避ける方法がある場合には、ビフォアイメージバッファ制御部21がシェアード応答信号をアサートする必要はない。
【0157】
キャッシュ制御部215は、プロセッサID信号線(ID)165で示されるプロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30の該当ラインへ、“Read−Line”トランザクションに対する応答データを書き込む。
【0158】
“Invalidate”トランザクション:バスインタフェース制御部211がバス16に発行された“In−validate”トランザクションをスヌープすると、プロセッサID信号線165で示されるプロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30の該当ラインを読み出し、状態保存制御部212へ渡す。
【0159】
状態保存制御部212は、バッファアクセス制御部214を起動し、ビフォアイメージキャッシュ30から読み出したキャッシュラインデータをバッファアクセス制御部214に転送して、アドレス値とともにビフォアイメージバッファ13に書き込ませる。
【0160】
“Read−Line−with−Invalidate”トランザクション:バスインタフェース制御部211がバス16に発行された“Read−Line−with−Invalidate”トランザクションをスヌープすると、状態保存制御部212とキャッシュ制御部215を起動する。
【0161】
状態保存制御部212は、“Read−Line−with−Invalidate”トランザクションに対して、メモリ制御部20が主メモリ12から読み出しバスへ出力したデータを取り込む。
【0162】
モディファイド応答信号線162がアサートされない場合、キャッシュ制御部215は、プロセッサID信号線(ID)165で示されるプロセッサ14(キャッシュ17)に対応したビフォアイメージキャッシュ30の該当ラインを読み出し、状態保存制御部212へ渡す。
【0163】
そして、ビフォアイメージキャッシュ30の該当ラインへ、“Read−Line−with−Invalidate”トランザクションに対する応答データを書き込む。
【0164】
状態保存制御部212は、バッファアクセス制御部214を起動し、ビフォアイメージキャッシュ30から読み出したキャッシュラインデータをバッファアクセス制御部214に転送して、アドレス値とともにビフォアイメージバッファ13に書き込ませる。
【0165】
モディファイド応答信号162がアサートされた場合、キャッシュ制御部215は、プロセッサID信号線(ID)165で示されるプロセッサ14(キャッシュ17)に対応するビフォアイメージキャッシュ30の該当ラインへ、“Read−Line”トランザクションに対する応答データを書き込む。
【0166】
このとき、該当キャッシュラインは既に更新されており、更新前のデータは、ビフォアイメージバッファ13に格納されている。従って、状態保存制御部212は何もしない。
【0167】
“Write−Line”トランザクション:何もしない。
第5実施形態
この第5実施形態は、ビフォアイメージキャッシュが、プロセッサに接続されたキャッシュと構成を異にすることを特徴とする。
【0168】
図11は本発明の第5実施形態に係るメモリ状態回復機能を有するコンピュータシステムの構成を示すブロック図である。
この第5実施形態に於ける構成は、次の点を除いて上述した第2実施形態と同様である。
【0169】
a.プロセッサID信号がない。つまり、どのプロセッサが発行したトランザクションか識別することができない。
b.ビフォアイメージキャッシュ30が一つのnウェイ・セット・アソシエィティブ・キャッシュ型(n≧1)で構成されている。
【0170】
次に、ビフォアイメージバッファ制御部21の動作をそれぞれのトランザクション毎に説明する。
“Read−Line”トランザクション:バスインタフェース制御部211がバス16に発行された“Read−Line”トランザクションをスヌープすると、状態保存制御部212とキャッシュ制御部215を起動する。
【0171】
状態保存制御部212は、バストランザクション応答制御部213を起動する。
バストランザクション応答制御部213は、バスインタフェース制御部211を介してシェアード応答信号をシェアード応答信号線(shared)161にアサートする。
【0172】
マスタプロセッサ14(キャッシュ17)が現在対象としているキャッシュラインの状態を“クリーンエクスクルーシブ”ではなく、“クリーンシェアード”の状態にすることができる。
【0173】
そして、この後、当該キャッシュラインが置換されるときに、更新前のデータを保存することを可能としている。
また、状態保存制御部212は、“Read−Line”トランザクションに対して、メモリ制御部20が主メモリ12から読み出しバス16へ出力したデータを取り込む。
【0174】
尚、プロセッサおよびキャッシュの機能として、“クリーンエクスクルーシブ”状態を避ける方法がある場合には、ビフォアイメージバッファ制御部21がシェアード応答信号をアサートする必要はない。
【0175】
キャッシュ制御部215は、ビフォアイメージキャッシュ30からタグメモリを読み出す。
ビフォアイメージキャッシュ30にヒットしたとき、何もしない。
【0176】
ビフォアイメージキャッシュ30にミスし、モディファイド応答信号162がアサートされた場合、そのラインは既にバックアップされているので何もしない。
【0177】
ビフォアイメージキャッシュ30にミスし、モディファイド応答信号線(modified)162がアサートされない場合で、ビフォアイメージキャッシュ30の該当セット内に一つ以上の“モディファイド”ラインがあるとき、キャッシュ制御部215は、ビフォアイメージキャッシュ30から全ての“モディファイド”ラインのデータを読み出し、状態保存制御部212に渡す。
【0178】
そして、キャッシュ制御部215は、セット内の“モディファイド”ラインの中から置換するラインを選択し、“Read−Line”トランザクションの応答データを書き込む。セット内の全ての“モディファイド”ラインの状態を“モディファイドでない”にする。
【0179】
状態保存制御部212は、バッファアクセス制御部214によって、前記“モディファイド”ラインのデータをビフォアイメージバッファ13へ書き込ませる。
【0180】
ビフォアイメージキャッシュ30にミスし、モディファイド応答信号線(modified)162がアサートされない場合で、ビフォアイメージキャッシュ30のセット内に“モディファイド”ラインが一つもないとき、
キャッシュ制御部215は、セット内から置換するキャッシュラインを選択し、データを読み出し、状態保存制御部212に渡す。そして、前記キャッシュラインへ“Read−Line”トランザクションに対する応答データを書き込む。
【0181】
状態保存制御部212は、バッファアクセス制御部214によって、前記キャッシュラインデータをビフォアイメージバッファ13へ書き込ませる。
ビフォアイメージキャッシュ30の該当キャッシュラインの状態を“モディファイドでない”とする。
【0182】
“Invalidate”トランザクション:バスインタフェース制御部211がバス16に発行された“In−validate”トランザクションをスヌープすると、キャッシュ制御部215を起動する。
【0183】
キャッシュ制御部215は、ビフォアイメージキャッシュ30からタグメモリを読み出す。
ビフォアイメージキャッシュ30にヒットした場合、そのキャッシュラインの状態を“モディファイド”にする。
【0184】
ビフォアイメージキャッシュ30にミスした場合、そのラインは既にビフォアイメージバッファ13に格納されている。従って何もしない。
“Read−Line−with−Invalidate”トランザクション:ビフォアイメージキャッシュの状態を“モディファイド”にすることを除いて、“Read−Line”トランザクションと同様である。
【0185】
“Write−Line”トランザクション:何もしない。
このように第5実施形態に於いては、プロセッサに接続されたキャッシュとビフォアイメージキャッシュの構成が異なることを可能とする。
【0186】
第6実施形態
図12は本発明の第6実施形態に係るメモリ状態回復機能を有するコンピュータシステムの構成を示すブロック図である。
【0187】
この図12に示す第6実施形態では、ビフォアイメージキャッシュ30〜31が、キャッシュ17〜18と構成が異なる場合の他の実施形態を示している。
この第6実施形態に於ける構成は、次の点を除いて上述した第3実施形態と同様である。
【0188】
a.プロセッサID信号がない。つまり、どのプロセッサが発行したトランザクションか識別することができない。
b.ビフォアイメージキャッシュ30が一つのnウェイ・セット・アソシエィティブ・キャッシュ型(n≧1)で構成されている。
【0189】
c.リード要求(“Read−Line”,“Read−Line−with−Invalidate”)に対する主メモリ12からの応答データとアドレスを記録するための一時バッファ216を持つ。
【0190】
次に、ビフォアイメージバッファ制御部21の動作をそれぞれのトランザクション毎に説明する。
“Read−Line”トランザクション:バスインタフェース制御部211がバス16に発行された“Read−Line”トランザクションをスヌープすると、キャッシュ制御部215を起動する。
【0191】
また、状態保存制御部212は、“Read−Line”トランザクションに対して、メモリ制御部20が主メモリ12から読み出しバスへ出力したデータを取り込む。
【0192】
リード要求により“モディファイド”ラインが置き換えられるとき、モディファイドライン置換信号線(replace )167がアサートされる。
このとき、状態保存制御部212は、“Read−Line”トランザクションに対する応答データをアドレスとともに一時バッファ216に記録する。
【0193】
モディファイドライン置換信号線(replace )167がアサートされておらず、ビフォアイメージキャッシュ30にヒットした場合は何もしない。
モディファイドライン置換信号がアサートされておらず、ビフォアイメージキャッシュ30ミスし、モディファイド応答信号線(modified)162がアサートされた場合、そのラインは、すでにバックアップされているので何もしない。
【0194】
モディファイドライン置換信号線(replace )167がアサートされておらず、ビフォアイメージキャッシュ30にミスし、モディファイド応答信号線(modified)162がアサートされない場合、キャッシュ制御部215は、セット内から置換するキャッシュラインを選択し、データを読み出し、状態保存制御部212に渡す。そして、前記キャッシュラインへ“Read−Line”トランザクションに対する応答データを書き込む。
【0195】
状態保存制御部212は、バッファアクセス制御部214によって、前記キャッシュラインデータをビフォアイメージバッファ13へ書き込ませる。
“Invalidate”トランザクション:何もしない。
【0196】
“Read−Line−with−Invalidate”トランザクション:“Read−Line”トランザクションと同様の動作を行なう。
“Write−Line”トランザクション:バスインタフェース制御部211がバス16に発行された“Write−Line”トランザクションをスヌープすると、キャッシュ制御部215を起動する。
【0197】
キャッシュ制御部215は、ビフォアイメージキャッシュ30からタグメモリを読み出す。
“Write−Line”トランザクションがビフォアイメージキャッシュ30にヒットした場合、キャッシュ制御部215は、ヒットしたキャッシュラインデータを読み出し、状態保存制御部212へデータを渡す。
【0198】
そして、一時バッファ216に記録されているアドレスとデータを前記キャッシュラインへ書き込む。
状態保存制御部212は、キャッシュ制御部215によって読み出されたキャッシュラインデータをバッファアクセス制御部214によって、ビフォアイメージバッファ13へ書き込ませる。
【0199】
“Write−Line”トランザクションがビフォアイメージキャッシュ30にミスした場合、キャッシュ制御部215は、セット内から置換するラインを選択する。
【0200】
選択したキャッシュラインのデータを読み出し、状態保存制御部212へ渡す。
そして、一時バッファ216に記録されているアドレスとデータを前記キャッシュラインへ書き込む。
【0201】
状態保存制御部212は、キャッシュ制御部215によって読み出されたキャッシュラインデータをバッファアクセス制御部214によって、ビフォアイメージバッファ13へ書き込ませる。
【0202】
このように第6実施形態に於いては、プロセッサに接続されたキャッシュとビフォアイメージキャッシュの構成が異なることを可能とする。
その他の実施形態
上述した第1、第3、第6実施形態に於いては、プロセッサに接続されたキャッシュの状態が“クリーンエクスクルーシブ”になることを許す。又、第2、第4、第5実施形態に於いては従来例と同様に、キャッシュが“クリーンエクスクルーシブ”の状態にならないよう制御する必要がある。但し、ビフォアイメージキャッシュで、“クリーンエクスクルーシブ”と“クリーンシェアード”の状態を管理し、“クリーンエクスクルーシブ”を“モディファイド”と同様に扱うことによって、バストランザクション応答制御部が不要となり、プロセッサに接続されたキャッシュが“クリーンエクスクルーシブ”の状態になることを許す。
【0203】
第5、第6実施形態では、ビフォアイメージキャッシュが、プロセッサに接続されたキャッシュと構成が異なる場合、又は、プロセッサに接続されたキャッシュがnウェイ・セット・アソシエィティブ・キャッシュ型で、置換されたラインが分からないときや、どのプロセッサが発行した要求か分からないときなどの理由により、ビフォアイメージキャッシュがプロセッサに接続されたキャッシュの状態を正確に追従できない場合に対応することができる。
【0204】
又、従来方式と同様に、ビフォアイメージバッファを主メモリの一部を利用して実施することも可能である。この際は独立したバッファメモリを設けることなく安価に実現できる。
【0205】
又、前記実施形態に於いては、複数のプロセッサ14〜15を持つマルチプロセッサシステムを例に説明したが、キャッシュが同様の機能を持っていれば、単一プロセッサから成るコンピュータシステムに対しても適用することが可能である。又、キャッシュが単一でなく、階層構造をとる場合にも同様に適用可能である。
【0206】
このようにして、ビフォアイメージバッファ制御部は、あるキャッシュ又はプロセッサがバス16にリード要求(“Read−Line”,“Read−Line−with−Invalidate”)を発行したときに、そのリードデータをビフォアイメージキャッシュに格納し、そのラインがライトまたは、置換されるときに、ビフォアイメージキャッシュに保持された更新前のキャッシュラインデータをビフォアイメージバッファに保存する。
【0207】
即ち、既存のコンピュータシステムのバス、プロセッサ、キャッシュ、メモリ制御部には何ら手を加えずに、バスにビフォアイメージバッファ制御部を付加することにより、メモリ状態回復機能を実現することが可能となる。
【0208】
又、主メモリを更新する前のデータを読み出すために、バスへトランザクションを発行する必要がない。
尚、本発明は、上記実施形態に限定されるものではなく、本発明の要旨の範囲で種々の変形実施が可能である。
【0209】
【発明の効果】
以上詳記したように本発明によれば、バスに通常の処理とは無関係の余分なトランザクションを発行することなく、メモリ状態を回復できる計算機システム及びメモリ状態復元装置が提供できる。
【0210】
又、メモリ制御手段その他には手を加えず、バスに主メモリから更新前のデータを読み出すためのリード要求を発行しなくても、付加ハードウェアによりメモリ状態復元機能が実現できる。更に、このメモリ状態復元機能をプロセッサに接続されたキャッシュとビフォアイメージキャッシュとを異なる構成にて実現できる。
又、ビフォアイメージバッファを主メモリ内に設けることによって独立したバッファメモリを設けることなく安価に実現できる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係るメモリ状態回復機能を有するコンピュータシステムの構成を示すブロック図。
【図2】上記第1実施形態の動作説明図。
【図3】上記第1実施形態の動作説明図。
【図4】上記第1実施形態の動作説明図。
【図5】上記第1実施形態の動作説明図。
【図6】本発明の第2実施形態に係るメモリ状態回復機能を有するコンピュータシステムの構成を示すブロック図。
【図7】上記第2実施形態の動作説明図。
【図8】上記第2実施形態の動作説明図。
【図9】上記第2実施形態の動作説明図。
【図10】上記第2実施形態の動作説明図。
【図11】本発明の第5実施形態に係るメモリ状態回復機能を有するコンピュータシステムの構成を示すブロック図。
【図12】本発明の第6実施形態に係るメモリ状態回復機能を有するコンピュータシステムの構成を示すブロック図。
【図13】本発明で対象とするシステムの既存構成を示すブロック図。
【図14】タグメモリのエントリの一例を示す図。
【図15】上記タグメモリに於けるバリッド(V)、モディファイド(M)、シェアード(S)の組合せによるキャッシュラインの状態を示す図。
【符号の説明】
12…主メモリ、
13…ビフォアイメージバッファ、
14〜15…N個のプロセッサ、
17〜18…キャッシュ、
20…メモリ制御部、
21…ビフォアイメージバッファ制御部、
30〜31…ビフォアイメージキャッシュ、
161…シェアード応答信号線(shared)、
162…モディファイド応答信号線(modified)、
163…バスコマンド信号線(command )、
164…アドレス/データ信号線(address/data)。
165…プロセッサID信号線(ID)、
167…モディファイドライン置換信号線(replace )、
211…バスインタフェース制御部、
212…状態保存制御部、
214…バッファアクセス制御部、
215…キャッシュ制御部、
216…一時バッファ。
Claims (13)
- プロセッサに対応して設けられるコピーバック型のキャッシュと、主メモリ上に於ける更新前データとそのアドレスとの組を格納するバッファとを備えた計算機システムに於いて、前記キャッシュに対応して、該当するキャッシュのクリーンな状態を保持するキャッシュデータ保持手段を設け、前記キャッシュデータ保持手段のデータをもとに前記バッファを用いて前記主メモリの状態を復元する制御手段とを具備してなることを特徴とする計算機システム。
- プロセッサに対応して設けられるコピーバック型のキャッシュと、主メモリ上に於ける更新前データとそのアドレスとの組を格納するバッファとを備えた計算機システムに於いて、前記キャッシュのクリーンな状態を保持するnウェイセットアソシエィティブキャッシュ型のキャッシュデータ保持手段を設け、前記キャッシュデータ保持手段のデータをもとに前記バッファを用いて前記主メモリの状態を復元する制御手段とを具備してなることを特徴とする計算機システム。
- キャッシュデータ保持手段及び当該保持データにより主メモリの状態を復元する制御手段が拡張用のボードにより提供され又は標準装備される請求項1又は2記載の計算機システム。
- プロセッサに対応して設けられ、前記プロセッサからのアクセス要求に応じて各種のトランザクションを発行するデータ一貫性保持機能を有する少なくとも一つのコピーバック型のキャッシュと、前記プロセッサの処理に必要なデータを保持する主メモリと、前記主メモリに対するアクセスを制御するメモリ制御手段と、前記少なくとも一つのキャッシュと前記メモリアクセス制御手段とが接続されるバスとを備えた計算機システムに於いて、
前記主メモリに於ける更新前データとそのアドレスとの組を格納するバッファと、
前記キャッシュに対応して設けられ、前記キャッシュからのリード要求に対する主メモリからの応答データを格納するビフォアイメージキャッシュと、
前記バスに接続され前記キャッシュからの各種トランザクションをスヌープする手段と、
前記キャッシュのリード要求に対するメモリからの応答データをスヌープし、前記ビフォアイメージキャッシュに格納する手段と、
前記キャッシュがライト要求を発行したとき前記主メモリが更新される前のデータを前記バッファメモリへ格納するために前記ビフォアイメージキャッシュから該当キャッシュラインデータを読み出す手段をもつビフォアイメージキャッシュ制御手段と、
前記ビフォアイメージキャッシュから読み出されたデータ及び対応するアドレスを前記バッファに格納するバッファアクセス制御手段と
を具備してなることを特徴とする計算機システムのメモリ状態復元装置。 - ビフォアイメージキャッシュの状態を管理するために、少なくとも1ビットのモディファイドビットを備えたビフォアイメージキャッシュであって、
ビフォアイメージキャッシュの制御手段は、主メモリあるいは他のプロセッサからの対応するキャッシュラインからデータを読み出すトランザクションであるとき、当該トランザクションにより示されるビフォアイメージキャッシュの該当キャッシュラインのモディファイドビットをモディファイドでない状態にする手段と、
キャッシュから発行されるトランザクションが他のプロセッサの対応するキャッシュラインの無効化を指示するトランザクションであるとき、当該トランザクションにより示されるビフォアイメージキャッシュの該当キャッシュラインのモディファイドビットをモディファイド状態にする手段と、
キャッシュから発行されたリード要求により、ビフォアイメージキャッシュのモディファイドラインが置換されるとき、前記主メモリが更新される前のデータをバッファへ格納するために、ビフォアイメージキャッシュから置換されるキャッシュラインを読み出す手段と
を具備してなることを特徴とする請求項4記載のメモリ状態復元装置。 - キャッシュから発行されるリード要求に於いて、キャッシュ内のモディファイドラインが置換されることを示すモディファイドライン置換信号を備え、ビフォアイメージキャッシュ制御手段は、モディファイドライン置換信号が有効であるとき、主メモリが更新される前のデータをバッファへ格納するために、ビフォアイメージキャッシュから該当キャッシュラインを読み出す手段を備えたことを特徴とする請求項4記載のメモリ状態復元装置。
- ビフォアイメージキャッシュ制御手段は、キャッシュから無効化要求が発行されたとき、主メモリが更新される前のデータをバッファへ格納するために当該トランザクションにより示されるビフォアイメージキャッシュから該当するキャッシュラインデータを読み出す手段を具備してなることを特徴とする請求項4記載のメモリ状態復元装置。
- nウェイセットアソシエィティブキャッシュ型のビフォアイメージキャッシュを有し、当該ビフォアイメージキャッシュの制御手段は、キャッシュから発行されるリード要求のアドレスがビフォアイメージキャッシュ内にあるか否かを判定するためのタグ比較手段を備え、プロセッサのリード要求がビフォアイメージキャッシュにミスしたとき、主メモリが更新される前のデータをバッファへ格納するためにビフォアイメージキャッシュの該当するセット中の全てのラインを読み出す手段と、前記ビフォアイメージキャッシュの該当するセット中のラインから置換するラインを選択し、前記リード要求に対する応答データを選択したキャッシュラインへ格納する手段とを具備してなることを特徴とする請求項5記載のメモリ状態復元装置。
- ビフォアイメージキャッシュ制御手段は、キャッシュのリード要求がビフォアイメージキャッシュにミスし、ビフォアイメージキャッシュのセット中にモディファイドラインがあるとき、主メモリが更新される前のデータをバッファへ格納するために、
モディファイドライン全てを読み出す手段と、
リード要求がビフォアイメージキャッシュにミスし、ビフォアイメージキャッシュの該当するセット中にモディファイドラインがないとき、ビフォアイメージキャッシュの該当するセット中のラインから置換するラインを選択し、主メモリが更新される前のデータをバッファへ格納するために、選択したラインを読み出す手段と
を具備してなることを特徴とする請求項8記載のメモリ状態復元装置。 - nウェイセットアソシエィティブキャッシュ型のビフォアイメージキャッシュを有し、当該ビフォアイメージキャッシュの制御手段は、キャッシュから発行されるリード要求のアドレスがビフォアイメージキャッシュ内にあるか否かを判定するためのタグ比較手段を備え、プロセッサのリード要求がビフォアイメージキャッシュにミスしたとき、主メモリが更新される前のデータをバッファへ格納するために、ビフォアイメージキャッシュの該当するセット中の全てのラインを読み出す手段と、ビフォアイメージキャッシュの該当するセット中のラインから置換するラインを選択し、リード要求に対する応答データを選択したキャッシュラインへ格納する手段と
を具備してなることを特徴とする請求項6記載のメモリ状態復元装置。 - ビフォアイメージキャッシュの制御手段は、アドレスとデータを格納するための一時バッファを備え、
キャッシュからリード要求が発行されたときに、モディファイドライン置換信号が無効であるとき、ビフォアイメージキャッシュから置換するラインを選択し、主メモリが更新される前のデータをバッファへ格納するために該当するキャッシュラインを読み出す手段と、
モディファイドライン置換信号が有効であるとき、リード要求に対する応答データとアドレスを一時バッファに記録する手段と、
モディファイドラインが置換されることによって発行されるライト要求がビフォアイメージキャッシュにヒットしたとき、主メモリが更新される前のデータをバッファへ格納するために、ビフォアイメージキャッシュから該当するキャッシュラインを読み出す手段と、
ライト要求がビフォアイメージキャッシュにミスしたとき、該当するセット中のラインから置換するラインを選択し、主メモリが更新される前のデータをバッファへ格納するために該当するキャッシュラインを読み出す手段と、
一時バッファに記録したアドレスとデータを該当するキャッシュラインへ格納する手段と
を具備してなることを特徴とする請求項10記載のメモリ状態復元装置。 - バッファメモリは、主メモリ内に設けられる請求項6記載のメモリ状態復元装置。
- バッファアクセス制御手段は、プロセッサの内部状態とキャッシュ内のモディファイド状態にあるデータとを所定の時間間隔で主メモリに保存するチェックポイント実行手段を含む請求項6記載のメモリ状態復元装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34332096A JP3833760B2 (ja) | 1996-12-24 | 1996-12-24 | 計算機システム及びメモリ状態復元装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34332096A JP3833760B2 (ja) | 1996-12-24 | 1996-12-24 | 計算機システム及びメモリ状態復元装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10187535A JPH10187535A (ja) | 1998-07-21 |
JP3833760B2 true JP3833760B2 (ja) | 2006-10-18 |
Family
ID=18360616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34332096A Expired - Fee Related JP3833760B2 (ja) | 1996-12-24 | 1996-12-24 | 計算機システム及びメモリ状態復元装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3833760B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
-
1996
- 1996-12-24 JP JP34332096A patent/JP3833760B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10187535A (ja) | 1998-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6148416A (en) | Memory update history storing apparatus and method for restoring contents of memory | |
EP0750258B1 (en) | Computer system with memory state recovery | |
JP2916420B2 (ja) | チェックポイント処理加速装置およびデータ処理方法 | |
KR100233207B1 (ko) | 캐시 플러시 장치 및 이 장치를 구비한 계산기 시스템 | |
US5909699A (en) | Method and apparatus for supporting read, write, and invalidation operations to memory which maintain cache consistency | |
US5652859A (en) | Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues | |
Wu et al. | Error recovery in shared memory multiprocessors using private caches | |
US5682516A (en) | Computer system that maintains system wide cache coherency during deferred communication transactions | |
US6438659B1 (en) | Directory based cache coherency system supporting multiple instruction processor and input/output caches | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US7620954B2 (en) | Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors | |
JP2007011580A (ja) | 情報処理装置 | |
AU2071000A (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
JPH0619786A (ja) | キャッシュコヒーレンスを維持する方法及び装置 | |
US10740233B2 (en) | Managing cache operations using epochs | |
US7464227B2 (en) | Method and apparatus for supporting opportunistic sharing in coherent multiprocessors | |
WO1997004392A1 (en) | Shared cache memory device | |
US5978886A (en) | Method and apparatus for duplicating tag systems to maintain addresses of CPU data stored in write buffers external to a cache | |
KR100380674B1 (ko) | 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템 | |
JP3833760B2 (ja) | 計算機システム及びメモリ状態復元装置 | |
JP3083786B2 (ja) | メモリ更新履歴保存装置およびメモリ更新履歴保存方法 | |
JP5163061B2 (ja) | マルチプロセッサシステム、マイクロプロセッサ、及びマイクロプロセッサの障害処理方法 | |
US5813035A (en) | Microprocessor employing a technique for restoration of an aborted cycle following a snoop writeback operation | |
JP2862424B2 (ja) | 情報処理装置 | |
JP2000181790A (ja) | メモリ更新履歴保存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060705 |
|
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: 20060718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060720 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090728 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100728 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100728 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110728 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120728 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130728 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |