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

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

Info

Publication number
JPH0492937A
JPH0492937A JP2206851A JP20685190A JPH0492937A JP H0492937 A JPH0492937 A JP H0492937A JP 2206851 A JP2206851 A JP 2206851A JP 20685190 A JP20685190 A JP 20685190A JP H0492937 A JPH0492937 A JP H0492937A
Authority
JP
Japan
Prior art keywords
cache memory
memory
shared
data
entry
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
JP2206851A
Other languages
English (en)
Inventor
Takeshi Kitahara
北原 毅
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2206851A priority Critical patent/JPH0492937A/ja
Priority to EP19910113197 priority patent/EP0470574A3/en
Priority to KR1019910013593A priority patent/KR940005769B1/ko
Publication of JPH0492937A publication Critical patent/JPH0492937A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 複数のキャッシュメモリと少なくとも1つの共有メモリ
がシステムバスを介して接続されているマルチプロセッ
サシステムに係わり、特に、コピー・バック方式とスト
ア・スル一方式が混在している場合に各キャッシュメモ
リ間でデータの整合性(コヒーレンジ)を維持する技術
に関し、他のキャッシュメモリに転送した後で自メモリ
内の該当エントリに書き込みがあった場合でもその最新
のデータを他のキャッシュメモリに反映可能とし、ひい
てはシステム全体の性能向上に寄与することを目的とし
、 コピー・バック方式のキャッシュメモリが、データ部、
アドレス部、有効指示フラグ、変更済指示フラグおよび
共有状態指示フラグを有し、且つ、当該キャッシュメモ
リが保有し既に書き換えられていて前記共有メモリに未
だ反映されていない領域に対する他のキャッシュメモリ
からの該共有メモリへのアクセスを検出した場合に該ア
クセスに対する該共有メモリの応答を抑止し、前記他の
キャッシュメモリからのアクセスアドレスで示される領
域に対応するエントリを当該他のキャッシュメモリに転
送すると共に、前記共有状態指示フラグをオンにし、前
記データ共有状態で且つ変更済のエントリに対して書き
込みがあった場合にライトアドレスを前記システムバス
に送出すると共に、前記共有状態指示フラグをオフにし
、該送出したライトアドレスにより前記他のキャッシュ
メモリ内の該当エントリを無効化するように構成する。
〔産業上の利用分野〕
本発明は、複数のキャッシュメモリと少なくとも1つの
共有メモリがシステムバスを介して接続されているマル
チプロセッサシステムに係わり、特ニ、コヒー・バック
方式とストア・スル一方式が混在している場合に各キャ
ッシュメモリ間でデータの整合性(コヒーレンジ)を維
持する技術に関する。
〔従来の技術〕
第6図に従来のキャッシュメモリ制御形態の一例が時系
列的に示される。図示の例では、キャッシュメモリAが
コピー・バック方式のキャッシュメモリ、キャッシュメ
モリBがストア・スル一方式のキャッシュメモリである
ものとする。
なお、■はアクセスアドレスで指示される領域が自己の
キャッシュメモリ(この場合にはキャッシュメモリA)
内に存在する(V−1)か否(V=0)かを指示する有
効指示フラグ、Mはデータが書き換えられた(M−1)
か否(M= 0 )かを指示する変更済指示フラグを示
している。
(第6図(a)参照) ■ キャッシュメモリBは、共有メモリCに対して読み
出しを要求する。
(第6図(b)参照) ■ キャッシュメモリAは、キャッシュメモリBのアク
セス対象の読み出し領域を保有していて且つ当該領域が
既に書き換えられているが未だ共有メモリCに反映され
ていない領域であることを検出し、共有メモリCに対し
て、キャッシュメモリBへの応答を抑止させる〔インタ
セプト〕。
(第6図(c)参照) ■ キャッシュメモリAは、当該アクセスの対象である
領域に対応するエントリをキャッシュメモリBへ転送す
る[キャッシュ間転送]。
(第6図(d)参照) ■ キャッシュメモリAは、当該エントリをクリアする
。これによって、■=0およびM=0とする。
(第6図(e)参照) ■ キャッシュメモリB内の該当エントリはリプレース
により、そのまま廃棄される(ストア・スルー)。
第7図には従来形の他の例としてのキャッシュメモリ制
御形態が時系列的に示される。なお、各符号については
第6図の場合と同様である。
■〜■(第7図(a)〜(c)参照)については第6図
(a)〜(c)と同じであるので、その説明は省略する
(第7図(d)参照) ■ キャッシュメモリAは、(該当エントリをキャッシ
ュメモリBへ転送した後)対応するCPU(図示せず)
からの書き込み指示に基づき、該当エントリに新たな書
き込みを行う。
なお、第8図(a) 、 (b)にはそれぞれ第6図お
よび第7図におけるキャッシュメモリAの状態遷移の様
子が示される。
図中、■は無効状態(V=0)、Uは有効かつ未変更状
31(V−1かつM=O)、Mは有効かつ変更済状態(
■=1かつM=1)、(R)は読み出しくリード)動作
、(−)は書き込み(ライト)動作、そしてAHはアド
レス一致状態を示す。このアドレス一致状態において、
上記インタセプトおよびキャッシュ間転送が行われる。
〔発明が解決しようとする課題〕
第6図に示した制御方式では、キャッシュメモリA内で
書き換えられたデータはストア・スルー方式のキャッシ
ュメモリBにのみ登録され(同図(c)参照)、その後
、当該データは失われる(同図(d) 、 (e)参照
)。
これに対処するため、第6図(c)の動作時に当該デー
タを共有メモリCにも同時に書き込む方法が考えられる
。ところがこの方式では、システムバスに接続されるキ
ャッシュメモリの全てがコピー・バック方式であった場
合等に、コピー・バック方式が備えている利点(バス・
アクセスの頻度を減らす)を最大限に活かすことができ
ず、そのため、システム全体の性能が低下するという問
題が生じる。
一方、第7図に示した制御方式では、同図(d)の処理
によりキャッシュメモリAに新たに書き込まれたデータ
はストア・スル一方式のキャッシュメモリBには反映さ
れず、そのため、キャッシュメモリBに対応するCPU
は旧データを演算対象としてしまうという不都合が生じ
る。これは、システムの性能低下につながり、好ましく
ない。
本発明は、かかる従来技術における課題に鑑み創作され
たもので、他のキャッシュメモリに転送した後で自メモ
リ内の該当エントリに書き込みがあった場合でもその最
新のデータを他のキャッシュメモリに反映可能とし、ひ
いてはシステム全体の性能向上に寄与することができる
キャッシュメそり制御方式を提供することを目的として
いる。
〔課題を解決するための手段〕
第1図(a) 、 (b)の原理図に示されるように、
本発明のキャッシュメモリ制御方式は、複数のキャッシ
ュメモリM1〜Mnと少なくとも1つの共有メモリCM
がシステムバスを介して接続されているマルチプロセッ
サシステムにおいて、 前記複数のキャッシュメモリのうち少なくとも1つ(M
1)はコピー・バック方式のキャッシュメモリであって
、データ部D、アドレス部A、アクセスアドレスで示さ
れる領域が自己のキャッシュメモリ内に存在するか否か
を指示する有効指示フラグ■、データが書き換えられた
か否かを指示する変更済指示フラグM、および他のキャ
ッシュメモリとの間で同じデータを共有しているか否か
を指示する共有状態指示フラグSを有し、且つ、当該キ
ャッシュメモリが保有し既に書き換えられていて前記共
有メモリに未だ反映されていない領域に対する他のキャ
ッシュメモリからの該共有メモリへのアクセスを検出し
た場合に該アクセスに対する該共有メモリの応答を抑止
する第1の手段P1と、前記他のキャッシュメモリから
のアクセスアドレスで示される領域に対応するエントリ
を当該他のキャッシュメモリに転送すると共に、前記共
有状態指示フラグをオンにする第2の手段P2と、前記
データ共有状態で且つ変更済のエントリに対して書き込
みがあった場合にライトアドレスを前記システムバスに
送出すると共に、前記共有状態指示フラグをオフにする
第3の手段P3とを有し、該送出したライトアドレスに
より前記他のキャッシュメモリ内の該当エントリを無効
化するようにしたことを特徴とする。
〔作用〕
コピー・バック方式のキャッシュメモリLは、自メモリ
が保有し且つ既に書き換えられているが共有メモリCM
に未だ反映されていない領域に対して他のキャッシュメ
モリからアクセスが有った場合に、該アクセスに対する
共有メモリの応答を抑止すると共に当該他のキャッシュ
メモリへ該当エントリを転送する。これによって、キャ
ッシュメモリM1と当該他のキャッシュメモリは同じデ
ータを共有することになるため、共有状態指示フラグS
をオンにする。
この状態で該当エントリに書き込みがあった場合、キャ
ッシュメモリM1はライトアドレスをシステムバスに送
出する。これによって当該他のキャッシュメモリは、直
前に転送された該当エントリに対して新たなデータ書き
込みがあったことを検出し、該当エントリをクリア(無
効化)することができる。一方、キャッシュメモリM1
は、該当エントリ内の最新のデータ(書き込み後のデー
タ)と書き込み前に転送したデータが不一致となるため
、共有状態指示フラグSをオフにする。
このように、他のキャッシュメモリからのアクセス要求
に対して該当エントリを転送した後で新たに該当エント
リに書き込みがあった場合でも、当該他のキャッシュメ
モリは該当エントリの無効化を行うので、旧データを演
算対象としてしまうという不都合を解消することができ
る。この場合、必要に応じてアクセスを行うことにより
、キャッシュメモリM1内の最新のデータを他のキャッ
シュメモリに反映させることができる。これは、システ
ム全体の性能向上に寄与するものである。
なお、本発明の他の構成上の特徴および作用の詳細につ
いては、添付図面を参照しつつ以下に記述される実施例
を用いて説明する。
〔実施例〕
第2図には本発明のキャッシュメモリ制御方式が適用さ
れる密結合マルチプロセッサシステムの構成が示される
本システムでは、コピー・バック方式のキャッシュメモ
リIAとストア・スル一方式のキャッシュメモリIBが
混在した複数のキャッシュメモリ(本実施例では図示の
簡単化のため各方式についてそれぞれ1個のみ図示)が
、システムバス4を介して少なくとも1つの共有メモリ
3(同様に簡単化のため1個のみ図示)に接続されてい
る。また、各キャッシュメモリLA、IBには、それぞ
れ対応するキャッシュメモリへのアドレス情報の供給や
データ読み出しおよび書き込み等の制御を行う中央処理
装置(CP U) 2A、2Bが接続されている。
第3図にはコピー・バック方式のキャッシュメモリIA
の内部構成が示される。
同図において、31はタグ部(タグメモリ)であって、
アクセスデータの物理アドレスを記憶するアドレス部と
、3つの状態フラグ、すなわちアクセスアドレスで指示
される領域が自己のキャッシュメモリ内に存在するか否
かを指示する有効指示フラグ(V)とデータが書き換え
られたか否かを指示する変更済指示フラグ(M)と他の
キャッシュメモリとの間で同じデータを共有しているか
否かを指示する共有状態指示フラグ(S)、を有してい
る。なお、各フラグ■、MSSは、それぞれの条件が肯
定された時に「オン」すなわち「1」を呈し、否定され
た時に「オフ」すなわち「OJを呈する。
32は対応するCPUからのアドレスADDIを解読す
るデコーダ(DEC)、33はタグ部31に登録されて
いるアドレスとCPUからのアドレスADDIの一致/
不一致を検出する比較回路、34は該比較回路の出力と
有効指示フラグ■に応答するアンドゲート、35はシス
テムバス4上のアドレスADD2を解読するデコーダ(
DEC)、36はタグ部31に登録されているアドレス
とシステムバス4上のアドレスADD2の一致/不一致
を検出する比較回路、37は該比較回路36の出力と有
効指示フラグVに応答するアンドゲートを示す。
なお、比較回路33 (36)は、タグ部31のアドレ
スとCPUアクセスアドレスADDI (外部アクセス
アドレスADD2 )が一致した時にその出力を“1”
とし、それによって対応するアンドゲート34(37)
を「有効」にする。
38は外部アクセス監視部であって、アンドゲート37
の出力と変更済指示フラグMに応答し、インタセプト信
号INT(共有メモリ3に対する応答抑止信号)をシス
テムバス4に送出すると共に、キャッシュメモリ間デー
タ転送を起動させ、さらに共有状態指示フラグSをオン
にする機能を有している。一方、39はCPUアクセス
制御部であって、アンドゲート34の出力とCPUから
の読み出し/書き込み制御信号R/−および変更済指示
フラグMと共有状態指示フラグSに応答し、通常の処理
、すなわちキャッシュのヒツト/ミス処理およびフラグ
■、Mのビット更新処理、を行うと共に、ライトアドレ
ス−ADDをシステムバス4に送出し、さらに共有状態
指示フラグSをオフにする機能を有している。
次に、第4図(a)〜(e)を参照しながらキャッシュ
メモリ制御形態について説明する。
(第4図(a)参照) ■ キャッシュメモリIBは、共有メモリ3に対して読
み出しを要求する。
(第4図(b)参照) ■ キャッシュメモリIAは、キャッシュメモリIBの
アクセス対象の読み出し領域を保有していて且つ当該領
域が既に書き換えられているが未だ共有メモリ3に反映
されていない領域であることを検出し、共有メモリ3に
対して、キャッシュメモリIBへの応答を抑止させる〔
インタセプト〕。
(第4図(c)参照) ■ キャッシュメモリIAは、当該アクセスの対象であ
る領域に対応するエントリをキャッシュメモリIBへ転
送する〔キャッシュ間転送〕。同時に、共有状態指示フ
ラグSをオン(S=1)にする。
(第4図(d)参照) ■ キャッシュメモリIAは、対応するCPU2Aから
の書き込み指示に基づいて該当エントリに新たな書き込
みを行う。
この時、キャッシュメモリIAは、共有状態指示フラグ
Sがオンであるため、システムバス4にライトアドレス
を送出する。このライトアドレスは、ストア・スル一方
式により、或いはバッファ無効化要求コマンドの形で、
送出される。
(第4図(e)参照) ■ キャッシュメモリIBは、システムバス4上にライ
トアドレスが送出されたことを検出して、対応するCP
U2Bからの書き込み指示に基づき該当エントリをクリ
ア(無効化)する。
この時、キャッシュメモリIAは、共有状態指示フラグ
Sをオフ(S=O)にする。
なお、第4図(a)〜(e)には図示していないが、共
有メモリ3をアクセスするキャッシュメモリがコピー・
バック方式のキャッシュメモリであった場合でも、上記
制御方式は同様に適用される。
第5図はコピー・バンク方式のキャッシュメモリ1への
状態遷移の様子を示している。
本実施例では、従来形(第8図(a) 、 (b)参照
)において取り得た3つの状11I、U、Mに加えて、
新たに「有効、共有かつ変更済状態、SM (V=1か
つM=1かつ5=1)を取ることができる。
この場合、状1iMから状態SMへの遷移時に上記イン
タセプトおよびキャッシュ間転送が行われ、状BsMか
ら状態Mへの遷移時に上記ライトアドレスが送出される
このように本実施例のキャッシュメモリ制御方式によれ
ば、キャッシュメモリIAが他のキャッシュメモリIB
からのアクセス要求に対して該当エントリを転送した後
で新たに該当エントリに書き込みがあった場合でも、当
該キャッシュメモリIBは該当エントリの無効化を行う
ので、旧データを演算対象としてしまうという不都合を
解消することができる。この場合、必要に応じてアクセ
スを行うことにより、キャッシュメモリIA内の最新の
データを自メモリに反映させることができる。
〔発明の効果〕
以上説明したように本発明によれば、コピー・バック方
式とストア・スル一方式が混在したシステムにおいて各
キャッシュメモリを制御する際に、他のキャッシュメモ
リに転送した後で自メモリ内の該当エントリに書き込み
があった場合でもその最新のデータを他のキャッシュメ
モリに反映させることが可能となり、ひいてはシステム
全体の性能を向上させることができる。
【図面の簡単な説明】
第1図(a)および(b)は本発明によるキャッシュメ
モリ制御方式の原理図、 第2図は本発明のキャッシュメモリ制御方式が適用され
る密結合マルチプロセッサシステムの構成を示すブロッ
ク図、 第3図は第2図におけるコピー・バック方式のキャッシ
ュメモリの内部構成を示す回路図、第4図(a)〜(e
)は第2図のシステムにおけるキャッシュメモリ制御形
態を時系列的に示した図、第5図は第2図におけるコピ
ー・バック方式のキャッシュメモリの状態遷移図、 第6図(a)〜(e)は従来形の一例としてのキャッシ
ュメモリ制御形態を時系列的に示した図、第7図(a)
〜(d)は従来形の他の例としてのキャッシュメモリ制
御形態を時系列的に示した図、第8図(a)および(b
)はそれぞれ第6図および第7図におけるコピー・バッ
ク方式のキャッシュメモリの状態遷移図、 である。 (符号の説明) 旧〜Mn・・・キャッシュメモリ、 CM・・・共有メモリ、 D・・・データ部、 A・・・アドレス部、 ■・・・有効指示フラグ、 M・・・変更済指示フラグ、 S・・・共有状態指示フラグ、 Pl・・・第1の手段(共有メモリの応答を抑止する処
理)、 P2・・・第2の手段(該当エントリを転送し、共有状
態指示フラグをオンにする処理)、 P3・・・第3の手段(ライトアドレスを送出し、共有
状態指示フラグをオフにする処理)。 ■・・・無 効 U・・・有効かつ未変更 M・・・有効、非共有かつ変更済 SM・・・有効、共有かつ変更済 (R)・・・リード (W)・・・ライト AH・・・アドレス一致 第 図 1A・・・キャッシュメモリ IB・・・キャフンユメモリ 3・・・共有メモリ 4・・・システムバス (コピー・バンク方式) (ストア・スル一方式) A゛°゛キ中ツノユメモリ B・・・キャフノユメモリ C・・・共有メモリ (コピー・バック方式) (ストア・スル一方式)

