JPH08137748A - コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法 - Google Patents

コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法

Info

Publication number
JPH08137748A
JPH08137748A JP6273530A JP27353094A JPH08137748A JP H08137748 A JPH08137748 A JP H08137748A JP 6273530 A JP6273530 A JP 6273530A JP 27353094 A JP27353094 A JP 27353094A JP H08137748 A JPH08137748 A JP H08137748A
Authority
JP
Japan
Prior art keywords
cache
write
cache block
main memory
data
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.)
Pending
Application number
JP6273530A
Other languages
English (en)
Inventor
Yoichiro Takeuchi
陽一郎 竹内
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 JP6273530A priority Critical patent/JPH08137748A/ja
Publication of JPH08137748A publication Critical patent/JPH08137748A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】本来不必要なキャッシュブロックのメインメモ
リへの書き戻しを抑制して性能を向上させる。 【構成】キャッシュブロック単位で管理されるコピーバ
ック方式のキャッシュメモリ20を有したコンピュータ
であって、キャッシュメモリ20を管理するステータス
として、キャッシュブロックの内容をメインメモリ12
に書き戻さずに同キャッシュブロックに書き込むことが
できる書き込み専用状態であることを示すデータを、キ
ャッシュブロック単位で設定するものであって、所定の
条件によりキャッシュブロックの内容をメインメモリ1
2に書き戻す必要が発生した場合に、該当するキャッシ
ュブロックが書き込み専用状態であることを示すデータ
が設定されていればメインメモリへの書き戻しを行なわ
ないキャッシュ制御部22を具備して構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コピーバックキャッシ
ュを有するコンピュータ及びコピーバックキャッシュ制
御方法に関する。
【0002】
【従来の技術】一般に、コンピュータではプロセッサと
メインメモリとの間にキャッシュメモリが設けられ、プ
ロセッサにおける処理速度とメインメモリに対する読み
書きの速度との速度差が埋められるようになっている。
キャッシュには、プログラムの局所性を利用して、最近
アクセスされた命令やデータを保持して、見かけ上のメ
モリアクセス性能を向上させている。
【0003】キャッシュメモリは、データ本体を保持す
るデータ領域と、データのアドレスやアクセス履歴を保
持するタグ領域から成る。何れの領域も複数のブロック
(キャッシュブロック)に分割して管理されている。
【0004】また、キャッシュメモリ内のデータは、最
終的にはメインメモリに書き戻さなくてはならないが、
その書き戻しの方式の1つにコピーバック方式がある。
コピーバック方式により書き戻しを行なうコピーバック
キャッシュは、以下のような機能を有している。
【0005】(1)コピーバックキャッシュ コンピュータに設けられたコピーバックキャッシュは、
各キャッシュブロック毎(タグ領域)に、キャッシュブ
ロックに記憶されたデータが書き替えられたか否かを示
すフラグ(ダーティビット)を持っている。キャッシュ
ブロックのデータにリプレースが生じたとき、キャッシ
ュから追い出されるキャッシュブロック中のデータがダ
ーティ(書き替えられている)であることが、ダーティ
ビットにより判定された場合には、このデータをメイン
メモリに書き戻す。メインメモリに書き戻す理由は、次
にこのブロックが参照された時、変更結果が消失しない
ようにするためである。
【0006】しかしながら、多くのプログラム言語にお
けるプログラム中の変数は、最後に参照されてから、以
後、新たに値が設定されるまで参照されない期間(これ
を変数が「死んでいる」期間」という)が比較的長いと
いう性質をもっている。この変数が「死んでいる」期間
に、対応するキャッシュブロックのデータがキャッシュ
から追い出されると、本来は必要のないメインメモリへ
の書き戻しが発生してしまう。
【0007】「死んでいる」期間にある変数に対して
は、キャッシュブロックを無効化することによって、書
き戻しの発生を抑制することはできるが、死んでいる変
数への書き込みが発生したときキャッシュミスとなるた
め、メインメモリからの読み込みが発生し、かえって処
理時間が増えることもあり有効ではない。
【0008】(2)コピーバックキャッシュを用いたフ
ォールトトレラント コピーバックキャッシュを用いてフォールトトレラント
コンピュータを実現することができる。このフォールト
トレラントコンピュータでは、キャッシュからメインメ
モリへの書き戻しが必要となったとき、同時にプロセッ
サのコンテキスト(レジスタ等が保持する値等などのプ
ロセッサで命令を実行している状態)、及び全ての書き
替えられたキャッシュブロックのデータをメインメモリ
に書き戻す(この動作をチェックポイントと称する)。
【0009】チェックポイント直後では、メインメモリ
とキャッシュのそれぞれに格納されたデータの値は完全
に一致している。プロセッサに故障が発生した場合に
は、別のプロセッサがチェックポイントによってメイン
メモリに書き戻されたプロセッサのコンテキストを用い
て、チェックポイント生成時点から処理を再実行させ
る。故障が発生したプロセッサのキャッシュメモリの値
は消失してしまうが、チェックポイント時点ではメイン
メモリと一致しているので、矛盾無く動作を実行するこ
とができる。
【0010】このようなフォールトトレラントコンピュ
ータでは、チェックポイントにおける処理時間はメイン
メモリに書き戻すキャッシュブロックの数によって大き
く影響されるため、不要な書き戻しブロックを削減する
ことが、性能上、非常に重要となっている。しかしなが
ら、実際には、本来必要のないキャッシュブロックの書
き戻しが存在しているために性能低下を招いている。
【0011】
【発明が解決しようとする課題】このように従来のコピ
ーバックキャッシュを有するコンピュータでは、本来は
必要のないデータのメインメモリへの書き戻しが発生す
る場合があり性能の低下を招いていた。また、コピーバ
ックキャッシュを用いてフォールトトレラントコンピュ
ータにおいても、チェックポイントにおいて、本来必要
のないキャッシュブロックの書き戻しが存在しているた
めに性能低下を招いていた。
【0012】本発明は前記のような事情を考慮してなさ
れたもので、本来不必要なキャッシュブロックのメイン
メモリへの書き戻しを抑制して性能を向上させることが
可能なコピーバックキャッシュを有するコンピュータ及
びコピーバックキャッシュ制御方法を提供することを目
的とする。
【0013】
【課題を解決するための手段】本発明は、キャッシュブ
ロック単位で管理されるキャッシュメモリを有し、更新
のあったキャッシュブロックの内容を、所定の条件に応
じてメインメモリへ書き戻すコンピュータにおいて、前
記キャッシュメモリを管理するステータスとして、キャ
ッシュブロックの内容をメインメモリに書き戻さずに同
キャッシュブロックに書き込むことができる書き込み専
用状態であることを示すデータを、キャッシュブロック
単位で設定するものであって、前記所定の条件によりキ
ャッシュブロックの内容をメインメモリに書き戻す必要
が発生した場合に、該当するキャッシュブロックが書き
込み専用状態であることを示すデータが設定されていれ
ばメインメモリへの書き戻しを行なわないキャッシュ制
御手段を具備したことを特徴とする。
【0014】また、前記キャッシュ制御手段は、前記書
き込み専用状態を、プログラムの実行によって出力され
るキャッシュ制御命令に基づいて設定するものであり、
前記キャッシュ制御命令は、コンパイラがプログラムを
コンパイルする際に、プログラムの適切な位置に埋め込
まれることを特徴とする。
【0015】また、前記コンピュータはチェックポイン
トによって、プロセッサのコンテキストと共に、キャッ
シュメモリ中の全ての書き替えられたキャッシュブロッ
クのデータをメインメモリに書き戻すフォールトトレラ
ントコンピュータを実現するもので、メインメモリへの
書き戻しを、前記書き込み専用状態であることを示すデ
ータに基づいて行なうことを特徴とする。
【0016】さらに、本発明は、キャッシュブロック単
位で管理されるキャッシュメモリを有し、更新のあった
キャッシュブロックの内容を、所定の条件に応じてメイ
ンメモリへ書き戻すコンピュータにおいて、キャッシュ
ブロックの内容をメインメモリに書き戻さずに同キャッ
シュブロックに書き込むことができる書き込み専用状態
であることを示すデータを、前記キャッシュメモリを管
理するステータスとして設定し、書き込み専用状態であ
ることを示すデータが設定されたキャッシュブロックに
対する書き込み要求がキャッシュヒットした場合に、同
キャッシュブロックのデータをメインメモリに書き戻さ
ずに書き込みを実行すると共に書き込み専用状態を解除
し、書き込み専用状態であることを示すデータが設定さ
れたキャッシュブロックに対する読み出し要求がキャッ
シュヒットした場合に、予め決められた処理を実行する
ことを特徴とする。
【0017】
【作用】このような構成によれば、コピーバックキャッ
シュのキャッシュブロックに対応して、同キャッシュブ
ロックに格納されたデータが、最後に参照されてから、
以後、新たに値が書き込まれるまでは参照されない期間
では、「書き込み専用状態」であることを示すフラグを
タグ領域に設定することにより、メインメモリへの書き
戻しを抑制することができる。
【0018】また、キャッシュブロックを「書き込み専
用状態」にするためにプロセッサからキャッシュ制御命
令を出すことによって行なうが、プログラムのコンパイ
ル時にプログラム中に埋め込むことで、適切かつ有効に
キャッシュブロックが「書き込み専用状態」に設定され
る。すなわち、コンパイラでは、例えばプログラム中の
変数に関して、あるプログラムの実行時点において、変
数に格納されている値が、以後のプログラムの実行で読
み出されるか否かを的確に判別できるためである。
【0019】また、フォールトトレラントコンピュータ
では、チェックポイントによってキャッシュ中の全ての
書き替えられたキャッシュブロックのデータをメインメ
モリに書き戻す動作を実行するが、この処理に多くの時
間を要している。そこで、本来メインメモリに書き戻す
必要のないキャッシュブロックを「書き込み専用状態」
にしておくことで、チェックポイントでの処理時間を短
縮でき、システムの性能向上が図れる。
【0020】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図1は実施例に係わるコンピュータの構成を示す
ブロック図である。図1に示すように、本実施例におけ
るコンピュータは、CPU10とメインメモリ12との
間に、コピーバック方式によるキャッシュメモリ20が
設けられている。
【0021】キャッシュメモリ20は、キャッシュ制御
部22、記憶部24を有している。記憶部24は、デー
タ本体を保持するデータメモリ(領域)24aと、デー
タのアドレス(アドレスタグ)やアクセス履歴(キャッ
シュブロックを管理するためのステータス)を保持する
タグメモリ(領域)24bから成る。
【0022】CPU10は、キャッシュ制御部22に、
アドレスとキャッシュ制御信号を渡して、記憶部24と
の間でデータのやりとりを行なう。メインメモリ12
は、プログラムやデータが格納されている。
【0023】キャッシュ制御部22は、タグ領域24b
に格納された内容に基づいて、キャッシュブロック単位
でキャッシュアクセスを制御するものである。記憶部2
4のタグ領域24bには、キャッシュブロック毎に、ア
ドレスタグ及びデータが書き替えられたかどうかを示す
状態フラグ(ダーティフラグ)、及び書き込み専用状態
(詳細については後述する)であるかどうかを示す書き
込み専用状態フラグが格納される。
【0024】書き込み専用状態フラグは、CPU10が
データ書き込み用の領域を確保した時(例えばスタック
領域の割り付け)、そのアドレスの指定に連動して、あ
るいはプログラム中に埋め込まれた所定の命令によって
明示的に、対応するキャッシュブロックにセットされる
ものとする。また、書き込み専用状態フラグがセットさ
れているキャッシュブロックでは、書き込みに対しては
通常と同じ書き込みが実行されるが、コピーバックの
際、キャッシュブロック中のデータについてメインメモ
リ12への書き戻しは行なわない。
【0025】すなわち、プログラム中には、例えばある
関数を実行する場合にのみ使用される変数、または、あ
るプロセスの中で使用されるが他のプロセスでは参照さ
れない変数など、ローカルなデータが存在する。また、
一時的に確保されるスタック領域中で扱われるデータが
ある。この種のデータは、他では参照されず、また最後
に参照されてから、以後、新たに値が設定されるまで参
照されない期間(「死んでいる」期間)が比較的長いと
いう性質を持っているため、キャッシュ上で扱うことが
できれば十分であり、「死んでいる」期間に、本来では
メインメモリ12に書き戻す必要がないものである。
【0026】本発明では前述のような、本来メインメモ
リ12に書き戻す必要のないデータが格納されるキャッ
シュブロックに対して、CPU10の動作に連動して、
あるいは命令によって明示的に、書き込み専用状態フラ
グをセットして、該当するキャッシュブロックを書き込
み専用状態にし、リプレース等が必要となった場合にメ
インメモリ12に書き戻しが発生しないようにするもの
である。
【0027】次に、本実施例の動作について、図2及び
図3に示すフローチャートを参照しながら説明する。こ
こでは、本来、メインメモリ12に書き戻す必要のない
データが格納されるキャッシュブロックを、明示的に書
き込み専用状態にする場合について、図2を参照して説
明する(CPU10の動作に連動してセットされる場合
については、スタック操作を例にして後述する)。
【0028】CPU10は、特定のアドレスに対応した
キャッシュブロックを、書き込み専用状態にするため、
キャッシュ制御部22にアドレスと要求信号を出力する
(ステップA1)。例えば、ローカルな変数であって、
最後に参照されてから、以後、新たに値が設定されるま
で参照されない変数が「死んでいる」期間に入る場合
に、CPU10は、この変数のデータが格納されるキャ
ッシュブロックを書き込み専用状態に設定する。
【0029】なお、書き込み専用状態にするため要求信
号は、プログラム中に埋め込まれた所定の命令に応じて
出力される。この命令は、例えばプログラムをコンパイ
ルする際に、プログラムの内容に応じて適切な実行位置
に埋め込まれたものである(詳細については後述す
る)。
【0030】キャッシュ制御部22は、記憶部24のタ
グ領域24bを調べ、CPU10からのアドレスに対応
するキャッシュブロックが存在するか否かを判別する
(ステップA2)。
【0031】ここで、該当するキャッシュブロックが存
在する場合には、キャッシュ制御部22は、そのキャッ
シュブロックに対応する書き込み状態専用フラグをセッ
トする(ステップA3)。
【0032】こうして書き込み専用状態に設定されたキ
ャッシュブロックに対しては、図3に示すようにして制
御する。CPU10からキャッシュ制御部22に書き込
み要求があった場合(ステップB1)、キャッシュ制御
部22は、記憶部24のタグ領域24bを調べ、CPU
10からのアドレスに対応するキャッシュブロックが存
在するか否かを判別する(ステップB2)。キャッシュ
ヒットしていれば、キャッシュ制御部22は、データ領
域24aの該当するキャッシュブロックに書き込みを行
なう(ステップB3)。
【0033】この時、キャッシュ制御部22は、書き込
みの対象となったキャッシュブロックに対応するダーテ
ィフラグをセット(書き替えられたことを示す)し、ま
た書き込み専用状態フラグをリセットする(ステップB
4)。すなわち、書き替えられることによって、メイン
メモリ12に書き戻しが必要な状態になる場合もあるた
め書き込み専用状態を解放する(変数が「死んでる」期
間を外れる場合)。
【0034】また、CPU10からキャッシュ制御部2
2に読み出し要求があった場合(ステップB5)、キャ
ッシュ制御部22は、記憶部24のタグ領域24bを調
べ、CPU10からのアドレスに対応するキャッシュブ
ロックが存在するか否かを判別する(ステップB6)。
キャッシュヒットしていれば、キャッシュ制御部22
は、該当するキャッシュブロックに対して、書き込み専
用状態フラグがセットされているか調べる(ステップB
7)。
【0035】書き込み専用状態フラグがセットされてい
ない場合、キャッシュ制御部22は、該当するキャッシ
ュブロックからデータを読み出して、CPU10に返す
(ステップB8)。
【0036】一方、書き込み専用状態フラグがセットさ
れている場合、キャッシュ制御部22は、プログラムエ
ラーステイタスをCPU10に返す(ステップB9)。
すなわち、対象とするキャッシュブロックが、例えばロ
ーカルな変数であって他の処理では参照されず、また変
数が「死んでいる」期間に入ったために書き込み専用状
態にしたにもかかわらず、読み出し要求があるというこ
とはプログラムのエラーであるものとみなしエラーを通
知する。
【0037】CPU10からキャッシュ制御部22に書
き込み要求あるいは読み出し要求がありミスヒットとな
った場合、キャッシュ制御部22は、リプレースの必要
があれば、リプレースの対象とするキャッシュブロック
を決定する(ステップB10,B11)。
【0038】ここで、リプレースの対象とするキャッシ
ュブロックに対して、書き込み専用状態フラグがセット
されておらず、ダーティフラグがセットされている場合
には、キャッシュ制御部22は、該当するキャッシュブ
ロックのデータをメインメモリ12に書き戻し、同キャ
ッシュブロックにアクセス対象とするデータを書き込む
(ステップB12〜B15)。
【0039】一方、リプレースの対象とするキャッシュ
ブロックに対して、書き込み専用状態フラグがセットさ
れている場合には、キャッシュ制御部22は、該当する
キャッシュブロックのデータを、ダーティフラグがセッ
トされていてもメインメモリ12に書き戻さない。キャ
ッシュ制御部22は、同キャッシュブロックにアクセス
対象とするデータを書き込む(ステップB12,B1
5)。
【0040】このようにして、「死んでいる」期間にあ
る変数を格納したキャッシュブロックに対しては書き込
み専用状態フラグをセットすることにより、リプレース
の対象となってもメインメモリ12への本来不要な書き
戻しが抑制されるので、メモリ制御に要する時間が短縮
されシステム性能の向上を図ることができる。
【0041】また、プログラムの実行において、本来参
照されることのない未定義変数、すなわち書き込み専用
とされるキャッシュブロックに対して読み出しの要求が
あった場合には、プログラムエラーとして検出されるの
で、プログラムのデバッグに利用することもできる。
【0042】次に、CPU10の動作に連動して書き込
み専用状態がセットされる場合について、スタック操作
を例にして説明する。CPU10は、スタック領域を確
保するための命令「alloc(<サイズ>)」によっ
て、図4(a)の状態にあるスタック(スタックポイン
タSPによって示す)上に、新たに<サイズ>分の領域
を図4(b)に示すように確保したものとする。そし
て、処理が完了した後、スタック領域を解放するための
命令「free<サイズ>」によって、図4(c)の状
態にあるスタックを、図4(d)に示すように<サイズ
>分縮小するものとする。
【0043】「free」命令を実行する際、CPU1
0は、解放される領域の各アドレスについて書き込み専
用状態にするための要求を、キャッシュ制御部22に対
して出力する。キャッシュ制御部22は、CPU10か
らの要求に応じて、該当するキャッシュブロックに対応
して書き込み専用状態フラグをセットし、書き込み専用
状態にする。すなわち、解放された領域には、他では参
照されず、メインメモリ12に書き戻しの必要のないデ
ータが存在する。
【0044】これによって、再び、「alloc」命令
によって、前回に解放された領域の上にスタック領域を
確保したとき、初期化のデータ書き込みのときキャッシ
ュヒットになる可能性は従来と同等であり、かつ解放さ
れた領域がリプレースの対象となってもメインメモリ1
2への書き込みが発生しない。
【0045】このようにして、CPU10の動作に連動
して、該当するキャッシュブロックを書き込み専用状態
にすることもできる。次に、前述したようにキャッシュ
ブロックに書き込み専用状態の設定が可能なコンピュー
タにおいて実行されるプログラムのコンパイラの具体例
について説明する。
【0046】ここで、本実施例におけるCPU10は、
「lwo」(load to write only)命令を新たにサポー
トするものとする。「lwo」命令は、「load」命
令の1つであるが、メインメモリ12から値をロードす
ると同時に、もしデータが記憶部24上にあり、かつダ
ーティフラグがセットされていれば、このデータを格納
するキャッシュブロックを書き込み専用状態にする命令
である。
【0047】コンパイラは、プログラム変数の生存情報
(あるプログラムの実行時点において変数に格納されて
いる値が、以後のプログラムの実行で読み出されるか否
かの情報)に基づいて、静的に変数に対する参照を解析
して、変数が「死んでいる」状態となる時点、すなわち
新たに値が設定されるまでは参照されることがなくなる
最後の参照の位置を求める。
【0048】コンパイラは、前述のような条件に一致す
る、変数に対する参照位置において、通常の「loa
d」命令ではなく、対象とする変数を格納するキャッシ
ュブロックを書き込み専用状態にする「lwo」命令に
置き換える。
【0049】従って、変数が「死んでいる」期間では
「lwo」命令によって明示的に、この変数が格納され
るキャッシュブロックは書き込み専用状態に設定される
ので、メインメモリ12に書き戻されることがなくな
り、コピーバックの発生量を低減させることができる。
【0050】このようにして、コンパイラでは変数の生
存情報に基づいて、変数が「死んでいる」状態をより厳
密に求められるので、キャッシュブロックを書き込み専
用状態にセットすることができるコンピュータで実行さ
れるプログラムをコンパイルする際に、変数が「死んで
いる」期間に対応するキャッシュブロックを「書き込み
専用状態」にするようにして、本来、メインメモリに反
映させる必要のないデータの書き戻しを抑制することが
できる。従って、システム性能の向上が図れる。
【0051】次に、コピーバックキャッシュを用いて実
現したフォールトトレラントコンピュータについて説明
する。本実施例におけるフォールトトレラントコンピュ
ータは、前述したような、キャッシュブロックに書き込
み専用状態の設定が可能なコピーバックキャッシュを用
い、また書き込み専用状態にする命令をコンパイル時に
埋め込むコンパイラを用いているものとする。
【0052】コピーバックキャッシュを用いて実現した
フォールトトレラントコンピュータでは、キャッシュメ
モリ20からメインメモリ12への書き戻しが必要とな
ったとき、同時にCPU10のコンテキスト(レジスタ
等が保持する値等などのプロセッサで命令を実行してい
る状態)、及びデータメモリ24a中の全ての書き替え
られたキャッシュブロックのデータをメインメモリ12
に書き戻す(フラッシュ動作)。
【0053】障害が発生した場合には、チェックポイン
トによりメインメモリ12に保存したコンテキスト及び
データを書き戻し、前回のチェックポイントの時点か
ら、多重化された他の正常なCPUにより再実行するこ
とで障害を回避する。
【0054】本実施例におけるキャッシュメモリ20で
は、メインメモリ12に書き戻す必要のないデータが格
納されたキャッシュブロックは書き込み専用状態にセッ
トされている。従って、フラッシュ動作の際、書き込み
専用状態にあるキャッシュブロックのデータは、ダーテ
ィであっても(書き替えられていても)メインメモリ1
2には書き戻されない。
【0055】このようにして、フォールトトレラントコ
ンピュータにおいて、本発明によるコピーバックキャッ
シュを用いることにより、メモリに書き戻しの必要のな
い全てのキャッシュブロックを「書き込み専用状態」に
することができるので、このシステムで最大の問題であ
るチェックポイント生成に要する時間を大幅に削減する
ことができる。
【0056】なお、前記実施例においては、書き込み専
用状態フラグがセットされたキャッシュブロックに対し
て読み出し要求があった場合には、プログラムエラース
テイタスを返すものとして説明したが、予め決められた
特定の処理を実行するようにしても良い。
【0057】
【発明の効果】以上詳述したように本発明によれば、本
来不必要なキャッシュブロックに対して書き込み専用状
態を設定することにより、メインメモリへの書き戻しを
抑制することができるので、メモリ制御に要する時間が
短縮されシステム性能を向上させることが可能となるも
のである。
【図面の簡単な説明】
【図1】本発明の実施例に係わるコンピュータの構成を
示すブロック図。
【図2】本実施例におけるキャッシュブロックを明示的
に書き込み専用状態にする場合の処理を説明するための
フローチャート。
【図3】本実施例における書き込み専用状態に設定され
たキャッシュブロックに対する処理を説明するためのフ
ローチャート。
【図4】本実施例におけるCPU10の動作に連動して
書き込み専用状態がセットされる場合を説明するための
図。
【符号の説明】
10…CPU、12…メインメモリ、20…キャッシュ
メモリ、22…キャッシュ制御部、24…記憶部、24
a…データメモリ(領域)、24b…タグメモリ(領
域)。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュブロック単位で管理されるキ
    ャッシュメモリを有し、更新のあったキャッシュブロッ
    クの内容を、所定の条件に応じてメインメモリへ書き戻
    すコンピュータにおいて、 前記キャッシュメモリを管理するステータスとして、キ
    ャッシュブロックの内容をメインメモリに書き戻さずに
    同キャッシュブロックに書き込むことができる書き込み
    専用状態であることを示すデータをキャッシュブロック
    単位で設定し、 前記所定の条件によりキャッシュブロックの内容をメイ
    ンメモリに書き戻す必要が発生した場合に、該当するキ
    ャッシュブロックが書き込み専用状態であることを示す
    データが設定されていればメインメモリへの書き戻しを
    行なわないキャッシュ制御手段を具備したことを特徴と
    するコンピュータ。
  2. 【請求項2】 前記キャッシュ制御手段は、前記書き込
    み専用状態をプログラムの実行によって出力されるキャ
    ッシュ制御命令に基づいて設定し、 前記キャッシュ制御命令は、コンパイラがプログラムを
    コンパイルする際に、プログラムの適切な位置に埋め込
    まれることを特徴とする請求項1記載のコンピュータ。
  3. 【請求項3】 前記コンピュータはチェックポイントに
    よって、プロセッサのコンテキストと共に、キャッシュ
    メモリ中の全ての書き替えられたキャッシュブロックの
    データをメインメモリに書き戻すフォールトトレラント
    コンピュータを実現するもので、メインメモリへの書き
    戻しを、前記書き込み専用状態であることを示すデータ
    に基づいて行なうことを特徴とする請求項1記載のコン
    ピュータ。
  4. 【請求項4】 キャッシュブロック単位で管理されるキ
    ャッシュメモリを有し、更新のあったキャッシュブロッ
    クの内容を、所定の条件に応じてメインメモリへ書き戻
    すコンピュータにおいて、 キャッシュブロックの内容をメインメモリに書き戻さず
    に同キャッシュブロックに書き込むことができる書き込
    み専用状態であることを示すデータを、前記キャッシュ
    メモリを管理するステータスとして設定し、 書き込み専用状態であることを示すデータが設定された
    キャッシュブロックに対する書き込み要求がキャッシュ
    ヒットした場合に、同キャッシュブロックのデータをメ
    インメモリに書き戻さずに書き込みを実行すると共に書
    き込み専用状態を解除し、 書き込み専用状態であることを示すデータが設定された
    キャッシュブロックに対する読み出し要求がキャッシュ
    ヒットした場合に、予め決められた処理を実行すること
    を特徴とするコピーバックキャッシュ制御方法。
