JPH10187535A - 計算機システム及びメモリ状態復元装置 - Google Patents

計算機システム及びメモリ状態復元装置

Info

Publication number
JPH10187535A
JPH10187535A JP8343320A JP34332096A JPH10187535A JP H10187535 A JPH10187535 A JP H10187535A JP 8343320 A JP8343320 A JP 8343320A JP 34332096 A JP34332096 A JP 34332096A JP H10187535 A JPH10187535 A JP H10187535A
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.)
Granted
Application number
JP8343320A
Other languages
English (en)
Other versions
JP3833760B2 (ja
Inventor
Tsutomu Azezaki
勉 畦崎
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP34332096A priority Critical patent/JP3833760B2/ja
Publication of JPH10187535A publication Critical patent/JPH10187535A/ja
Application granted granted Critical
Publication of JP3833760B2 publication Critical patent/JP3833760B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】本発明はバスに通常の処理とは無関係の余分な
トランザクションを発行することなくメモリ状態を回復
できるシステムを提供することを課題とする。 【解決手段】キャッシュ制御部215は、プロセッサI
D信号線165で示されるプロセッサ14(キャッシュ
17)に対応したビフォアイメージキャッシュ30の該
当キャッシュラインへ“Read-Line ”トランザクション
に対する応答データを格納するとともに、プロセッサI
D信号線(ID)165で示されるプロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0の該当キャッシュラインを読出し、状態保存制御部2
12を起動する。状態保存制御部212はバッファアク
セス制御部214を起動し、ビフォアイメージキャッシ
ュ30から読み出したキャッシュラインデータをバッフ
ァアクセス制御部214に転送して、アドレス値ととも
にビフォアイメージバッファ13に書き込ませる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コピーバック型の
キャッシュを備えた計算機システムに適用されるメモリ
状態復元装置に関する。
【0002】
【従来の技術】通常の計算機では、プログラムを実行し
て処理が一旦進んでしまうと、それ以前の状態に戻って
処理を再開するという機能手段をもたない。これに対し
て、ソフトウェアデバッギング、フォールトトレラント
システム、バックトラッキング等の各種応用技術に於い
ては、プログラムを実行し、処理が進んだ後に、それ以
前の状態に戻って処理を再開するための機能を実現する
ために、メモリの内容を以前の状態に戻し、その時点か
ら処理を継続するための機能(メモリ状態回復機能)が
必要とされる。
【0003】ここで、上記ソフトウェアデバッギング
は、プログラムの実行中に何らかのエラーが発生した場
合に、以前の状態に遡ることにより、エラーの原因を解
析することができる。また、上記フォールトトレラント
システムは、システムの動作中に何らかの故障により処
理が続行できなくなった場合に、以前の状態に戻って、
そこから処理を再開することにより、システムを停止さ
せることなく動作を継続することができる。このような
フォールトトレラント技術は、例えばPhilip A Bernste
in, "Sequoia: A Fault-Tolerant Tightly Coupled Mu
ltiprocessor forTransaction Processing," IEEE Com
puter, Vol.21, No.2, 1988 に開示されている。ま
た、上記バックトラッキングは、論理型のプログラミン
グ言語に於いて、実行状態のバックトラッキングが基本
的な操作であり、メモリの内容が以前の状態に戻る機能
を用いることによりバックトラッキングを実現すること
ができる。
【0004】上記したような「メモリ状態回復機能」を
実現する方法として、考えられている技術の一つに“バ
ックワード手法”がある。このような技術は、例えばRo
k Sosic, "History Cache: Hardware Support for Rev
erse Ex-ecution," Computer Architecture News, Vol.
22, No.5, 1994に開示されている。
【0005】又、本発明の出願人は、コピーバック型の
キャッシュを用いたコンピュータシステムに於いて、メ
モリ状態回復機能を実現する処理のオーバヘッドを低減
し、システムを効率化するために以下に示す技術を開発
した。
【0006】この方式によるシステムの一構成例を図1
3に示す。この構成例では、N個のプロセッサ74〜7
5、各プロセッサ74〜75に対応するN個のキャッシ
ュ77〜78が設けられている。キャッシュ77〜78
は、メモリ制御部20、及びビフォアイメージバッファ
制御部81と、バス76を介して接続されている。
【0007】ビフォアイメージバッファ制御部81は、
バスインタフェース制御部811、状態保存制御部81
2、バストランザクション応答制御部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:Modi
fied)、シェアード(S:Shared)の3ビッ
トの値の組合せにより管理される。
【0014】尚、バリッド(V)は、対応するキャッシ
ュラインデータが有効(“1”)であることを示す。モ
ディファイド(M)は、キャッシュ上で更新された状態
にあることを示す。シェアード(S)は、他のプロセッ
サのキャッシュ上にも同じキャッシュラインデータが保
持されていることを示す。
【0015】これら3ビットの値の組合せにより、図1
5に示すように、キャッシュラインデータは4つの状態
をとる。コピーバックキャッシュに関連した、バストラ
ンザクションは、“Read−Line”、“Writ
e−Line”、“Invalidate”を含む。
【0016】“Read−Line”(キャッシュライ
ンデータのリード)は、プロセッサからのあるアドレス
のキャッシュラインに対するリードアクセスに対して、
該当する有効なキャッシュラインデータがキャッシュに
存在せずキャッシュミスした場合に発行される。
【0017】尚、キャッシュミスは、アクセスの対象と
するキャッシュラインデータを示すアドレスがタグメモ
リに格納されていない、及びアドレスは格納されている
がバリッドビット(V)が無効(“0”)を示す場合で
ある。これに対し、キャッシュヒットは、対象とするキ
ャッシュラインデータのアドレスがタグメモリに格納さ
れ、バリッドビット(V)が有効(“1”)を示す場合
である。
【0018】“Read−Line−with−Inv
alidate”(キャッシュラインデータのリード、
及び他のキャッシュに格納されたデータ無効化)は、プ
ロセッサからのライトアクセスに対して、キャッシュミ
スした場合に発行される。
【0019】“Write−Line”(キャッシュラ
インデータのライト)は、プロセッサからの指示により
明示的にキャッシュラインデータを主メモリ72に書き
出す場合、キャッシュラインデータを置換する必要が生
じて更新データが主メモリ72に書き出される場合、及
び他のプロセッサからの要求に応じて更新データを主メ
モリ72に書き出す場合に発行される。
【0020】“Invalidate”(他のキャッシ
ュに格納されたデータ無効化)は、プロセッサからのラ
イトアクセスに対して、キャッシュに当該ラインが存在
したが、クリーンシェアードであった場合に発行され
る。このトランザクション自身はアドレスの転送のみで
あり、データ転送を伴わない。
【0021】尚、以上に示したトランザクション以外に
もサポートされることが多いが、以下の記述に直接関係
しないので、上記以外の説明は省略する。バス76は、
シェアード応答信号線(shared)、モディファイド応答
信号線(modified)、バスコマンド信号線(command
)、及びアドレス/データ信号線(address/data)を
含む。一般には、この他にアービトレーションを行なう
ための信号線などを含むが、以下の記述に直接関係しな
いので、ここではその説明を省略する。
【0022】シェアード応答信号線(shared)は、他の
プロセッサ/キャッシュにより発行されたトランザクシ
ョンに対して、トランザクションが対象としているキャ
ッシュラインデータを保持している、即ち共有している
ことを通知するために用いられる。
【0023】モディファイド応答信号線(modified)
は、他のプロセッサ/キャッシュにより発行されたトラ
ンザクションに対して、トランザクションが対象として
いるキャッシュラインデータを更新された状態で保持し
ていることを通知するために用いられる。この信号がア
サートされたときは、そのトランザクションはアボート
される。この後、トランザクションをアボートしたスレ
ーブは、バスを獲得した後、更新キャッシュラインデー
タをメモリに書き出す。一方、最初のトランザクション
を発行したマスタは、再びバスを獲得した後、同じトラ
ンザクションを再発行する。
【0024】尚、これら2つの信号線(shared),(mo
dified)が同時にアサートされたときにも同様にそのト
ランザクションはアボートされる。バスコマンド信号線
(command )は、前述したバストランザクションの種類
を示す他に、トランザクションに関する各種情報を送る
ために用いられる。
【0025】アドレス/データ信号線(address/data)
は、バストランザクションが対象とするキャッシュライ
ンデータのアドレスおよびデータを送るため信号線であ
る。図13に於いては一つに纏めて示しているが、共通
の信号線を時分割で使う方式や、アドレス/データ各々
に独立した信号線を設ける方式等も存在し、それらのい
ずれの構成であってもよい。
【0026】次に、マルチプロセッサシステムの動作、
即ち、前述したバストランザクションを用いてキャッシ
ュ間のデータ一貫性保持プロトコルがどのように実現さ
れているかについて説明する。
【0027】ここでは、トランザクションを発行してア
クセスを起動する側のプロセッサ及びキャッシュ(マス
タプロセッサ)、あるプロセッサ/キャッシュが発行し
たトランザクションに対して動作する他のプロセッサ及
びキャッシュ(スレーブプロセッサ)、及びメモリ制御
部80のそれぞれの動作について説明する。
【0028】a.マスタプロセッサの動作について 先ず、トランザクションを発行してアクセスを起動する
マスタプロセッサの動作と、発行されたトランザクショ
ンに対応するキャッシュの状態遷移について説明する。
尚、ここではマスタプロセッサが、プロセッサ74(キ
ャッシュ77)であるとして説明する。
【0029】リードアクセス(キャッシュヒット):プ
ロセッサ74がリードアクセス要求した結果、キャッシ
ュ77においてキャッシュヒットした場合、キャッシュ
77から該当するデータが読み出される。プロセッサ7
4(キャッシュ77)は、バス76にトランザクション
を発行しない。このとき、キャッシュラインの状態は変
わらない。
【0030】リードアクセス(キャッシュミス):プロ
セッサ74がリードアクセス要求した結果、キャッシュ
77においてキャッシュミスした場合、プロセッサ74
(キャッシュ77)は、バス76に“Read−Lin
e”トランザクションを発行する。
【0031】これに対して、モディファイド応答信号線
(modified)を介してモディファイド応答信号がアサー
トされたならば、他のキャッシュのうち一つがそのライ
ンの更新データを保持していることになる。キャッシュ
77は、この後、モディファイド応答信号をアサートし
たキャッシュから主メモリ72に書き出されたキャッシ
ュラインデータを読み込み、データメモリに格納する。
キャッシュラインの状態は“クリーン・シェアード”と
する。
【0032】一方、モディファイド応答信号がアサート
されず、シェアード応答信号線(shared)を介してシェ
アード応答信号がアサートされたならば、他のキャッシ
ュがそのラインをクリーンな状態で保持していることに
なる。
【0033】キャッシュ77は、キャッシュラインの状
態を“クリーン・シェアード”とするとともに、主メモ
リ72より読み出されたデータを取り込んで、データメ
モリに格納する。
【0034】また、モディファイド応答信号とシェアー
ド応答信号のいずれもアサートされない場合には、いず
れのキャッシュにも、対象とするキャッシュラインがを
保持されていないことになる。
【0035】キャッシュ77は、キャッシュラインの状
態を“クリーン・エクスクルーシブ”とする。この場合
も、キャッシュ77は、主メモリ72より読み出された
データを取り込み、データメモリに格納する。
【0036】いずれの場合も、キャッシュ77はバス7
6から取り込んだキャッシュラインデータのうち、必要
とされるデータをプロセッサ74に返す。 ライト(キャッシュヒット/モディファイド):プロセ
ッサ74がライトアクセス要求した結果、キャッシュ7
7に於いてキャッシュヒットし、対応するキャッシュラ
インデータがモディファイドの状態の場合、該当するキ
ャッシュラインにデータが書き込まれる。プロセッサ7
4(キャッシュ77)は、バス76にトランザクション
を発行しない。このとき、キャッシュラインの状態は変
わらない。
【0037】ライト(キャッシュヒット/クリーンエク
スクルーシブ):プロセッサ74がライトアクセス要求
した結果、キャッシュ77に於いてキャッシュヒット
し、対応するキャッシュラインデータがクリーンエクス
クルーシブの状態の場合、該当するキャッシュラインに
データが書き込まれる。プロセッサ74(キャッシュ7
7)は、バス76にトランザクションを発行しない。キ
ャッシュ77は、該当するキャッシュラインの状態を
“モディファイド”に変更する。
【0038】但し、後述するように、この方式ではクリ
ーンエクスクルーシブ状態を避けるように制御されるの
で、この条件は実際には存在しないことになる。 ライト(キャッシュヒット/クリーンシェアード):プ
ロセッサ74がライトアクセス要求した結果、キャッシ
ュ77に於いてキャッシュヒットし、対応するキャッシ
ュラインデータがクリーンシェアードの状態の場合、プ
ロセッサ74(キャッシュ77)は、バス76に“In
vali−date”トランザクションを発行する。キ
ャッシュ77は、該当するキャッシュラインの状態を
“モディファイド”にして、データを書き込む。
【0039】ライト(キャッシュミス):プロセッサ7
4がライトアクセス要求した結果、キャッシュ77に於
いてキャッシュミスした場合、バス76に“Read−
Line−with−Invalidate”トランザ
クションを発行する。
【0040】これに対して、モディファイド応答信号が
アサートされたならば、他のキャッシュのうち一つがそ
のラインの更新データを保持していることになる。キャ
ッシュ77は、この後、モディファイド応答信号をアサ
ートしたキャッシュから主メモリ72に書き出されたキ
ャッシュラインデータを読み込み、データメモリに格納
する。
【0041】一方、モディファイド応答信号がアサート
されなければ、キャッシュ77は、主メモリ72より読
み出されたデータを取り込み、データメモリに格納す
る。いずれの場合も、該当するキャッシュラインの状態
を“モディファイド”とし、データを書き込む。
【0042】b.スレーブプロセッサの動作について 次に、あるプロセッサ/ キャッシュが発行したトランザ
クションに対する他のプロセッサとそれに対応するキャ
ッシュ(スレーブプロセッサ)の動作、及び状態遷移に
ついて説明する。
【0043】尚、ここではマスタプロセッサがプロセッ
サ74(キャッシュ77)、スレーブプロセッサがプロ
セッサ75(キャッシュ78)であるとし、マスタプロ
セッサから発行されるトランザクション毎に説明する。
【0044】“Read−Line”トランザクショ
ン:キャッシュ78は、トランザクションが対象とする
キャッシュラインデータを“モディファイド”の状態で
保持している場合、モディファイド応答信号線(modifi
ed)を介しモディファイド応答信号をアサートして、更
新データを保持していることを通知する。この後、キャ
ッシュ78は、“Write−Line”トランザクシ
ョンを発行して更新データを主メモリ72に書き出す。
キャッシュ78は、該当するキャッシュラインの状態を
“クリーンシェアード”とする。
【0045】また、キャッシュ78は、トランザクショ
ンが対象とするキャッシュラインデータを“クリーンエ
クスクルーシブ”又は“クリーンシェアード”の状態で
保持している場合、シェアード応答信号線(shared)を
介しシェアード応答信号をアサートして、クリーンデー
タを保持していることを通知する。いずれの場合も、キ
ャッシュ78は、該当するキャッシュラインの状態を
“クリーンシェアード”とする。尚、キャッシュ78
は、対応する有効なキャッシュラインデータを保持して
いない場合には何もしない。
【0046】“Read−Line−with−Inv
alidate”トランザクション:キャッシュ78
は、トランザクションが対象とするキャッシュラインデ
ータを“モディファイド”の状態で保持している場合、
モディファイド応答信号線(modified)を介してモディ
ファイド応答信号をアサートし、更新データを保持して
いることを通知する。この後、キャッシュ78は、“W
rite−Line”トランザクションを発行して更新
データを主メモリ72に書き出す。キャッシュ78は、
該当するキャッシュラインの状態を“インバリッド”と
する。
【0047】また、キャッシュ78は、トランザクショ
ンが対象とするキャッシュラインデータを“クリーンエ
クスクルーシブ”又は“クリーンシェアード”の状態で
保持している場合、該当するキャッシュラインの状態を
“インバリッド”とする。
【0048】尚、キャッシュ78は、対応する有効なキ
ャッシュラインデータを保持していない場合には何もし
ない。 “Invalidate”トランザクション:キャッシ
ュ78は、トランザクションが対象とするキャッシュラ
インデータを“クリーンエクスクルーシブ”または“ク
リーンシェアード”の状態で保持している場合、該当す
るキャッシュラインの状態を“インバリッド”とする。
【0049】また、キャッシュ78は、対応する有効な
キャッシュラインデータを保持していない場合には何も
しない。尚、この場合、対応するラインを“モディファ
イド”の状態で保持していることはあり得ない。
【0050】”Write−Line”トランザクショ
ン:キャッシュ78は何もしない。 c.メモリ制御部の動作について 次に、各バストランザクションに対するメモリ制御部8
0の動作を説明する。
【0051】“Write−Line”トランザクショ
ン:バス76に発行された“Write−Line”ト
ランザクションをスヌープすると、キャッシュから書き
出されるキャッシュラインデータを取り込み、主メモリ
72の該当するアドレスに書き込む。
【0052】“Invalidate”:何もしない。 “Read−Line”、“Read−Line−wi
th−Invalidate”:メモリ制御部20は、
これら2つのトランザクションに対しては、同一の動作
をする。
【0053】これらのトランザクションに対してモディ
ファイド応答信号がアサートされた場合は何もしない。
これは、アサートしたスレーブプロセッサのキャッシュ
が既に更新データを保持していることを示している。こ
の場合、これらのトランザクションに引続き、このキャ
ッシュから“Write−Line”トランザクション
が発行され、更新データが書き出される。
【0054】一方、モディファイド応答信号がアサート
されない場合は、アクセス対象となっているキャッシュ
ラインのアドレスで示されるメモリロケーションからキ
ャッシュラインデータを読み出し、バス76に出力す
る。
【0055】ビフォアイメージバッファ制御部の動作に
ついて 次に、各バストランザクションに対するビフォアイメー
ジバッファ制御部81の動作を説明する。
【0056】以下、バス76に発行されるトランザクシ
ョン毎に説明する。 “Read−Line”トランザクション:バスインタ
フェース制御部811がバス76に発行された“Rea
d−Line”トランザクションをスヌープすると、状
態保存制御部812は、バストランザクション応答制御
部813を起動する。バストランザクション応答制御部
813は、バスインタフェース制御部811を介してシ
ェアード応答信号をシェアード応答信号線(shared)に
アサートする。
【0057】これによって、マスタプロセッサのキャッ
シュの現在対象としているキャッシュラインの状態を
“クリーンエクスクルーシブ”ではなく、“クリーンシ
ェアード”の状態にすることができる。そして、この
後、当該キャッシュラインに対してライトアクセスが発
生した場合に、更新前のデータを保存することを可能と
している。
【0058】尚、プロセッサ及びキャッシュの機能とし
て、“クリーンエクスクルーシブ”状態を避ける方法が
ある場合には、ビフォアイメージバッファ制御部81が
シェアード応答信号をアサートする必要はない。
【0059】“Invalidate”トランザクショ
ン:バスインタフェース制御部811がバス76に発行
された“In−validate”トランザクションを
スヌープすると、状態保存制御部812は、バストラン
ザクション応答制御部813を起動する。
【0060】バストランザクション応答制御部813
は、バスインタフェース制御部811を介してシェアー
ド応答信号とモディファイド応答信号を、シェアード応
答信号線(shared)、及びモディファイド応答信号線
(modified)にアサートする。
【0061】これによって、“Inval−idat
e”トランザクションはアボートされたことになり、こ
の後、マスタプロセッサは、再びバスを獲得した後、同
じトランザクションを再発行する。
【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は、上記処理
を実施したキャッシュブロックのアドレスを記憶し、こ
の後、再び同じアドレスに対する“Invalidat
e”トランザクションが発行された場合には無視する。
【0067】“Read−Line−with−Inv
alidate”トランザクション:当該トランザクシ
ョンの発行に伴って、モディファイド応答信号がアサー
トされた場合は、アサートしたキャッシュが既に更新デ
ータを保持していることを示しており、そのプロセッサ
が最新のチェックポイント以降にライトアクセスを実行
していることが分かる。このため、その時点で以前のデ
ータがビフォアイメージバッファ73に格納されている
ことになり、改めてこのアドレスのデータをビフォアイ
メージバッファに格納する必要はない。従って、状態保
存制御部812は何もしない。
【0068】一方、“Read−Line−with−
Invalidate”トランザクションの発行に伴っ
て、モディファイド応答信号がアサートされない場合
は、バッファアクセス制御部814を起動し、メモリ制
御部80が主メモリ72から読み出しバス76に出力し
たキャッシュラインデータを、バスインタフェース制御
部811からバッファアクセス制御部814に転送し
て、アドレス値と共にビフォアイメージバッファ73に
書き込ませる。この場合、“Read−Line”を発
行する必要はない。
【0069】“Write−Line”トランザクショ
ン:何もしない。 チェックポイント処理について 次に、前述のようにして動作するマルチプロセッサシス
テムにおけるチェックポイント処理について説明する。
【0070】チェックポイント時には、プロセッサ74
〜75の内部状態(即ち内部レジスタ等)を主メモリ7
2に書き出すとともに、各キャッシュ77〜78の“モ
ディファイド”状態にある全てのキャッシュラインのデ
ータを主メモリ72に書き戻す。尚、実際には、プロセ
ッサ内部状態の主メモリ72への書き出しもキャッシュ
を介して行なわれるので、バストランザクション上、特
別な配慮は不要である。
【0071】キャッシュ77〜78は、主メモリ72に
書き戻したキャッシュラインの状態を“クリーンシェア
ード”または“インバリッド”にする。主メモリへのラ
インデータの書き戻しは“Write−Line”トラ
ンザクションを用いて行なわれるため、このときにビフ
ォアイメージバッファへのデータ保存が発生することは
ない。
【0072】以上に述べた方式によると、チェックポイ
ント時には、コピーバックキャッシュに保持されていた
更新データを主メモリに書き出すだけでよく、この時点
で更新前データを保存する必要がなくなるため、チェッ
クポイントのオーバヘッドを小さくすることができる。
【0073】また、メモリ制御部を改造せずに、容易に
メモリ状態回復機能を提供することができる。ところ
が、上記した方式では、バス76に“Invalida
te”トランザクションが発行されたとき、更新前のキ
ャッシュラインデータを得るために、前記“Inval
idate”トランザクションをアボートし、“Rea
d−Line”トランザクションを発行しなければなら
ない。
【0074】また、このために発行した“Read−L
ine”トランザクションが完了するまで、前記“In
validate”トランザクションをアボートし続け
なければならない。即ち、バス76に通常の処理とは無
関係のトランザクションが発行されるため、オーバヘッ
ドになっていた。
【0075】
【発明が解決しようとする課題】上記したように、コピ
ーバック型のキャッシュを用いたコンピュータシステム
に於ける従来のメモリ状態回復機能を実現する方式は、
バス76に“Invalidate”トランザクション
が発行されたとき、更新前のキャッシュラインデータを
得るために、“Invalidate”トランザクショ
ンをアボートし、“Read−Line”トランザクシ
ョンを発行しなければならず、又、発行した“Read
−Line”トランザクションが完了するまで、“In
validate”トランザクションをアボートし続け
なければならないため、バス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〜1
5と、各プロセッサに対応するN個のキャッシュ17〜
18が設けられている。
【0090】キャッシュ17〜18は、メモリ制御部2
0、及びビフォアイメージバッファ制御部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〜1
8と同じでもよいが、この実施形態では状態管理が不要
である。コピーバックキャッシュに関連したバストラン
ザクションは、従来技術と同様であり、次のようなもの
を含む。
【0098】“Read−Line”(キャッシュライ
ンデータのリード)。 “Read−Line−with−Invalidat
e”(キャッシュラインデータのリード、及び他のキャ
ッシュに格納されたデータ無効化)。
【0099】“Write−Line”(キャッシュラ
インデータのライト)。 “Invalidate”(他のキャッシュに格納され
たデータ無効化)。 これらの各機能は、従来技術と同様である。
【0100】バス16は、シェアード応答信号線(shar
ed)161、モディファイド応答信号線(modified)1
62、バスコマンド信号線(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−Lin
e”,”Read−Line−with−Invali
date”)よりも、キャッシュミスにより“モディフ
ァイド”ラインを主メモリ12に書き戻すために発行さ
れる“Write−Line”トランザクションが常に
先に発行される。
【0106】“Read−Line”トランザクショ
ン:バスインタフェース制御部211がバス16に発行
された“Read−Line”トランザクションをスヌ
ープすると、状態保存制御部212とキャッシュ制御部
215を起動する。
【0107】状態保存制御部212は、“Read−L
ine”トランザクションに対して、メモリ制御部20
が主メモリ12から読み出しバス16へ出力したデータ
を取り込む。
【0108】キャッシュ制御部215は、プロセッサI
D信号線165で示されるプロセッサ14(キャッシュ
17)に対応したビフォアイメージキャッシュ30の該
当キャッシュラインへ、“Read−Line”トラン
ザクションに対する応答データを格納する(図2(1−
a),図5(1−d)参照)。
【0109】“Invalidate”トランザクショ
ン:何もしない(図3(1−b)参照)。 “Read−Line−with−Invalidat
e”トランザクション:“Read−Line”トラン
ザクションと同じ動作をする。
【0110】“Write−Line”トランザクショ
ン:バスインタフェース制御部211がバス16に発行
された“Write−Line”トランザクションをス
ヌープすると、キャッシュ制御部215を起動する。
【0111】キャッシュ制御部215は、プロセッサI
D信号線(ID)165で示されるプロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0の該当キャッシュラインを読み出し、状態保存制御部
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−Lin
e”トランザクションが発行されたときに、バックアッ
プを作成するためのビフォアイメージバッファ制御部2
1の動作に特徴をもつ。
【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に発行された“Rea
d−Line”トランザクションをスヌープすると、状
態保存制御部212とキャッシュ制御部215を起動す
る。
【0125】状態保存制御部212は、バストランザク
ション応答制御部213を起動する。バストランザクシ
ョン応答制御部213は、バスインタフェース制御部2
11を介してシェアード応答信号をシェアード応答信号
線161にアサートする。
【0126】これによって、マスタプロセッサ14(キ
ャッシュ17)が現在対象としているキャッシュライン
の状態を“クリーンエクスクルーシブ”ではなく、“ク
リーンシェアード”の状態にすることができる。
【0127】そして、この後、当該キャッシュラインが
置換されるときに、更新前のデータを保存することを可
能としている。また、状態保存制御部212は、“Re
ad−Line”トランザクションに対して、メモリ制
御部20が主メモリ12から読み出しバス16へ出力し
たデータを取り込む。
【0128】尚、プロセッサ及びキャッシュの機能とし
て、“クリーンエクスクルーシブ”状態を避ける方法が
ある場合には、ビフォアイメージバッファ制御部21が
シェアード応答信号をアサートする必要はない。
【0129】キャッシュ制御部215は、プロセッサI
D信号線165で示されるプロセッサ14(キャッシュ
17)に対応したビフォアイメージキャッシュ30から
該当するタグメモリを読み出す。
【0130】ビフォアイメージキャッシュ30から読み
出したラインが“モディファイドでない”ときであっ
て、モディファイド応答信号線162がアサートされな
いとき、キャッシュ制御部215は、プロセッサ14
(キャッシュ17)に対応するビフォアイメージキャッ
シュ30の該当キャッシュラインへ“Read−Lin
e”トランザクションに対する応答データを格納する
(図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−Inv
alidate”トランザクション:ビフォアイメージ
キャッシュ30の状態を“モディファイド”とすること
を除いて、“Read−Line”トランザクションと
同様である。
【0138】但し、モディファイド応答信号162がア
サートされた場合、プロセッサ15(キャッシュ18)
に対応するビフォアイメージキャッシュ31の該当キャ
ッシュラインの更新前データをビフォアイメージバッフ
ァ13に格納するので、ビフォアイメージキャッシュ3
0の該当キャッシュラインが置き換えられるときには、
バックアップを作成する必要はない。このため、ビフォ
アイメージキャッシュ30の該当ラインの状態を“モデ
ィファイド”にする必要はない。
【0139】“Write−Line”トランザクショ
ン:何もしない(図10参照)。 第3実施形態 この第3実施形態は、上記第2実施形態に於いて、リー
ド要求(“Read−Line”,“Read−Lin
e−with−Invalidate”)が発行された
ときに、前記リード要求により“モディファイド”ライ
ンが置き換えられることを示すモディファイドライン置
換信号が出力される場合の動作に特徴をもつ。尚、この
第3実施形態では、ビフォアイメージキャッシュ30〜
31の状態を管理するためのモディファイド(M)ビッ
トは不要である。又、バストランザクション応答制御部
は必要ない。つまり、キャッシュの状態が“クリーン・
エクスクルーシブ”の状態を持つことがある。
【0140】“Read−Line”トランザクショ
ン:バスインタフェース制御部211がバス16に発行
された“Read−Line”トランザクションをスヌ
ープすると、キャッシュ制御部215を起動する。
【0141】また、状態保存制御部212は、“Rea
d−Line”トランザクションに対して、メモリ制御
部20が主メモリ12から読み出しバス16へ出力した
データを取り込む。
【0142】“Read−Line”トランザクション
により“モディファイド”ラインが置き換えられると
き、モディファイドライン置換信号がアサートされる。
このとき、キャッシュ制御部215は、プロセッサID
信号線(ID)165で示されるプロセッサ14(キャッ
シュ17)に対応したビフォアイメージキャッシュ30
から該当キャッシュラインデータを読み出し、状態保存
制御部212に渡す。
【0143】そして、“Read−Line”トランザ
クションに対する応答データを、プロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0へ書き込む。
【0144】状態保存制御部212は、バッファアクセ
ス制御部214を起動し、ビフォアイメージキャッシュ
30から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値とともに
ビフォアイメージバッファ13に書き込ませる。
【0145】モディファイドライン置換信号がアサート
されず、モディファイド応答信号線162がアサートさ
れたとき、キャッシュ制御部215は、モディファイド
応答信号線162をアサートしたプロセッサ15(キャ
ッシュ18)に対応するビフォアイメージキャッシュ3
1から該当キャッシュラインを読み出す。
【0146】そして、“Read−Line”トランザ
クションに対する応答データを、プロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0へ書き込む。
【0147】状態保存制御部212が、バッファアクセ
ス制御部214を起動し、ビフォアイメージキャッシュ
31から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値と共にビ
フォアイメージバッファ13に書き込ませる。
【0148】モディファイドライン置換信号がアサート
されず、モディファイド応答信号線162もアサートさ
れないとき、キャッシュ制御部215は、“Read−
Line”トランザクションに対する応答データを、プ
ロセッサ14(キャッシュ17)に対応するビフォアイ
メージキャッシュ30へ書き込む。
【0149】“Invalidate”トランザクショ
ン:何もしない。 “Read−Line−with−Invalidat
e”トランザクション:“Read−Line”トラン
ザクションと同様の動作を行なう。
【0150】“Write−Line”トランザクショ
ン:何もしない。 第4実施形態 この第4実施形態は、上記第2、第3実施形態に於い
て、リード要求時(“Read−Line”,“Rea
d−Line−with−Invalidate”)に
バックアップを作成する方法を示したが、無効化要求
(“Invalidate”)が発行されたときにバッ
クアップを作成する動作に特徴をもつ。
【0151】この第4実施形態に於ける構成は、上記し
た第2実施形態と同様である。但し、ビフォアイメージ
キャッシュ30〜31の状態管理のためのモディファイ
ド(M)ビットはない。
【0152】“Read−Line”トランザクショ
ン:バスインタフェース制御部211がバス16に発行
された“Read−Line”トランザクションをスヌ
ープすると、状態保存制御部212とキャッシュ制御部
215を起動する。
【0153】状態保存制御部212は、バストランザク
ション応答制御部213を起動する。バストランザクシ
ョン応答制御部213は、バスインタフェース制御部2
11を介してシェアード応答信号をシェアード応答信号
線(shared)161にアサートする。
【0154】マスタプロセッサ14(キャッシュ17)
が現在対象としているキャッシュラインの状態を“クリ
ーンエクスクルーシブ”ではなく、“クリーンシェアー
ド”の状態にすることができる。
【0155】そして、この後、当該キャッシュラインに
対してライトアクセスが発生した場合に、更新前のデー
タを保存することを可能としている。また、状態保存制
御部212は、“Read−Line”トランザクショ
ンに対して、メモリ制御部20が主メモリ12から読み
出しバス16へ出力したデータを取り込む。
【0156】尚、プロセッサ及びキャッシュの機能とし
て、“クリーンエクスクルーシブ”状態を避ける方法が
ある場合には、ビフォアイメージバッファ制御部21が
シェアード応答信号をアサートする必要はない。
【0157】キャッシュ制御部215は、プロセッサI
D信号線(ID)165で示されるプロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0の該当ラインへ、“Read−Line”トランザク
ションに対する応答データを書き込む。
【0158】“Invalidate”トランザクショ
ン:バスインタフェース制御部211がバス16に発行
された“In−validate”トランザクションを
スヌープすると、プロセッサID信号線165で示され
るプロセッサ14(キャッシュ17)に対応するビフォ
アイメージキャッシュ30の該当ラインを読み出し、状
態保存制御部212へ渡す。
【0159】状態保存制御部212は、バッファアクセ
ス制御部214を起動し、ビフォアイメージキャッシュ
30から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値とともに
ビフォアイメージバッファ13に書き込ませる。
【0160】“Read−Line−with−Inv
alidate”トランザクション:バスインタフェー
ス制御部211がバス16に発行された“Read−L
ine−with−Invalidate”トランザク
ションをスヌープすると、状態保存制御部212とキャ
ッシュ制御部215を起動する。
【0161】状態保存制御部212は、“Read−L
ine−with−Invalidate”トランザク
ションに対して、メモリ制御部20が主メモリ12から
読み出しバスへ出力したデータを取り込む。
【0162】モディファイド応答信号線162がアサー
トされない場合、キャッシュ制御部215は、プロセッ
サID信号線(ID)165で示されるプロセッサ14
(キャッシュ17)に対応したビフォアイメージキャッ
シュ30の該当ラインを読み出し、状態保存制御部21
2へ渡す。
【0163】そして、ビフォアイメージキャッシュ30
の該当ラインへ、“Read−Line−with−I
nvalidate”トランザクションに対する応答デ
ータを書き込む。
【0164】状態保存制御部212は、バッファアクセ
ス制御部214を起動し、ビフォアイメージキャッシュ
30から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値とともに
ビフォアイメージバッファ13に書き込ませる。
【0165】モディファイド応答信号162がアサート
された場合、キャッシュ制御部215は、プロセッサI
D信号線(ID)165で示されるプロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0の該当ラインへ、“Read−Line”トランザク
ションに対する応答データを書き込む。
【0166】このとき、該当キャッシュラインは既に更
新されており、更新前のデータは、ビフォアイメージバ
ッファ13に格納されている。従って、状態保存制御部
212は何もしない。
【0167】“Write−Line”トランザクショ
ン:何もしない。 第5実施形態 この第5実施形態は、ビフォアイメージキャッシュが、
プロセッサに接続されたキャッシュと構成を異にするこ
とを特徴とする。
【0168】図11は本発明の第5実施形態に係るメモ
リ状態回復機能を有するコンピュータシステムの構成を
示すブロック図である。この第5実施形態に於ける構成
は、次の点を除いて上述した第2実施形態と同様であ
る。
【0169】a.プロセッサID信号がない。つまり、
どのプロセッサが発行したトランザクションか識別する
ことができない。 b.ビフォアイメージキャッシュ30が一つのnウェイ
・セット・アソシエィティブ・キャッシュ型(n≧1)
で構成されている。
【0170】次に、ビフォアイメージバッファ制御部2
1の動作をそれぞれのトランザクション毎に説明する。 “Read−Line”トランザクション:バスインタ
フェース制御部211がバス16に発行された“Rea
d−Line”トランザクションをスヌープすると、状
態保存制御部212とキャッシュ制御部215を起動す
る。
【0171】状態保存制御部212は、バストランザク
ション応答制御部213を起動する。バストランザクシ
ョン応答制御部213は、バスインタフェース制御部2
11を介してシェアード応答信号をシェアード応答信号
線(shared)161にアサートする。
【0172】マスタプロセッサ14(キャッシュ17)
が現在対象としているキャッシュラインの状態を“クリ
ーンエクスクルーシブ”ではなく、“クリーンシェアー
ド”の状態にすることができる。
【0173】そして、この後、当該キャッシュラインが
置換されるときに、更新前のデータを保存することを可
能としている。また、状態保存制御部212は、“Re
ad−Line”トランザクションに対して、メモリ制
御部20が主メモリ12から読み出しバス16へ出力し
たデータを取り込む。
【0174】尚、プロセッサおよびキャッシュの機能と
して、“クリーンエクスクルーシブ”状態を避ける方法
がある場合には、ビフォアイメージバッファ制御部21
がシェアード応答信号をアサートする必要はない。
【0175】キャッシュ制御部215は、ビフォアイメ
ージキャッシュ30からタグメモリを読み出す。ビフォ
アイメージキャッシュ30にヒットしたとき、何もしな
い。
【0176】ビフォアイメージキャッシュ30にミス
し、モディファイド応答信号162がアサートされた場
合、そのラインは既にバックアップされているので何も
しない。
【0177】ビフォアイメージキャッシュ30にミス
し、モディファイド応答信号線(modified)162がア
サートされない場合で、ビフォアイメージキャッシュ3
0の該当セット内に一つ以上の“モディファイド”ライ
ンがあるとき、キャッシュ制御部215は、ビフォアイ
メージキャッシュ30から全ての“モディファイド”ラ
インのデータを読み出し、状態保存制御部212に渡
す。
【0178】そして、キャッシュ制御部215は、セッ
ト内の“モディファイド”ラインの中から置換するライ
ンを選択し、“Read−Line”トランザクション
の応答データを書き込む。セット内の全ての“モディフ
ァイド”ラインの状態を“モディファイドでない”にす
る。
【0179】状態保存制御部212は、バッファアクセ
ス制御部214によって、前記“モディファイド”ライ
ンのデータをビフォアイメージバッファ13へ書き込ま
せる。
【0180】ビフォアイメージキャッシュ30にミス
し、モディファイド応答信号線(modified)162がア
サートされない場合で、ビフォアイメージキャッシュ3
0のセット内に“モディファイド”ラインが一つもない
とき、キャッシュ制御部215は、セット内から置換す
るキャッシュラインを選択し、データを読み出し、状態
保存制御部212に渡す。そして、前記キャッシュライ
ンへ“Read−Line”トランザクションに対する
応答データを書き込む。
【0181】状態保存制御部212は、バッファアクセ
ス制御部214によって、前記キャッシュラインデータ
をビフォアイメージバッファ13へ書き込ませる。ビフ
ォアイメージキャッシュ30の該当キャッシュラインの
状態を“モディファイドでない”とする。
【0182】“Invalidate”トランザクショ
ン:バスインタフェース制御部211がバス16に発行
された“In−validate”トランザクションを
スヌープすると、キャッシュ制御部215を起動する。
【0183】キャッシュ制御部215は、ビフォアイメ
ージキャッシュ30からタグメモリを読み出す。ビフォ
アイメージキャッシュ30にヒットした場合、そのキャ
ッシュラインの状態を“モディファイド”にする。
【0184】ビフォアイメージキャッシュ30にミスし
た場合、そのラインは既にビフォアイメージバッファ1
3に格納されている。従って何もしない。 “Read−Line−with−Invalidat
e”トランザクション:ビフォアイメージキャッシュの
状態を“モディファイド”にすることを除いて、“Re
ad−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−Lin
e”,“Read−Line−with−Invali
date”)に対する主メモリ12からの応答データと
アドレスを記録するための一時バッファ216を持つ。
【0190】次に、ビフォアイメージバッファ制御部2
1の動作をそれぞれのトランザクション毎に説明する。 “Read−Line”トランザクション:バスインタ
フェース制御部211がバス16に発行された“Rea
d−Line”トランザクションをスヌープすると、キ
ャッシュ制御部215を起動する。
【0191】また、状態保存制御部212は、“Rea
d−Line”トランザクションに対して、メモリ制御
部20が主メモリ12から読み出しバスへ出力したデー
タを取り込む。
【0192】リード要求により“モディファイド”ライ
ンが置き換えられるとき、モディファイドライン置換信
号線(replace )167がアサートされる。このとき、
状態保存制御部212は、“Read−Line”トラ
ンザクションに対する応答データをアドレスとともに一
時バッファ216に記録する。
【0193】モディファイドライン置換信号線(replac
e )167がアサートされておらず、ビフォアイメージ
キャッシュ30にヒットした場合は何もしない。モディ
ファイドライン置換信号がアサートされておらず、ビフ
ォアイメージキャッシュ30ミスし、モディファイド応
答信号線(modified)162がアサートされた場合、そ
のラインは、すでにバックアップされているので何もし
ない。
【0194】モディファイドライン置換信号線(replac
e )167がアサートされておらず、ビフォアイメージ
キャッシュ30にミスし、モディファイド応答信号線
(modified)162がアサートされない場合、キャッシ
ュ制御部215は、セット内から置換するキャッシュラ
インを選択し、データを読み出し、状態保存制御部21
2に渡す。そして、前記キャッシュラインへ“Read
−Line”トランザクションに対する応答データを書
き込む。
【0195】状態保存制御部212は、バッファアクセ
ス制御部214によって、前記キャッシュラインデータ
をビフォアイメージバッファ13へ書き込ませる。 “Invalidate”トランザクション:何もしな
い。
【0196】“Read−Line−with−Inv
alidate”トランザクション:“Read−Li
ne”トランザクションと同様の動作を行なう。 “Write−Line”トランザクション:バスイン
タフェース制御部211がバス16に発行された“Wr
ite−Line”トランザクションをスヌープする
と、キャッシュ制御部215を起動する。
【0197】キャッシュ制御部215は、ビフォアイメ
ージキャッシュ30からタグメモリを読み出す。“Wr
ite−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)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサに対応して設けられるコピー
    バック型のキャッシュと、主メモリ上に於ける更新前デ
    ータとそのアドレスとの組を格納するバッファとを備え
    た計算機システムに於いて、前記キャッシュに対応し
    て、該当するキャッシュのクリーンな状態を保持するキ
    ャッシュデータ保持手段を設け、前記キャッシュデータ
    保持手段のデータをもとに前記バッファを用いて前記主
    メモリの状態を復元する制御手段とを具備してなること
    を特徴とする計算機システム。
  2. 【請求項2】 プロセッサに対応して設けられるコピー
    バック型のキャッシュと、主メモリ上に於ける更新前デ
    ータとそのアドレスとの組を格納するバッファとを備え
    た計算機システムに於いて、前記キャッシュのクリーン
    な状態を保持するnウェイセットアソシエィティブキャ
    ッシュ型のキャッシュデータ保持手段を設け、前記キャ
    ッシュデータ保持手段のデータをもとに前記バッファを
    用いて前記主メモリの状態を復元する制御手段とを具備
    してなることを特徴とする計算機システム。
  3. 【請求項3】 キャッシュデータ保持手段及び当該保持
    データにより主メモリの状態を復元する制御手段が拡張
    用のボードにより提供され又は標準装備される請求項1
    又は2記載の計算機システム。
  4. 【請求項4】 プロセッサに対応して設けられ、前記プ
    ロセッサからのアクセス要求に応じて各種のトランザク
    ションを発行するデータ一貫性保持機能を有する少なく
    とも一つのコピーバック型のキャッシュと、前記プロセ
    ッサの処理に必要なデータを保持する主メモリと、前記
    主メモリに対するアクセスを制御するメモリ制御手段
    と、前記少なくとも一つのキャッシュと前記メモリアク
    セス制御手段とが接続されるバスとを備えた計算機シス
    テムに於いて、 前記主メモリに於ける更新前データとそのアドレスとの
    組を格納するバッファと、 前記キャッシュに対応して設けられ、前記キャッシュか
    らのリード要求に対する主メモリからの応答データを格
    納するビフォアイメージキャッシュと、 前記バスに接続され前記キャッシュからの各種トランザ
    クションをスヌープする手段と、 前記キャッシュのリード要求に対するメモリからの応答
    データをスヌープし、前記ビフォアイメージキャッシュ
    に格納する手段と、 前記キャッシュがライト要求を発行したとき前記主メモ
    リが更新される前のデータを前記バッファメモリへ格納
    するために前記ビフォアイメージキャッシュから該当キ
    ャッシュラインデータを読み出す手段をもつビフォアイ
    メージキャッシュ制御手段と、 前記ビフォアイメージキャッシュから読み出されたデー
    タ及び対応するアドレスを前記バッファに格納するバッ
    ファアクセス制御手段とを具備してなることを特徴とす
    る計算機システムのメモリ状態復元装置。
  5. 【請求項5】 ビフォアイメージキャッシュの状態を管
    理するために、少なくとも1ビットのモディファイドビ
    ットを備えたビフォアイメージキャッシュであって、 ビフォアイメージキャッシュの制御手段は、主メモリあ
    るいは他のプロセッサからの対応するキャッシュライン
    からデータを読み出すトランザクションであるとき、当
    該トランザクションにより示されるビフォアイメージキ
    ャッシュの該当キャッシュラインのモディファイドビッ
    トをモディファイドでない状態にする手段と、 キャッシュから発行されるトランザクションが他のプロ
    セッサの対応するキャッシュラインの無効化を指示する
    トランザクションであるとき、当該トランザクションに
    より示されるビフォアイメージキャッシュの該当キャッ
    シュラインのモディファイドビットをモディファイド状
    態にする手段と、 キャッシュから発行されたリード要求により、ビフォア
    イメージキャッシュのモディファイドラインが置換され
    るとき、前記主メモリが更新される前のデータをバッフ
    ァへ格納するために、ビフォアイメージキャッシュから
    置換されるキャッシュラインを読み出す手段とを具備し
    てなることを特徴とする請求項4記載のメモリ状態復元
    装置。
  6. 【請求項6】 キャッシュから発行されるリード要求に
    於いて、キャッシュ内のモディファイドラインが置換さ
    れることを示すモディファイドライン置換信号を備え、
    ビフォアイメージキャッシュ制御手段は、モディファイ
    ドライン置換信号が有効であるとき、主メモリが更新さ
    れる前のデータをバッファへ格納するために、ビフォア
    イメージキャッシュから該当キャッシュラインを読み出
    す手段を備えたことを特徴とする請求項4記載のメモリ
    状態復元装置。
  7. 【請求項7】 ビフォアイメージキャッシュ制御手段
    は、キャッシュから無効化要求が発行されたとき、主メ
    モリが更新される前のデータをバッファへ格納するため
    に当該トランザクションにより示されるビフォアイメー
    ジキャッシュから該当するキャッシュラインデータを読
    み出す手段を具備してなることを特徴とする請求項4記
    載のメモリ状態復元装置。
  8. 【請求項8】 nウェイセットアソシエィティブキャッ
    シュ型のビフォアイメージキャッシュを有し、当該ビフ
    ォアイメージキャッシュの制御手段は、キャッシュから
    発行されるリード要求のアドレスがビフォアイメージキ
    ャッシュ内にあるか否かを判定するためのタグ比較手段
    を備え、プロセッサのリード要求がビフォアイメージキ
    ャッシュにミスしたとき、主メモリが更新される前のデ
    ータをバッファへ格納するためにビフォアイメージキャ
    ッシュの該当するセット中の全てのラインを読み出す手
    段と、前記ビフォアイメージキャッシュの該当するセッ
    ト中のラインから置換するラインを選択し、前記リード
    要求に対する応答データを選択したキャッシュラインへ
    格納する手段とを具備してなることを特徴とする請求項
    5記載のメモリ状態復元装置。
  9. 【請求項9】 ビフォアイメージキャッシュ制御手段
    は、キャッシュのリード要求がビフォアイメージキャッ
    シュにミスし、ビフォアイメージキャッシュのセット中
    にモディファイドラインがあるとき、主メモリが更新さ
    れる前のデータをバッファへ格納するために、 モディファイドライン全てを読み出す手段と、 リード要求がビフォアイメージキャッシュにミスし、ビ
    フォアイメージキャッシュの該当するセット中にモディ
    ファイドラインがないとき、ビフォアイメージキャッシ
    ュの該当するセット中のラインから置換するラインを選
    択し、主メモリが更新される前のデータをバッファへ格
    納するために、選択したラインを読み出す手段とを具備
    してなることを特徴とする請求項8記載のメモリ状態復
    元装置。
  10. 【請求項10】 nウェイセットアソシエィティブキャ
    ッシュ型のビフォアイメージキャッシュを有し、当該ビ
    フォアイメージキャッシュの制御手段は、キャッシュか
    ら発行されるリード要求のアドレスがビフォアイメージ
    キャッシュ内にあるか否かを判定するためのタグ比較手
    段を備え、プロセッサのリード要求がビフォアイメージ
    キャッシュにミスしたとき、主メモリが更新される前の
    データをバッファへ格納するために、ビフォアイメージ
    キャッシュの該当するセット中の全てのラインを読み出
    す手段と、ビフォアイメージキャッシュの該当するセッ
    ト中のラインから置換するラインを選択し、リード要求
    に対する応答データを選択したキャッシュラインへ格納
    する手段とを具備してなることを特徴とする請求項6記
    載のメモリ状態復元装置。
  11. 【請求項11】 ビフォアイメージキャッシュの制御手
    段は、アドレスとデータを格納するための一時バッファ
    を備え、 キャッシュからリード要求が発行されたときに、モディ
    ファイドライン置換信号が無効であるとき、ビフォアイ
    メージキャッシュから置換するラインを選択し、主メモ
    リが更新される前のデータをバッファへ格納するために
    該当するキャッシュラインを読み出す手段と、 モディファイドライン置換信号が有効であるとき、リー
    ド要求に対する応答データとアドレスを一時バッファに
    記録する手段と、 モディファイドラインが置換されることによって発行さ
    れるライト要求がビフォアイメージキャッシュにヒット
    したとき、主メモリが更新される前のデータをバッファ
    へ格納するために、ビフォアイメージキャッシュから該
    当するキャッシュラインを読み出す手段と、 ライト要求がビフォアイメージキャッシュにミスしたと
    き、該当するセット中のラインから置換するラインを選
    択し、主メモリが更新される前のデータをバッファへ格
    納するために該当するキャッシュラインを読み出す手段
    と、 一時バッファに記録したアドレスとデータを該当するキ
    ャッシュラインへ格納する手段とを具備してなることを
    特徴とする請求項10記載のメモリ状態復元装置。
  12. 【請求項12】 バッファメモリは、主メモリ内に設け
    られる請求項6記載のメモリ状態復元装置。
  13. 【請求項13】 バッファアクセス制御手段は、プロセ
    ッサの内部状態とキャッシュ内のモディファイド状態に
    あるデータとを所定の時間間隔で主メモリに保存するチ
    ェックポイント実行手段を含む請求項6記載のメモリ状
    態復元装置。
