JPH05282207A - キャッシュメモリ無効化制御方式 - Google Patents
キャッシュメモリ無効化制御方式Info
- Publication number
- JPH05282207A JPH05282207A JP4080804A JP8080492A JPH05282207A JP H05282207 A JPH05282207 A JP H05282207A JP 4080804 A JP4080804 A JP 4080804A JP 8080492 A JP8080492 A JP 8080492A JP H05282207 A JPH05282207 A JP H05282207A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- invalidation
- data processing
- cpu
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 キャッシュメモリを有する複数のデータ処理
装置からなるデータ処理システムではキャッシュメモリ
内データの一貫性を保証する制御として、メモリに対す
る書き込み操作が行われる際に、該データブロックがキ
ャッシュメモリに登録されている場合にそのデータブロ
ックを無効化する処理を行う。データブロックがキャッ
シュメモリに登録されているかどうかを判定するために
キャッシュタグの参照が行われるが、登録されている、
いないに関わらずキャッシュへのアクセスを占有してし
まうため、登録されていない場合には本来のデータアク
セスに対して妨害を与えることになる。本発明では本来
無効化されるべきデータブロックに対してのみ無効化操
作を行うようにして、データアクセズへの妨害を除去す
る事を目的とする。 【構成】 メモリのデータブロック毎の参照状況を表示
するテーブルを設け、メモリへの書き込み操作に際して
この参照状況を検査して無効化が必要なデータ処理装置
に対してのみ無効化要求を発行するようにした。
装置からなるデータ処理システムではキャッシュメモリ
内データの一貫性を保証する制御として、メモリに対す
る書き込み操作が行われる際に、該データブロックがキ
ャッシュメモリに登録されている場合にそのデータブロ
ックを無効化する処理を行う。データブロックがキャッ
シュメモリに登録されているかどうかを判定するために
キャッシュタグの参照が行われるが、登録されている、
いないに関わらずキャッシュへのアクセスを占有してし
まうため、登録されていない場合には本来のデータアク
セスに対して妨害を与えることになる。本発明では本来
無効化されるべきデータブロックに対してのみ無効化操
作を行うようにして、データアクセズへの妨害を除去す
る事を目的とする。 【構成】 メモリのデータブロック毎の参照状況を表示
するテーブルを設け、メモリへの書き込み操作に際して
この参照状況を検査して無効化が必要なデータ処理装置
に対してのみ無効化要求を発行するようにした。
Description
【0001】
【産業上の利用分野】この発明は計算機の高速処理に用
いられるキャッシュメモリ装置に関連し、複数のデータ
処理装置がキャッシュメモリを有するシステムにおける
データの一貫性制御方式に関するものである。
いられるキャッシュメモリ装置に関連し、複数のデータ
処理装置がキャッシュメモリを有するシステムにおける
データの一貫性制御方式に関するものである。
【0002】
【従来の技術】キャッシュメモリはメモリ装置内に格納
されたデータのコピーをデータ処理装置内に置き、デー
タのアクセス速度を高めるものであり、データ処理装置
の処理高速化技術の一つとして広く採用されている。キ
ャッシュメモリを使用して正しくデータ処理を行うには
メモリ装置内に格納されたデータとキャッシュメモリ内
に格納されたデータの一貫性を保証する必要がある。一
貫性を保証する制御方式としては、他のデータ処理装置
がメモリ装置内のデータを変更した場合に、自データ処
理装置のキャッシュメモリに登録されている該データ領
域を含むメモリブロックを無効化する無効化制御方式が
一般的に採用されている。図5は“公開特許公報 昭5
7−24086”に従来例として掲載された従来のキャ
ッシュメモリ無効化制御方式を説明する図であり、10
はデータ処理装置(以下CPUと称する)、51はメモ
リ装置、60はキャッシュメモリ、70はキャッシュメ
モリに格納されているデータのアドレス情報を持つキャ
ッシュタグ、91はCPUのアクセス制御部、92はC
PUの演算部、101はアドレス線である。
されたデータのコピーをデータ処理装置内に置き、デー
タのアクセス速度を高めるものであり、データ処理装置
の処理高速化技術の一つとして広く採用されている。キ
ャッシュメモリを使用して正しくデータ処理を行うには
メモリ装置内に格納されたデータとキャッシュメモリ内
に格納されたデータの一貫性を保証する必要がある。一
貫性を保証する制御方式としては、他のデータ処理装置
がメモリ装置内のデータを変更した場合に、自データ処
理装置のキャッシュメモリに登録されている該データ領
域を含むメモリブロックを無効化する無効化制御方式が
一般的に採用されている。図5は“公開特許公報 昭5
7−24086”に従来例として掲載された従来のキャ
ッシュメモリ無効化制御方式を説明する図であり、10
はデータ処理装置(以下CPUと称する)、51はメモ
リ装置、60はキャッシュメモリ、70はキャッシュメ
モリに格納されているデータのアドレス情報を持つキャ
ッシュタグ、91はCPUのアクセス制御部、92はC
PUの演算部、101はアドレス線である。
【0003】次に動作について説明する。キャッシュメ
モリに対する無効化要求がメモリ装置51側から送出さ
れると、アドレス線101を介して無効化すべきデータ
のアドレスがCPUへ送られる。CPUはこのアドレス
によりキャッシュタグ101を検索して、該データがキ
ャッシュメモリ60内に登録されていることを検出する
と、キャッシュタグ101の該データブロックに対応す
るデータ有効フラグ(図示せず)をリセットして無効化
処理を行う。一方、キャッシュタグ101の検索の結
果、該データが登録されていないことを検出した場合に
は、データ有効フラグのリセット操作は行わない。図6
は“日経エレクトロニクス、1990.2.19(N
o.493)、TRON仕様最上位の32ビットMPU
GMICRO/300”に掲載されたキャッシュメモ
リ無効化制御方式の他の従来例を説明する図であり、6
1は命令キャッシュ、71は命令キャッシュタグ、62
はオペランドキャッシュ、72はオペランドキャッシュ
タグ、80は外部バス制御部、102は無効化アドレス
を命令キャッシュタグ71、及びオペランドキャッシュ
タグ72に送出するアドレス線である。ただし、本発明
の説明に不要な部分は削除している。次に動作について
説明する。CPU10は外部バス制御部80により常に
外部バス(図示せず)を監視しており、他のCPU(図
示せず)がメモリ装置に対して書き込み操作を行うこと
を外部バス上の制御信号により検知し、そのときのアド
レスを外部バスから取り込んでアドレス線102に送出
する。CPUはこのアドレスにより命令キャッシュタグ
71及びオペランドキャッシュタグ72を独立に検索
し、該データが命令キャッシュ61またはオペランドキ
ャッシュ62に登録されていることを検出すると命令キ
ャッシュタグ71またはオペランドキャッシュタグ72
内の該データブロックに対応する有効フラグ(図示せ
ず)をリセットして無効化処理を行う。一方、命令キャ
ッシュタグ71、オペランドキャッシュタグ72の検索
の結果、該データが登録されていないことを検出した場
合には無効化処理は行わない。
モリに対する無効化要求がメモリ装置51側から送出さ
れると、アドレス線101を介して無効化すべきデータ
のアドレスがCPUへ送られる。CPUはこのアドレス
によりキャッシュタグ101を検索して、該データがキ
ャッシュメモリ60内に登録されていることを検出する
と、キャッシュタグ101の該データブロックに対応す
るデータ有効フラグ(図示せず)をリセットして無効化
処理を行う。一方、キャッシュタグ101の検索の結
果、該データが登録されていないことを検出した場合に
は、データ有効フラグのリセット操作は行わない。図6
は“日経エレクトロニクス、1990.2.19(N
o.493)、TRON仕様最上位の32ビットMPU
GMICRO/300”に掲載されたキャッシュメモ
リ無効化制御方式の他の従来例を説明する図であり、6
1は命令キャッシュ、71は命令キャッシュタグ、62
はオペランドキャッシュ、72はオペランドキャッシュ
タグ、80は外部バス制御部、102は無効化アドレス
を命令キャッシュタグ71、及びオペランドキャッシュ
タグ72に送出するアドレス線である。ただし、本発明
の説明に不要な部分は削除している。次に動作について
説明する。CPU10は外部バス制御部80により常に
外部バス(図示せず)を監視しており、他のCPU(図
示せず)がメモリ装置に対して書き込み操作を行うこと
を外部バス上の制御信号により検知し、そのときのアド
レスを外部バスから取り込んでアドレス線102に送出
する。CPUはこのアドレスにより命令キャッシュタグ
71及びオペランドキャッシュタグ72を独立に検索
し、該データが命令キャッシュ61またはオペランドキ
ャッシュ62に登録されていることを検出すると命令キ
ャッシュタグ71またはオペランドキャッシュタグ72
内の該データブロックに対応する有効フラグ(図示せ
ず)をリセットして無効化処理を行う。一方、命令キャ
ッシュタグ71、オペランドキャッシュタグ72の検索
の結果、該データが登録されていないことを検出した場
合には無効化処理は行わない。
【0004】
【発明が解決しようとする課題】キャッシュメモリの無
効化処理を行う場合、キャッシュタグの検索を行い、無
効化処理が必要なデータブロックがキャッシュメモリに
登録されているか否かを判定するため、本来のデータ処
理にともなうキャッシュメモリアクセスが無効化処理が
終了するまで待たされることになる。従来の無効化制御
方式では以上のように無効化処理が行われるため、無効
化処理が必要なデータブロックがキャッシュメモリに登
録されていなくても、キャッシュタグの検索をともなう
ので本来のデータ処理にともなうキャッシュメモリアク
セスが待たされることになり、データ処理装置の性能の
低下を招くという問題点があった。
効化処理を行う場合、キャッシュタグの検索を行い、無
効化処理が必要なデータブロックがキャッシュメモリに
登録されているか否かを判定するため、本来のデータ処
理にともなうキャッシュメモリアクセスが無効化処理が
終了するまで待たされることになる。従来の無効化制御
方式では以上のように無効化処理が行われるため、無効
化処理が必要なデータブロックがキャッシュメモリに登
録されていなくても、キャッシュタグの検索をともなう
ので本来のデータ処理にともなうキャッシュメモリアク
セスが待たされることになり、データ処理装置の性能の
低下を招くという問題点があった。
【0005】この発明は上記のような問題点を解消する
ためになされたもので、効率的なキャッシュメモリ無効
化処理を行うことを目的とする。
ためになされたもので、効率的なキャッシュメモリ無効
化処理を行うことを目的とする。
【0006】
【課題を解決するための手段】この発明にかかるキャッ
シュメモリ無効化制御方式は、データ処理システム内の
データ処理装置が参照してキャッシュメモリ内に取り込
んでいるメモリのデータブロックを表示するテーブル
と、複数のデータ処理装置が共通にキャッシュメモリ内
に取り込んでいるメモリのデータブロックを表示するテ
ーブルをメモリ制御装置内に設け、あるデータ処理装置
からメモリへのデータ書き込み操作があった場合、無効
化処理が必要なデータ処理装置に対してのみ無効化要求
を送出できるようにしたものである。いま一つの発明
は、データ処理システム内の各データ処理装置に対応し
て、上記キャッシュメモリ内に取り込んでいるメモリの
データブロックを表示するテーブルをメモリ制御装置内
に設け、あるデータ処理装置からメモリへの書き込み操
作があった場合、無効化処理が必要なデータ処理装置に
対してのみ無効化要求を送出できるようにしたものであ
る。
シュメモリ無効化制御方式は、データ処理システム内の
データ処理装置が参照してキャッシュメモリ内に取り込
んでいるメモリのデータブロックを表示するテーブル
と、複数のデータ処理装置が共通にキャッシュメモリ内
に取り込んでいるメモリのデータブロックを表示するテ
ーブルをメモリ制御装置内に設け、あるデータ処理装置
からメモリへのデータ書き込み操作があった場合、無効
化処理が必要なデータ処理装置に対してのみ無効化要求
を送出できるようにしたものである。いま一つの発明
は、データ処理システム内の各データ処理装置に対応し
て、上記キャッシュメモリ内に取り込んでいるメモリの
データブロックを表示するテーブルをメモリ制御装置内
に設け、あるデータ処理装置からメモリへの書き込み操
作があった場合、無効化処理が必要なデータ処理装置に
対してのみ無効化要求を送出できるようにしたものであ
る。
【0007】
【作用】この発明によるキャッシュメモリ無効化制御方
式は、データ処理装置によるメモリ参照状況を表示する
テーブルを用いることにより、あるデータ処理装置から
メモリへの書き込み操作があった場合に、無効化処理が
必要なデータ処理装置に対してのみ無効化要求を送出す
ることができ、無効化処理が不要なデータ処理装置に対
してはデータ処理に対する妨害を防止することができ
る。
式は、データ処理装置によるメモリ参照状況を表示する
テーブルを用いることにより、あるデータ処理装置から
メモリへの書き込み操作があった場合に、無効化処理が
必要なデータ処理装置に対してのみ無効化要求を送出す
ることができ、無効化処理が不要なデータ処理装置に対
してはデータ処理に対する妨害を防止することができ
る。
【0008】
実施例1.以下、この発明の一実施例を図について説明
する。図1はデータ処理システム内のメモリ制御部の一
部を示す図であり、30はデータ処理装置(CPU)が
メモリ装置との間でデータ転送を行うためのバス、30
1乃至311はバス制御信号であり、301はデータ読
みだし信号、302はCPU内キャッシュメモリブロッ
クの置き換え信号、303はバスを使用しているCPU
または入出力インタフェースを識別するためのモジュー
ル番号、304はデータ書き込み信号、305はデータ
書き込みに際してキャッシュヒットしたか否かを示す書
き込みヒット信号、310はCPU0に対する無効化要
求信号、311はCPU1に対する無効化要求信号、4
1は無効化アドレスを格納するレジスタ、42はCPU
または入出力インタフェースがアクセスするアドレスを
保持するレジスタ、43はメモリ装置へアドレスを送出
するためのレジスタ、440はテーブル制御部、450
は各CPUに対して無効化要求信号を生成する無効化制
御部、420はアドレス線、460はデータ処理システ
ム内のCPUが参照してキャッシュメモリ内に格納して
いるデータブロックの状況を表示する参照テーブル、4
70は各CPUが共通にキャッシュメモリ内に格納して
いるデータブロックを表示する共通ブロックテーブル、
480は参照テーブルに対する書き込み制御信号、48
4は共通ブロックテーブルに対する書き込み制御信号、
490は参照テーブルの読みだしデータ線、494は共
通ブロックテーブルの読みだし信号線である。図2はデ
ータ処理システムの全体を説明する図であり、10は一
つのCPU0、11は他のCPU1、20は入出力イン
タフェース、40はメモリ制御装置、50はメモリ装置
である。図3は参照テーブル460と共通ブロックテー
ブルの構造を説明する図である。
する。図1はデータ処理システム内のメモリ制御部の一
部を示す図であり、30はデータ処理装置(CPU)が
メモリ装置との間でデータ転送を行うためのバス、30
1乃至311はバス制御信号であり、301はデータ読
みだし信号、302はCPU内キャッシュメモリブロッ
クの置き換え信号、303はバスを使用しているCPU
または入出力インタフェースを識別するためのモジュー
ル番号、304はデータ書き込み信号、305はデータ
書き込みに際してキャッシュヒットしたか否かを示す書
き込みヒット信号、310はCPU0に対する無効化要
求信号、311はCPU1に対する無効化要求信号、4
1は無効化アドレスを格納するレジスタ、42はCPU
または入出力インタフェースがアクセスするアドレスを
保持するレジスタ、43はメモリ装置へアドレスを送出
するためのレジスタ、440はテーブル制御部、450
は各CPUに対して無効化要求信号を生成する無効化制
御部、420はアドレス線、460はデータ処理システ
ム内のCPUが参照してキャッシュメモリ内に格納して
いるデータブロックの状況を表示する参照テーブル、4
70は各CPUが共通にキャッシュメモリ内に格納して
いるデータブロックを表示する共通ブロックテーブル、
480は参照テーブルに対する書き込み制御信号、48
4は共通ブロックテーブルに対する書き込み制御信号、
490は参照テーブルの読みだしデータ線、494は共
通ブロックテーブルの読みだし信号線である。図2はデ
ータ処理システムの全体を説明する図であり、10は一
つのCPU0、11は他のCPU1、20は入出力イン
タフェース、40はメモリ制御装置、50はメモリ装置
である。図3は参照テーブル460と共通ブロックテー
ブルの構造を説明する図である。
【0009】次に、動作について説明する。通常キャッ
シュメモリは例えば32バイトや64バイトといったメ
モリのブロックを登録、置き換えの単位としている。こ
こではこのメモリのブロックをデータブロックと呼ぶこ
とにする。図2において、CPU0(10)のキャッシ
ュメモリに登録されているデータブロックに対してCP
U1(11)または入出力インタフェースがバス30を
介してメモリへの書き込み操作を行う場合、メモリ制御
装置40は無効化要求信号310をCPU0(10)に
送出して無効化を指示するとともに、無効化アドレスを
バス上に送出する。CPU0(10)は無効化が指示さ
れるとバス上のアドレスを取り込んでキャッシュメモリ
に格納されている該データブロックを無効化する。一
方、CPU0(10)に登録されていないデータブロッ
クに対してメモリへの書き込み操作が行われた場合に
は、メモリ制御装置40はCPU0(10)に対して無
効化要求信号を送出しない。また、以上の制御はCPU
1(11)に対しても全く同様に行われる。
シュメモリは例えば32バイトや64バイトといったメ
モリのブロックを登録、置き換えの単位としている。こ
こではこのメモリのブロックをデータブロックと呼ぶこ
とにする。図2において、CPU0(10)のキャッシ
ュメモリに登録されているデータブロックに対してCP
U1(11)または入出力インタフェースがバス30を
介してメモリへの書き込み操作を行う場合、メモリ制御
装置40は無効化要求信号310をCPU0(10)に
送出して無効化を指示するとともに、無効化アドレスを
バス上に送出する。CPU0(10)は無効化が指示さ
れるとバス上のアドレスを取り込んでキャッシュメモリ
に格納されている該データブロックを無効化する。一
方、CPU0(10)に登録されていないデータブロッ
クに対してメモリへの書き込み操作が行われた場合に
は、メモリ制御装置40はCPU0(10)に対して無
効化要求信号を送出しない。また、以上の制御はCPU
1(11)に対しても全く同様に行われる。
【0010】以上の制御におけるメモリ制御装置40の
動作を図1、図3により説明する。参照テーブル460
は図3に示すようにメモリのデータブロックに対応して
エントリを持ち、それぞれ1ビットの情報を持ってい
る。CPU0(10)またはCPU1(11)からメモ
リに対して読みだし操作が行われた場合、該データブロ
ックに対応する参照テーブルのエントリに対してキャッ
シュメモリに登録されたことを示すデータ“1”がセッ
トされる。また、共通ブロックテーブル470も図3に
示すように参照テーブルと同様のエントリを持ち、CP
U0(10)またはCPU1(11)からメモリ読みだ
し操作が行われた場合、参照テーブルの該データブロッ
クに対応するエントリが“1”であれば両CPUのキャ
ッシュメモリに共通にデータブロックが登録されたこと
を示す“1”がセットされる。図3において、ブロック
i+1、i+2、i+4、i+5はCPU0及びCPU
1のいずれのキャッシュメモリにも登録されていないこ
とを、ブロックi、i+6はCPU0またはCPU1の
いずれか一方のキャッシュメモリに登録されていること
を、また、ブロックi+3はCPU0及びCPU1のキ
ャッシュメモリに共通に登録されていることを示してい
る。
動作を図1、図3により説明する。参照テーブル460
は図3に示すようにメモリのデータブロックに対応して
エントリを持ち、それぞれ1ビットの情報を持ってい
る。CPU0(10)またはCPU1(11)からメモ
リに対して読みだし操作が行われた場合、該データブロ
ックに対応する参照テーブルのエントリに対してキャッ
シュメモリに登録されたことを示すデータ“1”がセッ
トされる。また、共通ブロックテーブル470も図3に
示すように参照テーブルと同様のエントリを持ち、CP
U0(10)またはCPU1(11)からメモリ読みだ
し操作が行われた場合、参照テーブルの該データブロッ
クに対応するエントリが“1”であれば両CPUのキャ
ッシュメモリに共通にデータブロックが登録されたこと
を示す“1”がセットされる。図3において、ブロック
i+1、i+2、i+4、i+5はCPU0及びCPU
1のいずれのキャッシュメモリにも登録されていないこ
とを、ブロックi、i+6はCPU0またはCPU1の
いずれか一方のキャッシュメモリに登録されていること
を、また、ブロックi+3はCPU0及びCPU1のキ
ャッシュメモリに共通に登録されていることを示してい
る。
【0011】図1において、読みだし信号301により
データブロックの読みだしが指示されると、アドレスレ
ジスタ42に読みだしアドレスがセットされ、アドレス
レジスタ43を介してメモリ装置にアドレスが送出され
る。このとき同時にアドレス線420を介してデータブ
ロックのアドレスを参照テーブル460及び共通ブロッ
クテーブル470へ送る。テーブル制御部440は参照
テーブル460から読みだしデータ線490を介して参
照テーブル読みだしデータを取り込み、読みだしデータ
が“0”であればデータ書き込み線480を介して参照
テーブルの同エントリに“1”を書き込む。参照テーブ
ル450からの読みだしデータが“1”であれば、デー
タ書き込み線484を介して共通ブロックテーブル47
0の同エントリに“1”を書き込む。
データブロックの読みだしが指示されると、アドレスレ
ジスタ42に読みだしアドレスがセットされ、アドレス
レジスタ43を介してメモリ装置にアドレスが送出され
る。このとき同時にアドレス線420を介してデータブ
ロックのアドレスを参照テーブル460及び共通ブロッ
クテーブル470へ送る。テーブル制御部440は参照
テーブル460から読みだしデータ線490を介して参
照テーブル読みだしデータを取り込み、読みだしデータ
が“0”であればデータ書き込み線480を介して参照
テーブルの同エントリに“1”を書き込む。参照テーブ
ル450からの読みだしデータが“1”であれば、デー
タ書き込み線484を介して共通ブロックテーブル47
0の同エントリに“1”を書き込む。
【0012】CPU0(10)またはCPU1(11)
が自キャッシュメモリ内に登録されているデータブロッ
クを置き換える(吐き出す)場合には、置き換えのため
のメモリ読みだしに先立って、吐き出すデータブロック
のアドレスをバス上に送出する。このとき同時にメモリ
制御装置40に対して置き換え信号302を送出する。
この置き換え信号302によりデータブロックの置き換
えが指示されると、アドレスレジスタ42に置き換えア
ドレスがセットされ、アドレス線420を介してデータ
ブロックのアドレスが参照テーブル460及び共通ブロ
ックテーブル470へ供給される。テーブル制御部44
0は参照テーブル460及び共通ブロックテーブル47
0からそれぞれ読みだしデータ線490、494を介し
て読みだしデータを取り込む。共通ブロックテーブルの
読みだしデータが“1”であれば、データ書き込み線4
84を介して共通ブロックテーブル470の同エントリ
に“0”を書き込む。共通ブロックテーブルの読みだし
データが“0”で、かつ参照テーブルの読みだしデータ
が“1”であれば、データ書き込み線480を介して参
照テーブルの同エントリに対して“0”を書き込む。
が自キャッシュメモリ内に登録されているデータブロッ
クを置き換える(吐き出す)場合には、置き換えのため
のメモリ読みだしに先立って、吐き出すデータブロック
のアドレスをバス上に送出する。このとき同時にメモリ
制御装置40に対して置き換え信号302を送出する。
この置き換え信号302によりデータブロックの置き換
えが指示されると、アドレスレジスタ42に置き換えア
ドレスがセットされ、アドレス線420を介してデータ
ブロックのアドレスが参照テーブル460及び共通ブロ
ックテーブル470へ供給される。テーブル制御部44
0は参照テーブル460及び共通ブロックテーブル47
0からそれぞれ読みだしデータ線490、494を介し
て読みだしデータを取り込む。共通ブロックテーブルの
読みだしデータが“1”であれば、データ書き込み線4
84を介して共通ブロックテーブル470の同エントリ
に“0”を書き込む。共通ブロックテーブルの読みだし
データが“0”で、かつ参照テーブルの読みだしデータ
が“1”であれば、データ書き込み線480を介して参
照テーブルの同エントリに対して“0”を書き込む。
【0013】書き込み信号304によりデータの書き込
みが指示されるとアドレスレジスタ42に書き込みアド
レスがセットされ、アドレスレジスタ43を介してメモ
リ装置にアドレスが送出される。このとき同時にアドレ
ス線420を介してレジスタ41に無効化アドレスがセ
ットされ、またデータブロックのアドレスが共通ブロッ
クテーブル470に供給される。無効化制御部450は
参照テーブル読みだしデータ、共通ブロックテーブル読
みだしデータ、書き込み操作を指示したデータ処理装置
を表すモジュール番号303、及び書き込み操作がデー
タ処理装置においてキャッシュヒットしたか否かを示す
書き込みヒット信号305を取り込んで、以下のように
無効化要求信号を生成する。 (1)参照テーブルが“0”の場合 データブロックがキャッシュメモリに登録されていない
ので、無効化要求は生成しない。 (2)参照テーブルが“1”で共通ブロックテーブルが
“0”の場合 モジュール番号303が入出力インタフェースを指定し
ている場合は無効化要求信号310及び311を介して
CPU0、CPU1の双方に無効化要求を送出する。モ
ジュール番号303がCPUを指定していて、かつ、書
き込みヒット信号がオフの場合は、他方のCPUにデー
タブロックが登録されているため、異なるモジュール番
号を持つCPUに対して無効化要求を送出する。モジュ
ール番号303がCPUを指定していて、かつ、書き込
みヒット信号がオンの場合は、他方のCPUにデータブ
ロックが登録されていないため、無効化要求は送出しな
い。無効化要求を送出する場合には、同時にバス上にレ
ジスタ41から無効化アドレスを送出する。 (3)参照テーブル、共通ブロックテーブルがともに
“1”の場合 モジュール番号303が入出力インタフェースを指定し
ている場合は無効化要求信号310及び311を介して
CPU0、CPU1の双方に無効化要求を送出する。モ
ジュール番号303がCPUを指定している場合は、異
なるモジュール番号を持つCPUに対して無効化要求を
送出する。いずれの場合でも同時にレジスタ41からバ
ス上に無効化アドレスを送出する。
みが指示されるとアドレスレジスタ42に書き込みアド
レスがセットされ、アドレスレジスタ43を介してメモ
リ装置にアドレスが送出される。このとき同時にアドレ
ス線420を介してレジスタ41に無効化アドレスがセ
ットされ、またデータブロックのアドレスが共通ブロッ
クテーブル470に供給される。無効化制御部450は
参照テーブル読みだしデータ、共通ブロックテーブル読
みだしデータ、書き込み操作を指示したデータ処理装置
を表すモジュール番号303、及び書き込み操作がデー
タ処理装置においてキャッシュヒットしたか否かを示す
書き込みヒット信号305を取り込んで、以下のように
無効化要求信号を生成する。 (1)参照テーブルが“0”の場合 データブロックがキャッシュメモリに登録されていない
ので、無効化要求は生成しない。 (2)参照テーブルが“1”で共通ブロックテーブルが
“0”の場合 モジュール番号303が入出力インタフェースを指定し
ている場合は無効化要求信号310及び311を介して
CPU0、CPU1の双方に無効化要求を送出する。モ
ジュール番号303がCPUを指定していて、かつ、書
き込みヒット信号がオフの場合は、他方のCPUにデー
タブロックが登録されているため、異なるモジュール番
号を持つCPUに対して無効化要求を送出する。モジュ
ール番号303がCPUを指定していて、かつ、書き込
みヒット信号がオンの場合は、他方のCPUにデータブ
ロックが登録されていないため、無効化要求は送出しな
い。無効化要求を送出する場合には、同時にバス上にレ
ジスタ41から無効化アドレスを送出する。 (3)参照テーブル、共通ブロックテーブルがともに
“1”の場合 モジュール番号303が入出力インタフェースを指定し
ている場合は無効化要求信号310及び311を介して
CPU0、CPU1の双方に無効化要求を送出する。モ
ジュール番号303がCPUを指定している場合は、異
なるモジュール番号を持つCPUに対して無効化要求を
送出する。いずれの場合でも同時にレジスタ41からバ
ス上に無効化アドレスを送出する。
【0014】書き込み信号304により書き込み操作が
指示されると、テーブル制御部440は参照テーブル読
みだしデータ、共通ブロックテーブル読みだしデータ、
書き込み操作を指示したデータ処理装置を表すモジュー
ル番号303、及び書き込み操作がデータ処理装置にお
いてキャッシュヒットしたか否かを示す書き込みヒット
信号305を取り込んで、テーブルの更新操作を行う。 (1)参照テーブルが“0”の場合 データブロックがキャッシュメモリに登録されていない
ので、参照テーブル460、共通ブロックテーブル47
0ともに更新は行わない。 (2)参照テーブルが“1”で共通ブロックテーブルが
“0”の場合 モジュール番号303が入出力インタフェースを指定し
ている場合は無効化制御部450により両CPUに対し
て無効化処理がなされるので参照テーブル460の同エ
ントリに書き込みデータ線480を介して“0”を書き
込む。モジュール番号303がCPUを指定していて、
かつ、書き込みヒット信号がオフの場合は、無効化処理
がなされるので参照テーブル460の同エントリに書き
込みデータ線480を介して“0”を書き込む。モジュ
ール番号303がCPUを指定していて、かつ、書き込
みヒット信号がオンの場合は、無効化処理が行われない
ので参照テーブル460、共通ブロックテーブルともに
更新は行わない。 (3)参照テーブル、共通ブロックテーブルがともに
“1”の場合 モジュール番号303が入出力インタフェースを指定し
ている場合は無効化制御部450により両CPUに対し
て無効化処理がなされるので参照テーブル460及び共
通ブロックテーブル470の双方の同エントリに対して
それぞれデータ線480、484を介して“0”を書き
込む。モジュール番号303がCPUを指定している場
合は、共通ブロックテーブル470の同エントリに書き
込みデータ線484を介して“0”を書き込む。
指示されると、テーブル制御部440は参照テーブル読
みだしデータ、共通ブロックテーブル読みだしデータ、
書き込み操作を指示したデータ処理装置を表すモジュー
ル番号303、及び書き込み操作がデータ処理装置にお
いてキャッシュヒットしたか否かを示す書き込みヒット
信号305を取り込んで、テーブルの更新操作を行う。 (1)参照テーブルが“0”の場合 データブロックがキャッシュメモリに登録されていない
ので、参照テーブル460、共通ブロックテーブル47
0ともに更新は行わない。 (2)参照テーブルが“1”で共通ブロックテーブルが
“0”の場合 モジュール番号303が入出力インタフェースを指定し
ている場合は無効化制御部450により両CPUに対し
て無効化処理がなされるので参照テーブル460の同エ
ントリに書き込みデータ線480を介して“0”を書き
込む。モジュール番号303がCPUを指定していて、
かつ、書き込みヒット信号がオフの場合は、無効化処理
がなされるので参照テーブル460の同エントリに書き
込みデータ線480を介して“0”を書き込む。モジュ
ール番号303がCPUを指定していて、かつ、書き込
みヒット信号がオンの場合は、無効化処理が行われない
ので参照テーブル460、共通ブロックテーブルともに
更新は行わない。 (3)参照テーブル、共通ブロックテーブルがともに
“1”の場合 モジュール番号303が入出力インタフェースを指定し
ている場合は無効化制御部450により両CPUに対し
て無効化処理がなされるので参照テーブル460及び共
通ブロックテーブル470の双方の同エントリに対して
それぞれデータ線480、484を介して“0”を書き
込む。モジュール番号303がCPUを指定している場
合は、共通ブロックテーブル470の同エントリに書き
込みデータ線484を介して“0”を書き込む。
【0015】実施例2.この発明の他の実施例を図4を
用いて説明する。この例は任意の複数のデータ処理装置
からなるデータ処理システムのキャッシュメモリ無効化
制御方式を説明するものであり、460、461、46
2、463はそれぞれ、CPU0、CPU1、CPU
2、CPU3に対応する参照テーブル、480、48
1、482、483はそれぞれ各CPUに対応する参照
テーブル書き込みデータ線、490、491、492、
493はそれぞれ各CPUに対応する参照テーブルの読
みだしデータ線、310、311、312、313はそ
れぞれ各CPUに対する無効化要求信号である。
用いて説明する。この例は任意の複数のデータ処理装置
からなるデータ処理システムのキャッシュメモリ無効化
制御方式を説明するものであり、460、461、46
2、463はそれぞれ、CPU0、CPU1、CPU
2、CPU3に対応する参照テーブル、480、48
1、482、483はそれぞれ各CPUに対応する参照
テーブル書き込みデータ線、490、491、492、
493はそれぞれ各CPUに対応する参照テーブルの読
みだしデータ線、310、311、312、313はそ
れぞれ各CPUに対する無効化要求信号である。
【0016】図4において、読みだし信号301により
データブロックの読みだし指示されると、アドレスレジ
スタ42に読みだしアドレスがセットされ、アドレスレ
ジスタ43を介してメモリ装置にアドレスが送出され
る。このとき同時にアドレス線420を介してデータブ
ロックのアドレスを参照テーブル460乃至463へ送
る。テーブル制御部441はモジュール番号303から
読みだし要求を行ったCPUを識別し、該当する参照テ
ーブルの該エントリに“1”を書き込む。
データブロックの読みだし指示されると、アドレスレジ
スタ42に読みだしアドレスがセットされ、アドレスレ
ジスタ43を介してメモリ装置にアドレスが送出され
る。このとき同時にアドレス線420を介してデータブ
ロックのアドレスを参照テーブル460乃至463へ送
る。テーブル制御部441はモジュール番号303から
読みだし要求を行ったCPUを識別し、該当する参照テ
ーブルの該エントリに“1”を書き込む。
【0017】置き換え信号302によりデータブロック
の置き換えが指示されると、アドレスレジスタ42に置
き換えアドレスがセットされ、アドレス線420を介し
てデータブロックのアドレスが参照テーブル460乃至
463へ供給される。テーブル制御部441はモジュー
ル番号303から置き換え信号を発行したCPUを識別
し、該当する参照テーブルの該エントリに“0”を書き
込む。
の置き換えが指示されると、アドレスレジスタ42に置
き換えアドレスがセットされ、アドレス線420を介し
てデータブロックのアドレスが参照テーブル460乃至
463へ供給される。テーブル制御部441はモジュー
ル番号303から置き換え信号を発行したCPUを識別
し、該当する参照テーブルの該エントリに“0”を書き
込む。
【0018】書き込み信号304によりデータの書き込
みが指示されるとアドレスレジスタ42に書き込みアド
レスがセットされ、アドレスレジスタ43を介してメモ
リ装置にアドレスが送出される。このとき同時にアドレ
ス線420を介してレジスタ41に無効化アドレスがセ
ットされ、またデータブロックのアドレスが参照テーブ
ル460乃至463に供給される。無効化制御部451
は参照テーブル読みだしデータ、モジュール番号303
を取り込んで、以下のように無効化要求信号を生成す
る。 (1)モジュール番号が入出力インタフェースを指定し
ている場合 読みだしデータ線490乃至493を介して読みだした
参照テーブルの読みだしデータのうち、“1”である参
照テーブルに対応したCPUに対して無効化要求信号3
10乃至313を介して無効化要求を行う。 (2)モジュール番号がCPUを指定している場合 読みだしデータ線490乃至493を介して読みだした
参照テーブルの読みだしデータのなかで、“1”である
参照テーブルに対応したCPUのうち、モジュール番号
303で指定された以外のCPUに対して無効化要求信
号310乃至313を介して無効化要求を行う。いずれ
の場合においても無効化要求を行う際にはレジスタ41
に格納された無効化アドレスを無効化要求と同時にバス
上に送出する。
みが指示されるとアドレスレジスタ42に書き込みアド
レスがセットされ、アドレスレジスタ43を介してメモ
リ装置にアドレスが送出される。このとき同時にアドレ
ス線420を介してレジスタ41に無効化アドレスがセ
ットされ、またデータブロックのアドレスが参照テーブ
ル460乃至463に供給される。無効化制御部451
は参照テーブル読みだしデータ、モジュール番号303
を取り込んで、以下のように無効化要求信号を生成す
る。 (1)モジュール番号が入出力インタフェースを指定し
ている場合 読みだしデータ線490乃至493を介して読みだした
参照テーブルの読みだしデータのうち、“1”である参
照テーブルに対応したCPUに対して無効化要求信号3
10乃至313を介して無効化要求を行う。 (2)モジュール番号がCPUを指定している場合 読みだしデータ線490乃至493を介して読みだした
参照テーブルの読みだしデータのなかで、“1”である
参照テーブルに対応したCPUのうち、モジュール番号
303で指定された以外のCPUに対して無効化要求信
号310乃至313を介して無効化要求を行う。いずれ
の場合においても無効化要求を行う際にはレジスタ41
に格納された無効化アドレスを無効化要求と同時にバス
上に送出する。
【0019】書き込み信号304により書き込み操作が
指示されると、テーブル制御部441はモジュール番号
303を取り込んで、以下のように参照テーブルの更新
操作を行う。 (1)モジュール番号が入出力インタフェースを指定し
ている場合 書き込み信号線480乃至483を介して全CPUに対
応する参照テーブル460乃至463の該エントリへ
“0”を書き込む。 (2)モジュール番号がCPUを指定している場合 モジュール番号303で指定された以外のCPUに対応
する参照テーブルの該エントリに対して書き込み信号線
480乃至483を介して“0”を書き込む。
指示されると、テーブル制御部441はモジュール番号
303を取り込んで、以下のように参照テーブルの更新
操作を行う。 (1)モジュール番号が入出力インタフェースを指定し
ている場合 書き込み信号線480乃至483を介して全CPUに対
応する参照テーブル460乃至463の該エントリへ
“0”を書き込む。 (2)モジュール番号がCPUを指定している場合 モジュール番号303で指定された以外のCPUに対応
する参照テーブルの該エントリに対して書き込み信号線
480乃至483を介して“0”を書き込む。
【0020】なお、本実施例ではCPUからメモリ装置
へのデータアクセスが共通バスを介して行われる構成を
説明したが、共通バスの代わりに専用バスを用いてもよ
い。また、実施例2においては、CPUが4台の例につ
いて述べたが、その他の台数についてもCPUの台数分
だけ参照テーブルを設ければ同様の制御が実現できるた
め、CPU台数を限定するものではない。
へのデータアクセスが共通バスを介して行われる構成を
説明したが、共通バスの代わりに専用バスを用いてもよ
い。また、実施例2においては、CPUが4台の例につ
いて述べたが、その他の台数についてもCPUの台数分
だけ参照テーブルを設ければ同様の制御が実現できるた
め、CPU台数を限定するものではない。
【0021】
【発明の効果】以上のように、この発明によればメモリ
のデータブロックの参照状況を表示するテーブルを設け
たため、複数CPUを備えたデータ処理システムにおけ
るキャッシュメモリのデータ一貫性制御に関して、キャ
ッシュ無効化処理を必要最小限に限定できるので、CP
Uのデータ処理に対し不要な妨害を防止することがで
き、したがって、CPUのデータ処理効率を向上させる
ことができる。
のデータブロックの参照状況を表示するテーブルを設け
たため、複数CPUを備えたデータ処理システムにおけ
るキャッシュメモリのデータ一貫性制御に関して、キャ
ッシュ無効化処理を必要最小限に限定できるので、CP
Uのデータ処理に対し不要な妨害を防止することがで
き、したがって、CPUのデータ処理効率を向上させる
ことができる。
【図1】この発明の一実施例によるキャッシュメモリ無
効化制御方式を表すメモリ制御装置のブロック図であ
る。
効化制御方式を表すメモリ制御装置のブロック図であ
る。
【図2】この発明の一実施例を示すデータ処理システム
のブロック図である。
のブロック図である。
【図3】この発明の主要な要素となっている参照テーブ
ルと共通ブロックテーブルの例を示すブロック図であ
る。
ルと共通ブロックテーブルの例を示すブロック図であ
る。
【図4】この発明の他の実施例によるキャッシュメモリ
無効化制御方式を表すメモリ制御装置のブロック図であ
る。
無効化制御方式を表すメモリ制御装置のブロック図であ
る。
【図5】従来のキャッシュメモリ無効化制御方式を表す
ブロック図である。
ブロック図である。
【図6】従来のキャッシュメモリ無効化制御方式を表す
他のブロック図である。
他のブロック図である。
440 テーブル制御部 441 テーブル制御部 450 無効化制御部 451 無効化制御部 460 参照テーブル 461 参照テーブル 462 参照テーブル 463 参照テーブル 470 共通ブロックテーブル
Claims (2)
- 【請求項1】 キャッシュメモリを有する複数のデータ
処理装置からなるデータ処理システムにおいて、 メモリ制御装置内にメモリ参照状況を表示するテーブル
と、複数のデータ処理装置により共通に参照されている
状況を表示するテーブルとを備え、あるデータ処理装置
からメモリ書き込み操作が行われたときに、上記テーブ
ルに表示された情報から、該書き込み操作が行われるデ
ータ領域を含むメモリブロックをキャッシュメモリ内に
有するデータ処理装置を特定し、該データ処理装置に対
して該メモリブロックの無効化要求を行うことを特徴と
するキャッシュメモリ無効化制御方式。 - 【請求項2】 キャッシュメモリを有する複数のデータ
処理装置からなるデータ処理システムにおいて、 メモリ制御装置内に各データ処理装置に対応するメモリ
参照状況を表示するテーブルを備え、あるデータ処理装
置からメモリ書き込み操作が行われたときに、上記テー
ブルに表示された情報から、該書き込み操作が行われる
データ領域を含むメモリブロックをキャッシュメモリ内
に有するデータ処理装置を特定し、該データ処理装置に
対して該メモリブロックの無効化要求を行うことを特徴
とするキャッシュメモリ無効化制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4080804A JPH05282207A (ja) | 1992-04-02 | 1992-04-02 | キャッシュメモリ無効化制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4080804A JPH05282207A (ja) | 1992-04-02 | 1992-04-02 | キャッシュメモリ無効化制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05282207A true JPH05282207A (ja) | 1993-10-29 |
Family
ID=13728657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4080804A Pending JPH05282207A (ja) | 1992-04-02 | 1992-04-02 | キャッシュメモリ無効化制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05282207A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692150A (en) * | 1994-07-28 | 1997-11-25 | Nec Corporation | Cache flash controlling method for cache memory system |
-
1992
- 1992-04-02 JP JP4080804A patent/JPH05282207A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692150A (en) * | 1994-07-28 | 1997-11-25 | Nec Corporation | Cache flash controlling method for cache memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3289661B2 (ja) | キャッシュメモリシステム | |
KR0154533B1 (ko) | 데이타 프로세서 | |
KR920008427B1 (ko) | 마이크로프로세서 | |
EP0303648B1 (en) | Central processor unit for digital data processing system including cache management mechanism | |
JP3575572B2 (ja) | データ転送方法及びシステム | |
JPH0659976A (ja) | 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法 | |
US5091845A (en) | System for controlling the storage of information in a cache memory | |
JPH1031625A (ja) | マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ | |
JP2695017B2 (ja) | データ転送方式 | |
US5226170A (en) | Interface between processor and special instruction processor in digital data processing system | |
JP2575219B2 (ja) | データ処理システム及びその命令実行を促進する方法 | |
US5765195A (en) | Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms | |
WO1997004392A1 (en) | Shared cache memory device | |
JPH0410102B2 (ja) | ||
JP4490585B2 (ja) | 周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置 | |
JPH10240628A (ja) | キャッシュメモリ装置 | |
JPH10105461A (ja) | 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法 | |
JPH05282207A (ja) | キャッシュメモリ無効化制御方式 | |
US5276892A (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
JPH03175548A (ja) | マイクロプロセッサ及びアドレス制御方式 | |
JP2845754B2 (ja) | マルチプロセッサシステム | |
JP3378270B2 (ja) | マルチプロセッサシステム | |
EP0302926B1 (en) | Control signal generation circuit for arithmetic and logic unit for digital processor | |
JP3145479B2 (ja) | マルチプロセッサシステムとそのキャッシュメモリ制御方法および装置 | |
JPS63201854A (ja) | アドレス変換バツフア無効化方式 |