Claims (1)

  1. 【特許請求の範囲】 複数のキャッシュメモリ(M_1〜Mn)と少なくとも
    1つの共有メモリ(CM)がシステムバスを介して接続
    されているマルチプロセッサシステムにおいて、前記複
    数のキャッシュメモリのうち少なくとも1つ(M_1)
    はコピー・バック方式のキャッシュメモリであって、 データ部(D)、アドレス部(A)、アクセスアドレス
    で示される領域が自己のキャッシュメモリ内に存在する
    か否かを指示する有効指示フラグ(V)、データが書き
    換えられたか否かを指示する変更済指示フラグ(M)、
    および他のキャッシュメモリとの間で同じデータを共有
    しているか否かを指示する共有状態指示フラグ(S)を
    有し、且つ、当該キャッシュメモリが保有し既に書き換
    えられていて前記共有メモリに未だ反映されていない領
    域に対する他のキャッシュメモリからの該共有メモリへ
    のアクセスを検出した場合に該アクセスに対する該共有
    メモリの応答を抑止する第1の手段(P1)と、 前記他のキャッシュメモリからのアクセスアドレスで示
    される領域に対応するエントリを当該他のキャッシュメ
    モリに転送すると共に、前記共有状態指示フラグをオン
    にする第2の手段(P2)と、前記データ共有状態で且
    つ変更済のエントリに対して書き込みがあった場合にラ
    イトアドレスを前記システムバスに送出すると共に、前
    記共有状態指示フラグをオフにする第3の手段(P3)
    とを有し、 該送出したライトアドレスにより前記他のキャッシュメ
    モリ内の該当エントリを無効化するようにしたことを特
    徴とするキャッシュメモリ制御方式。
