JPH03172943A - キャッシュメモリ制御方式 - Google Patents

キャッシュメモリ制御方式

Info

Publication number
JPH03172943A
JPH03172943A JP1313024A JP31302489A JPH03172943A JP H03172943 A JPH03172943 A JP H03172943A JP 1313024 A JP1313024 A JP 1313024A JP 31302489 A JP31302489 A JP 31302489A JP H03172943 A JPH03172943 A JP H03172943A
Authority
JP
Japan
Prior art keywords
memory block
block
processor
memory
cache
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
JP1313024A
Other languages
English (en)
Inventor
Tomohito Saitou
知人 斉藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1313024A priority Critical patent/JPH03172943A/ja
Publication of JPH03172943A publication Critical patent/JPH03172943A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マルチプロセッサ・システムにおけるキャッ
シュメモリの書き込み制御方式に関するものである。
〔従来の技術〕
第6図は例えば、M、S、Papamarcos、 J
、!1.Patel :A Low−Overhead
 Coherence 5olution For M
altiprocessor、Proc、11th A
nnual Symp、on ComputerArc
hitecture+ June1984t pp34
8−354に記載された従来のキャッシュメモリ書き込
み制御方式の動作の流れを示している。
第4図は一般的なマルチプロセッサ・システムを示す図
である。第4図において、1はプロセソサ、2はプロセ
ッサ1と組となるキャッシュメモリ、3はシステムバス
、4はバスコントローラ、5は主記憶装置、6はバスリ
クエスト線を表す。
プロセッサlはN台まで接続可能である。各プロセッサ
1がシステムバス3を通してリクエストをフ゛に】−ド
キャストするときは、バスリクエスト線6を介してパス
コンI−1:1−ラ4にバス使用のリクエストを出して
バス使用の許可を得た後に行われる。また、各キャッシ
ュメモリ2はシステムバス3を通して主記憶装置5にア
クセスできる。
主記憶装置5内のメモリエリアは第6図に示すような複
数のメモリブロック5aから構成されており、各メモリ
ブロック5aはアドレスビット5b+ 状態フラグ5C
とを備えている。
状態フラグ5Cは第6図に示すようにVビット、Mビッ
トの2ピツI・で構成される。Vビットはそのメモリブ
ロックが有効であれば「lj、無効であれば’OJにな
る。またHビットはそのメモリブロック5aが既に更新
されていて、かつ、そのプロセッサ1のみがそのメモリ
ブロック5aを持っている場合に「1」となり、メモリ
ブロック5aが更新されていない場合は’OJとなる(
このときには他のプロセッサ1が未更新の同一メモリブ
ロック5aのコピーを持っている可能性がある。) ココで更新、無効、コピーについては後の説明で明らか
にしていく。
第7図に従って従来の動作を説明する。各プロセッサ1
と各キャッシュメモリ2は全て略同様に動作するので一
組のプロセッサ1とキャッシュメモリ2を中心に説明す
る。
処理を行う当該プロセッサlは当該キャッシュメモリ2
の書き込みを行う場合、まず、当該キャッシュメモリ2
内のサーチを行い、書き込みを行なおうとする目標のメ
モリブロックが当該キャッシュメモリ2内に存在するか
どうかを調べる(ステップS1)、当富亥キャッシュメ
モリ2に含まれる全メモリブロックのブロックアドレス
とプロセッサ1が書き込みを行なおうとする目標のブロ
ックアドレスの比較を行い、もしも一致すれば目標のメ
モリブロックは当該キャッシュメモリ2に存在すること
になる。(これをキャツシュヒツトと呼ぶ)。逆に一致
しなければ目標のメモリブロックは当該キャッシュメモ
リ2内には存在しないことになる。(これをキャッシュ
ミスと呼ぶ)。
サーチの結果キャツシュヒツトが起こればステップS2
に進み、ブロックアドレスの比較のときにキャッシュメ
モリ2から読み出されたブロックアドレスに付随したブ
ロックの状態フラグ5cがステップS2で8周べられる
状態フラグ5cを調べてMビットが’OJ  (未更新
)ならば、他のプロセッサ1が目標のメモリブロックの
コピーを持っている可能性があるので、ステップS、で
書き込みを行う当該プロセッサ1は全他プロセッサlに
目標のメモリブロックについてコピー無効化のリクエス
トをブロードキャストする。当該プロセッサ1がブロー
ドキャストしたリクエストに対する応答を全他プロセッ
サ1から受取った後に、当該プロセッサ1は目標のメモ
リブロックにデータを書き込む(ステップs4)。
一方、Mビットが’IJ  (更新済)だった場合は、
目標のメモリブロックのコピーが他プロセッサ1に無い
ことが保証されているので、当該プロセッサ1が既に前
回にも書き込みを行っている。そこで当該プロセッサ1
は直ちにステップS4に進み、目標のメモリブロックに
データを書き込むことができる。どちらの場合も、当該
キャッシュメモリ2内の目標のメモリブロックに書き込
んだ後はフラグ5CのMビットを’IJにセットする(
ステップS4)。
サーチの結果キャッシュミスが起これば、ステップS、
へ進み、当該キャッシュメモリ2に目標のメモリブロッ
クをロードしなければならない。
ロードの手順としては、まず当該キャッシュメモI72
の中で置き換えられる不要なメモリブロックを選択する
(ステップS、)、ステップS6で未更新か更新済かを
調べ、その不要なメモリブロックのMビットが’IJ 
 (更新済)ならば不要なメモリブロックの内容がまだ