JP6273530A 1994-11-08 1994-11-08 コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法 Pending JPH08137748A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6273530A JPH08137748A (ja) 1994-11-08 1994-11-08 コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6273530A JPH08137748A (ja) 1994-11-08 1994-11-08 コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法

Publications (1)

Publication Number Publication Date
JPH08137748A true JPH08137748A (ja) 1996-05-31

Family

ID=17529135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6273530A Pending JPH08137748A (ja) 1994-11-08 1994-11-08 コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法

Country Status (1)

Country Link
JP (1) JPH08137748A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6700292B2 (en) 2001-10-25 2004-03-02 Tris Inc. Metal-graphite brush
JP2004303232A (ja) * 2003-03-20 2004-10-28 Matsushita Electric Ind Co Ltd データメモリキャッシュ装置及びデータメモリキャッシュシステム
US8271853B2 (en) 2008-06-24 2012-09-18 Kabushiki Kaisha Toshiba Cache memory, computer system and memory access method
WO2013114540A1 (ja) * 2012-01-30 2013-08-08 富士通株式会社 制御装置、解析装置、解析方法、および解析プログラム
JP2017510902A (ja) * 2014-04-13 2017-04-13 クアルコム,インコーポレイテッド 無効化を伴う読取りを使用してキャッシュにおける帯域幅および電力を下げる方法および装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6700292B2 (en) 2001-10-25 2004-03-02 Tris Inc. Metal-graphite brush
JP2004303232A (ja) * 2003-03-20 2004-10-28 Matsushita Electric Ind Co Ltd データメモリキャッシュ装置及びデータメモリキャッシュシステム
US8271853B2 (en) 2008-06-24 2012-09-18 Kabushiki Kaisha Toshiba Cache memory, computer system and memory access method
US8381072B2 (en) 2008-06-24 2013-02-19 Kabushiki Kaisha Toshiba Cache memory, computer system and memory access method
WO2013114540A1 (ja) * 2012-01-30 2013-08-08 富士通株式会社 制御装置、解析装置、解析方法、および解析プログラム
JP2017510902A (ja) * 2014-04-13 2017-04-13 クアルコム,インコーポレイテッド 無効化を伴う読取りを使用してキャッシュにおける帯域幅および電力を下げる方法および装置

