JPH06187239A - 多階層キャッシュメモリにおけるデータ一致制御方式 - Google Patents

多階層キャッシュメモリにおけるデータ一致制御方式

Info

Publication number
JPH06187239A
JPH06187239A JP4339309A JP33930992A JPH06187239A JP H06187239 A JPH06187239 A JP H06187239A JP 4339309 A JP4339309 A JP 4339309A JP 33930992 A JP33930992 A JP 33930992A JP H06187239 A JPH06187239 A JP H06187239A
Authority
JP
Japan
Prior art keywords
cache memory
block
individual
invalidation
processor
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
JP4339309A
Other languages
English (en)
Inventor
Eiji Ishikawa
英治 石川
Tsunemichi Shiozawa
恒道 塩澤
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP4339309A priority Critical patent/JPH06187239A/ja
Publication of JPH06187239A publication Critical patent/JPH06187239A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は、個別キャッシュメモリの無
効化するために必要となるヒット判定と、自プロセッサ
からのアクセスとの競合を減少させることができる多階
層キャッシュメモリにおけるデータ一致制御方式を提供
することである。 【構成】 本発明は、個別のキャッシュメモリ2に格納
されている全てのブロックを常に共有キャッシュメモリ
3に格納し、そのブロックがいずれかの個別キャッシュ
メモリに格納されていないかを知り、他のプロセッサ1
が書き換えを行う際に、出力される書き換えアドレスを
知ることにより、共有キャッシュメモリ3は、当該ブロ
ックを格納していない個別キャッシュメモリ2に無効化
が不要である指示を行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多階層キャッシュメモ
リにおけるデータ一致制御方式に係り、特に、多階層キ
ャッシュメモリで構成されるマルチプロセッサにおい
て、各プロセッサが有する個別キャッシュメモリと、共
有キャッシュメモリ間のデータ一致制御を行うための多
階層キャッシュメモリにおけるデータ一致制御方式に関
する。
【0002】
【従来の技術】以下に、それぞれ個別にキャッシュメモ
リを有する複数のプロセッサ、共有キャッシュメモリ、
主メモリからなる情報処理装置における、従来のデータ
一致方式を示す。
【0003】図8は従来の多階層キャッシュメモリの一
致制御方式の構成を示す。同図に示す情報処理装置は、
プロセッサ11 〜1n 、プロセッサ11 〜1n 毎に配置
される個別キャッシュメモリ21 〜2n 、複数のエント
リからなり、複数の個別キャッシュメモリ21 〜2n
データブロックをアドレス毎にエントリに格納する共有
キャッシュメモリ3、主メモリ4、各個別中キャッシュ
メモリ2と共有キャッシュメモリ3間でデータのやり取
りを行なうキャッシュバス5、共有キャッシュメモリ3
と主メモリ4の間でデータのやり取りを行なうメモリバ
ス6により構成される。
【0004】主メモリ4は、同じ大きさのブロックに分
割され、個別キャッシュメモリ21〜2n 、共有キャッ
シュメモリ3との間でブロック単位にメモリ内容の転送
を行う。
【0005】共有キャッシュメモリ3は複数のエントリ
3001 〜300n からなり、各エントリ300は、主
メモリ4に格納されているブロックの主メモリ4内のア
ドレスを示すアドレス部31、そのブロックの状態が有
効なブロックであるか、無効なブロックであるかを示す
状態表示部32、格納されているブロックのデータを格
納するデータ部33からなる。
【0006】個別キャッシュメモリ21 〜2n は、複数
のエントリ2001 〜200n からなり、各エントリ2
00は、上記の共有キャッシュメモリ3と同様に、主メ
モリ4に格納されてるブロックの主メモリ上のアドレス
を示すアドレス部211,221〜2n1、主メモリ4に格納
されているブロック状態[有効(状態S)、無効(状態
I)]を示す状態表示部212,222,〜2n2、格納され
ているブロックのデータの内容を格納するデータ部
13,223,〜2n3からなる。
【0007】なお、以下の説明で用いるキャッシュメモ
リにおいて、「アドレスがヒットする」とは、プロセッ
サ1より当該アドレスで指定されるデータを含むブロッ
クのアドレスがアドレス部に格納され、かつ当該エント
リの状態表示部の値が有効(状態S)であるエントリが
存在する場合を云う。また、「ブロックの無効化処理」
とは、アドレスがヒットした場合に、当該エントリの状
態表示部を有効(状態S)→無効(状態I)に変更する
ことを云う。
【0008】図9は、従来の多階層キャッシュメモリの
一致制御方式の動作を説明するための図である。
【0009】この例では、プロセッサ11 を用いて説明
する。 プロセッサ11 は、個別キャッシュメモリ21 のエン
トリ2001 に格納してあるアドレスa番地に対してラ
イト(Write )アクセスを行う。 プロセッサ11 からのライトアクセスを受けた個別キ
ャッシュメモリ21 は、a番地で指定されるアドレスが
ヒットすれば、当該エントリ2001 のデータ部213
書き換える。さらに、キャッシュメモリバス5を介して
共有キャッシュメモリ3のエントリに格納してあるブロ
ックに対してライトアクセスを行う。 他の個別キャッシュメモリ22 〜2n は、個別キャッ
シュメモリ21 からキャッシュバス5に出力される書き
換えアドレスで指定されるデータを含むブロックの無効
化処理を行う。
【0010】
【発明が解決しようとする課題】しかしながら、従来の
方式では、個別キャッシュメモリ21 〜2n からキャッ
シュバス5に出力される全ての書き換えアドレスを、書
き換え元の個別キャッシュメモリ21 以外の個別キャッ
シュメモリ22 〜2n に入力し、ヒットするか否かの判
定を行う必要がある。この判定の間個別キャッシュメモ
リ21 〜2n をプロセッサ11 〜1n から使用できなく
なり、プロセッサの性能が低下するという問題がある。
【0011】本発明は上記の点に鑑みなされたもので、
上記問題点を解決し、個別キャッシュメモリにおいて、
他の個別キャッシュメモリが書き換えたブロックを無効
化するために必要となるヒット判定と、自プロセッサか
らのアクセスとの競合を減少させることができる多階層
キャッシュメモリにおけるデータ一致制御方式を提供す
ることを目的とする。
【0012】
【発明を解決するための手段】図1は本発明の第1の原
理構成図である。
【0013】本発明は、それぞれ個別にキャッシュメモ
リ2を有する複数のプロセッサ1、共有キャッシュメモ
リ3、複数のブロックに分割された主メモリ4からなる
情報処理装置において、共有キャッシュメモリ3は、各
プロセッサ1毎の個別キャッシュメモリ2に格納されて
いる全てのブロックを常に自キャッシュメモリ内に格納
する格納手段31と、格納手段31に格納されているブ
ロックがいずれの個別キャッシュメモリ2に格納されて
いないかを知る個別キャッシュメモリ把握手段32と、
任意のプロセッサ1が書き換えアドレスを出力した場合
に、個別キャッシュメモリ把握手段32を参照して当該
ブロックを格納していない個別キャッシュメモリに無効
化が不要であることを指示する第1の無効化指示手段3
3とを有し、各個別キャッシュメモリは、共有キャッシ
ュメモリ3に格納されているブロックに対して他のプロ
セッサが書き換えを行う際に他のプロセッサが出力する
書き換えアドレスを知るアドレス取得手段20と、共有
キャッシュメモリ3から送出された第1の無効化指示手
段33とアドレス取得手段20を用いて格納されている
ブロックの無効化を行なうか否かを判断する無効化判定
手段21と、無効化判定手段21の結果に基づいてブロ
ックの無効化を行なう無効化手段22とを有する。
【0014】また、本発明は、任意のプロセッサが書き
換えアドレスを出力した場合に、共有キャッシュメモリ
3は、個別キャッシュメモリ把握手段32を参照して当
該ブロックを格納していない個別キャッシュメモリ及び
書き換えアドレスを出力したプロセッサの個別キャッシ
ュメモリに無効化が不要であることを指示する第2の無
効化手段を有する。
【0015】さらに、本発明は、それぞれ個別にキャッ
シュメモリ2を有する複数のプロセッサ1、共有キャッ
シュメモリ3及び複数のブロックに分割された主メモリ
4からなる情報処理装置において、共有キャッシュメモ
リ3は、格納されているブロックがどの個別キャッシュ
メモリ2に格納されていないかを知る個別キャッシュメ
モリ把握手段32と、任意のプロセッサ1が書き換えア
ドレスを出力すると、自キャッシュメモリ内部に書き換
えアドレスに対応するブロックを格納している場合に
は、個別キャッシュメモリ把握手段32を参照して、ブ
ロックを格納していない個別キャッシュメモリに無効化
が不要であることを指示し、自キャッシュメモリ内部に
書き換えアドレスに対応するブロックを格納していない
場合には、いずれの個別キャッシュメモリにも無効化が
不要であることを指示しない第2の無効化指示手段とを
有し、各個別キャッシュメモリ2は、共有キャッシュメ
モリ3に格納されているブロックに対して他のプロセッ
サが書き換えを行う際に、他のプロセッサ1が出力する
書き換えアドレスを知るアドレス取得手段20と、共有
キャッシュメモリ3から送出された第1の無効化指示手
段33または、第2の無効化指示手段とアドレス取得手
段20を用いて格納されているブロックの無効化を行な
うか否かを判断する無効化判定手段21と、無効化判定
手段21の結果に基づいてブロックの無効化を行なう無
効化手段22とを有する。
【0016】また、本発明は、任意のプロセッサが書き
換えアドレスを出力すると、共有キャッシュメモリ3
は、任意のプロセッサ1が出力した書き換えアドレスに
対応するブロックを格納している場合には、個別キャッ
シュメモリ把握手段32を参照して当該ブロックを格納
していない個別キャッシュメモリ及び書き換えアドレス
を出力したプロセッサの個別キャッシュメモリに無効化
が不要であることを指示し、任意のプロセッサ1が出力
した書き換えアドレスに対応するブロックを格納してい
ない場合には、書き換えアドレスを出力したプロセッサ
の個別キャッシュメモリにのみ無効化が不要であること
を指示する第3の無効化指示手段を有する。
【0017】
【作用】本発明は、各プロセッサ毎に個別のキャッシュ
メモリに格納されている全てのブロックを常に共有キャ
ッシュメモリ内に格納し、格納されているブロックがい
ずれかの個別キャッシュメモリに格納されていないかを
知り、他のプロセッサが書き換えを行う際に、出力され
る書き換えアドレスを知ることにより、共有キャッシュ
メモリは、当該ブロックを格納していない個別キャッシ
ュメモリに無効化が不要であることを指示し、個別キャ
ッシュメモリは無効化の指示を受けたときのみ、書き換
えアドレスを用いて個別キャッシュメモリ内の当該ブロ
ックの無効化処理を行うことによって、無効化処理のた
めにヒット判定回数を削減し、個別キャッシュメモリで
の競合を最少化する。
【0018】また、本発明は、どの個別キャッシュメモ
リが共有キャッシュメモリに格納してあるブロックと同
様のブロックを格納しているかを知り、個別キャッシュ
メモリが、この共有キャッシュメモリに対して他のプロ
セッサが書き換えを行なう際に出力する書き換えアドレ
スを知ることにより、そのプロセッサが書き換えアドレ
スを出力すると共有キャッシュメモリは自キャッシュメ
モリ内部に当該ブロックを格納している場合には、当該
ブロックを格納していない個別キャッシュメモリを除く
全ての個別キャッシュメモリに無効化を指示し、当該ブ
ロックを格納していない場合には、全ての個別キャッシ
ュメモリに無効化を指示する。これにより、個別キャッ
シュメモリは無効化の指示を受けたときのみ、書き換え
アドレスを用いて、個別キャッシュメモリメモリ内の当
該ブロックの無効化処理を行なうことによって、無効化
処理のためにヒット判定回数が削減され、個別のキャッ
シュメモリで競合を削減することができる。
【0019】
【実施例】以下、図面と共に本発明の実施例を説明す
る。
【0020】図2は、本発明の一実施例の多階層キャッ
シュメモリの構成図である。同図中、図1、図8と同一
構成部分には同一符号を付す。同図において、多階層キ
ャッシュは、プロセッサ11 〜1n 、プロセッサ個別の
キャッシュメモリ21 〜2n 、共有キャッシュメモリ
3、主メモリ4、キャッシュバス5、メモリバス6によ
り構成されている。
【0021】主メモリ4は、同じ大きさのブロックに分
割され、個別キャッシュメモリ21〜2n 、共有キャッ
シュメモリ3との間ではブロック単位にメモリ内容の転
送を行う。
【0022】共有キャッシュメモリ3は、複数のエント
リ3001 〜300n からなり、各エントリ300は、
主メモリ4に格納されているブロックの主メモリ4内の
アドレスを示すアドレス部31、主メモリ4内のブロッ
クが有効であるか無効であるかの状態を示す状態表示部
32、格納されているブロックのデータを示すデータ部
33及び、共有キャッシュメモリ3と同様のブロックが
いずれの個別キャッシュメモリに格納されていないかを
示す個別キャッシュメモリに対応して設けられるフラグ
341 〜34n から構成される。
【0023】共有キャッシュメモリ3の機能は、以下の
ものである。 a)複数のエントリを持つ。 b)共有キャッシュメモリ3のデータ部33のブロック
が書き換えられた場合に、書き換えアクセスを行った個
別キャッシュメモリ2及び当該ブロックを格納していな
い個別キャッシュメモリに無効化が不要であることを指
示する。 c)新たに共有キャッシュメモリ3にブロックを格納す
るために共有キャッシュメモリ3のデータ部33に格納
されているブロックがプロセッサ1のアクセスにより削
除される場合に、当該ブロックを格納していない個別キ
ャッシュメモリに無効化が不要であることを指示する。
【0024】プロセッサ個別のキャッシュメモリ21
n は、複数のエントリからなり、各エントリは、格納
されているブロックのメモリアドレスを示すアドレス部
11〜2n1、そのブロックの状態を示す状態表示部[有
効(状態S)/無効(状態I)]212〜2n2、ブロック
が格納されているデータ部213〜2n3、及び他の個別キ
ャッシュメモリ2から共有キャッシュメモリ3へのライ
トアクセスを検出し、当該アドレスを記憶するレジスタ
14〜2n4から構成される。
【0025】共有キャッシュメモリ3は、キャッシュミ
スヒット後の置換アルゴリズムにより、共有キャッシュ
メモリ3のデータ部33のブロックが共有キャッシュメ
モリ3から追い出された場合には、当該エントリのフラ
グ341〜34n を用いて当該ブロックを格納していない
個別キャッシュメモリに無効化が不要である指示を行な
う機能(後述の包合関係を保証する機能)を有する。
【0026】図3は本発明の一実施例の動作を説明する
ための図(その1)である。同図に示す処理は、プロセ
ッサ1より個別キャッシュメモリ21 にヒットした場合
に、個別キャッシュメモリ2のアドレス部2n1で指定さ
れるアドレスのデータをプロセッサ1に対して送出する
のみであるリード(Read) アクセスの動作を例として、
共有キャッシュメモリ3のフラグ341から34nに情報を
セットする方法について説明する。
【0027】プロセッサ1(この場合は例としてプロ
セッサ11 )がa番地に対してリードアクセスを行な
う。
【0028】プロセッサ11 からのリードアクセスを
受けた個別キャッシュメモリ(この場合は例として個別
キャッシュメモリ21 )において、キャッシュミスヒッ
トが発生する(個別キャッシュメモリ21 において、ア
ドレスa番地で指定されるデータを含むブロックのアド
レスがアドレス部211に格納されておらず、当該エント
リの状態表示部212が無効(状態I)である)。
【0029】個別キャッシュメモリ21 は共有キャッ
シュメモリ3に対してリードアクセスを行なう(キャッ
シュバス5にアドレスaとプロセッサ番号(#1)を送
出する)。
【0030】共有キャッシュメモリ3は、アドレスの
ヒットを判定し、ヒットしている場合は、当該ブロック
を格納しているエントリのフラグ341〜34nの中からリ
ード元プロセッサ1に対応するフラグ341をセット(値
[1])し、当該ブロックを個別キャッシュメモリ21
に転送する。一方、アドレスがミスヒットしている場合
は、当該ブロックを主メモリ4からリードして、フラグ
42〜34nをリセット(値[0])し、上記処理を行な
う。
【0031】個別キャッシュメモリ21 は、共有キャ
ッシュメモリ3から転送された当該ブロックを自キャッ
シュメモリ内のデータ部213に格納すると共に、プロセ
ッサ11 に対してa番地で指定されるブロックのデータ
を送出する。
【0032】次に、プロセッサからのリードアクセスが
個別キャッシュメモリ2でミスヒットした場合の動作に
ついて説明する。
【0033】図4は本発明の一実施例の動作を説明する
ための図(その2)である。同図において、本実施例
は、個別キャッシュメモリ2でミスヒットの場合におい
て、アドレスで指定されるデータをプロセッサ1に対し
て送出する場合を例として、共有キャッシュメモリ3の
フラグ341〜34nに情報をセットする方法について説明
する。
【0034】プロセッサ(この場合は例としてプロセ
ッサ11 )がアドレスa番地に対してリードアクセスを
行なう。
【0035】プロセッサ11 からのリードアクセスを
受けた個別キャッシュメモリ21 において、キャッシュ
ミスヒットが発生する。
【0036】個別キャッシュメモリ21 は、共有キャ
ッシュメモリ3に対してリードアクセスを行なう(キャ
ッシュバス5にアドレスaとプロセッサ番号(#1)を
送出する)。
【0037】共有キャッシュメモリ3は、アドレス部
1 を参照することによりヒットの判定を行い、ヒット
している場合は、データ部33 のブロックを格納してい
るエントリのフラグ341〜34nの中からリード元プロセ
ッサ11 に対応するフラグ3 41をセット(値「1」)
し、当該ブロックを個別キャッシュメモリ21 に送出す
る。
【0038】また、共有キャッシュメモリ3のアドレス
がミスヒットしている場合には、当該ブロックを主メモ
リ4からリードし、予め定められた手続きに従ってエン
トリを選択し、当該エントリのデータ部33 に主メモリ
4からリードしたブロックを格納し、アドレス部31
アドレスを格納し、状態表示部32 に有効(状態S)を
セットし、フラグ342〜34nをセット(値「1」)し、
上記の処理を行なう。
【0039】個別キャッシュメモリ21 は、当該ブロ
ックを自キャッシュメモリ内のデータ部213に格納する
と共に、プロセッサ11 に対してa番地で指定されるデ
ータを送出する。
【0040】図5は本発明の一実施例の動作を説明する
ための図(その3)の動作を説明するための図である。
同図は、プロセッサ1からの共有キャッシュメモリ3に
ライトアクセスを行なう場合を示す。
【0041】本実施例では、プロセッサ11 からのライ
トアクセスが共有キャッシュメモリ3にヒットした場合
に他のプロセッサ1n の個別キャッシュメモリ2n 内の
ブロックの無効化処理を行なう動作について説明する。
【0042】プロセッサ11 がa番地に対してライト
アクセスを行なう。
【0043】プロセッサ11 からのライトアクセスを
受けた個別キャッシュメモリ21 は、a番地で指定され
るアドレスがヒットすれば、当該エントリのデータ部2
13の内容を書き換える。さらに、共有キャッシュメモリ
3に対してライトアクセスを行なう。
【0044】他の個別キャッシュメモリ22 〜2
5 は、キャッシュバス5に出力された書き換えアドレス
aをレジスタ224〜254に格納する。
【0045】共有キャッシュメモリ3は、フラグ341
〜345 の情報をもとに、当該ブロックを格納していな
い(対応するフラグの値が「0」であり、無効化のため
のヒットの判定が不要な)個別キャッシュメモリ21
2 、及び書き換えアドレスを出力したプロセッサ11
の個別キャッシュメモリ21 に無効化が不要である指示
を行なうと共に、フラグ345をリセット(値「0」)す
る。
【0046】すなわち、当該ブロックを格納していない
個別キャッシュメモリ21 、22 は、無効化が不要であ
り、個別キャッシュメモリ23 、25 は無効化が必要と
なる。従って、個別キャッシュメモリ23 ,25 に対応
する共有キャッシュメモリ3のフラグ345の値を「1」
から「0」に変更する。
【0047】無効化指示を受けた個別キャッシュメモ
リ25 は、レジスタ254に格納されているアドレスaの
ヒットを判定する。ここでは、ヒットしているので状態
表示部252を状態Sから状態Iに替える無効化処理を行
なう。
【0048】また、無効化指示を受けなかった個別キャ
ッシュメモリ21 ,22 ,23 は、レジスタ214
24,234に格納されているアドレスaを破棄する。
【0049】次に、第4の実施例として、プロセッサか
らのライトアクセスによって、他のプロセッサの個別キ
ャッシュメモリ2内のブロックの無効化処理を行なう動
作について説明する。
【0050】図6は、本発明の一実施例の動作を説明す
るための図(その4)である。同図は、共有キャッシュ
メモリ3にミスヒットした場合を示す。
【0051】本実施例は、同図により、プロセッサ11
からのライトアクセスが、共有キャッシュメモリにヒッ
トしなかった場合の個別キャッシュメモリの無効化処理
について説明する。
【0052】プロセッサ(この場合は、例として、プ
ロセッサ11 )がa番地に対してライトアクセスを行な
う。
【0053】プロセッサ11 からのライトアクセスを
指示され、個別キャッシュメモリ(個別キャッシュメモ
リ21 )は、a番地で指定されるアドレスがヒットすれ
ば、当該エントリのデータ部213を書き換え、さらに共
有キャッシュメモリ3に対してライトアクセスを行な
う。
【0054】他の個別キャッシュメモリ22 〜2
n は、キャッシュバス5に出力される書き換えアドレス
をレジスタ224〜2n4に格納する。
【0055】共有キャッシュメモリ3は、自キャッシ
ュメモリ内部に当該ブロックを格納しているか検索し、
格納していない場合は、メモリ4に対してリードアクセ
スを行なうと共に、書き換えアクセスを行なったプロセ
ッサ11 の個別キャッシュメモリ21 を除く全ての個別
キャッシュメモリ22 〜2n に対して無効化の指示を行
い、予め定められた手続きに従って、エントリを選択
し、当該エントリのデータ部33 に主メモリ4からリー
ドしたブロックを格納し、アドレス部31 にアドレスa
を格納し、状態表示部32 に有効(状態S)をセット
し、他のフラグ342〜34nをリセット(値「0」)す
る。
【0056】無効化指示を受けた個別キャッシュメモ
リ22 〜2n はレジスタ224〜2n4に格納されているア
ドレスaのヒットを判定し、ヒットしている場合には、
無効化処理を行なう。
【0057】無効化指示を受けなかった個別キャッシュ
メモリ21 は、レジスタ214に格納されているアドレス
aを破棄する。
【0058】なお、個別キャッシュメモリ21 〜2n
の無効化指示方法として、上記の実施例では、書き換え
られるブロックを格納していない個別キャッシュメモリ
及び書き換えを行なう個別キャッシュメモリに無効化の
指示を行なうことを説明したが、プロセッサ1が共有キ
ャッシュメモリ3内のブロックを書き換えた際に当該ブ
ロックを格納していない個別キャッシュメモリのみに無
効化が不要である指示(共有キャッシュメモリでミスヒ
ットした場合には、全ての個別キャッシュメモリに無効
化を指示)を行い、無効化の指示を受けた個別キャッシ
ュメモリのうち、書き換えアドレスを出力したプロセッ
サの個別キャッシュメモリは無効化指示を無視する。
【0059】本発明の他の実現方式として、書き換えア
ドレスを格納するレジスタを設けずに、プロセッサ11
〜1n が共有キャッシュメモリ3内の任意のブロックを
書き換えた際に、共有キャッシュメモリ3から個別キャ
ッシュメモリ21 〜2n に対して無効化指示が行なわれ
るまで書き換えアドレスを出力し、無効化指示を受けた
個別キャッシュメモリ21 〜2n は、この書き換えアド
レスに基づいて自キャッシュ内の当該ブロックを無効化
する方法もある。
【0060】また、プロセッサ11 〜1n が共有キャッ
シュメモリ3内の任意のブロックを書き換えた際に、当
該ブロックを格納していない個別キャッシュメモリ21
〜2 n を除く全ての個別キャッシュメモリ21 〜2n
無効化を指示し、無効化指示を受けた個別キャッシュメ
モリ21 〜2n のうち、書き換えアドレスを出力したプ
ロセッサの個別キャッシュメモリ21 〜2n のみ無効化
指示を無視する方法もある。
【0061】上記を実施するためには、全てのプロセッ
サ11 〜1n の個別キャッシュメモリ21 〜2n に格納
されているブロックが共有キャッシュメモリ3内に存在
する(包合関係を保証する)必要がある。ここでは、そ
の制御方法について説明する。
【0062】包合関係を保証する方法として共有キャッ
シュメモリ3に格納されているブロックが他のブロック
で置き換えられる場合に、置き換え前のブロックを格納
している全ての個別キャッシュメモリに対して置き換え
前の無効化の処理を指示する。
【0063】図7は本発明の一実施例の動作を説明する
ための図(その5)である。同図は、共有キャッシュメ
モリ内のエントリが無効化された場合を示す。
【0064】新たにブロックを格納する共有キャッシ
ュメモリ3のエントリとして、アドレス部31がアドレ
スAで指定されるブロックを格納しているエントリが選
択される。
【0065】共有キャッシュメモリ3は、エントリ内
のフラグ341〜34nの情報をもとに、アドレスAで指定
されるブロックを格納している全ての個別キャッシュメ
モリに対して無効化の指示と、無効化するブロックのア
ドレス(この場合はA)を送出する。
【0066】無効化指示を受けた個別キャッシュメモ
リはアドレスAのヒットを判定し、ヒットしている場合
には当該ブロックの無効化処理を行なう。
【0067】具体的には、共有キャッシュメモリ3のア
ドレスAで指定されるブロックを格納しているエントリ
が選択されると、共有キャッシュメモリ3は、エントリ
内のフラグ341〜34nの情報を参照する。ここで、フラ
グ341=1、342=1、343=0であった場合、アドレ
スAで指定されるブロックを格納している個別キャッシ
ュメモリ2は、個別キャッシュメモリ21 、23 である
ことが分かる。そこで、個別キャッシュメモリ21 、2
3 の状態管理部212、232に対して、状態Sから状態I
に変更する無効化を指示し、同時に、アドレス部211
32にアドレスAを送出する。無効化指示を受けた個別
キャッシュメモリ21 、23 は、アドレスAに対するヒ
ットを判定し、ヒットしている場合には、アドレスAに
対応するデータ部213、233内のブロックを無効化す
る。
【0068】このように、先に格納しているブロックを
無効化することにより、新しいブロックを書き込むこと
ができる。
【0069】
【発明の効果】上述のように、本発明によれば、多階層
キャッシュメモリで構成されるマルチプロセッサにおい
て共有キャッシュメモリが格納しているブロックと同様
のブロックを格納している個別キャッシュメモリに対し
てのみ無効化を指示する。従って、個別キャッシュメモ
リは共有キャッシュメモリからの指示を受けた時のみ、
無効化処理を行なうことにより、個別キャッシュメモリ
と共有キャッシュメモリ間でのデータ一致制御を行なう
際に、個別キャッシュメモリにおいて、他の個別キャッ
シュメモリが書き換えたブロックを無効化するために必
要となるヒット判定と、自プロセッサからのアクセスと
の競合を減少させることが可能となり、マルチプロセッ
サ構成時の各プロセッサの性能を高めることができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例の多階層キャッシュメモリの
構成図である。
【図3】本発明の一実施例の動作を説明するための図
(その1)である。
【図4】本発明の一実施例の動作を説明するための図
(その2)である。
【図5】本発明の一実施例の動作を説明するための図
(その3)である。
【図6】本発明の一実施例の動作を説明するための図
(その4)である。
【図7】本発明の一実施例の動作を説明するための図
(その5)である。
【図8】従来の多階層キャッシュメモリの一致制御方式
の構成図である。
【図9】従来の多階層キャッシュメモリの一致制御方式
の動作を説明するための図である。
【符号の説明】
1 〜1n プロセッサ 21 〜2n 個別キャッシュメモリ 211〜2n1 アドレス部 212〜2n2 状態表示部 213〜2n3 データ部 214〜2n4 レジスタ 3 共有キャッシュメモリ 31 アドレス部 32 状態表示部 33 データ部 341〜34n フラグ 4 主メモリ 5 キッシュバス 6 メモリバス 20 アドレス取得手段 21 無効化判定手段 22 無効化手段 31 格納手段 32 個別キャッシュメモリ把握手段 33 第1の無効化指示手段 200 個別キャッシュメモリエントリ 300 共有キャッシュメモリエントリ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 それぞれ個別にキャッシュメモリを有す
    る複数のプロセッサ、共有キャッシュメモリ、複数のブ
    ロックに分割された主メモリからなる情報処理装置にお
    いて、 該共有キャッシュメモリは、各プロセッサの個別キャッ
    シュメモリに格納されている全てのブロックを常に自キ
    ャッシュメモリ内に格納する格納手段と、該格納手段に
    格納されているブロックがいずれの個別キャッシュメモ
    リに格納されていないかを知る個別キャッシュメモリ把
    握手段と、任意のプロセッサが書き換えアドレスを出力
    した場合に、該個別キャッシュメモリ把握手段を参照し
    て当該ブロックを格納していない個別キャッシュメモリ
    に無効化が不要であることを指示する第1の無効化指示
    手段とを有し、 各個別キャッシュメモリは、該共有キャッシュメモリに
    格納されているブロックに対して他のプロセッサが書き
    換えを行う際に該他のプロセッサが出力する書き換えア
    ドレスを知るアドレス取得手段と、該共有キャッシュメ
    モリから送出された該第1の無効化指示手段と該アドレ
    ス取得手段を用いて格納されているブロックの無効化を
    行なうか否かを判断する無効化判定手段と、該無効化判
    定手段の結果に基づいて該ブロックの無効化を行なう無
    効化手段とを有することを特徴とする多階層キャッシュ
    メモリにおけるデータ一致制御方式。
  2. 【請求項2】 任意のプロセッサが書き換えアドレスを
    出力した場合に、前記共有キャッシュメモリは、該個別
    キャッシュメモリ把握手段を参照して、当該ブロックを
    格納していない個別キャッシュメモリ及び書き換えアド
    レスを出力したプロセッサの個別キャッシュメモリに無
    効化が不要であることを指示する第2の無効化手段を有
    する請求項1記載の多階層キャッシュメモリにおけるデ
    ータ一致制御方式。
  3. 【請求項3】 それぞれ個別にキャッシュメモリを有す
    る複数のプロセッサ、共有キャッシュメモリ及び複数の
    ブロックに分割された主メモリからなる情報処理装置に
    おいて、 該共有キャッシュメモリは、格納されているブロックが
    どの個別キャッシュメモリに格納されていないかを知る
    個別キャッシュメモリ把握手段と、任意のプロセッサが
    書き換えアドレスを出力すると、自キャッシュメモリ内
    部に該書き換えアドレスに対応するブロックを格納して
    いる場合には、該個別キャッシュメモリ把握手段を参照
    して、該ブロックを格納していない個別キャッシュメモ
    リに無効化が不要であることを指示し、自キャッシュメ
    モリ内部に該書き換えアドレスに対応するブロックを格
    納していない場合には、いずれの個別キャッシュメモリ
    にも無効化が不要であることを指示しない第2の無効化
    指示手段とを有し、 該個別キャッシュメモリは 該共有キャッシュメモリに
    格納されているブロックに対して他のプロセッサが書き
    換えを行う際に、該他のプロセッサが出力する書き換え
    アドレスを知るアドレス取得手段と、該共有キャッシュ
    メモリから送出された該第1の無効化指示手段と該アド
    レス取得手段を用いて格納されているブロックの無効化
    を行なうか否かを判断する無効化判定手段と、該無効化
    判定手段の結果に基づいて該ブロックの無効化を行なう
    無効化手段とを有することを特徴とする多階層キャッシ
    ュメモリにおけるデータ一致制御方式。
  4. 【請求項4】 任意のプロセッサが書き換えアドレスを
    出力すると、前記共有キャッシュメモリは、任意のプロ
    セッサが出力した書き換えアドレスに対応するブロック
    を格納している場合には、該個別キャッシュメモリ把握
    手段を参照して、当該ブロックを格納していない個別キ
    ャッシュメモリ及び書き換えアドレスを出力したプロセ
    ッサの個別キャッシュメモリに無効化が不要であること
    を指示し、任意のプロセッサが出力した書き換えアドレ
    スに対応するブロックを格納していない場合には、書き
    換えアドレスを出力したプロセッサの個別キャッシュメ
    モリにのみ無効化が不要であることを指示する第3の無
    効化指示手段を有する請求項3記載の多階層キャッシュ
    メモリにおけるデータ一致制御方式。
JP4339309A 1992-12-18 1992-12-18 多階層キャッシュメモリにおけるデータ一致制御方式 Pending JPH06187239A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4339309A JPH06187239A (ja) 1992-12-18 1992-12-18 多階層キャッシュメモリにおけるデータ一致制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4339309A JPH06187239A (ja) 1992-12-18 1992-12-18 多階層キャッシュメモリにおけるデータ一致制御方式

Publications (1)

Publication Number Publication Date
JPH06187239A true JPH06187239A (ja) 1994-07-08

Family

ID=18326238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4339309A Pending JPH06187239A (ja) 1992-12-18 1992-12-18 多階層キャッシュメモリにおけるデータ一致制御方式

Country Status (1)

Country Link
JP (1) JPH06187239A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673104B2 (en) 2004-08-31 2010-03-02 Fujitsu Limited Information processing apparatus, system controller, local snoop control method, and local snoop control program recorded computer-readable recording medium
JP2011065574A (ja) * 2009-09-18 2011-03-31 Fujitsu Ltd キャッシュメモリ制御装置およびキャッシュメモリ制御方法
US9727468B2 (en) 2004-09-09 2017-08-08 Intel Corporation Resolving multi-core shared cache access conflicts
US10047282B2 (en) 2014-03-18 2018-08-14 Apdn (B.V.I.) Inc. Encrypted optical markers for security applications
US10741034B2 (en) 2006-05-19 2020-08-11 Apdn (B.V.I.) Inc. Security system and method of marking an inventory item and/or person in the vicinity

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673104B2 (en) 2004-08-31 2010-03-02 Fujitsu Limited Information processing apparatus, system controller, local snoop control method, and local snoop control program recorded computer-readable recording medium
US9727468B2 (en) 2004-09-09 2017-08-08 Intel Corporation Resolving multi-core shared cache access conflicts
US10078592B2 (en) 2004-09-09 2018-09-18 Intel Corporation Resolving multi-core shared cache access conflicts
US10741034B2 (en) 2006-05-19 2020-08-11 Apdn (B.V.I.) Inc. Security system and method of marking an inventory item and/or person in the vicinity
JP2011065574A (ja) * 2009-09-18 2011-03-31 Fujitsu Ltd キャッシュメモリ制御装置およびキャッシュメモリ制御方法
US10047282B2 (en) 2014-03-18 2018-08-14 Apdn (B.V.I.) Inc. Encrypted optical markers for security applications

Similar Documents

Publication Publication Date Title
US5490261A (en) Interlock for controlling processor ownership of pipelined data for a store in cache
US6636949B2 (en) System for handling coherence protocol races in a scalable shared memory system based on chip multiprocessing
US6343346B1 (en) Cache coherent network adapter for scalable shared memory processing systems
US4445174A (en) Multiprocessing system including a shared cache
US5802572A (en) Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache
US5155831A (en) Data processing system with fast queue store interposed between store-through caches and a main memory
US6839810B2 (en) Consistency control device merging updated memory blocks
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
JP3289661B2 (ja) キャッシュメモリシステム
US6418515B1 (en) Cache flush unit
US6973543B1 (en) Partial directory cache for reducing probe traffic in multiprocessor systems
US5226146A (en) Duplicate tag store purge queue
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
US6564301B1 (en) Management of caches in a data processing apparatus
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US6105108A (en) Method and apparatus for releasing victim data buffers of computer systems by comparing a probe counter with a service counter
JPH10293720A (ja) コンピュータシステムにおけるキャッシュ・コヒーレンシー機構および主メモリに保持されている項目に関してキャッシュの内容のコヒーレンシー状態を変更する方法
JP2000067024A (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JPH0950400A (ja) マルチプロセッサシステム
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
JP2000512050A (ja) マイクロプロセッサキャッシュの一貫性
JPH06187239A (ja) 多階層キャッシュメモリにおけるデータ一致制御方式
US7797495B1 (en) Distributed directory cache
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法