JP2206851A 1990-08-06 1990-08-06 キャッシュメモリ制御方式 Pending JPH0492937A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2206851A JPH0492937A (ja) 1990-08-06 1990-08-06 キャッシュメモリ制御方式
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
JP2206851A JPH0492937A (ja) 1990-08-06 1990-08-06 キャッシュメモリ制御方式

Publications (1)

Publication Number Publication Date
JPH0492937A true JPH0492937A (ja) 1992-03-25

Family

ID=16530102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2206851A Pending JPH0492937A (ja) 1990-08-06 1990-08-06 キャッシュメモリ制御方式

Country Status (1)

Country Link
JP (1) JPH0492937A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09146833A (ja) * 1995-11-21 1997-06-06 Kofu Nippon Denki Kk 緩衝記憶装置
JP2010049533A (ja) * 2008-08-22 2010-03-04 Toshiba Corp データ表示装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09146833A (ja) * 1995-11-21 1997-06-06 Kofu Nippon Denki Kk 緩衝記憶装置
JP2010049533A (ja) * 2008-08-22 2010-03-04 Toshiba Corp データ表示装置

Similar Documents

Publication Publication Date Title
US5155824A (en) System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US7613884B2 (en) Multiprocessor system and method ensuring coherency between a main memory and a cache memory
EP0062165B1 (en) Multiprocessors including private and shared caches
JP3269967B2 (ja) キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム
KR100267029B1 (ko) 메모리갱신이력보존장치를구비한컴퓨터시스템
JP2001282764A (ja) マルチプロセッサシステム
US5835934A (en) Method and apparatus of low power cache operation with a tag hit enablement
JP3757117B2 (ja) キャッシュ装置及び制御方法
JP5587539B2 (ja) ローカルメモリデータのコヒーレントなキャッシュ処理
WO1997004392A1 (en) Shared cache memory device
WO2006102045A2 (en) A method and an apparatus to reduce network utilization in a multiprocessor system
JPH0492937A (ja) キャッシュメモリ制御方式
JP3626609B2 (ja) マルチプロセッサシステム
JP3013631B2 (ja) キャッシュメモリ同期方法
US5611072A (en) Cache with an extended single cycle read/write system and method
JPH03230238A (ja) キャッシュメモリ制御方式
KR20040047398A (ko) 캐쉬 메모리를 이용한 데이터 억세스 방법
JPH0667979A (ja) 主記憶装置の制御方式
KR0145454B1 (ko) 분산된 공유 메모리를 갖는 다중 프로세서
JP4091171B2 (ja) キャッシュフラッシュ方法および装置
JPH11212869A (ja) キャッシュメモリ制御方法及びこれを用いたマルチプロセッサシステム
JPH04123151A (ja) システムバス
JPH06208507A (ja) キャッシュメモリシステム
JPH0498339A (ja) バッファ無効化制御方式
JPH08202622A (ja) 分散型メモリ構成のキャッシュ制御方法