主記憶5に反映されていないので主記憶5に、その不要
なメモリプロッりが書き戻される(ステップSt)。つ
ぎに当該プロセッサlは他プロセッサlに対してステッ
プS8でサーチリクエストをブロードキャストする。
これは他のプロセッサlがそのキャッシュメモリ2内に
目標のメモリブロックを更新済にしてコピー(保持)し
ているかどうかの問い合わせである。
ステップS、でサーチの結果、全ての他プロセッサ1が
目標メモリブロックの更新(済)されたコピーを保持し
ていないことが判明すれば、ステップS16へ進みロー
ドを要求した当該プロセッサ1は主記憶5から目標のメ
モリブロックをロードする。このとき他プロセッサ1に
(未)更新されていないメモリブロックのコピーがあれ
ば全て無効化される。一方、サーチの結果他プロセッサ
1に更新された目標のメモリブロックのコピー(すなわ
ちMビットが’IJであるコピー)が存在すれば、ステ
ップS11に進み、そのコピーを保持するプロセッサ1
から目標メモリブロックが当該プロセッサlのキャッシ
ュメモリ2ヘロードされる。
ステップS、で不要なメモリブロックがM=0で未更新
なら、ステップS1!に進み、不要メモリブロックを単
に無効とし、ステップSL+に進む。
目標のメモリブロックがキャッシュメモリにロードされ
た後に、ステップS4に進み当該プロセッサ1はデータ
を当該キャッシュメモリ2に書き込み、目標のメモリブ
ロックは更新される。このように、書き込み制御方式と
して自他プロセッサlの不要なメモリブロックのコピー
を無効化する方式をここでは無効化型書き込み制御方式
と呼ぶ。
一方、上記のような無効化型書き込み制御方式とは異な
り、書き込み対象の目標メモリブロックが(未)更新さ
れていない場合(Mビットが「0」の場合)、他プロセ
ッサのコピーを無効化するのではなく、ストアデータを
全他プロセッサ1にブロードキャストして、他プロセッ
サ1のキャッシュメモリ内にコピーの更新をする更新型
書き込み制御方式も考えられる。
〔発明が解決しようとする課題〕
2台以上のプロセッサlを持つシステムの場合、従来方
式では書込み動作時に、前述のように、他系プロセッサ
1からロードを、要求したプロセッサへのメモリブロッ
ク転送が起こり得る(ステップS++)。例えば、プロ
セッサAがあるメモリブロックに対して書込みを行って
から、プロセッサBが同じメモリブロックに対して書込
みを行うとき、プロセッサAからプロセッサBヘブロソ
ク転送が生じ、プロセッサAの保持するブロックは無効
化される。次にプロセッサAが再び同じメモリブロック
に対して書込みを行うとき、今度はプロセッサBからプ
ロセッサAヘメモリブロック転送が生じる。
このように2台以上のプロセッサ1が同じメモリブロッ
クに対して何回も交互に書き込みを行う場合には、その
度にプロセッサ1間でメモリブロック転送を行わなけれ
ばならない。通常、メモリブロックの大きさはプロセッ
サlからのストアデータに比べて大きさが数倍から十数
倍あるため、このメモリブロック転送によるオーバヘッ
ドによってシステム全体の処理能力が落ちてしまう問題
がある。このような問題は特に多数のプロセッサ1がセ
マフォ等で同期をとりながら並列処理を行う場合に顧繁
に起こり得る。
一方、上記の更新型書き込み制御方式を用いれば、常に
プロセッサ1間のデータの一貫性は保証されるので、上
記のようなプロセッサ1間のメモリブロック転送は生じ
ない。しかし、この方法では主に一つのプロセッサ1か
らしかアクセスしない共有度の低いメモリブロックに対
する書き込みでも、ストアデータを他プロセッサlにも
プロトキャストしてしまうので、今度はストアデータの
ブロードキャストによるオーバヘッドによってシステム
全体の処理能力が落ちてしまう。
このように、無効化型書き込み制御方式でも更新型書き
込み制御方式でも書き込み制御方式をどちらかに固定的
に決めてしまうと、書き込まれるブロックの共有度によ
りプロセッサ間のデータ転送によるオーバヘッドが増大
してしまう。マルチプロセッサ・システムにおいて、性
能を向上させるためにはブロックの共有度に関係なくこ
のオバヘッドを小さくしなければならないという課題が
あった。
(課題を解決するための手段〕 この発明においては、キャッシュメモリ2を有する複数
のプロセッサ1と、各プロセッサ1から共通にアクセス
可能なシステムバス3と主記憶装置5とを備えたマルチ
プロセッサシステムにおいて、キャツシュヒツトのとき
(ステップpt)、書き込み対象のメモリブロックが過
去にプロセッサ1間を何回移動したかのデータ(転送頻
度ビット)を記録し、この移動回数とあらかじめ例えば
しきい値レジスタ17に設定したしきい値とを比較しく
ステップPz+ ステップPI2)、移動回数がしきい
値より小さければ、r通常モード」としてメモリブロッ
クのコピーの無効化を行うことをシス”テムバスにリク
エストとして送出しくステップP、)、移動回数がしき
い値と等しければ、共有モードとして、書き込むデータ
を更新することをシステムバスにリクエストとして送出
しくステップP、)、他プロセッサからのリクエストの
有無を監視し、無効化のリクエストがあれば、自己の該
当するメモリブロック内を無効化し、データ更新のリク
エストがあれば、該当するメモリブロック内のデータを
書き込み、キャッシュミスのとき、キャッシュメモリ2
にロードされたメモリブロックが、他プロセッサ1から
送られていたものでかつ、移動回数がしきい値より小さ
ければ(ステップpH+ ステップ゛P1□)、該当メ
モリブロックに設けた移動回数を増加させる(ステップ
P1.)ようにした。
〔作用〕
プロセッサ1はメモリブロックに書き込みを行う場合、
そのメモリブロックに付随した転送頻度ビットを読み出
し、しきい値レジスタ17の値と比較する。転送頻度ビ
ットの値がしきい値レジスタの値よりも小さければ、こ
のメモリブロックはr通常モードjと判定され、以後こ
のメモリブロックに対する書き込み制御には一括ブロッ
ク転送の無効化型書き込み制御方式が用いられる。一方
、比較の結果転送ビット値の値がしきい値レジスタの値
と等しければ、このブロックは「共有モード」と判定さ
れ、以後のこのブロックに対する書き込み制御には部分
データ書き変えの更新型書き込み制御方式が用いられる
。移動回数の増加すなわち、転送頻度ビットのインクリ
メントは、書き込みプロセッサがキャッシュミスを起こ
し、他プロセッサから更新されたブロックをロードして
きたときに行われる。このとき、ロードされてきたキャ
ッシュブロックが「共有モード」であった場合はインク
リメントは行われず、「通常モード」であった場合のみ
インクリメントされる。これによって、各メモリブロッ
ク毎の共有度に応じて最適な書き込み制御方式が自動的
に選択され、プロセッサ間ノーt−ヤンシュー貫性制御
によるオーバヘッドを低減することができる。
〔発明の実施例〕
第1〜4図に本発明の実施例を示す。以下第1〜4図に
示す図面にしたがって本発明の実施例について詳細に説
明する。第3図は第5図のキャッシュメモリの詳細を示
し、同図において11はアドレスアレイを表わし、第4
図において、キャッシュメモリ2中に保持されているメ
モリブロック5aはアドレス5b、状態フラグ5 c 
+ モードビット5dを保持している。16はデータア
レイを表わし、アドレスアレイ11保持されているアド
レスに対応したメモリブロックデータが保持されている
。10はアドレスバスコントローラ、12はアドレス比
較器、13はモードコントローラ、15はデータバスコ
ントローラ、3Cは制御線、3bはアドレス線、3dは
データ線である。
モートコトローラ13はしきい値レジスタ17を持ち、
これはシステム制御命令などによってユーザがセットす
る。
しきい値は、各プロセッサ1内のしきい値レジスタ17
に格納される。このしきい値はシステムの起動時に任意
の値にセットされる。またシステムの稼働中にしきい値
を変更することもでき、プログラムに応じてしきい値を
設定することができる。
モードビット5dは複数のプロセッサI・のデータ書き
込みに起因する過去のメモリブロック5aのプロセッサ
1間転送の回数(移動回数)を示す転送頻度ビットであ
り、この数値に基づいてメモリブロック単位で書き込み
を全部まとめて更新するか、メモリブロック内のデータ
を部分的に書き変えるか決定する。
本発明ではメモリブロック毎の共有度を示すために、無
効化型書き込み制御方式におけるメモリブロックのプロ
セッサ間転送の回数を基準とした。
プロセッサ1間の転送回数が多いメモリブロックはど複
数のプロセッサlに共有されている可能性が高く、将来
に渡ってもプロセッサ1間転送が多発すると予想される
次に動作について第1図のフローチャートに従って説明
する。
プロセッサ1からキャッシュメモリ2への書き込み要求
が、アドレスバスコントローラ10に送られると、アド
レスバスコントローラ10はサーチを開始するためにア
ドレスアレイ11に対してアドレス読み出しを開始する
。アドレスアレイ11からは現在キャッシュメモリ2が
保持しているメモリブロックのアドレスが読み出され、
アドレス比較器12に送られる。同時にアドレスバスコ
ントローラ10からはプロセッサlから送られてきた書
き込み対象の目標のメモリブロックのブロックアドレス
が送られ、アドレスの比較が行われる(キャッシュサー
チ)。
まず、ステップP1でアドレスが一致すればキャツシュ
ヒツトになる。キャツシュヒツトすれば、一致したアド
レス5bおよびアドレスに付随した状態フラグ5c、モ
ードビット5dがモードコントローラ13に送られる。
モードコントローラ13ではしきい値レジスタ17に保
持されたしきい値と送られてきたモードフラグ5d中の
転送頻度ビット値とが比較される(ステップpg)。比
較の結果、一致すればこのメモリブロックはr共有モー
ドjであると判定される。この場合は、まずモードコン
トローラ13からアドレスバスコントローラ10とデー
タバスコントローラ15にストアデータブロードキャス
トの指示を与える(ステップP3)。指示を受けたアド
レスバスコントローラ10はシステムバス制御信号線3
Cにブロードキャストデータ書き込みリクエストを出し
、さらにシステムバスアドレス%93aにプロセッサ1
から送られてきた書き込みアドレスを載せる。
一方、データバスコントローラ15はプロセッサ1から
送られてくているストアデータを受取り、直ちにシステ
ムバスデータ線3bにストアデータを載せる。データバ
スコントローラ15はその後、システムバス制御信号線
3Cを見て、他プロセッサからの更新終了信号が返され
るのを待つ。他プロセッサから更新終了信号が返された
時点でストアデータをブロードキャストしたプロセッサ
のデータバスコントローラ15はプロセッサ1から書き
込みデータを受取り、データアレイ16にデータを書き
込む(ステップP6)。このとき、書き込みアドレスは
アドレスバスコントローラ10とアドレス比較器12か
ら得られる。
ステップP2で一致しなければ通常モードであり、ステ
ップP4に進む。ブロックアドレスの比較のときにキャ
ッシュメモリ2から読み出されたブロックアドレスに付
随したブロックの状態フラグ5CがステップP4で調べ
られる。
状態フラグ5cを調べてMビットが「ol (未更新)
ならば、他のプロセッサ2が目標のメモリブロックのコ
ピーを持っている可能性があるので、ステップP、で書
き込みを行う当該プロセッサ1は全他プロセッサlに目
標のメモリブロックについてコピー無効化のリクエスト
をブロードキャストする。当該プロセッサ2がブロード
キャストしたリクエストに対する応答を全他プロセッサ
1がら受取った後に、当該プロセッサ1は目標のメモリ
ブロックにデータを書き込む(ステップP6)。
一方、Mビットが’IJ  (更新済)だった場合は、
目標のメモリブロックのコピーが他プロセッサ1に無い
ことが保証されているので、当該プロセッサlが既に前
回にも書き込みを行っている。そこで当該プロセッサl
は直ちに目標のメモリブロックにデータを書き込むこと
ができる。どちらの場合も、当該キャッシュメモリ2内
の目標メモリブロックに書き込んだ後はフラグ5cのM
ビットを’IJにセットする(ステップP6)。
アドレス比較器12で行われたアドレス比較が一致しな
かった場合はキャッシュミスになりステップP、に進む
。キャッシュミスした場合はシステムバス制御線3Cに
ブロックロードリクエストを出し、同時にシステムアド
レス線3aに書き込みブロックアドレスを載せる。次に
アドレスバスコントローラ10はリプレースされるブロ
ックを選択しステップP?、そのブロックアドレス5b
および状態フラグ5c、モードビット5dをアドレスア
レイ16から読み出す。読み出されたモードビット5d
は、アドレス比較器12を素通りしてモードコントロー
ラ13に送られる。モードコントローラ13ではステッ
プP、でまず前述したのと同様な方法でリプレースする
メモリブロックが「共有モード」であるか「通常モード
jであるかを調べる。もしも「通常モードJであればス
テップP、に進み、次にMビットが’OJか「1」であ
るかを調べる。
もしもリプレースブロックがr共有モード」であるかま
たは1通常モード」でMピントが’IJであれば、ステ
ップPIGに進み、データバスコントローラ・15はデ
ータアレイ16からリプレースブロックデータを読み出
し、システムバスデータ&i3bにブロックデータを載
せる。同時にシステムバス制御線3Cには主記憶へのブ
ロック書き込みリクエストを載せ、システムバスアドレ
ス線3aにはリプレースするブロックアドレスを載せる
(リプレース)。リプレースブロックが「通常モード」
で、かつMビットが「0」であればリプレースブロック
の本籍が主記憶にあるので書き戻しの必要はない。
ステップP、。のりプレースか終了すれば、データバス
コントローラ15はシステムバス制御線3Cを見て、主
記憶5または他プロセッサ1から出力されたメモリブロ
ックがシステムバスデータ&’i3bに載せられている
ことを確認する。確認したらデータバスコントローラ1
5はシステムバスデータ線3bからブロックデータを読
み込み、(ステップP++)、データアレイ16にブロ
ックデータを書き込む。一方、アドレスバスコントロー
ラ10はブロックデータが読み込まれるのと同時にシス
テムバスアドレス線3aから読み込んだメモリブロック
の状態フラグ5c+ モードビット5dを読み込み、モ
ードビット5dをモードコントローラ13に送る。モー
ドコントローラではロードされたメモリブロックが「共
存モード1であるかr通常モードjであるかを判定する
(ステップp+z)。「共有モードjであればステップ
pusに進みロードブロックアドレスとモードビット5
d、をそのままアドレスアレイ11にセットする。
「通常モードjであればステップP14に進み状態フラ
グ中の転送頻度ビットを1だけインクリメントし、さら
にMビットを’IJにセットしたものをライトコントロ
ーラ14を経由してアドレスアレイ11にセットする。
即ちメモリブロック力(自己のキャッシュメモリ内にロ
ードされたので、ステップP6に進み当該メモリブロッ
クへデータをプロセッサ1は書き込む。
一方、各プロセッサ1ではキャッシュメモリユニット2
がシステムバス3を常に監視していて、他プロセッサ1
書き込みによるサーチリクエストをシステムバス制御b
’A3cから受取った場合、第2図に示されるような一
連の操作が行われる。ステップT1でまずリクエストを
受けたプロセッサ1は自己のキャッシュメモリ2内に問
い合わせのメモリブロックがあるかどうかを調べるキャ
ッシュサーチを行う。キャッシュミスすれば、プロセッ
サ1はリクエスト元の他プロセッサにシステムバス制御
信号線3Cを通して「当該ブロックなし」の応答を返す
だけである。もしもキャツシュヒツトすれば、ステップ
T2に進み転送頻度ビットを調べて「共有モードjか1
通常モード」かを判定する。r共有モード」であればス
テップT3でメモリブロックはそのまま他プロセッサへ
ブロック転送される(キャストアウト)。このとき、キ
ャッシュメモリ2上のメモリブロックはそのままにされ
る。一方「通常モードjではステップT4に進み、Mビ
ットが’IJあればステップTsに行き、メモリブロッ
クがキャスアウトされた後に、残されたキャッシュメモ
リ上のブロックは無効化される(ステップT6)。Mビ
ットが’OJであれば(ステップT6)に進み単に無効
化されるだけである。
無効化の後に、又はリクエストされたメモリブロックが
自己のキャッシュメモリ2内に存在しない場合は直ちに
、プロセッサ1はシステムバス制御信号線3cに更新終
了信号を載せる。
〔発明の効果〕
以上説明してきたように、この発明によれば、キャッシ
ュヒントのとき、書き込み対象のメモリブロックが過去
にプロセッサ間を何回移動したが記録し、この移動回数
とあらかじめ設定したしきい値とを比較し、移動回数が
しきい値より小さければ、メモリブロックのコピーの無
効化ヲ行うことをシステムバスにリクエストとして送出
し、移動回数がしきい値と等しければ、書き込むデータ
を更新することをシステムバスにリクエストとして送出
し、他プロセッサからのリクエストの有無を監視し、無
効化のリクエストがあれば、自己の該当するメモリブロ
ック内を無効化し、データ更新のリクエストがあれば、
該当するメモリブロック内のデータを書き込み、キャッ
シュミスのとき、キャッシュメモリにロードされたメモ
リブロックが、他プロセッサから送られていたものでか
つ、移動回数がしきい値より小さければ該当メモリブロ
ックに設けた移動回数を増加させるようにしたのでキャ
ッシュメモリ内におけるメモリブロック毎に付随した転
送頻度ビットによりそのメモリブロックの共有度を示す
ことができるので、メモリブロック毎に共有度に応じて
最適な書き込み制御方式が自動的に選択でき、プロセッ
サ間の無駄なブロック間転送や、ストアデータのブロー
ドキャストを抑え、マルチプロセッサにおけるキャンシ
ュメモリ書き込み制御によるオーバヘッドを低減できる
【図面の簡単な説明】
第1図は本発明の動作を示すフローチャート、第2図は
本発明のサーチ動作を示すフローチャート、第3図は本
発明が実施されるシステムの要部構成図、第4図は本発
明のメモリブロックの構成図、第5図は一般的なマルチ
プロセッサシステムの構成図、第6図は従来のメモリブ
ロックの構成図、第7図は従来の動作を示すフローチャ
ートである。 1・・・プロセッサ、2・・・キャッシュメモリユニッ
ト、3・・・システムバス、4・・・バスコントローラ
、5・・・主記憶装置、6・・・バスリクエスト、3a
・・・システムバスアドレス線、3b・・・システムバ
スデータ線、3c・・・システムハス制御線、lO・・
・アドレスバスコントローラ、11・・・アドレスアレ
イ、12・・・アドレス比較器、13・・・モードコン
トローラ、14・・・ライトコントローラ、15・・・
データバスコントローラ、16・・・データアレイ、1
7・・・しきい値レジスタ。

Claims (1)

    【特許請求の範囲】
  1. キャッシュメモリを有する複数のプロセッサと、各プロ
    セッサから共通にアクセス可能なシステムバスと主記憶
    装置とを備えたマルチプロセッサシステムにおいて、キ
    ャッシュヒットのとき、書き込み対象のメモリブロック
    が過去にプロセッサ間を何回移動したか記録し、この移
    動回数とあらかじめ設定したしきい値とを比較し、移動
    回数がしきい値より小さければ、前記メモリブロックの
    コピーの無効化を行うことをシステムバスにリクエスト
    として送出し、移動回数がしきい値と等しければ、書き
    込むデータを更新することをシステムバスにリクエスト
    として送出し、他プロセッサからのリクエストの有無を
    監視し、無効化のリクエストがあれば、自己の該当する
    メモリブロック内を無効化し、データ更新のリクエスト
    があれば、該当するメモリブロック内のデータを書き込
    み、キャッシュミスのとき、前記キャッシュメモリにロ
    ードされたメモリブロックが、他プロセッサから送られ
    ていたものでかつ、前記移動回数がしきい値より小さけ
    れば該当メモリブロックに設けた移動回数を増加させる
    ようにしたことを特徴とするキャッシュメモリ制御方式
JP1313024A 1989-12-01 1989-12-01 キャッシュメモリ制御方式 Pending JPH03172943A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1313024A JPH03172943A (ja) 1989-12-01 1989-12-01 キャッシュメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1313024A JPH03172943A (ja) 1989-12-01 1989-12-01 キャッシュメモリ制御方式

Publications (1)

Publication Number Publication Date
JPH03172943A true JPH03172943A (ja) 1991-07-26

Family

ID=18036304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1313024A Pending JPH03172943A (ja) 1989-12-01 1989-12-01 キャッシュメモリ制御方式

Country Status (1)

Country Link
JP (1) JPH03172943A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152646A (ja) * 1993-07-15 1995-06-16 Bull Sa 記憶階層レベル間での交換のコヒーレンシー管理方法
JPH11508375A (ja) * 1995-06-26 1999-07-21 ラプラント、パトリック、アール. 流体圧による引っ張り及び同調システム
US6240491B1 (en) 1993-07-15 2001-05-29 Bull S.A. Process and system for switching between an update and invalidate mode for each cache block
KR20110055179A (ko) * 2009-11-19 2011-05-25 삼성전자주식회사 다중 프로세서 및 그것의 캐시 일관성 관리 장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152646A (ja) * 1993-07-15 1995-06-16 Bull Sa 記憶階層レベル間での交換のコヒーレンシー管理方法
US6240491B1 (en) 1993-07-15 2001-05-29 Bull S.A. Process and system for switching between an update and invalidate mode for each cache block
JPH11508375A (ja) * 1995-06-26 1999-07-21 ラプラント、パトリック、アール. 流体圧による引っ張り及び同調システム
KR20110055179A (ko) * 2009-11-19 2011-05-25 삼성전자주식회사 다중 프로세서 및 그것의 캐시 일관성 관리 장치 및 방법
JP2011108233A (ja) * 2009-11-19 2011-06-02 Samsung Electronics Co Ltd 多重プロセッサ及びそのキャッシュ一貫性管理装置及び方法

Similar Documents

Publication Publication Date Title
US7613884B2 (en) Multiprocessor system and method ensuring coherency between a main memory and a cache memory
US7174431B2 (en) Mechanism for resolving ambiguous invalidates in a computer system
US6088769A (en) Multiprocessor cache coherence directed by combined local and global tables
US20050188159A1 (en) Computer system supporting both dirty-shared and non dirty-shared data processing entities
KR100515059B1 (ko) 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
US6560681B1 (en) Split sparse directory for a distributed shared memory multiprocessor system
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
JPH01269142A (ja) 計算機システム
US5737568A (en) Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory
US6526480B1 (en) Cache apparatus and control method allowing speculative processing of data
WO1997004392A1 (en) Shared cache memory device
US5010475A (en) Consistency ensuring system for the contents of a cache memory
JPH03172943A (ja) キャッシュメモリ制御方式
JPH0721781B2 (ja) マルチプロセツサ・システム
JPH0532776B2 (ja)
JP3187446B2 (ja) キャッシュメモリ制御装置
KR100258883B1 (ko) 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치
KR102570030B1 (ko) 멀티프로세서 시스템 및 이의 데이터 관리 방법
US20240354250A1 (en) Multiprocessor system and data management method thereof
JP3081635B2 (ja) キャッシュメモリの無効化処理装置および無効化制御方法
JPH06149752A (ja) 並列計算機のバリア同期方式
JPH08202622A (ja) 分散型メモリ構成のキャッシュ制御方法
JPH01279342A (ja) キャッシュ制御方式
JPH04296950A (ja) キャッシュメモリ装置
JPH05225147A (ja) マルチプロセッサ型データ処理システム