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
Links
Landscapes
- Retry When Errors Occur (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
トランザクションを発行することなくメモリ状態を回復
できるシステムを提供することを課題とする。 【解決手段】キャッシュ制御部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
キャッシュを備えた計算機システムに適用されるメモリ
状態復元装置に関する。
て処理が一旦進んでしまうと、それ以前の状態に戻って
処理を再開するという機能手段をもたない。これに対し
て、ソフトウェアデバッギング、フォールトトレラント
システム、バックトラッキング等の各種応用技術に於い
ては、プログラムを実行し、処理が進んだ後に、それ以
前の状態に戻って処理を再開するための機能を実現する
ために、メモリの内容を以前の状態に戻し、その時点か
ら処理を継続するための機能(メモリ状態回復機能)が
必要とされる。
は、プログラムの実行中に何らかのエラーが発生した場
合に、以前の状態に遡ることにより、エラーの原因を解
析することができる。また、上記フォールトトレラント
システムは、システムの動作中に何らかの故障により処
理が続行できなくなった場合に、以前の状態に戻って、
そこから処理を再開することにより、システムを停止さ
せることなく動作を継続することができる。このような
フォールトトレラント技術は、例えばPhilip A Bernste
in, "Sequoia: A Fault-Tolerant Tightly Coupled Mu
ltiprocessor forTransaction Processing," IEEE Com
puter, Vol.21, No.2, 1988 に開示されている。ま
た、上記バックトラッキングは、論理型のプログラミン
グ言語に於いて、実行状態のバックトラッキングが基本
的な操作であり、メモリの内容が以前の状態に戻る機能
を用いることによりバックトラッキングを実現すること
ができる。
実現する方法として、考えられている技術の一つに“バ
ックワード手法”がある。このような技術は、例えばRo
k Sosic, "History Cache: Hardware Support for Rev
erse Ex-ecution," Computer Architecture News, Vol.
22, No.5, 1994に開示されている。
キャッシュを用いたコンピュータシステムに於いて、メ
モリ状態回復機能を実現する処理のオーバヘッドを低減
し、システムを効率化するために以下に示す技術を開発
した。
3に示す。この構成例では、N個のプロセッサ74〜7
5、各プロセッサ74〜75に対応するN個のキャッシ
ュ77〜78が設けられている。キャッシュ77〜78
は、メモリ制御部20、及びビフォアイメージバッファ
制御部81と、バス76を介して接続されている。
バスインタフェース制御部811、状態保存制御部81
2、バストランザクション応答制御部813、バッファ
アクセス制御部814、及びバストランザクション発行
制御部815を有している。
76と直接接続され、バス76の制御を行なう。バスイ
ンタフェース制御部811は、常時、バス76を監視し
ており、バス76に発行されたトランザクションに応じ
て動作する。
状態を保存するために必要な各種機能を制御する。バス
トランザクション応答制御部813は、バス76に発行
されたトランザクションに対して応答を返す機能を制御
する。
アイメージバッファ73と接続されビフォアイメージバ
ッファに対するアクセスを制御する。バストランザクシ
ョン発行制御部815は、主メモリ72の状態を保存す
るために必要なバストランザクションを発行する機能を
制御する。
のキャッシュであり、以下に説明する方式に従って、デ
ータ一貫性保持のためのプロトコルを実現する。キャッ
シュ77〜78は、キャッシュラインデータを保持する
データメモリと、データメモリに格納された各キャッシ
ュラインデータを管理する情報を保持するためのタグメ
モリから構成される。
に示す。タグメモリには、対応するキャッシュラインデ
ータのキャッシュラインアドレス(ADDR)を示すア
ドレスタグと、キャッシュラインデータの状態を示す3
ビットのデータが格納される。
ド(V:Valid)、モディファイド(M:Modi
fied)、シェアード(S:Shared)の3ビッ
トの値の組合せにより管理される。
ュラインデータが有効(“1”)であることを示す。モ
ディファイド(M)は、キャッシュ上で更新された状態
にあることを示す。シェアード(S)は、他のプロセッ
サのキャッシュ上にも同じキャッシュラインデータが保
持されていることを示す。
5に示すように、キャッシュラインデータは4つの状態
をとる。コピーバックキャッシュに関連した、バストラ
ンザクションは、“Read−Line”、“Writ
e−Line”、“Invalidate”を含む。
ンデータのリード)は、プロセッサからのあるアドレス
のキャッシュラインに対するリードアクセスに対して、
該当する有効なキャッシュラインデータがキャッシュに
存在せずキャッシュミスした場合に発行される。
するキャッシュラインデータを示すアドレスがタグメモ
リに格納されていない、及びアドレスは格納されている
がバリッドビット(V)が無効(“0”)を示す場合で
ある。これに対し、キャッシュヒットは、対象とするキ
ャッシュラインデータのアドレスがタグメモリに格納さ
れ、バリッドビット(V)が有効(“1”)を示す場合
である。
alidate”(キャッシュラインデータのリード、
及び他のキャッシュに格納されたデータ無効化)は、プ
ロセッサからのライトアクセスに対して、キャッシュミ
スした場合に発行される。
インデータのライト)は、プロセッサからの指示により
明示的にキャッシュラインデータを主メモリ72に書き
出す場合、キャッシュラインデータを置換する必要が生
じて更新データが主メモリ72に書き出される場合、及
び他のプロセッサからの要求に応じて更新データを主メ
モリ72に書き出す場合に発行される。
ュに格納されたデータ無効化)は、プロセッサからのラ
イトアクセスに対して、キャッシュに当該ラインが存在
したが、クリーンシェアードであった場合に発行され
る。このトランザクション自身はアドレスの転送のみで
あり、データ転送を伴わない。
もサポートされることが多いが、以下の記述に直接関係
しないので、上記以外の説明は省略する。バス76は、
シェアード応答信号線(shared)、モディファイド応答
信号線(modified)、バスコマンド信号線(command
)、及びアドレス/データ信号線(address/data)を
含む。一般には、この他にアービトレーションを行なう
ための信号線などを含むが、以下の記述に直接関係しな
いので、ここではその説明を省略する。
プロセッサ/キャッシュにより発行されたトランザクシ
ョンに対して、トランザクションが対象としているキャ
ッシュラインデータを保持している、即ち共有している
ことを通知するために用いられる。
は、他のプロセッサ/キャッシュにより発行されたトラ
ンザクションに対して、トランザクションが対象として
いるキャッシュラインデータを更新された状態で保持し
ていることを通知するために用いられる。この信号がア
サートされたときは、そのトランザクションはアボート
される。この後、トランザクションをアボートしたスレ
ーブは、バスを獲得した後、更新キャッシュラインデー
タをメモリに書き出す。一方、最初のトランザクション
を発行したマスタは、再びバスを獲得した後、同じトラ
ンザクションを再発行する。
dified)が同時にアサートされたときにも同様にそのト
ランザクションはアボートされる。バスコマンド信号線
(command )は、前述したバストランザクションの種類
を示す他に、トランザクションに関する各種情報を送る
ために用いられる。
は、バストランザクションが対象とするキャッシュライ
ンデータのアドレスおよびデータを送るため信号線であ
る。図13に於いては一つに纏めて示しているが、共通
の信号線を時分割で使う方式や、アドレス/データ各々
に独立した信号線を設ける方式等も存在し、それらのい
ずれの構成であってもよい。
即ち、前述したバストランザクションを用いてキャッシ
ュ間のデータ一貫性保持プロトコルがどのように実現さ
れているかについて説明する。
クセスを起動する側のプロセッサ及びキャッシュ(マス
タプロセッサ)、あるプロセッサ/キャッシュが発行し
たトランザクションに対して動作する他のプロセッサ及
びキャッシュ(スレーブプロセッサ)、及びメモリ制御
部80のそれぞれの動作について説明する。
マスタプロセッサの動作と、発行されたトランザクショ
ンに対応するキャッシュの状態遷移について説明する。
尚、ここではマスタプロセッサが、プロセッサ74(キ
ャッシュ77)であるとして説明する。
ロセッサ74がリードアクセス要求した結果、キャッシ
ュ77においてキャッシュヒットした場合、キャッシュ
77から該当するデータが読み出される。プロセッサ7
4(キャッシュ77)は、バス76にトランザクション
を発行しない。このとき、キャッシュラインの状態は変
わらない。
セッサ74がリードアクセス要求した結果、キャッシュ
77においてキャッシュミスした場合、プロセッサ74
(キャッシュ77)は、バス76に“Read−Lin
e”トランザクションを発行する。
(modified)を介してモディファイド応答信号がアサー
トされたならば、他のキャッシュのうち一つがそのライ
ンの更新データを保持していることになる。キャッシュ
77は、この後、モディファイド応答信号をアサートし
たキャッシュから主メモリ72に書き出されたキャッシ
ュラインデータを読み込み、データメモリに格納する。
キャッシュラインの状態は“クリーン・シェアード”と
する。
されず、シェアード応答信号線(shared)を介してシェ
アード応答信号がアサートされたならば、他のキャッシ
ュがそのラインをクリーンな状態で保持していることに
なる。
態を“クリーン・シェアード”とするとともに、主メモ
リ72より読み出されたデータを取り込んで、データメ
モリに格納する。
ド応答信号のいずれもアサートされない場合には、いず
れのキャッシュにも、対象とするキャッシュラインがを
保持されていないことになる。
態を“クリーン・エクスクルーシブ”とする。この場合
も、キャッシュ77は、主メモリ72より読み出された
データを取り込み、データメモリに格納する。
6から取り込んだキャッシュラインデータのうち、必要
とされるデータをプロセッサ74に返す。 ライト(キャッシュヒット/モディファイド):プロセ
ッサ74がライトアクセス要求した結果、キャッシュ7
7に於いてキャッシュヒットし、対応するキャッシュラ
インデータがモディファイドの状態の場合、該当するキ
ャッシュラインにデータが書き込まれる。プロセッサ7
4(キャッシュ77)は、バス76にトランザクション
を発行しない。このとき、キャッシュラインの状態は変
わらない。
スクルーシブ):プロセッサ74がライトアクセス要求
した結果、キャッシュ77に於いてキャッシュヒット
し、対応するキャッシュラインデータがクリーンエクス
クルーシブの状態の場合、該当するキャッシュラインに
データが書き込まれる。プロセッサ74(キャッシュ7
7)は、バス76にトランザクションを発行しない。キ
ャッシュ77は、該当するキャッシュラインの状態を
“モディファイド”に変更する。
ーンエクスクルーシブ状態を避けるように制御されるの
で、この条件は実際には存在しないことになる。 ライト(キャッシュヒット/クリーンシェアード):プ
ロセッサ74がライトアクセス要求した結果、キャッシ
ュ77に於いてキャッシュヒットし、対応するキャッシ
ュラインデータがクリーンシェアードの状態の場合、プ
ロセッサ74(キャッシュ77)は、バス76に“In
vali−date”トランザクションを発行する。キ
ャッシュ77は、該当するキャッシュラインの状態を
“モディファイド”にして、データを書き込む。
4がライトアクセス要求した結果、キャッシュ77に於
いてキャッシュミスした場合、バス76に“Read−
Line−with−Invalidate”トランザ
クションを発行する。
アサートされたならば、他のキャッシュのうち一つがそ
のラインの更新データを保持していることになる。キャ
ッシュ77は、この後、モディファイド応答信号をアサ
ートしたキャッシュから主メモリ72に書き出されたキ
ャッシュラインデータを読み込み、データメモリに格納
する。
されなければ、キャッシュ77は、主メモリ72より読
み出されたデータを取り込み、データメモリに格納す
る。いずれの場合も、該当するキャッシュラインの状態
を“モディファイド”とし、データを書き込む。
クションに対する他のプロセッサとそれに対応するキャ
ッシュ(スレーブプロセッサ)の動作、及び状態遷移に
ついて説明する。
サ74(キャッシュ77)、スレーブプロセッサがプロ
セッサ75(キャッシュ78)であるとし、マスタプロ
セッサから発行されるトランザクション毎に説明する。
ン:キャッシュ78は、トランザクションが対象とする
キャッシュラインデータを“モディファイド”の状態で
保持している場合、モディファイド応答信号線(modifi
ed)を介しモディファイド応答信号をアサートして、更
新データを保持していることを通知する。この後、キャ
ッシュ78は、“Write−Line”トランザクシ
ョンを発行して更新データを主メモリ72に書き出す。
キャッシュ78は、該当するキャッシュラインの状態を
“クリーンシェアード”とする。
ンが対象とするキャッシュラインデータを“クリーンエ
クスクルーシブ”又は“クリーンシェアード”の状態で
保持している場合、シェアード応答信号線(shared)を
介しシェアード応答信号をアサートして、クリーンデー
タを保持していることを通知する。いずれの場合も、キ
ャッシュ78は、該当するキャッシュラインの状態を
“クリーンシェアード”とする。尚、キャッシュ78
は、対応する有効なキャッシュラインデータを保持して
いない場合には何もしない。
alidate”トランザクション:キャッシュ78
は、トランザクションが対象とするキャッシュラインデ
ータを“モディファイド”の状態で保持している場合、
モディファイド応答信号線(modified)を介してモディ
ファイド応答信号をアサートし、更新データを保持して
いることを通知する。この後、キャッシュ78は、“W
rite−Line”トランザクションを発行して更新
データを主メモリ72に書き出す。キャッシュ78は、
該当するキャッシュラインの状態を“インバリッド”と
する。
ンが対象とするキャッシュラインデータを“クリーンエ
クスクルーシブ”又は“クリーンシェアード”の状態で
保持している場合、該当するキャッシュラインの状態を
“インバリッド”とする。
ャッシュラインデータを保持していない場合には何もし
ない。 “Invalidate”トランザクション:キャッシ
ュ78は、トランザクションが対象とするキャッシュラ
インデータを“クリーンエクスクルーシブ”または“ク
リーンシェアード”の状態で保持している場合、該当す
るキャッシュラインの状態を“インバリッド”とする。
キャッシュラインデータを保持していない場合には何も
しない。尚、この場合、対応するラインを“モディファ
イド”の状態で保持していることはあり得ない。
ン:キャッシュ78は何もしない。 c.メモリ制御部の動作について 次に、各バストランザクションに対するメモリ制御部8
0の動作を説明する。
ン:バス76に発行された“Write−Line”ト
ランザクションをスヌープすると、キャッシュから書き
出されるキャッシュラインデータを取り込み、主メモリ
72の該当するアドレスに書き込む。
th−Invalidate”:メモリ制御部20は、
これら2つのトランザクションに対しては、同一の動作
をする。
ファイド応答信号がアサートされた場合は何もしない。
これは、アサートしたスレーブプロセッサのキャッシュ
が既に更新データを保持していることを示している。こ
の場合、これらのトランザクションに引続き、このキャ
ッシュから“Write−Line”トランザクション
が発行され、更新データが書き出される。
されない場合は、アクセス対象となっているキャッシュ
ラインのアドレスで示されるメモリロケーションからキ
ャッシュラインデータを読み出し、バス76に出力す
る。
ついて 次に、各バストランザクションに対するビフォアイメー
ジバッファ制御部81の動作を説明する。
ョン毎に説明する。 “Read−Line”トランザクション:バスインタ
フェース制御部811がバス76に発行された“Rea
d−Line”トランザクションをスヌープすると、状
態保存制御部812は、バストランザクション応答制御
部813を起動する。バストランザクション応答制御部
813は、バスインタフェース制御部811を介してシ
ェアード応答信号をシェアード応答信号線(shared)に
アサートする。
シュの現在対象としているキャッシュラインの状態を
“クリーンエクスクルーシブ”ではなく、“クリーンシ
ェアード”の状態にすることができる。そして、この
後、当該キャッシュラインに対してライトアクセスが発
生した場合に、更新前のデータを保存することを可能と
している。
て、“クリーンエクスクルーシブ”状態を避ける方法が
ある場合には、ビフォアイメージバッファ制御部81が
シェアード応答信号をアサートする必要はない。
ン:バスインタフェース制御部811がバス76に発行
された“In−validate”トランザクションを
スヌープすると、状態保存制御部812は、バストラン
ザクション応答制御部813を起動する。
は、バスインタフェース制御部811を介してシェアー
ド応答信号とモディファイド応答信号を、シェアード応
答信号線(shared)、及びモディファイド応答信号線
(modified)にアサートする。
e”トランザクションはアボートされたことになり、こ
の後、マスタプロセッサは、再びバスを獲得した後、同
じトランザクションを再発行する。
は、下記の処理が完了するまで、再発行された“In−
validate”トランザクションに対して、シェア
ード応答信号およびモディファイド応答信号をアサート
し、アボートし続ける。
ション発行制御部815を起動する。バストランザクシ
ョン発行制御部815は、更新前のキャッシュラインデ
ータを得るため、バスインタフェース制御部811を介
して得た無効対象となっているキャッシュラインのアド
レスで示されるメモリロケーションに対する“Read
−Line”トランザクションを発行する。
アクセス制御部814を起動し、メモリ制御部80が主
メモリ72から読み出しバス76に出力したキャッシュ
ラインデータを、バスインタフェース制御部811から
バッファアクセス制御部814に転送して、アドレス値
と共にビフォアイメージバッファ73に書き込ませる。
ョン応答制御部813は、再発行された“Invali
−date”トランザクションに対するアボートを中止
する。
を実施したキャッシュブロックのアドレスを記憶し、こ
の後、再び同じアドレスに対する“Invalidat
e”トランザクションが発行された場合には無視する。
alidate”トランザクション:当該トランザクシ
ョンの発行に伴って、モディファイド応答信号がアサー
トされた場合は、アサートしたキャッシュが既に更新デ
ータを保持していることを示しており、そのプロセッサ
が最新のチェックポイント以降にライトアクセスを実行
していることが分かる。このため、その時点で以前のデ
ータがビフォアイメージバッファ73に格納されている
ことになり、改めてこのアドレスのデータをビフォアイ
メージバッファに格納する必要はない。従って、状態保
存制御部812は何もしない。
Invalidate”トランザクションの発行に伴っ
て、モディファイド応答信号がアサートされない場合
は、バッファアクセス制御部814を起動し、メモリ制
御部80が主メモリ72から読み出しバス76に出力し
たキャッシュラインデータを、バスインタフェース制御
部811からバッファアクセス制御部814に転送し
て、アドレス値と共にビフォアイメージバッファ73に
書き込ませる。この場合、“Read−Line”を発
行する必要はない。
ン:何もしない。 チェックポイント処理について 次に、前述のようにして動作するマルチプロセッサシス
テムにおけるチェックポイント処理について説明する。
〜75の内部状態(即ち内部レジスタ等)を主メモリ7
2に書き出すとともに、各キャッシュ77〜78の“モ
ディファイド”状態にある全てのキャッシュラインのデ
ータを主メモリ72に書き戻す。尚、実際には、プロセ
ッサ内部状態の主メモリ72への書き出しもキャッシュ
を介して行なわれるので、バストランザクション上、特
別な配慮は不要である。
書き戻したキャッシュラインの状態を“クリーンシェア
ード”または“インバリッド”にする。主メモリへのラ
インデータの書き戻しは“Write−Line”トラ
ンザクションを用いて行なわれるため、このときにビフ
ォアイメージバッファへのデータ保存が発生することは
ない。
ント時には、コピーバックキャッシュに保持されていた
更新データを主メモリに書き出すだけでよく、この時点
で更新前データを保存する必要がなくなるため、チェッ
クポイントのオーバヘッドを小さくすることができる。
メモリ状態回復機能を提供することができる。ところ
が、上記した方式では、バス76に“Invalida
te”トランザクションが発行されたとき、更新前のキ
ャッシュラインデータを得るために、前記“Inval
idate”トランザクションをアボートし、“Rea
d−Line”トランザクションを発行しなければなら
ない。
ine”トランザクションが完了するまで、前記“In
validate”トランザクションをアボートし続け
なければならない。即ち、バス76に通常の処理とは無
関係のトランザクションが発行されるため、オーバヘッ
ドになっていた。
ーバック型のキャッシュを用いたコンピュータシステム
に於ける従来のメモリ状態回復機能を実現する方式は、
バス76に“Invalidate”トランザクション
が発行されたとき、更新前のキャッシュラインデータを
得るために、“Invalidate”トランザクショ
ンをアボートし、“Read−Line”トランザクシ
ョンを発行しなければならず、又、発行した“Read
−Line”トランザクションが完了するまで、“In
validate”トランザクションをアボートし続け
なければならないため、バス76に通常の処理とは無関
係のトランザクションが発行され、オーバヘッドになる
という問題があった。
を実現しようとしたとき、バスに通常の処理とは無関係
の余分なトランザクションを発行しなければならず、従
ってオーバヘッドになるという問題があった。
バスに通常の処理とは無関係の余分なトランザクション
を発行することなく、メモリ状態を回復できる計算機シ
ステム及びメモリ状態復元装置を提供することを目的と
する。
対応して設けられるコピーバック型のキャッシュと、主
メモリ上に於ける更新前データとそのアドレスとの組を
格納するバッファとを備えた計算機システムに於いて、
前記キャッシュに対応して、該当するキャッシュのクリ
ーンな状態を保持するキャッシュデータ保持手段を設
け、前記キャッシュデータ保持手段のデータをもとに前
記バッファを用いて前記主メモリの状態を復元する制御
手段とを具備して、バスに通常の処理とは関係のない余
分なトランザクションを発行することなくメモリ状態を
回復できるようにしたことを特徴とする。
られるコピーバック型のキャッシュと、主メモリ上に於
ける更新前データとそのアドレスとの組を格納するバッ
ファとを備えた計算機システムに於いて、前記キャッシ
ュのクリーンな状態を保持するnウェイセットアソシエ
ィティブキャッシュ型のキャッシュデータ保持手段を設
け、前記キャッシュデータ保持手段のデータをもとに前
記バッファを用いて前記主メモリの状態を復元する制御
手段とを具備して、キャッシュとキャッシュデータ保持
手段(ビフォアイメージキャッシュ)とを対応付けた構
成を採らずに、バスに通常の処理とは関係のない余分な
トランザクションを発行することなくメモリ状態を回復
できるようにしたことを特徴とする。
シュデータ保持手段及び当該保持データにより主メモリ
の状態を復元する制御手段が拡張用のボードにより提供
され又は標準装備されることを特徴とする。
られ、前記プロセッサからのアクセス要求に応じて各種
のトランザクションを発行するデータ一貫性保持機能を
有する少なくとも一つのコピーバック型のキャッシュ
と、前記プロセッサの処理に必要なデータを保持する主
メモリと、前記主メモリに対するアクセスを制御するメ
モリ制御手段と、前記少なくとも一つのキャッシュと前
記メモリアクセス制御手段とが接続されるバスとを備え
た計算機システムのメモリ状態復元装置に於いて、前記
主メモリに於ける更新前データとそのアドレスとの組を
格納するバッファと、前記キャッシュに対応して設けら
れ、前記キャッシュからのリード要求に対する主メモリ
からの応答データを格納するビフォアイメージキャッシ
ュと、前記バスに接続され前記キャッシュからの各種ト
ランザクションをスヌープする手段と、前記キャッシュ
のリード要求に対するメモリからの応答データをスヌー
プし、前記ビフォアイメージキャッシュに格納する手段
と、前記キャッシュがライト要求を発行したとき前記主
メモリが更新される前のデータを前記バッファメモリへ
格納するために前記ビフォアイメージキャッシュから該
当キャッシュラインデータを読み出す手段をもつビフォ
アイメージキャッシュ制御手段と、前記ビフォアイメー
ジキャッシュから読み出されたデータ及び対応するアド
レスを前記バッファに格納するバッファアクセス制御手
段とを具備して、メモリ制御手段その他には手を加え
ず、バスに主メモリから更新前のデータを読み出すため
のリード要求を発行しなくても、付加ハードウェアによ
りメモリ状態復元機能が実現できるようにしたことを特
徴とする。
フォアイメージキャッシュの状態を管理するために、少
なくとも1ビットのモディファイドビットを備えたビフ
ォアイメージキャッシュであって、ビフォアイメージキ
ャッシュの制御手段は、主メモリあるいは他のプロセッ
サからの対応するキャッシュラインからデータを読み出
すトランザクションであるとき、当該トランザクション
により示されるビフォアイメージキャッシュの該当キャ
ッシュラインのモディファイドビットをモディファイド
でない状態にする手段と、キャッシュから発行されるト
ランザクションが他のプロセッサの対応するキャッシュ
ラインの無効化を指示するトランザクションであると
き、当該トランザクションにより示されるビフォアイメ
ージキャッシュの該当キャッシュラインのモディファイ
ドビットをモディファイド状態にする手段と、キャッシ
ュから発行されたリード要求により、ビフォアイメージ
キャッシュのモディファイドラインが置換されるとき、
前記主メモリが更新される前のデータをバッファへ格納
するために、ビフォアイメージキャッシュから置換され
るキャッシュラインを読み出す手段とを具備してなるこ
とを特徴とする。
ャッシュから発行されるリード要求に於いて、キャッシ
ュ内のモディファイドラインが置換されることを示すモ
ディファイドライン置換信号を備え、ビフォアイメージ
キャッシュ制御手段は、モディファイドライン置換信号
が有効であるとき、主メモリが更新される前のデータを
バッファへ格納するために、ビフォアイメージキャッシ
ュから該当キャッシュラインを読み出す手段を備えたこ
とを特徴とする。
フォアイメージキャッシュ制御手段は、キャッシュから
無効化要求が発行されたとき、主メモリが更新される前
のデータをバッファへ格納するために当該トランザクシ
ョンにより示されるビフォアイメージキャッシュから該
当するキャッシュラインデータを読み出す手段を具備し
てなることを特徴とする。
られ、前記プロセッサからのアクセス要求に応じて各種
のトランザクションを発行するデータ一貫性保持機能を
有する少なくとも一つのコピーバック型のキャッシュ
と、前記プロセッサの処理に必要なデータを保持する主
メモリと、前記主メモリに対するアクセスを制御するメ
モリ制御手段と、前記少なくとも一つのキャッシュと前
記メモリアクセス制御手段とが接続されるバスとを備え
た計算機システムのメモリ状態復元装置に於いて、nウ
ェイセットアソシエィティブキャッシュ型のビフォアイ
メージキャッシュを設け、当該ビフォアイメージキャッ
シュの制御手段に、キャッシュから発行されるリード要
求のアドレスがビフォアイメージキャッシュ内にあるか
否かを判定するためのタグ比較手段を設けて、プロセッ
サのリード要求がビフォアイメージキャッシュにミスし
たとき、主メモリが更新される前のデータをバッファへ
格納するためにビフォアイメージキャッシュの該当する
セット中の全てのラインを読み出す手段と、前記ビフォ
アイメージキャッシュの該当するセット中のラインから
置換するラインを選択し、前記リード要求に対する応答
データを選択したキャッシュラインへ格納する手段とを
具備して、プロセッサに接続されたキャッシュとビフォ
アイメージキャッシュとの構成を異ならせて、バスに主
メモリから更新前のデータを読み出すためのリード要求
を発行しなくてもメモリ状態復元機能が実現できること
を特徴とする。
キャッシュ型のビフォアイメージキャッシュを設けてな
るメモリ状態復元装置に於いて、ビフォアイメージキャ
ッシュの制御手段に、キャッシュのリード要求がビフォ
アイメージキャッシュにミスし、ビフォアイメージキャ
ッシュのセット中にモディファイドラインがあるとき、
主メモリが更新される前のデータをバッファへ格納する
ために、モディファイドライン全てを読み出す手段と、
リード要求がビフォアイメージキャッシュにミスし、ビ
フォアイメージキャッシュの該当するセット中にモディ
ファイドラインがないとき、ビフォアイメージキャッシ
ュの該当するセット中のラインから置換するラインを選
択し、主メモリが更新される前のデータをバッファへ格
納するために、選択したラインを読み出す手段とを具備
してなることを特徴とする。
キャッシュ型のビフォアイメージキャッシュを有してな
るメモリ状態復元装置に於いて、ビフォアイメージキャ
ッシュの制御手段に、キャッシュから発行されるリード
要求のアドレスがビフォアイメージキャッシュ内にある
か否かを判定するためのタグ比較手段を備え、プロセッ
サのリード要求がビフォアイメージキャッシュにミスし
たとき、主メモリが更新される前のデータをバッファへ
格納するために、ビフォアイメージキャッシュの該当す
るセット中の全てのラインを読み出す手段と、ビフォア
イメージキャッシュの該当するセット中のラインから置
換するラインを選択し、リード要求に対する応答データ
を選択したキャッシュラインへ格納する手段とを具備し
てなることを特徴とする。
形態を説明する。 第1実施形態 先ず、図1乃至図5を参照して本発明の第1実施形態を
説明する。
状態回復機能を有するコンピュータシステムの構成を示
すブロック図である。図1に示す第1実施形態のコンピ
ュータシステムに於いては、N個のプロセッサ14〜1
5と、各プロセッサに対応するN個のキャッシュ17〜
18が設けられている。
0、及びビフォアイメージバッファ制御部21と、バス
16を介して接続されている。ビフォアイメージバッフ
ァ制御部21は、バスインタフェース制御部211、状
態保存制御部212、バッファアクセス制御部214、
及びキャッシュ制御部215を有している。
16と直接接続され、バスの制御を行なう。バスインタ
フェース制御部211は、常時、バス16を監視してお
り、バス16に発行されたトランザクションに応じて動
作する。
状態を保存するために必要な各種機能を制御する。バッ
ファアクセス制御部214は、ビフォアイメージバッフ
ァ13と接続されビフォアイメージバッファに対するア
クセスを制御する。
ォアイメージキャッシュ30〜31と接続され、ビフォ
アイメージキャッシュ30〜31に対するアクセスを制
御する。
のキャッシュであり、上述した従来技術で説明した方式
に従って、データ一貫性保持のためのプロトコルを実現
する。
術と同様の構成をもち、キャッシュラインデータを保持
するデータメモリと、データメモリに格納された各キャ
ッシュラインデータを管理する情報を保持するためのタ
グメモリから構成される。
の構成をもち、従来技術と同様の方式により状態を管理
する。ビフォアイメージキャッシュ30〜31は、それ
ぞれ、各プロセッサに接続されたキャッシュ17〜18
と同様の構成をもち、キャッシュ17〜18のリードデ
ータのコピーを格納するためのデータメモリと、データ
メモリに格納された各キャッシュラインデータを管理す
るためのタグメモリから構成される。
8と同じでもよいが、この実施形態では状態管理が不要
である。コピーバックキャッシュに関連したバストラン
ザクションは、従来技術と同様であり、次のようなもの
を含む。
ンデータのリード)。 “Read−Line−with−Invalidat
e”(キャッシュラインデータのリード、及び他のキャ
ッシュに格納されたデータ無効化)。
インデータのライト)。 “Invalidate”(他のキャッシュに格納され
たデータ無効化)。 これらの各機能は、従来技術と同様である。
ed)161、モディファイド応答信号線(modified)1
62、バスコマンド信号線(command )163、プロセ
ッサID信号線(ID)165、及びアドレス/データ信
号線(address/data)164を含む。一般には、この他
にアービトレーションを行なうための信号線などを含む
が、本発明の主旨には直接関係しないので、その説明を
省略する。
ランザクションを発行したプロセッサを識別するため
に、それぞれのプロセッサに割り振られた識別番号であ
る。プロセッサID信号線(ID)165により、トラン
ザクションを発行したプロセッサ(キャッシュ)に対応
するビフォアイメージキャッシュを決定する。
である。 マスタプロセッサ及びスレーブプロセッサの動作につい
て マスタプロセッサおよびスレーブプロセッサの動作は上
述した従来技術と同様である。
る。 ビフォアイメージバッファ制御部の動作について 次に、“Write−Line”トランザクションが発
行されたときに、バックアップを作成するときの、各バ
ストランザクションに対するビフォアイメージバッファ
制御部21の動作を説明する。図2乃至図5はそれぞれ
上記第1実施形態の動作説明図である。
ッサ14(キャッシュ17)、当該プロセッサ14(キ
ャッシュ17)に対応するビフォアイメージキャッシュ
をビフォアイメージキャッシュ30、スレーブプロセッ
サをプロセッサ15(キャッシュ18)、当該プロセッ
サ15(キャッシュ18)に対応するビフォアイメージ
キャッシュをビフォアイメージキャッシュ31として動
作を説明する。
ことにより発行されるリード要求(“Read−Lin
e”,”Read−Line−with−Invali
date”)よりも、キャッシュミスにより“モディフ
ァイド”ラインを主メモリ12に書き戻すために発行さ
れる“Write−Line”トランザクションが常に
先に発行される。
ン:バスインタフェース制御部211がバス16に発行
された“Read−Line”トランザクションをスヌ
ープすると、状態保存制御部212とキャッシュ制御部
215を起動する。
ine”トランザクションに対して、メモリ制御部20
が主メモリ12から読み出しバス16へ出力したデータ
を取り込む。
D信号線165で示されるプロセッサ14(キャッシュ
17)に対応したビフォアイメージキャッシュ30の該
当キャッシュラインへ、“Read−Line”トラン
ザクションに対する応答データを格納する(図2(1−
a),図5(1−d)参照)。
ン:何もしない(図3(1−b)参照)。 “Read−Line−with−Invalidat
e”トランザクション:“Read−Line”トラン
ザクションと同じ動作をする。
ン:バスインタフェース制御部211がバス16に発行
された“Write−Line”トランザクションをス
ヌープすると、キャッシュ制御部215を起動する。
D信号線(ID)165で示されるプロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0の該当キャッシュラインを読み出し、状態保存制御部
212を起動する。
ス制御部214を起動し、ビフォアイメージキャッシュ
30から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値とともに
ビフォアイメージバッファ13に書き込ませる(図4
(1−c)参照)。
に於いて、プロセッサがストアを行なうとき、必ずキャ
ッシュラインをリードしてから、キャッシュを更新する
ので、ビフォアイメージキャッシュ内には更新前のデー
タが記録されている。
(“Write−Line”が発行された)、更新され
るキャッシュラインデータをビフォアイメージバッファ
13に保存することができる。
を行ない、更に次の処理を行なう。
を全て無効化する。又は、メモリに書き出したキャッシ
ュラインデータをビフォアイメージキャッシュに格納す
る。
書き込む前に、そのキャッシュラインのデータをビフォ
アイメージキャッシュから読み出し、ビフォアイメージ
バッファ13に格納する。この動作は通常のバックアッ
プをとる動作と同様である。
り、メモリ制御手段その他には手を加えず、バスに主メ
モリから更新前のデータを読み出すためのリード要求を
発行しなくても、付加ハードウェアによりメモリ状態復
元機能が実現できる。
を説明する。図6は本発明の第2実施形態に係るメモリ
状態回復機能を有するコンピュータシステムの構成を示
すブロック図である。
e”トランザクションが発行されたときに、バックアッ
プを作成するためのビフォアイメージバッファ制御部2
1の動作に特徴をもつ。
上記第1実施形態と同様である。ビフォアイメージバッ
ファ制御部21は、バス16に発行されたトランザクシ
ョンに対して応答を返す機能を制御するためのバストラ
ンザクション応答制御部213を備える。
は、“モディファイド”状態を管理するために、モディ
ファイド(M)ビットを備える。ビフォアイメージキャ
ッシュ30〜31の状態を管理するためのモディファイ
ド(M)ビットは、モディファイドビット(M)が
(“1”)のとき、そのラインが“モディファイド”で
あることを示す。(“0”)のとき、“モディファイド
でない”つまり、“クリーン・シェアード”、“クリー
ン・エクスクルーシブ”、又は“インバリッド”である
ことを示す。
キャッシュ30〜31の状態を全て“モディファイでな
い”にする。次に、各バストランザクションに対するビ
フォアイメージバッファ制御部21の動作を説明する。
態の動作説明図である。 “Read−Line”トランザクション:バスインタ
フェース制御部211がバス16に発行された“Rea
d−Line”トランザクションをスヌープすると、状
態保存制御部212とキャッシュ制御部215を起動す
る。
ション応答制御部213を起動する。バストランザクシ
ョン応答制御部213は、バスインタフェース制御部2
11を介してシェアード応答信号をシェアード応答信号
線161にアサートする。
ャッシュ17)が現在対象としているキャッシュライン
の状態を“クリーンエクスクルーシブ”ではなく、“ク
リーンシェアード”の状態にすることができる。
置換されるときに、更新前のデータを保存することを可
能としている。また、状態保存制御部212は、“Re
ad−Line”トランザクションに対して、メモリ制
御部20が主メモリ12から読み出しバス16へ出力し
たデータを取り込む。
て、“クリーンエクスクルーシブ”状態を避ける方法が
ある場合には、ビフォアイメージバッファ制御部21が
シェアード応答信号をアサートする必要はない。
D信号線165で示されるプロセッサ14(キャッシュ
17)に対応したビフォアイメージキャッシュ30から
該当するタグメモリを読み出す。
出したラインが“モディファイドでない”ときであっ
て、モディファイド応答信号線162がアサートされな
いとき、キャッシュ制御部215は、プロセッサ14
(キャッシュ17)に対応するビフォアイメージキャッ
シュ30の該当キャッシュラインへ“Read−Lin
e”トランザクションに対する応答データを格納する
(図7参照)。
出したラインが“モディファイドでない”ときであっ
て、モディファイド応答信号線162がアサートされた
とき、キャッシュ制御部215は、モディファイド応答
信号線162をアサートしたプロセッサ15(キャッシ
ュ18)に対応するビフォアイメージキャッシュ31か
ら該当キャッシュラインを読み出し、そのラインを“モ
ディファイドでない”とする。
ァアクセス制御部214を起動し、ビフォアイメージキ
ャッシュ31から読み出したキャッシュラインデータを
バッファアクセス制御部214に転送して、アドレス値
とともにビフォアイメージバッファ13に書き込ませ
る。
出したラインが“モディファイド”のとき、キャッシュ
制御部215は、プロセッサ14(キャッシュ17)に
対応するビフォアイメージキャッシュ30から該当キャ
ッシュラインデータを読み出す。
クションに対する応答データをプロセッサ14(キャッ
シュ17)に対応するビフォアイメージキャッシュ30
の該当キャッシュラインへ書き込む。
ス制御部214を起動し、ビフォアイメージキャッシュ
30から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値とともに
ビフォアイメージバッファ13に書き込ませる(図9参
照)。
ャッシュラインの状態を“モディファイドでない”とす
る。“Invalidate”トランザクション:バス
インタフェース制御部211がバス16に発行された
“In−validate”トランザクションをスヌー
プすると、キャッシュ制御部215は、プロセッサID
信号線(ID)165で示されるプロセッサ14(キャッ
シュ17)に対応するビフォアイメージキャッシュ30
の該当キャッシュラインの状態を“モディファイド”と
する(図8参照)。
alidate”トランザクション:ビフォアイメージ
キャッシュ30の状態を“モディファイド”とすること
を除いて、“Read−Line”トランザクションと
同様である。
サートされた場合、プロセッサ15(キャッシュ18)
に対応するビフォアイメージキャッシュ31の該当キャ
ッシュラインの更新前データをビフォアイメージバッフ
ァ13に格納するので、ビフォアイメージキャッシュ3
0の該当キャッシュラインが置き換えられるときには、
バックアップを作成する必要はない。このため、ビフォ
アイメージキャッシュ30の該当ラインの状態を“モデ
ィファイド”にする必要はない。
ン:何もしない(図10参照)。 第3実施形態 この第3実施形態は、上記第2実施形態に於いて、リー
ド要求(“Read−Line”,“Read−Lin
e−with−Invalidate”)が発行された
ときに、前記リード要求により“モディファイド”ライ
ンが置き換えられることを示すモディファイドライン置
換信号が出力される場合の動作に特徴をもつ。尚、この
第3実施形態では、ビフォアイメージキャッシュ30〜
31の状態を管理するためのモディファイド(M)ビッ
トは不要である。又、バストランザクション応答制御部
は必要ない。つまり、キャッシュの状態が“クリーン・
エクスクルーシブ”の状態を持つことがある。
ン:バスインタフェース制御部211がバス16に発行
された“Read−Line”トランザクションをスヌ
ープすると、キャッシュ制御部215を起動する。
d−Line”トランザクションに対して、メモリ制御
部20が主メモリ12から読み出しバス16へ出力した
データを取り込む。
により“モディファイド”ラインが置き換えられると
き、モディファイドライン置換信号がアサートされる。
このとき、キャッシュ制御部215は、プロセッサID
信号線(ID)165で示されるプロセッサ14(キャッ
シュ17)に対応したビフォアイメージキャッシュ30
から該当キャッシュラインデータを読み出し、状態保存
制御部212に渡す。
クションに対する応答データを、プロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0へ書き込む。
ス制御部214を起動し、ビフォアイメージキャッシュ
30から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値とともに
ビフォアイメージバッファ13に書き込ませる。
されず、モディファイド応答信号線162がアサートさ
れたとき、キャッシュ制御部215は、モディファイド
応答信号線162をアサートしたプロセッサ15(キャ
ッシュ18)に対応するビフォアイメージキャッシュ3
1から該当キャッシュラインを読み出す。
クションに対する応答データを、プロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0へ書き込む。
ス制御部214を起動し、ビフォアイメージキャッシュ
31から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値と共にビ
フォアイメージバッファ13に書き込ませる。
されず、モディファイド応答信号線162もアサートさ
れないとき、キャッシュ制御部215は、“Read−
Line”トランザクションに対する応答データを、プ
ロセッサ14(キャッシュ17)に対応するビフォアイ
メージキャッシュ30へ書き込む。
ン:何もしない。 “Read−Line−with−Invalidat
e”トランザクション:“Read−Line”トラン
ザクションと同様の動作を行なう。
ン:何もしない。 第4実施形態 この第4実施形態は、上記第2、第3実施形態に於い
て、リード要求時(“Read−Line”,“Rea
d−Line−with−Invalidate”)に
バックアップを作成する方法を示したが、無効化要求
(“Invalidate”)が発行されたときにバッ
クアップを作成する動作に特徴をもつ。
た第2実施形態と同様である。但し、ビフォアイメージ
キャッシュ30〜31の状態管理のためのモディファイ
ド(M)ビットはない。
ン:バスインタフェース制御部211がバス16に発行
された“Read−Line”トランザクションをスヌ
ープすると、状態保存制御部212とキャッシュ制御部
215を起動する。
ション応答制御部213を起動する。バストランザクシ
ョン応答制御部213は、バスインタフェース制御部2
11を介してシェアード応答信号をシェアード応答信号
線(shared)161にアサートする。
が現在対象としているキャッシュラインの状態を“クリ
ーンエクスクルーシブ”ではなく、“クリーンシェアー
ド”の状態にすることができる。
対してライトアクセスが発生した場合に、更新前のデー
タを保存することを可能としている。また、状態保存制
御部212は、“Read−Line”トランザクショ
ンに対して、メモリ制御部20が主メモリ12から読み
出しバス16へ出力したデータを取り込む。
て、“クリーンエクスクルーシブ”状態を避ける方法が
ある場合には、ビフォアイメージバッファ制御部21が
シェアード応答信号をアサートする必要はない。
D信号線(ID)165で示されるプロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0の該当ラインへ、“Read−Line”トランザク
ションに対する応答データを書き込む。
ン:バスインタフェース制御部211がバス16に発行
された“In−validate”トランザクションを
スヌープすると、プロセッサID信号線165で示され
るプロセッサ14(キャッシュ17)に対応するビフォ
アイメージキャッシュ30の該当ラインを読み出し、状
態保存制御部212へ渡す。
ス制御部214を起動し、ビフォアイメージキャッシュ
30から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値とともに
ビフォアイメージバッファ13に書き込ませる。
alidate”トランザクション:バスインタフェー
ス制御部211がバス16に発行された“Read−L
ine−with−Invalidate”トランザク
ションをスヌープすると、状態保存制御部212とキャ
ッシュ制御部215を起動する。
ine−with−Invalidate”トランザク
ションに対して、メモリ制御部20が主メモリ12から
読み出しバスへ出力したデータを取り込む。
トされない場合、キャッシュ制御部215は、プロセッ
サID信号線(ID)165で示されるプロセッサ14
(キャッシュ17)に対応したビフォアイメージキャッ
シュ30の該当ラインを読み出し、状態保存制御部21
2へ渡す。
の該当ラインへ、“Read−Line−with−I
nvalidate”トランザクションに対する応答デ
ータを書き込む。
ス制御部214を起動し、ビフォアイメージキャッシュ
30から読み出したキャッシュラインデータをバッファ
アクセス制御部214に転送して、アドレス値とともに
ビフォアイメージバッファ13に書き込ませる。
された場合、キャッシュ制御部215は、プロセッサI
D信号線(ID)165で示されるプロセッサ14(キャ
ッシュ17)に対応するビフォアイメージキャッシュ3
0の該当ラインへ、“Read−Line”トランザク
ションに対する応答データを書き込む。
新されており、更新前のデータは、ビフォアイメージバ
ッファ13に格納されている。従って、状態保存制御部
212は何もしない。
ン:何もしない。 第5実施形態 この第5実施形態は、ビフォアイメージキャッシュが、
プロセッサに接続されたキャッシュと構成を異にするこ
とを特徴とする。
リ状態回復機能を有するコンピュータシステムの構成を
示すブロック図である。この第5実施形態に於ける構成
は、次の点を除いて上述した第2実施形態と同様であ
る。
どのプロセッサが発行したトランザクションか識別する
ことができない。 b.ビフォアイメージキャッシュ30が一つのnウェイ
・セット・アソシエィティブ・キャッシュ型(n≧1)
で構成されている。
1の動作をそれぞれのトランザクション毎に説明する。 “Read−Line”トランザクション:バスインタ
フェース制御部211がバス16に発行された“Rea
d−Line”トランザクションをスヌープすると、状
態保存制御部212とキャッシュ制御部215を起動す
る。
ション応答制御部213を起動する。バストランザクシ
ョン応答制御部213は、バスインタフェース制御部2
11を介してシェアード応答信号をシェアード応答信号
線(shared)161にアサートする。
が現在対象としているキャッシュラインの状態を“クリ
ーンエクスクルーシブ”ではなく、“クリーンシェアー
ド”の状態にすることができる。
置換されるときに、更新前のデータを保存することを可
能としている。また、状態保存制御部212は、“Re
ad−Line”トランザクションに対して、メモリ制
御部20が主メモリ12から読み出しバス16へ出力し
たデータを取り込む。
して、“クリーンエクスクルーシブ”状態を避ける方法
がある場合には、ビフォアイメージバッファ制御部21
がシェアード応答信号をアサートする必要はない。
ージキャッシュ30からタグメモリを読み出す。ビフォ
アイメージキャッシュ30にヒットしたとき、何もしな
い。
し、モディファイド応答信号162がアサートされた場
合、そのラインは既にバックアップされているので何も
しない。
し、モディファイド応答信号線(modified)162がア
サートされない場合で、ビフォアイメージキャッシュ3
0の該当セット内に一つ以上の“モディファイド”ライ
ンがあるとき、キャッシュ制御部215は、ビフォアイ
メージキャッシュ30から全ての“モディファイド”ラ
インのデータを読み出し、状態保存制御部212に渡
す。
ト内の“モディファイド”ラインの中から置換するライ
ンを選択し、“Read−Line”トランザクション
の応答データを書き込む。セット内の全ての“モディフ
ァイド”ラインの状態を“モディファイドでない”にす
る。
ス制御部214によって、前記“モディファイド”ライ
ンのデータをビフォアイメージバッファ13へ書き込ま
せる。
し、モディファイド応答信号線(modified)162がア
サートされない場合で、ビフォアイメージキャッシュ3
0のセット内に“モディファイド”ラインが一つもない
とき、キャッシュ制御部215は、セット内から置換す
るキャッシュラインを選択し、データを読み出し、状態
保存制御部212に渡す。そして、前記キャッシュライ
ンへ“Read−Line”トランザクションに対する
応答データを書き込む。
ス制御部214によって、前記キャッシュラインデータ
をビフォアイメージバッファ13へ書き込ませる。ビフ
ォアイメージキャッシュ30の該当キャッシュラインの
状態を“モディファイドでない”とする。
ン:バスインタフェース制御部211がバス16に発行
された“In−validate”トランザクションを
スヌープすると、キャッシュ制御部215を起動する。
ージキャッシュ30からタグメモリを読み出す。ビフォ
アイメージキャッシュ30にヒットした場合、そのキャ
ッシュラインの状態を“モディファイド”にする。
た場合、そのラインは既にビフォアイメージバッファ1
3に格納されている。従って何もしない。 “Read−Line−with−Invalidat
e”トランザクション:ビフォアイメージキャッシュの
状態を“モディファイド”にすることを除いて、“Re
ad−Line”トランザクションと同様である。
ン:何もしない。 このように第5実施形態に於いては、プロセッサに接続
されたキャッシュとビフォアイメージキャッシュの構成
が異なることを可能とする。
能を有するコンピュータシステムの構成を示すブロック
図である。
ォアイメージキャッシュ30〜31が、キャッシュ17
〜18と構成が異なる場合の他の実施形態を示してい
る。この第6実施形態に於ける構成は、次の点を除いて
上述した第3実施形態と同様である。
どのプロセッサが発行したトランザクションか識別する
ことができない。 b.ビフォアイメージキャッシュ30が一つのnウェイ
・セット・アソシエィティブ・キャッシュ型(n≧1)
で構成されている。
e”,“Read−Line−with−Invali
date”)に対する主メモリ12からの応答データと
アドレスを記録するための一時バッファ216を持つ。
1の動作をそれぞれのトランザクション毎に説明する。 “Read−Line”トランザクション:バスインタ
フェース制御部211がバス16に発行された“Rea
d−Line”トランザクションをスヌープすると、キ
ャッシュ制御部215を起動する。
d−Line”トランザクションに対して、メモリ制御
部20が主メモリ12から読み出しバスへ出力したデー
タを取り込む。
ンが置き換えられるとき、モディファイドライン置換信
号線(replace )167がアサートされる。このとき、
状態保存制御部212は、“Read−Line”トラ
ンザクションに対する応答データをアドレスとともに一
時バッファ216に記録する。
e )167がアサートされておらず、ビフォアイメージ
キャッシュ30にヒットした場合は何もしない。モディ
ファイドライン置換信号がアサートされておらず、ビフ
ォアイメージキャッシュ30ミスし、モディファイド応
答信号線(modified)162がアサートされた場合、そ
のラインは、すでにバックアップされているので何もし
ない。
e )167がアサートされておらず、ビフォアイメージ
キャッシュ30にミスし、モディファイド応答信号線
(modified)162がアサートされない場合、キャッシ
ュ制御部215は、セット内から置換するキャッシュラ
インを選択し、データを読み出し、状態保存制御部21
2に渡す。そして、前記キャッシュラインへ“Read
−Line”トランザクションに対する応答データを書
き込む。
ス制御部214によって、前記キャッシュラインデータ
をビフォアイメージバッファ13へ書き込ませる。 “Invalidate”トランザクション:何もしな
い。
alidate”トランザクション:“Read−Li
ne”トランザクションと同様の動作を行なう。 “Write−Line”トランザクション:バスイン
タフェース制御部211がバス16に発行された“Wr
ite−Line”トランザクションをスヌープする
と、キャッシュ制御部215を起動する。
ージキャッシュ30からタグメモリを読み出す。“Wr
ite−Line”トランザクションがビフォアイメー
ジキャッシュ30にヒットした場合、キャッシュ制御部
215は、ヒットしたキャッシュラインデータを読み出
し、状態保存制御部212へデータを渡す。
いるアドレスとデータを前記キャッシュラインへ書き込
む。状態保存制御部212は、キャッシュ制御部215
によって読み出されたキャッシュラインデータをバッフ
ァアクセス制御部214によって、ビフォアイメージバ
ッファ13へ書き込ませる。
ンがビフォアイメージキャッシュ30にミスした場合、
キャッシュ制御部215は、セット内から置換するライ
ンを選択する。
出し、状態保存制御部212へ渡す。そして、一時バッ
ファ216に記録されているアドレスとデータを前記キ
ャッシュラインへ書き込む。
部215によって読み出されたキャッシュラインデータ
をバッファアクセス制御部214によって、ビフォアイ
メージバッファ13へ書き込ませる。
セッサに接続されたキャッシュとビフォアイメージキャ
ッシュの構成が異なることを可能とする。 その他の実施形態 上述した第1、第3、第6実施形態に於いては、プロセ
ッサに接続されたキャッシュの状態が“クリーンエクス
クルーシブ”になることを許す。又、第2、第4、第5
実施形態に於いては従来例と同様に、キャッシュが“ク
リーンエクスクルーシブ”の状態にならないよう制御す
る必要がある。但し、ビフォアイメージキャッシュで、
“クリーンエクスクルーシブ”と“クリーンシェアー
ド”の状態を管理し、“クリーンエクスクルーシブ”を
“モディファイド”と同様に扱うことによって、バスト
ランザクション応答制御部が不要となり、プロセッサに
接続されたキャッシュが“クリーンエクスクルーシブ”
の状態になることを許す。
ジキャッシュが、プロセッサに接続されたキャッシュと
構成が異なる場合、又は、プロセッサに接続されたキャ
ッシュがnウェイ・セット・アソシエィティブ・キャッ
シュ型で、置換されたラインが分からないときや、どの
プロセッサが発行した要求か分からないときなどの理由
により、ビフォアイメージキャッシュがプロセッサに接
続されたキャッシュの状態を正確に追従できない場合に
対応することができる。
バッファを主メモリの一部を利用して実施することも可
能である。この際は独立したバッファメモリを設けるこ
となく安価に実現できる。
セッサ14〜15を持つマルチプロセッサシステムを例
に説明したが、キャッシュが同様の機能を持っていれ
ば、単一プロセッサから成るコンピュータシステムに対
しても適用することが可能である。又、キャッシュが単
一でなく、階層構造をとる場合にも同様に適用可能であ
る。
ァ制御部は、あるキャッシュ又はプロセッサがバス16
にリード要求(“Read−Line”,“Read−
Line−with−Invalidate”)を発行
したときに、そのリードデータをビフォアイメージキャ
ッシュに格納し、そのラインがライトまたは、置換され
るときに、ビフォアイメージキャッシュに保持された更
新前のキャッシュラインデータをビフォアイメージバッ
ファに保存する。
ス、プロセッサ、キャッシュ、メモリ制御部には何ら手
を加えずに、バスにビフォアイメージバッファ制御部を
付加することにより、メモリ状態回復機能を実現するこ
とが可能となる。
出すために、バスへトランザクションを発行する必要が
ない。尚、本発明は、上記実施形態に限定されるもので
はなく、本発明の要旨の範囲で種々の変形実施が可能で
ある。
スに通常の処理とは無関係の余分なトランザクションを
発行することなく、メモリ状態を回復できる計算機シス
テム及びメモリ状態復元装置が提供できる。
ず、バスに主メモリから更新前のデータを読み出すため
のリード要求を発行しなくても、付加ハードウェアによ
りメモリ状態復元機能が実現できる。更に、このメモリ
状態復元機能をプロセッサに接続されたキャッシュとビ
フォアイメージキャッシュとを異なる構成にて実現でき
る。又、ビフォアイメージバッファを主メモリ内に設け
ることによって独立したバッファメモリを設けることな
く安価に実現できる。
能を有するコンピュータシステムの構成を示すブロック
図。
能を有するコンピュータシステムの構成を示すブロック
図。
機能を有するコンピュータシステムの構成を示すブロッ
ク図。
機能を有するコンピュータシステムの構成を示すブロッ
ク図。
すブロック図。
ディファイド(M)、シェアード(S)の組合せによる
キャッシュラインの状態を示す図。
)、 211…バスインタフェース制御部、 212…状態保存制御部、 214…バッファアクセス制御部、 215…キャッシュ制御部、 216…一時バッファ。
Claims (13)
- 【請求項1】 プロセッサに対応して設けられるコピー
バック型のキャッシュと、主メモリ上に於ける更新前デ
ータとそのアドレスとの組を格納するバッファとを備え
た計算機システムに於いて、前記キャッシュに対応し
て、該当するキャッシュのクリーンな状態を保持するキ
ャッシュデータ保持手段を設け、前記キャッシュデータ
保持手段のデータをもとに前記バッファを用いて前記主
メモリの状態を復元する制御手段とを具備してなること
を特徴とする計算機システム。 - 【請求項2】 プロセッサに対応して設けられるコピー
バック型のキャッシュと、主メモリ上に於ける更新前デ
ータとそのアドレスとの組を格納するバッファとを備え
た計算機システムに於いて、前記キャッシュのクリーン
な状態を保持するnウェイセットアソシエィティブキャ
ッシュ型のキャッシュデータ保持手段を設け、前記キャ
ッシュデータ保持手段のデータをもとに前記バッファを
用いて前記主メモリの状態を復元する制御手段とを具備
してなることを特徴とする計算機システム。 - 【請求項3】 キャッシュデータ保持手段及び当該保持
データにより主メモリの状態を復元する制御手段が拡張
用のボードにより提供され又は標準装備される請求項1
又は2記載の計算機システム。 - 【請求項4】 プロセッサに対応して設けられ、前記プ
ロセッサからのアクセス要求に応じて各種のトランザク
ションを発行するデータ一貫性保持機能を有する少なく
とも一つのコピーバック型のキャッシュと、前記プロセ
ッサの処理に必要なデータを保持する主メモリと、前記
主メモリに対するアクセスを制御するメモリ制御手段
と、前記少なくとも一つのキャッシュと前記メモリアク
セス制御手段とが接続されるバスとを備えた計算機シス
テムに於いて、 前記主メモリに於ける更新前データとそのアドレスとの
組を格納するバッファと、 前記キャッシュに対応して設けられ、前記キャッシュか
らのリード要求に対する主メモリからの応答データを格
納するビフォアイメージキャッシュと、 前記バスに接続され前記キャッシュからの各種トランザ
クションをスヌープする手段と、 前記キャッシュのリード要求に対するメモリからの応答
データをスヌープし、前記ビフォアイメージキャッシュ
に格納する手段と、 前記キャッシュがライト要求を発行したとき前記主メモ
リが更新される前のデータを前記バッファメモリへ格納
するために前記ビフォアイメージキャッシュから該当キ
ャッシュラインデータを読み出す手段をもつビフォアイ
メージキャッシュ制御手段と、 前記ビフォアイメージキャッシュから読み出されたデー
タ及び対応するアドレスを前記バッファに格納するバッ
ファアクセス制御手段とを具備してなることを特徴とす
る計算機システムのメモリ状態復元装置。 - 【請求項5】 ビフォアイメージキャッシュの状態を管
理するために、少なくとも1ビットのモディファイドビ
ットを備えたビフォアイメージキャッシュであって、 ビフォアイメージキャッシュの制御手段は、主メモリあ
るいは他のプロセッサからの対応するキャッシュライン
からデータを読み出すトランザクションであるとき、当
該トランザクションにより示されるビフォアイメージキ
ャッシュの該当キャッシュラインのモディファイドビッ
トをモディファイドでない状態にする手段と、 キャッシュから発行されるトランザクションが他のプロ
セッサの対応するキャッシュラインの無効化を指示する
トランザクションであるとき、当該トランザクションに
より示されるビフォアイメージキャッシュの該当キャッ
シュラインのモディファイドビットをモディファイド状
態にする手段と、 キャッシュから発行されたリード要求により、ビフォア
イメージキャッシュのモディファイドラインが置換され
るとき、前記主メモリが更新される前のデータをバッフ
ァへ格納するために、ビフォアイメージキャッシュから
置換されるキャッシュラインを読み出す手段とを具備し
てなることを特徴とする請求項4記載のメモリ状態復元
装置。 - 【請求項6】 キャッシュから発行されるリード要求に
於いて、キャッシュ内のモディファイドラインが置換さ
れることを示すモディファイドライン置換信号を備え、
ビフォアイメージキャッシュ制御手段は、モディファイ
ドライン置換信号が有効であるとき、主メモリが更新さ
れる前のデータをバッファへ格納するために、ビフォア
イメージキャッシュから該当キャッシュラインを読み出
す手段を備えたことを特徴とする請求項4記載のメモリ
状態復元装置。 - 【請求項7】 ビフォアイメージキャッシュ制御手段
は、キャッシュから無効化要求が発行されたとき、主メ
モリが更新される前のデータをバッファへ格納するため
に当該トランザクションにより示されるビフォアイメー
ジキャッシュから該当するキャッシュラインデータを読
み出す手段を具備してなることを特徴とする請求項4記
載のメモリ状態復元装置。 - 【請求項8】 nウェイセットアソシエィティブキャッ
シュ型のビフォアイメージキャッシュを有し、当該ビフ
ォアイメージキャッシュの制御手段は、キャッシュから
発行されるリード要求のアドレスがビフォアイメージキ
ャッシュ内にあるか否かを判定するためのタグ比較手段
を備え、プロセッサのリード要求がビフォアイメージキ
ャッシュにミスしたとき、主メモリが更新される前のデ
ータをバッファへ格納するためにビフォアイメージキャ
ッシュの該当するセット中の全てのラインを読み出す手
段と、前記ビフォアイメージキャッシュの該当するセッ
ト中のラインから置換するラインを選択し、前記リード
要求に対する応答データを選択したキャッシュラインへ
格納する手段とを具備してなることを特徴とする請求項
5記載のメモリ状態復元装置。 - 【請求項9】 ビフォアイメージキャッシュ制御手段
は、キャッシュのリード要求がビフォアイメージキャッ
シュにミスし、ビフォアイメージキャッシュのセット中
にモディファイドラインがあるとき、主メモリが更新さ
れる前のデータをバッファへ格納するために、 モディファイドライン全てを読み出す手段と、 リード要求がビフォアイメージキャッシュにミスし、ビ
フォアイメージキャッシュの該当するセット中にモディ
ファイドラインがないとき、ビフォアイメージキャッシ
ュの該当するセット中のラインから置換するラインを選
択し、主メモリが更新される前のデータをバッファへ格
納するために、選択したラインを読み出す手段とを具備
してなることを特徴とする請求項8記載のメモリ状態復
元装置。 - 【請求項10】 nウェイセットアソシエィティブキャ
ッシュ型のビフォアイメージキャッシュを有し、当該ビ
フォアイメージキャッシュの制御手段は、キャッシュか
ら発行されるリード要求のアドレスがビフォアイメージ
キャッシュ内にあるか否かを判定するためのタグ比較手
段を備え、プロセッサのリード要求がビフォアイメージ
キャッシュにミスしたとき、主メモリが更新される前の
データをバッファへ格納するために、ビフォアイメージ
キャッシュの該当するセット中の全てのラインを読み出
す手段と、ビフォアイメージキャッシュの該当するセッ
ト中のラインから置換するラインを選択し、リード要求
に対する応答データを選択したキャッシュラインへ格納
する手段とを具備してなることを特徴とする請求項6記
載のメモリ状態復元装置。 - 【請求項11】 ビフォアイメージキャッシュの制御手
段は、アドレスとデータを格納するための一時バッファ
を備え、 キャッシュからリード要求が発行されたときに、モディ
ファイドライン置換信号が無効であるとき、ビフォアイ
メージキャッシュから置換するラインを選択し、主メモ
リが更新される前のデータをバッファへ格納するために
該当するキャッシュラインを読み出す手段と、 モディファイドライン置換信号が有効であるとき、リー
ド要求に対する応答データとアドレスを一時バッファに
記録する手段と、 モディファイドラインが置換されることによって発行さ
れるライト要求がビフォアイメージキャッシュにヒット
したとき、主メモリが更新される前のデータをバッファ
へ格納するために、ビフォアイメージキャッシュから該
当するキャッシュラインを読み出す手段と、 ライト要求がビフォアイメージキャッシュにミスしたと
き、該当するセット中のラインから置換するラインを選
択し、主メモリが更新される前のデータをバッファへ格
納するために該当するキャッシュラインを読み出す手段
と、 一時バッファに記録したアドレスとデータを該当するキ
ャッシュラインへ格納する手段とを具備してなることを
特徴とする請求項10記載のメモリ状態復元装置。 - 【請求項12】 バッファメモリは、主メモリ内に設け
られる請求項6記載のメモリ状態復元装置。 - 【請求項13】 バッファアクセス制御手段は、プロセ
ッサの内部状態とキャッシュ内のモディファイド状態に
あるデータとを所定の時間間隔で主メモリに保存するチ
ェックポイント実行手段を含む請求項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 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)
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
Cited By (1)
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 |