JPH0498339A - バッファ無効化制御方式 - Google Patents
バッファ無効化制御方式Info
- Publication number
- JPH0498339A JPH0498339A JP2210511A JP21051190A JPH0498339A JP H0498339 A JPH0498339 A JP H0498339A JP 2210511 A JP2210511 A JP 2210511A JP 21051190 A JP21051190 A JP 21051190A JP H0498339 A JPH0498339 A JP H0498339A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- buffer invalidation
- address
- command
- write
- 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
【発明の詳細な説明】
〔概要〕
複数のコピー・バック方式のキャンシュメモリ間におい
てバッファ無効化処理を制御する技術に関し、 キャッシュメモリ内で書き換えたデータを消失させるこ
となく、コピー・バック方式の利点である高速性を最大
限に活かし、ひいてはシステム全体の性能向上に寄与す
ることを目的とし、各キャッシュメモリは、内部のそれ
ぞれのエントリにアドレス部、データ部、有効指示フラ
グおよび変更済指示フラグを有し、且つ、対応するCP
Uからの書き込み要求によるデータとアドレスを格納す
るレジスタ手段と、対応するCPUからのデータの書き
込み要求があった場合に、その対象領域が当該キャッシ
ュメモリ内に登録されていて且つ変更済指示フラグがオ
フの時は該書き込み要求による書き込みデータを当該対
象エントリおよび前記レジスタ手段に格納し、該変更済
指示フラグをオンにすると共に、当該書き込みアドレス
の少なくとも一部を含むバッファ無効化要求コマンドを
前記システムバスに送出する手段と、該システムバス上
のコマンドを監視し、そのコマンドに含まれるアドレス
と前記書き込みアドレスを比較する手段とを有し、前記
バッファ無効化要求コマンドの送出待ち状態において前
記監視したシステムバス上のコマンドが他のキャッシュ
メモリからのバッファ無効化要求コマンドであって且つ
含まれるアドレスが同一領域を指示していた場合に、該
バッファ無効化要求コマンドの送出待ち状態をキャンセ
ルすると共に、前記レジスタ手段の内容をストア・スル
一方式で前記共有メモリへ格納するように構成する。
てバッファ無効化処理を制御する技術に関し、 キャッシュメモリ内で書き換えたデータを消失させるこ
となく、コピー・バック方式の利点である高速性を最大
限に活かし、ひいてはシステム全体の性能向上に寄与す
ることを目的とし、各キャッシュメモリは、内部のそれ
ぞれのエントリにアドレス部、データ部、有効指示フラ
グおよび変更済指示フラグを有し、且つ、対応するCP
Uからの書き込み要求によるデータとアドレスを格納す
るレジスタ手段と、対応するCPUからのデータの書き
込み要求があった場合に、その対象領域が当該キャッシ
ュメモリ内に登録されていて且つ変更済指示フラグがオ
フの時は該書き込み要求による書き込みデータを当該対
象エントリおよび前記レジスタ手段に格納し、該変更済
指示フラグをオンにすると共に、当該書き込みアドレス
の少なくとも一部を含むバッファ無効化要求コマンドを
前記システムバスに送出する手段と、該システムバス上
のコマンドを監視し、そのコマンドに含まれるアドレス
と前記書き込みアドレスを比較する手段とを有し、前記
バッファ無効化要求コマンドの送出待ち状態において前
記監視したシステムバス上のコマンドが他のキャッシュ
メモリからのバッファ無効化要求コマンドであって且つ
含まれるアドレスが同一領域を指示していた場合に、該
バッファ無効化要求コマンドの送出待ち状態をキャンセ
ルすると共に、前記レジスタ手段の内容をストア・スル
一方式で前記共有メモリへ格納するように構成する。
本発明は、複数のコピー・ハック方式のキャッシュメモ
リと少なくとも1つの共有メモリがシステムバスを介し
て接続されているマルチプロセッサシステムに係わり、
特に、各キャッシュメモリ内の同一領域に対して同時に
書き込み要求が発生した場合に他のキャッシュメモリ内
の同一領域を無効化するためのバッファ無効化処理を制
御する技術に関する。
リと少なくとも1つの共有メモリがシステムバスを介し
て接続されているマルチプロセッサシステムに係わり、
特に、各キャッシュメモリ内の同一領域に対して同時に
書き込み要求が発生した場合に他のキャッシュメモリ内
の同一領域を無効化するためのバッファ無効化処理を制
御する技術に関する。
第6図に従来のキャンシュメモリ制御形態の一例が示さ
れる。
れる。
図示の例では、キャッシュメモリA、Bは共にコピー・
バック方式のキャッシュメモリであるものとする。また
、■はアクセスアドレスで指示される領域が自キャッシ
ュメモリ内に存在するが否かを指示する有効指示フラグ
、Mはデータが書き換えられたか否かを指示する変更済
指示フラグを示している。
バック方式のキャッシュメモリであるものとする。また
、■はアクセスアドレスで指示される領域が自キャッシ
ュメモリ内に存在するが否かを指示する有効指示フラグ
、Mはデータが書き換えられたか否かを指示する変更済
指示フラグを示している。
キャッシュメモリA、Bはそれぞれ、対応するCPUか
らのデータ書き込み(ライト)要求が有った場合に、そ
の対象領域が自メモリ内に登録されていて(V=1)且
つ変更済指示フラグMがオフCM=0)の時にその書き
込みデータを当該対象領域(エントリ)に書き込み、変
更済指示フラグMをオン(M= 1 )にする。キャッ
シュメモリA(またはB)は、未変更領域にデータを書
き込むと、バッファ無効化要求コマンドBICMDをシ
ステムバスに送出しくライトワンス動作)、それによっ
て他のキャッシュメモリB(またはA)内の同一領域を
クリア(無効化)する。
らのデータ書き込み(ライト)要求が有った場合に、そ
の対象領域が自メモリ内に登録されていて(V=1)且
つ変更済指示フラグMがオフCM=0)の時にその書き
込みデータを当該対象領域(エントリ)に書き込み、変
更済指示フラグMをオン(M= 1 )にする。キャッ
シュメモリA(またはB)は、未変更領域にデータを書
き込むと、バッファ無効化要求コマンドBICMDをシ
ステムバスに送出しくライトワンス動作)、それによっ
て他のキャッシュメモリB(またはA)内の同一領域を
クリア(無効化)する。
従来の方式では、キャッシュメモリA、Bは共に、いっ
たんライトワンス動作を開始するとバッファ無効化要求
コマンドの発行が終了するまでCPUヘライト終了応答
を返さなかった。
たんライトワンス動作を開始するとバッファ無効化要求
コマンドの発行が終了するまでCPUヘライト終了応答
を返さなかった。
また、外部アクセスアドレスが内部の変更済のエントリ
のアドレスと一致した場合には、当該キャッシュメモリ
は、その外部アクセスを行ったキャッシュメモリに対し
て該アクセスの一時中断を要求するインタセプト信号を
送出し、その1工ントリ分をスワップアウト(コピー・
バック)していた。
のアドレスと一致した場合には、当該キャッシュメモリ
は、その外部アクセスを行ったキャッシュメモリに対し
て該アクセスの一時中断を要求するインタセプト信号を
送出し、その1工ントリ分をスワップアウト(コピー・
バック)していた。
また、ライトワンス動作の実行中に外部からインタセプ
ト信号を受信した場合には、当該キャッシュメモリは、
そのインタセプト信号を出力したデバイス(他のキャッ
シュメモリ)のアクセスが終了した後、再度ライトワン
ス(バ・ンファ無効化要求コマンドの送出)を実行して
いた。
ト信号を受信した場合には、当該キャッシュメモリは、
そのインタセプト信号を出力したデバイス(他のキャッ
シュメモリ)のアクセスが終了した後、再度ライトワン
ス(バ・ンファ無効化要求コマンドの送出)を実行して
いた。
なお、第7図には第6図におけるキャッシュメモリの状
態遷移の様子が示される。
態遷移の様子が示される。
図中、■は無効状態(V=0)、Uは有効かつ未変更状
11(V−1かつM=0)、Mは有効かつ変更済状態(
■=1かつM= 1 ) 、(1)は読み出しくリード
)動作による新規登録、(2)は未変更領域への書き込
みおよびバッファ無効化要求コマンドの発行、(3)は
リプレースのためのコピー・バック、(4)はリプレー
スのためのクリア、そして(5)は書き込み(ライト)
動作による新規登録を示す。なお、状態Uから状態Iへ
の遷移(4)および状態Mから状態Iへの遷移(3)は
、他のキャッシュメモリからのバッファ無効化要求コマ
ンドに基づくクリア動作によって行われる。
11(V−1かつM=0)、Mは有効かつ変更済状態(
■=1かつM= 1 ) 、(1)は読み出しくリード
)動作による新規登録、(2)は未変更領域への書き込
みおよびバッファ無効化要求コマンドの発行、(3)は
リプレースのためのコピー・バック、(4)はリプレー
スのためのクリア、そして(5)は書き込み(ライト)
動作による新規登録を示す。なお、状態Uから状態Iへ
の遷移(4)および状態Mから状態Iへの遷移(3)は
、他のキャッシュメモリからのバッファ無効化要求コマ
ンドに基づくクリア動作によって行われる。
上述した従来の制御方式において、ライトワンス動作が
中断されることなく終了するまでCPUへ応答を返さな
い場合は、コピー・ハック方式が備えている利点(バス
・アクセスの頻度を減らし、処理の高速化を図る)を最
大限に活かすことができず、そのため、システム全体の
性能が低下するという問題が生じる。
中断されることなく終了するまでCPUへ応答を返さな
い場合は、コピー・ハック方式が備えている利点(バス
・アクセスの頻度を減らし、処理の高速化を図る)を最
大限に活かすことができず、そのため、システム全体の
性能が低下するという問題が生じる。
また、1工ントリ分をスワップアウトする方法では、当
該キャッシュメモリと共有メモリとの間の通信に時間が
かかるという欠点がある。
該キャッシュメモリと共有メモリとの間の通信に時間が
かかるという欠点がある。
また、再度ライトワンスを実行する方法では、どちらの
キャッシュメモリもライトワンスが必要となる上記の例
の場合、互いにライトワンスおよびインタセプト動作を
繰り返し、場合によっては無限ループに陥ってしまう可
能性があり、そのために高速処理を実現できないという
問題がある。
キャッシュメモリもライトワンスが必要となる上記の例
の場合、互いにライトワンスおよびインタセプト動作を
繰り返し、場合によっては無限ループに陥ってしまう可
能性があり、そのために高速処理を実現できないという
問題がある。
さらに、複数のキャッシュメモリ(第6図の例示では2
つのキャッシュメモリ)において・それぞれ同時にデー
タ書き込みが発生した時、タイミングが完全に一致する
と両者からバッファ無効化要求コマンドがシステムバス
上に送出され、それによって双方のキャッシュメモリ内
の書き込みデータが消失するという不都合がある。
つのキャッシュメモリ)において・それぞれ同時にデー
タ書き込みが発生した時、タイミングが完全に一致する
と両者からバッファ無効化要求コマンドがシステムバス
上に送出され、それによって双方のキャッシュメモリ内
の書き込みデータが消失するという不都合がある。
この不都合を回避するため、ソフトウェア制御により共
有領域の書き換えは1つのCPUにのみ許可する(コピ
ー・オン・ライト力式)、等の対策が考えられるが、こ
れは、制御が極めて複雑であるため、実用的とは言えな
い。
有領域の書き換えは1つのCPUにのみ許可する(コピ
ー・オン・ライト力式)、等の対策が考えられるが、こ
れは、制御が極めて複雑であるため、実用的とは言えな
い。
本発明は、かかる従来技術における課題に鑑み創作され
たもので、キャンシュメモリ内で書き換えたデータを消
失させることなく、コピー・バック方式の利点である高
速性を最大限に活かし、ひいてはシステム全体の性能向
上に寄与することができるバッファ無効化制御方式を提
供することを目的としている。
たもので、キャンシュメモリ内で書き換えたデータを消
失させることなく、コピー・バック方式の利点である高
速性を最大限に活かし、ひいてはシステム全体の性能向
上に寄与することができるバッファ無効化制御方式を提
供することを目的としている。
第1図(a) 、 (b)の原理図に示されるように、
本発明のバッファ無効化制御方式は、複数のコピー・バ
ック方式のキャッシュメモリ旧〜Mnと少なくとも1つ
の共有メモリCMがシステムバスを介して接続されてい
るマルチプロセッサシステムにおいて、 各キャッシュメモリ旧は、内部のそれぞれのエントリに
アドレス部A1データ部D1アクセスアドレスで示され
る領域が自己のキャッシュメモリ内に存在するか否かを
指示する有効指示フラグV、およびデータが書き換えら
れたか否かを指示する変更済指示フラグMを有し、且つ
、 対応するCPUC1からの書き込み要求によるデータと
アドレスを格納するレジスタ手段POと、対応するCP
Uからのデータの書き込み要求があった場合に、その対
象領域が当該キャッシュメモリ内に登録されていて且つ
変更済指示フラグがオフの時は該書き込み要求による書
き込みデータを当該対象エントリおよび前記レジスタ手
段に格納し、該変更済指示フラグをオンにすると共に、
当該書き込みアドレスの少なくとも一部を含むバッファ
無効化要求コマンドを前記システムバスに送出する手段
PIと、該システムバス上のコマンドを監視し、そのコ
マンドに含まれるアドレスと前記書き込みアドレスを比
較する手段P2とを有し、前記バッファ無効化要求コマ
ンドの送出待ち状態において前記監視したシステムバス
上のコマンドが他のキャッシュメモリからのバッファ無
効化要求コマンドであって且つ含まれるアドレスが同一
領域を指示していた場合に、該バッファ無効化要求コマ
ンドの送出待ち状態をキャンセルすると共に、前記レジ
スタ手段の内容をストア・スルー方式で前記共有メモリ
へ格納する(P3)ようにしたことを特徴とする。
本発明のバッファ無効化制御方式は、複数のコピー・バ
ック方式のキャッシュメモリ旧〜Mnと少なくとも1つ
の共有メモリCMがシステムバスを介して接続されてい
るマルチプロセッサシステムにおいて、 各キャッシュメモリ旧は、内部のそれぞれのエントリに
アドレス部A1データ部D1アクセスアドレスで示され
る領域が自己のキャッシュメモリ内に存在するか否かを
指示する有効指示フラグV、およびデータが書き換えら
れたか否かを指示する変更済指示フラグMを有し、且つ
、 対応するCPUC1からの書き込み要求によるデータと
アドレスを格納するレジスタ手段POと、対応するCP
Uからのデータの書き込み要求があった場合に、その対
象領域が当該キャッシュメモリ内に登録されていて且つ
変更済指示フラグがオフの時は該書き込み要求による書
き込みデータを当該対象エントリおよび前記レジスタ手
段に格納し、該変更済指示フラグをオンにすると共に、
当該書き込みアドレスの少なくとも一部を含むバッファ
無効化要求コマンドを前記システムバスに送出する手段
PIと、該システムバス上のコマンドを監視し、そのコ
マンドに含まれるアドレスと前記書き込みアドレスを比
較する手段P2とを有し、前記バッファ無効化要求コマ
ンドの送出待ち状態において前記監視したシステムバス
上のコマンドが他のキャッシュメモリからのバッファ無
効化要求コマンドであって且つ含まれるアドレスが同一
領域を指示していた場合に、該バッファ無効化要求コマ
ンドの送出待ち状態をキャンセルすると共に、前記レジ
スタ手段の内容をストア・スルー方式で前記共有メモリ
へ格納する(P3)ようにしたことを特徴とする。
説明の簡単化のため、例えば2つのキャッシュメモリ(
M+9Mzとする)内の同一領域に対して同時に書き込
み要求が発生し、一方のキャッシュメモリ(M+)の方
が他方のキャッシュメモリ(M2)よりもデータ書き込
みが早かったものとする。
M+9Mzとする)内の同一領域に対して同時に書き込
み要求が発生し、一方のキャッシュメモリ(M+)の方
が他方のキャッシュメモリ(M2)よりもデータ書き込
みが早かったものとする。
この場合、キャッシュメモリー、からのバッファ無効化
要求コマンドがシステムバス上に送出され、それによっ
てキャッシュメモリ阿2は、保留中(送出待ち状態)の
バッファ無効化要求コマンドをキャンセルし、レジスタ
手段に格納されているデータを共有メモリCMへ格納す
る(書き込みデータの消失防止)。
要求コマンドがシステムバス上に送出され、それによっ
てキャッシュメモリ阿2は、保留中(送出待ち状態)の
バッファ無効化要求コマンドをキャンセルし、レジスタ
手段に格納されているデータを共有メモリCMへ格納す
る(書き込みデータの消失防止)。
一方、キャッシュメモリIAは、自メモリからのバッフ
ァ無効化要求コマンドの発行が終了すると対応するCP
Uからのライト要求を受は付け、その終了応答を返すこ
とができる。また、キャッシュメモリIBからのバッフ
ァ無効化要求コマンドの送出がキャンセルされたため、
キャッシュメモリIAでは対象領域のデータが消失する
ことはない。
ァ無効化要求コマンドの発行が終了すると対応するCP
Uからのライト要求を受は付け、その終了応答を返すこ
とができる。また、キャッシュメモリIBからのバッフ
ァ無効化要求コマンドの送出がキャンセルされたため、
キャッシュメモリIAでは対象領域のデータが消失する
ことはない。
このように、複数のキャッシュメモリにおいてそれぞれ
同時に内部の同一領域への書き込み要求が発生した場合
に、各キャッシュメモリは、バッファ無効化要求コマン
ドを発行することができた時は自己のライドリンス動作
の終了後に内部の該当エントリの更新およびCPUへの
ライト終了応答を返すことができ、一方、バッファ無効
化要求コマンドを受信した時はレジスタ手段の内容をス
トア・スル一方式で共有メモリへ反映させることができ
る。これによって、書き換えたデータを消失させずに、
他のキャッシュメモリ内の同一領域を無効化し、さらに
はコピー・バック方式の利点である高速性を最大限に活
かし、システム効率の向上に寄与することが可能となる
。
同時に内部の同一領域への書き込み要求が発生した場合
に、各キャッシュメモリは、バッファ無効化要求コマン
ドを発行することができた時は自己のライドリンス動作
の終了後に内部の該当エントリの更新およびCPUへの
ライト終了応答を返すことができ、一方、バッファ無効
化要求コマンドを受信した時はレジスタ手段の内容をス
トア・スル一方式で共有メモリへ反映させることができ
る。これによって、書き換えたデータを消失させずに、
他のキャッシュメモリ内の同一領域を無効化し、さらに
はコピー・バック方式の利点である高速性を最大限に活
かし、システム効率の向上に寄与することが可能となる
。
なお、本発明の他の構成上の特徴および作用の詳細につ
いては、添付図面を参照しつつ以下に記述される実施例
を用いて説明する。
いては、添付図面を参照しつつ以下に記述される実施例
を用いて説明する。
第2図には本発明のバッファ無効化制御方式が適用され
る密結合マルチプロセッサシステムの構成が示される。
る密結合マルチプロセッサシステムの構成が示される。
本システムでは、複数のコピー・バック方式のキャッシ
ュメモリIA、IB(本実施例では図示の簡単化のため
2個のみ図示)がシステムバス4を介して少なくとも1
つの共有メモリ3(同様に簡単化のため1個のみ図示)
に接続されている。また、各キャッシュメモリIA、I
Bには、それぞれ対応するキャッシュメモリへのアドレ
ス情報の供給やデータ読み出しおよび書き込み等の制御
を行う中央処理袋! (CP U) 2A、2Bが接続
されている。
ュメモリIA、IB(本実施例では図示の簡単化のため
2個のみ図示)がシステムバス4を介して少なくとも1
つの共有メモリ3(同様に簡単化のため1個のみ図示)
に接続されている。また、各キャッシュメモリIA、I
Bには、それぞれ対応するキャッシュメモリへのアドレ
ス情報の供給やデータ読み出しおよび書き込み等の制御
を行う中央処理袋! (CP U) 2A、2Bが接続
されている。
第3図(a) 、 (b)には第2図におけるキャンシ
ュメモリの内部構成が示される。
ュメモリの内部構成が示される。
第3図(a)において、31はタグ部(タグメモ1月で
あって、アクセスデータの物理アドレスを記憶するアド
レス部と、アクセスアドレスで指示される領域が自キャ
ッシュメモリ内に存在するか否かを指示する有効指示フ
ラグ■と、データが書き換えられたか否かを指示する変
更済指示フラグMを有している。なお、各フラグ■、M
は、それぞれの条件が肯定された時に「オン」すなわち
「1」を呈し、否定された時に「オフ」すなわち「0」
を呈する。
あって、アクセスデータの物理アドレスを記憶するアド
レス部と、アクセスアドレスで指示される領域が自キャ
ッシュメモリ内に存在するか否かを指示する有効指示フ
ラグ■と、データが書き換えられたか否かを指示する変
更済指示フラグMを有している。なお、各フラグ■、M
は、それぞれの条件が肯定された時に「オン」すなわち
「1」を呈し、否定された時に「オフ」すなわち「0」
を呈する。
32は対応するCPUからのアドレスADDIを解読す
るデコーダ(DEC)、33はタグ部31に登録されて
いるアドレスとCPUからのアドレスADDIとフラグ
Vのビットに応答する比較回路、34はCPUからの読
み出し/書き込み制御信号R/−に応答するインバータ
、35はフラグMのビットに応答するインバータ、36
は比較回路33の出力とインバータ34の出力(CPU
書き込み信号CWRT )に応答してフラグMのビット
をセット状態(信号MSET )にするアンドゲート、
37は比較回路33の出力とインバータ34の出力CW
RTとインバータ35の出力に応答するアンドゲート、
38は対応するCPUからのアドレスADDIを格納す
るストアバッファ、そして39はバッファ無効化制御回
路であって、ストアバッファ38から供給される無効化
アドレスIADとアンドゲート37の出力−Uとキャン
セル信号CNL (後述)に応答し、バッファ無効化要
求コマンドの作成およびシステムバス4への送出、該コ
マンドの送出キャンセル、ならびに該コマンドの発行終
了を指示する信号CIENDを出力する機能を有してい
る。
るデコーダ(DEC)、33はタグ部31に登録されて
いるアドレスとCPUからのアドレスADDIとフラグ
Vのビットに応答する比較回路、34はCPUからの読
み出し/書き込み制御信号R/−に応答するインバータ
、35はフラグMのビットに応答するインバータ、36
は比較回路33の出力とインバータ34の出力(CPU
書き込み信号CWRT )に応答してフラグMのビット
をセット状態(信号MSET )にするアンドゲート、
37は比較回路33の出力とインバータ34の出力CW
RTとインバータ35の出力に応答するアンドゲート、
38は対応するCPUからのアドレスADDIを格納す
るストアバッファ、そして39はバッファ無効化制御回
路であって、ストアバッファ38から供給される無効化
アドレスIADとアンドゲート37の出力−Uとキャン
セル信号CNL (後述)に応答し、バッファ無効化要
求コマンドの作成およびシステムバス4への送出、該コ
マンドの送出キャンセル、ならびに該コマンドの発行終
了を指示する信号CIENDを出力する機能を有してい
る。
同様に、40はシステムバス4上のアドレスADD2を
解読するデコーダ(DEC)、41はタグ部31に登録
されているアドレスとシステムバス4上のアドレスAD
D2とフラグ■のビットに応答する比較回路、42はス
トアバッファ38から供給される無効化アドレスIAD
(3Qビツト)とシステムバス4上のアドレスADD2
(この場合、他のキャッシュメモリからのバッファ無
効化要求コマンドのアドレスBIAD)に応答する比較
回路、43は対応するCPUからの書き込みデーターD
Tを格納するストアバッファ、そして44はストア動作
制御回路であって、ストアバッファ38から供給される
ストアアドレスSA (32ビツト)とストアバッファ
43から供給されるストアデータSDと比較回路42か
ら出力されるストアコマンド起動信号SC5(後述)に
応答し、ストアコマンドの作成およびシステムバス4へ
の送出、ならびに該ストア動作の終了を指示する信号5
ENDを出力する機能を有している。
解読するデコーダ(DEC)、41はタグ部31に登録
されているアドレスとシステムバス4上のアドレスAD
D2とフラグ■のビットに応答する比較回路、42はス
トアバッファ38から供給される無効化アドレスIAD
(3Qビツト)とシステムバス4上のアドレスADD2
(この場合、他のキャッシュメモリからのバッファ無
効化要求コマンドのアドレスBIAD)に応答する比較
回路、43は対応するCPUからの書き込みデーターD
Tを格納するストアバッファ、そして44はストア動作
制御回路であって、ストアバッファ38から供給される
ストアアドレスSA (32ビツト)とストアバッファ
43から供給されるストアデータSDと比較回路42か
ら出力されるストアコマンド起動信号SC5(後述)に
応答し、ストアコマンドの作成およびシステムバス4へ
の送出、ならびに該ストア動作の終了を指示する信号5
ENDを出力する機能を有している。
なお、比較回路33は、有効指示フラグ■がオン(V=
1)の状態でタグ部31のアドレスとCPUアドレスA
DDIが一致した時にその出力を“ドとし、それによっ
て対応するアンドゲート36を「有効Jにする。この状
態(比較回路33の出力が“l”)で変更済指示フラグ
Mがオフ(M=0)であれば、インバータ35の出力が
“ビとなり、アンドゲート37が「有効」となる。一方
、比較回路41は、有効指示フラグVがオン(V= 1
)の状態でタグ部31のアドレスとシステムバス4上
のアドレスADD2が一致した時に、フラグ■のビット
をクリア(信号VCLR)する。また、比較回路42は
、システムバス4上の他のキャンシュメモリからのバッ
ファ無効化要求コマンドのアドレスBIADとストアバ
ッファ38からの無効化アドレスIADが一致した時に
、バッファ無効化制御回路39に対して上記キャンセル
信号CNLを供給すると共に、ストア動作制御回路44
に対して上記ストアコマンド起動信号SC8を供給する
。
1)の状態でタグ部31のアドレスとCPUアドレスA
DDIが一致した時にその出力を“ドとし、それによっ
て対応するアンドゲート36を「有効Jにする。この状
態(比較回路33の出力が“l”)で変更済指示フラグ
Mがオフ(M=0)であれば、インバータ35の出力が
“ビとなり、アンドゲート37が「有効」となる。一方
、比較回路41は、有効指示フラグVがオン(V= 1
)の状態でタグ部31のアドレスとシステムバス4上
のアドレスADD2が一致した時に、フラグ■のビット
をクリア(信号VCLR)する。また、比較回路42は
、システムバス4上の他のキャンシュメモリからのバッ
ファ無効化要求コマンドのアドレスBIADとストアバ
ッファ38からの無効化アドレスIADが一致した時に
、バッファ無効化制御回路39に対して上記キャンセル
信号CNLを供給すると共に、ストア動作制御回路44
に対して上記ストアコマンド起動信号SC8を供給する
。
第3図(b)に示される回路は、バッファ無効化要求コ
マンドの発行終了指示信号CIENDとストア動作終了
指示信号5ENDに応答するオアゲー)51と、CPU
書き込み信号CWRT、オアゲート51の出力および外
部クロックφをそれぞれJ端子、K端子およびクロック
端子CLKに受けてQ出力端子にストアバッファ・ビジ
ィ信号SBBを出力するJ−に型フリップフロップ52
と、ストアバッファ38からの無効化アドレスIADと
CPUからのアドレスADDIの一致/不一致を検出す
る比較回路53と、該比較回路の出力とCPU書き込み
信号CWRTに応答するアンドゲート54と、該アンド
ゲートの出力とストアバッファ・ビジィ信号SBBに応
答するアンドゲート55と、アンドゲート37(第3図
(a)参照)の出力−Uとストアバッファ・ビジィ信号
SBHに応答するアンドゲート56と、該アンドゲート
55および56の出力に応答してCPUウェイト信号C
WTを生成するオアゲート56とから構成されている。
マンドの発行終了指示信号CIENDとストア動作終了
指示信号5ENDに応答するオアゲー)51と、CPU
書き込み信号CWRT、オアゲート51の出力および外
部クロックφをそれぞれJ端子、K端子およびクロック
端子CLKに受けてQ出力端子にストアバッファ・ビジ
ィ信号SBBを出力するJ−に型フリップフロップ52
と、ストアバッファ38からの無効化アドレスIADと
CPUからのアドレスADDIの一致/不一致を検出す
る比較回路53と、該比較回路の出力とCPU書き込み
信号CWRTに応答するアンドゲート54と、該アンド
ゲートの出力とストアバッファ・ビジィ信号SBBに応
答するアンドゲート55と、アンドゲート37(第3図
(a)参照)の出力−Uとストアバッファ・ビジィ信号
SBHに応答するアンドゲート56と、該アンドゲート
55および56の出力に応答してCPUウェイト信号C
WTを生成するオアゲート56とから構成されている。
次に、第4図(a) 、 (b)を参照しながらバッフ
ァ無効化制御方法について説明する。
ァ無効化制御方法について説明する。
(第4図(a)参照)
■ キャッシュメモリIA、 IBは、自メモリ内に登
録されていて(V= 1 )且つ変更済指示フラグがオ
フ(M=0)となっている領域に対して対応するC P
U2A、2Bからのライト要求が有ると、該ライト要
求によるデータとアドレスを当該対象エントリおよびス
トアバッファ43.38に保持し、対応するCPUヘラ
イト終了応答を返す、この時、書き換え対象エントリが
未変更状態から変更済状態に移行するため、キャッシュ
メモ1月A、1Bはそれぞれ変更済指示フラグMをオン
(M= 1 )にする。
録されていて(V= 1 )且つ変更済指示フラグがオ
フ(M=0)となっている領域に対して対応するC P
U2A、2Bからのライト要求が有ると、該ライト要
求によるデータとアドレスを当該対象エントリおよびス
トアバッファ43.38に保持し、対応するCPUヘラ
イト終了応答を返す、この時、書き換え対象エントリが
未変更状態から変更済状態に移行するため、キャッシュ
メモ1月A、1Bはそれぞれ変更済指示フラグMをオン
(M= 1 )にする。
■ キャッシュメモリIAは、バッファ無効化要求コマ
ンドをシステムバス4に送出する(ライトワンス動作)
。
ンドをシステムバス4に送出する(ライトワンス動作)
。
■ キャッシュメモリIBは、キャッシュメモリIAと
同様にしてバッファ無効化要求コマンドを送出(発行)
しようとしているが、たまたまキャッシュメモリIAの
動作の方が早かったためにシステムバスの使用権を獲得
できず、バッファ無効化要求コマンドの送出(発行)待
ち状態となる。
同様にしてバッファ無効化要求コマンドを送出(発行)
しようとしているが、たまたまキャッシュメモリIAの
動作の方が早かったためにシステムバスの使用権を獲得
できず、バッファ無効化要求コマンドの送出(発行)待
ち状態となる。
(第4図(b)参照)
■ キャッシュメモリIBは、キャッシュメモリIAか
らのバッファ無効化要求コマンドにより、同一領域の登
録を抹消する。
らのバッファ無効化要求コマンドにより、同一領域の登
録を抹消する。
なお、キャッシュメモ1月Bは、バッファ無効化要求コ
マンドの発行待ち状態では、同一領域に対するCPU2
Bからの新たなライト要求は終了させない。
マンドの発行待ち状態では、同一領域に対するCPU2
Bからの新たなライト要求は終了させない。
■ キャッシュメモIJIAは、自メモリからのバッフ
ァ無効化要求コマンドの発行が終了したため、対応する
CPU2Aからのライト要求を受は付け、ライト終了応
答を返す。
ァ無効化要求コマンドの発行が終了したため、対応する
CPU2Aからのライト要求を受は付け、ライト終了応
答を返す。
■ キャッシュメモ1月Bは、発行待ち状態であったバ
ッファ無効化要求コマンドと同一の領域に対してキャッ
シュメモリIAからバッファ無効化要求コマンドが発行
されたため、該発行待ち状態をキャンセルすると共に、
■のステップで保持したストアバッファの内容をライト
コマンドによりストア・スル一方式で共有メモリ3へ格
納する(V=1→0)。これによって、書き込みデータ
の消失を防止することができる。
ッファ無効化要求コマンドと同一の領域に対してキャッ
シュメモリIAからバッファ無効化要求コマンドが発行
されたため、該発行待ち状態をキャンセルすると共に、
■のステップで保持したストアバッファの内容をライト
コマンドによりストア・スル一方式で共有メモリ3へ格
納する(V=1→0)。これによって、書き込みデータ
の消失を防止することができる。
第5図は第2図におけるキャッシュメモリの状態遷移の
様子を示している。
様子を示している。
図中、I、U、M、(1) 、 (3) 、 (4)お
よび(5)については第7図と同様であるので、その説
明は省略する。STは共有メモリへのストア待ち状態、
Blはバッファ無効化要求コマンドの発行待ち状態を示
す。また、(2a)は未変更領域への書き込み、(2b
)はバッファ無効化要求コマンドの発行、(6)はバッ
ファ無効化要求コマンドの発行待ち、(7)は同一領域
に対するバッファ無効化要求コマンドの検出、(8)は
ストア待ち、そして(9)はストア完了を示す。
よび(5)については第7図と同様であるので、その説
明は省略する。STは共有メモリへのストア待ち状態、
Blはバッファ無効化要求コマンドの発行待ち状態を示
す。また、(2a)は未変更領域への書き込み、(2b
)はバッファ無効化要求コマンドの発行、(6)はバッ
ファ無効化要求コマンドの発行待ち、(7)は同一領域
に対するバッファ無効化要求コマンドの検出、(8)は
ストア待ち、そして(9)はストア完了を示す。
以上説明したように本実施例の制御方式によれば、キャ
ンシュメモリIA、 IBにおいて同時に内部の同一領
域への書き込み要求が発生した場合に、一方のキャッシ
ュメモリLA(IB)は、バッファ無効化要求コマンド
を発行し、そのライドリンス動作の終了後に該当エント
リの書き換えを行い、CPUヘライト終了応答を返すこ
とができる。これに対し他方のキャッシュメモリIB(
1^)は、自メモリにおけるバッファ無効化要求コマン
ドの送出待ち状態をキャンセルすると共に、他のキャッ
シュメモ1月A(IB)からのバッファ無効化要求コマ
ンドを受けてストアバッファ38.43の内容をストア
・スル一方式で共有メモリ3へ書き込む。
ンシュメモリIA、 IBにおいて同時に内部の同一領
域への書き込み要求が発生した場合に、一方のキャッシ
ュメモリLA(IB)は、バッファ無効化要求コマンド
を発行し、そのライドリンス動作の終了後に該当エント
リの書き換えを行い、CPUヘライト終了応答を返すこ
とができる。これに対し他方のキャッシュメモリIB(
1^)は、自メモリにおけるバッファ無効化要求コマン
ドの送出待ち状態をキャンセルすると共に、他のキャッ
シュメモ1月A(IB)からのバッファ無効化要求コマ
ンドを受けてストアバッファ38.43の内容をストア
・スル一方式で共有メモリ3へ書き込む。
これによって、書き換えたデータを消失させることなく
、他のキャッシュメモリ内の同一領域を無効化すること
ができ、さらにはコピー・バック方式の利点(高速処理
)を活かしてシステムの性能向上を図ることが可能とな
る。
、他のキャッシュメモリ内の同一領域を無効化すること
ができ、さらにはコピー・バック方式の利点(高速処理
)を活かしてシステムの性能向上を図ることが可能とな
る。
なお、本実施例では2つのキャッシュメモリ間でのバッ
ファ無効化制御方法について説明したが、3つ以上のキ
ャッシュメモリ (コピー・バック方式)間においても
上記制御方式が同様に適用され得ることは当業者には明
らかであろう。
ファ無効化制御方法について説明したが、3つ以上のキ
ャッシュメモリ (コピー・バック方式)間においても
上記制御方式が同様に適用され得ることは当業者には明
らかであろう。
以上説明したように本発明によれば、複数のコピー・バ
ック方式のキャッシュメモリのそれぞれの同一領域に対
して同時に書き込み要求が発生した場合に、キャッシュ
メモリ内で書き換えたデータを消失させることなく、コ
ピー・バック方式の利点である高速性を最大限に活かし
てバッファ無効化処理を実現することができ、それによ
ってシステム全体の性能向上を図ることが可能となる。
ック方式のキャッシュメモリのそれぞれの同一領域に対
して同時に書き込み要求が発生した場合に、キャッシュ
メモリ内で書き換えたデータを消失させることなく、コ
ピー・バック方式の利点である高速性を最大限に活かし
てバッファ無効化処理を実現することができ、それによ
ってシステム全体の性能向上を図ることが可能となる。
第1図(a)および(b)は本発明によるバッファ無効
化制御方式の原理図、 第2図は本発明のバッファ無効化制御方式が適用される
密結合マルチプロセッサシステムの構成を示すブロック
図、 第3図(a)および(b)は第2図におけるキャッシュ
メモリの内部構成を示す回路図、 第4図(a)および(b)は第2図のシステムにおける
キャッシュメモリ制御形態を時系列的に示した図、 第5図は第2図におけるキャッシュメモリの状態遷移図
、 第6図は従来のキャッシュメモリ制御方式の問題点を説
明するための図、 第7図は第6図におけるキャッシュメモリの状態遷移図
、 である。 (符号の説明) 阿、〜Mn・・・コピー・バック方式のキャッシュメモ
リ、 Cト・・共有メモリ、 A・・・アドレス部、 D・・・データ部、 ■・・・有効指示フラグ、 M・・・変更済指示フラグ、 Ci・・・対応するCPU、 po・・・レジスタ手段、 Pl・・・データを対象エントリおよびレジスタ手段に
格納しJバッファ無効化要求コマンドを送出する手段(
処理)、 P2・・・システムハス上のコマンドのアドレスと書き
込みアドレスを比較する手段(処理)、P3・・・バッ
ファ無効化要求コマンドの送出待ち状態をキャンセルし
、レジスタ手段の内容を共有メモリへ格納する処理。 第2 図 第47 第2図(こおけらキャッシュメモリの状態遷移図引回 [・・・無効状態 U・・・有効かつ未変更状態 M・・・有効かつ変更済状態 BI・・・バッファ無効化要求 コマンドの発行待ち状態 ST・・・ストア待ち状態
化制御方式の原理図、 第2図は本発明のバッファ無効化制御方式が適用される
密結合マルチプロセッサシステムの構成を示すブロック
図、 第3図(a)および(b)は第2図におけるキャッシュ
メモリの内部構成を示す回路図、 第4図(a)および(b)は第2図のシステムにおける
キャッシュメモリ制御形態を時系列的に示した図、 第5図は第2図におけるキャッシュメモリの状態遷移図
、 第6図は従来のキャッシュメモリ制御方式の問題点を説
明するための図、 第7図は第6図におけるキャッシュメモリの状態遷移図
、 である。 (符号の説明) 阿、〜Mn・・・コピー・バック方式のキャッシュメモ
リ、 Cト・・共有メモリ、 A・・・アドレス部、 D・・・データ部、 ■・・・有効指示フラグ、 M・・・変更済指示フラグ、 Ci・・・対応するCPU、 po・・・レジスタ手段、 Pl・・・データを対象エントリおよびレジスタ手段に
格納しJバッファ無効化要求コマンドを送出する手段(
処理)、 P2・・・システムハス上のコマンドのアドレスと書き
込みアドレスを比較する手段(処理)、P3・・・バッ
ファ無効化要求コマンドの送出待ち状態をキャンセルし
、レジスタ手段の内容を共有メモリへ格納する処理。 第2 図 第47 第2図(こおけらキャッシュメモリの状態遷移図引回 [・・・無効状態 U・・・有効かつ未変更状態 M・・・有効かつ変更済状態 BI・・・バッファ無効化要求 コマンドの発行待ち状態 ST・・・ストア待ち状態
Claims (1)
- 【特許請求の範囲】 1、複数のコピー・バック方式のキャッシュメモリ(M
_1〜Mn)と少なくとも1つの共有メモリ(CM)が
システムバスを介して接続されているマルチプロセッサ
システムにおいて、 各キャッシュメモリ(Mi)は、内部のそれぞれのエン
トリにアドレス部(A)、データ部(D)、アクセスア
ドレスで示される領域が自己のキャッシュメモリ内に存
在するか否かを指示する有効指示フラグ(V)、および
データが書き換えられたか否かを指示する変更済指示フ
ラグ(M)を有し、且つ、対応するCPU(Ci)から
の書き込み要求によるデータとアドレスを格納するレジ
スタ手段(P0)と、対応するCPUからのデータの書
き込み要求があった場合に、その対象領域が当該キャッ
シュメモリ内に登録されていて且つ変更済指示フラグが
オフの時は該書き込み要求による書き込みデータを当該
対象エントリおよび前記レジスタ手段に格納し、該変更
済指示フラグをオンにすると共に、当該書き込みアドレ
スの少なくとも一部を含むバッファ無効化要求コマンド
を前記システムバスに送出する手段(P1)と、 該システムバス上のコマンドを監視し、そのコマンドに
含まれるアドレスと前記書き込みアドレスを比較する手
段(P2)とを有し、 前記バッファ無効化要求コマンドの送出待ち状態におい
て前記監視したシステムバス上のコマンドが他のキャッ
シュメモリからのバッファ無効化要求コマンドであって
且つ含まれるアドレスが同一領域を指示していた場合に
、該バッファ無効化要求コマンドの送出待ち状態をキャ
ンセルすると共に、前記レジスタ手段の内容をストア・
スルー方式で前記共有メモリへ格納する(P3)ように
したことを特徴とするバッファ無効化制御方式。 2、前記キャッシュメモリは、前記バッファ無効化要求
コマンドの送出が終了した時に前記レジスタ手段を開放
状態にすることを特徴とする請求項1に記載のバッファ
無効化制御方式。 3、前記キャッシュメモリは、前記システムバス上の他
のキャッシュメモリからのバッファ無効化要求コマンド
を監視し、そのコマンドに含まれるアドレス領域を自キ
ャッシュメモリ内から消去することを特徴とする請求項
1に記載のバッファ無効化制御方式。 4、前記キャッシュメモリは、前記バッファ無効化要求
コマンドの送出前に対応するCPUからの書き込み要求
に対して終了応答を返すことを特徴とする請求項1に記
載のバッファ無効化制御方式。 5、前記キャッシュメモリは、対応するCPUからの新
たな書き込み要求によるアドレスと前記レジスタ手段に
おけるアドレスの一部を比較する手段を有し、バッファ
無効化の対象となった領域に対する新たな書き込み要求
に対して該レジスタ手段が開放状態となるまで終了応答
を返さないことを特徴とする請求項2に記載のバッファ
無効化制御方式。 6、前記キャッシュメモリは、前記有効指示フラグがオ
ンであって且つ前記変更済指示フラグがオフの領域に対
し対応するCPUからの新たな書き込み要求が有った場
合に、前記レジスタ手段が開放状態となるまで該書き込
み要求に対して終了応答を返さないことを特徴とする請
求項2に記載のバッファ無効化制御方式。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2210511A JPH0498339A (ja) | 1990-08-10 | 1990-08-10 | バッファ無効化制御方式 |
| EP19910113197 EP0470574A3 (en) | 1990-08-06 | 1991-08-05 | Multiprocessor system including cache memories and method of controlling cache memories to maintain coherence of data therebetween |
| KR1019910013593A KR940005769B1 (ko) | 1990-08-06 | 1991-08-06 | 캐쉬 메모리를 포함하는 멀티프로세서 시스템 및 그들사이의 데이타의 코히어런스를 유지하기 위한 캐쉬 메모리를 제어하는 방법 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2210511A JPH0498339A (ja) | 1990-08-10 | 1990-08-10 | バッファ無効化制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0498339A true JPH0498339A (ja) | 1992-03-31 |
Family
ID=16590584
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2210511A Pending JPH0498339A (ja) | 1990-08-06 | 1990-08-10 | バッファ無効化制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0498339A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06274415A (ja) * | 1993-03-17 | 1994-09-30 | Nec Corp | 共有メモリシステム |
-
1990
- 1990-08-10 JP JP2210511A patent/JPH0498339A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06274415A (ja) * | 1993-03-17 | 1994-09-30 | Nec Corp | 共有メモリシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4057114B2 (ja) | キャッシュを有するデータ処理システムおよびそのための方法 | |
| TW508575B (en) | CLFLUSH micro-architectural implementation method and system | |
| JP3086779B2 (ja) | メモリ状態復元装置 | |
| US20050144390A1 (en) | Protocol for maintaining cache coherency in a CMP | |
| US5737568A (en) | Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory | |
| KR100505695B1 (ko) | 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법 | |
| JP2708943B2 (ja) | キャッシュメモリ制御装置 | |
| EP0579418A2 (en) | Computer system maintaining data consistency between the cache and the main memory | |
| WO1997004392A1 (en) | Shared cache memory device | |
| US6256708B1 (en) | Auxiliary buffer for direct map cache | |
| US6976130B2 (en) | Cache controller unit architecture and applied method | |
| JPH01213732A (ja) | データ処理システム | |
| JPH0498339A (ja) | バッファ無効化制御方式 | |
| CN117785735A (zh) | 一种基于标签缓存的标签式存储结构及方法 | |
| KR940005769B1 (ko) | 캐쉬 메모리를 포함하는 멀티프로세서 시스템 및 그들사이의 데이타의 코히어런스를 유지하기 위한 캐쉬 메모리를 제어하는 방법 | |
| JPH03230238A (ja) | キャッシュメモリ制御方式 | |
| JP3335919B2 (ja) | ディスクキャッシュ制御装置 | |
| JP3757768B2 (ja) | ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式 | |
| JPH0816390A (ja) | マイクロプロセッサ | |
| JPH0498352A (ja) | バッファ無効化制御方式 | |
| JPH0492937A (ja) | キャッシュメモリ制御方式 | |
| JP2001043204A (ja) | キャッシュ・メモリ制御装置 | |
| JP2791319B2 (ja) | データ処理装置 | |
| JP2000181790A (ja) | メモリ更新履歴保存装置 | |
| JPS6135583B2 (ja) |