Similar Documents

Publication Publication Date Title
JP2916420B2 (ja) チェックポイント処理加速装置およびデータ処理方法
JP3661614B2 (ja) キャッシュメモリ制御方法及びマルチプロセッサシステム
US7111134B2 (en) Subsystem and subsystem processing method
US6981104B2 (en) Method for conducting checkpointing within a writeback cache
JP6040176B2 (ja) トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性
KR100204741B1 (ko) 제1및 제2캐시 메모리 사용방법
US20150106588A1 (en) Computer Processor Employing Hardware-Based Pointer Processing
US20080235477A1 (en) Coherent data mover
US6345351B1 (en) Maintenance of speculative state of parallel executed jobs in an information processing system
US5016169A (en) Data processor capable of correctly re-executing instructions
EP0833248A2 (en) Memory update history storing apparatus and method
US6904490B2 (en) Method and system of managing virtualized physical memory in a multi-processor system
US11119925B2 (en) Apparatus and method for managing capability metadata
JP2004326758A (ja) 局所的なキャッシュ・ブロック・フラッシュ命令
JP2019503009A (ja) ベクトルアトミックメモリ更新命令
US11513962B2 (en) Draining operation to cause store data to be written to persistent memory
KR20210021521A (ko) 트랜잭션 메모리를 지원하는 장치에서의 로드 전용 명령 처리
US20070005906A1 (en) Information processing apparatus and cache memory control method
US5737568A (en) Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory
JPH08137748A (ja) コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法
US7478203B2 (en) Technique for eliminating dead stores in a processor
TWI801622B (zh) 用於處理保護標籤損失的裝置、方法、電腦程式、與儲存媒體
JP2009230479A (ja) マイクロプロセッサ
US6401173B1 (en) Method and apparatus for optimizing bcache tag performance by inferring bcache tag state from internal processor state
JP3762608B2 (ja) 計算機とその制御方法