JP34332096A 1996-12-24 1996-12-24 計算機システム及びメモリ状態復元装置 Expired - Fee Related JP3833760B2 (ja)

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 true JPH10187535A (ja) 1998-07-21
JP3833760B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320274A (ja) * 1997-03-19 1998-12-04 Toshiba Corp キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320274A (ja) * 1997-03-19 1998-12-04 Toshiba Corp キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体

Also Published As

Publication number Publication date
JP3833760B2 (ja) 2006-10-18

Similar Documents

Publication Publication Date Title
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
JP2916420B2 (ja) チェックポイント処理加速装置およびデータ処理方法
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5903911A (en) Cache-based computer system employing memory control circuit and method for write allocation and data prefetch
US5913021A (en) Memory state recovering apparatus
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
JPH07253928A (ja) 2重化キャッシュ・スヌープ機構
US20050204088A1 (en) Data acquisition methods
JP2007533014A (ja) ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法
US5920891A (en) Architecture and method for controlling a cache memory
US6973541B1 (en) System and method for initializing memory within a data processing system
JPH04237349A (ja) キャッシュメモリシステムおよびキャッシュメモリコントローラ
JPH10501914A (ja) 共用キャッシュ・メモリ装置
JP3129224B2 (ja) キャッシュメモリ装置
JP3202943B2 (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템
US7234028B2 (en) Power/performance optimized cache using memory write prevention through write snarfing
JP3083786B2 (ja) メモリ更新履歴保存装置およびメモリ更新履歴保存方法
JP3833760B2 (ja) 計算機システム及びメモリ状態復元装置
TWI243999B (en) Apparatus and related method for maintaining read caching data of south bridge with north bridge
US5813035A (en) Microprocessor employing a technique for restoration of an aborted cycle following a snoop writeback operation
JP4091171B2 (ja) キャッシュフラッシュ方法および装置
JP2000181790A (ja) メモリ更新履歴保存装置
JP3145479B2 (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