JPH0529943B2 - - Google Patents

Info

Publication number
JPH0529943B2
JPH0529943B2 JP1007858A JP785889A JPH0529943B2 JP H0529943 B2 JPH0529943 B2 JP H0529943B2 JP 1007858 A JP1007858 A JP 1007858A JP 785889 A JP785889 A JP 785889A JP H0529943 B2 JPH0529943 B2 JP H0529943B2
Authority
JP
Japan
Prior art keywords
cache
entry
cache memory
memory
usage information
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.)
Expired - Lifetime
Application number
JP1007858A
Other languages
English (en)
Other versions
JPH02188847A (ja
Inventor
Shigehiro Asano
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP1007858A priority Critical patent/JPH02188847A/ja
Publication of JPH02188847A publication Critical patent/JPH02188847A/ja
Publication of JPH0529943B2 publication Critical patent/JPH0529943B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、キヤツシユメモリを階層的に接続し
てなる階層キヤツシユメモリ方式に係わり、特に
複数段のプロセツサと共有メモリとの間に配置さ
れる階層キヤツシユメモリにおけるキヤツシユコ
ンシステンシ(一貫性)を確保するためのデータ
交換方式に関する。
(従来の技術) メモリのアクセスタイムをメモリの階層化によ
つて見掛け上高速化する方式として従来よりキヤ
ツシユメモリ方式が知られている。キヤツシユメ
モリ方式は、演算処理装置と主記憶装置との間に
配置された小容量で高速のキヤツシユメモリに主
記憶装置の内容の一部をコピーすることにより、
プロセツサ−メモリ間の高速アクセスを可能にす
る方式である。メモリは高速である程高価である
ため、広範囲でのメモリアクセスを必要とする用
途では、高速のキヤツシユメモリ(フアーストキ
ヤツシユメモリ)と主記憶装置との間に中速、中
容量のキヤツシユメモリ(セカンドキヤツシユメ
モリ)を階層的に配置した階層キヤツシユ方式も
採用されている。
一方、複数台のプロセツサが主記憶装置を共有
するマルチプロセツサシステムでは、プロセツサ
毎にキヤツシユメモリを持つように構成される
が、この場合、異なるプロセツサ間でキヤツシユ
メモリ内の同じ論理番地のデータの内容が食違わ
ないような制御、つまりキヤツシユコンシステン
シを保証する制御が必要である。
マルチプロセツサシステムでしかも階層キヤツ
シユメモリが使用される場合には、キヤツシユコ
ンシステンシを保証する制御はより複雑になる。
例えば“Hierarchical Cache/Bus
Architecture for Shared Memory
Multiprocessors” (Andrew W.Wilson Jr.,The 14th Annual
International Symposium on Computer
Architecture.1987)では、キヤツシユコンシス
テンシを確保するために、次の制約を満たす必要
があると述べている。
〈制約〉 フアーストキヤツシユメモリに存在するエント
リはセカンドキヤツシユメモリにも必ず存在す
る。
この制約を満たすうえで問題となるのはセカン
ドキヤツシユメモリのエントリの交換(replace)
時である。セカンドキヤツシユメモリのエントリ
がリプレースされるのは、セカンドキヤツシユメ
モリの共有メモリ側からのコンシステンシを保つ
ための要求があつた場合や、フアーストキヤツシ
ユメモリ及びセカンドキヤツシユメモリが両方と
もミスした場合等が考えられるが、特に後者の場
合には、リプレースされるエントリを他のフアー
ストキヤツシユメモリが使用している場合が考え
られるため、リプレースに伴つてフアーストキヤ
ツシユメモリバスを介して各フアーストキヤツシ
ユメモリにフラツシユコマンドを送出する必要が
あつた。
(発明が解決しようとする課題) マルチプロセツサシステムで使用される階層キ
ヤツシユメモリにおける従来のデータ交換方式に
は、例えば最後に参照された時刻が最も古いエン
トリをリプレースするLRU(Least Recently
Used)方式や、登録された順番にリプレースし
ていくFIFO(First in First out)方式が広く知
られているが、これらのリプレース方式では、フ
アーストキヤツシユメモリのキヤツシユミスによ
りセカンドキヤツシユメモリへフエツチが起こ
り、更にセカンドキヤツシユメモリもミスしてリ
プレースが起つたとき、フラツシユをフアースト
キヤツシユメモリに伝えるためにフアーストキヤ
ツシユメモリのバスを使用しなければならず、バ
スの使用効率が低下するとともに、制御が複雑に
なるという問題があつた。
本発明の目的は、フアーストキヤツシユ、セカ
ンドキヤツシユが共にミスしてセカンドキヤツシ
ユメモリにリプレースが起つた場合でも、フアー
ストキヤツシユメモリにフラツシユのコマンドを
送る必要が無く、バスの使用効率の向上及び制御
の容易化が図れる階層キヤツシユメモリのリプレ
ース方式を提供することにある。
[発明の構成] (課題を解決するための手段) 本発明は、複数台のプロセツサと、これらプロ
セツサによつて共有される共有メモリとの間に、
フアーストキヤツシユメモリ及びセカンドキヤツ
シユメモリの階層構造からなる階層キヤツシユメ
モリを接続し、セカンドキヤツシユメモリとこれ
を共有する複数のフアーストキヤツシユメモリと
の間の一貫性を保つべくデータの移動を管理する
階層キヤツシユメモリにおけるデータ交換方式に
おいて、セカンドキヤツシユメモリは、それを共
有しているフアーストキヤツシユメモリの数だけ
のエントリを持つセツトからなるセツトアソシエ
テイブ方式のメモリで、各エントリにはそのエン
トリがどのフアーストキヤツシユに使用されてい
るかを示す使用情報が付帯されている。そして、
前記フアーストキヤツシユメモリ及びセカンドキ
ヤツシユメモリが共にキヤツシユミスしたときに
は、前記キヤツシユミスしたセカンドキヤツシユ
メモリを共有している複数のフアーストキヤツシ
ユメモリのうち前記キヤツシユミスしたフアース
トキヤツシユメモリを除く他のフアーストキヤツ
シユメモリがいずれも使用していないエントリを
前記使用情報に基づき選択し、この選択されたエ
ントリのデータを交換するようにしている。
(作用) 本発明によれば、各エントリにそのエントリが
どのフアーストキヤツシユにに使用されているか
を示す使用情報が付加されているので、この情報
を参照することにより、リプレースに際して最も
影響の少ないエントリを選択してリプレースする
ことができる。本発明では、フアーストキヤツシ
ユメモリとセカンドキヤツシユメモリが共にキヤ
ツシユミスしたときに、上記使用情報に基づき、
キヤツシユミスしたフアーストキヤツシユメモリ
以外のフアーストキヤツシユメモリが使用してい
ないエントリをリプレースする。セカンドキヤツ
シユメモリのエントリの数は、それを共有するフ
アーストキヤツシユメモリの数に等しいから、本
発明によりリプレースされるエントリは、どのフ
アーストキヤツシユメモリにも使用されていない
エントリか、或はキヤツシユミスしたフアースト
キヤツシユメモリだけが使用していたエントリの
2通りしかない。前者の場合には、そのエントリ
をリプレースしても、前述した制約を守られる。
即ちどのフアーストキヤツシユメモリにも影響を
与えないので、キヤツシユコンシステンシは保証
される。また、後者の場合には、キヤツシユミス
したフアーストキヤツシユメモリが、セカンドキ
ヤツシユメモリのリプレース後にそのエントリを
フエツチするだけで前述した制約は守られる。
従つて、本発明によれはセカンドキヤツシユメ
モリのリプレースに伴つてフアーストキヤツシユ
に対しフラツシユコマンドを送出する必要がな
く、バスの使用効率の向上及び制御の容易化を図
ることができる。
(実施例) 以下、図面に基づいて本発明の実施例について
説明する。
第1図は本発明の一実施例に係るマルチプロセ
ツサシステムの構成を示すブロツク図である。こ
のシステムは、並列処理する複数のプロセツサ
1,2,3,4と、これらプロセツサ1〜4が共
有するメインメモリ5と、これらの間に接続され
て高速アクセスを可能にするための階層キヤツシ
ユメモリ6とから構成されている。
階層キヤツシユメモリ6は、各プロセツサ1〜
4と一対一で接続された高速・小容量のフアース
トキヤツシユメモリ(以下、FCMと略記する)
11,12,13,14と、2組のFCM11,
12及びFCM13,14にそれぞれフアースト
キヤツシユバス15,16を介して共通に接続さ
れた中速・中容量のセカンドキヤツシユメモリ
(以下SCMと呼ぶ)21,22とにより構成され
ている。またSCM21,22はセカンドキヤツ
シユバス23を介してメインメモリ5と接続され
ている。従つて、階層キヤツシユメモリ6は、プ
ロセツサ1,2、FCM11,12がSCM21を
共有し、プロセツサ3,4、FCM13,14が
SCM22を共有し、SCM21,22がメインメ
モリ5を共有する階層構造となつている。FCM
11〜14、ダイレクトマツピング方式のキヤツ
シユであるが、SCM21,22はNウエイ−セ
ツトアソシエテイブ方式のキヤツシユである。つ
まり、SCM21,22では1つのセツト中にN
個のエントリを持つ。この例では、SCM21,
22を共有するFCMの数が2であるから、2ウ
エイとなる。
第2図にSCM21の構成を示すが、SCM22
の構成もこれと全く同様であるので以下、SCM
21についてのみ説明することにする。SCM2
1は、データとタグを記憶するメモリ本体31、
SCM21の全体の制御を司るセカンドキヤツシ
ユ制御回路32と、フアーストキヤツシユバス1
5とのインターフエイスをとるフアースト・キヤ
ツシユ・バス・インターフエイス33と、セカン
ドキヤツシユバス23とのインターフエイスをと
るセカンド・キヤツシユ・バス・インターフエイ
ス34とにより構成されている。
メモリ本体31を構成する1つのセツトを第3
図に示す。SCM21,21は前述したように2
ウエイ−アソシエテイブ方式のメモリであるか
ら、1つのセツトは2つのエントリから構成され
る。各エントリには、2つのUビツトと、エント
リの状態を示す情報と、タグアドレスと、データ
部とが設定されている。アドレス幅が16ビツトで
あるとすると、FCM11,12からは、アドレ
スの下位8ビツトを用いて256エントリのうちか
ら1つのエントリを選択できる。SCM21,2
2では、アドレスの下位8ビツトを用いて256セ
ツトのうちの1セツトを選択できる。つまり、フ
アーストキヤツシユメモリのエントリー数とセカ
ンドキヤツシユメモリのエントリーの数は同じで
ある。つまり1000H番地と2000H番地に対応する
FCM11,12のエントリは同じで、SCM21
のセツトも同じである。各エントリの情報は以下
の通りである。
1 Uビツト このUビツトは、使用情報となるもので、各エ
ントリがどのフアーストキヤツシユに使用された
かを示す。U[a,b]は、セツト中のa番目の
エントリをb番目のFCMが使用したなら1、そ
れ以外なら0となる。例えば、U[1,1]が1、
U[1,2]が0であれば、セツト中のエントリ
1はFCM11により使用されているが、エント
リ1はFCM12には使用されていないことを示
している。
2 エントリの状態 SCM21,22間のコンシステンシをとるた
めの情報であり、前述した文献におけるwrite−
onceの方法では、D(Dirty)、I(Invalid)、V
(Valid)、R(Reserved)の4状態を表わすため
2ビツトが必要である。
3 タグアドレス そのエントリが持つているデータのアドレス情
報である。
4 データ部 そのエントリのデータの内容である。
以上の構成において、いま、FCM11又は1
2でキヤツシユミスが発生してFCM11又は1
2がSCM21に必要なエントリをフエツチする
場合には、フエツチするエントリの対応するUビ
ツトを1にする。また、Uビツトを1すると同時
に、そのエントリが存在するセツト内の他のエン
トリの対応するUビツトを0にする。従つて例え
ば第4図に示すように、FCM11,12がエン
トリ1,2をフエツチした態様によつて、エント
リ1,2の計4つのUビツトは、図示のような値
に設定される。これにより、U[a,b]が1で
ある場合には、FCMbにエントリaが使用されて
いることが明らかになる。
FCM11又は12でキヤツシユミスが発生し、
更にSCM21でもキヤツシユミスが発生したと
きには、その発生の状況によつて第5図に示すよ
うなエントリがリプレースされる。このときリプ
レースされるエントリの条件は次の通りである。
U[a,1],U[a,2]が共に0の場合 エントリaがリプレースされる。エントリaは
いずれのFCM11,12においても使用されて
いないからである。
U[a,1],U[a,2]が共に0でない場
合 キヤツシユミスしたFCMに対応するエントリ
がリプレースされる。他のエントリはキヤツシユ
ミスしたFCM以外のFCMが使用しているからで
ある。
第6図及び第7図にその一例を示す。第6図a
はFCM11,12が共に1000番地のデータを格
納したエントリ1を使用している場合である。こ
の状態でFCM12が3000番地をアクセスすると
キヤツシユミスが起こる。この場合、U[2,
1],U[2,2]が共に0であるから、エントリ
2が選択されてリプレースされる。この結果、同
図bに示すように、エントリ2に3000番地のデー
タが格納され、FCM12がこれをフエツチする
ことにより、U[1,2],U[2,2]は0,1
となる。この場合FCM11はなんら影響を受け
ない。
第7図aはFCM11が1000番地のデータを格
納したエントリ2を使用し、FCM12が2000番
地のデータを格納したエントリ1を使用している
場合である。この状態でFCM12が3000番地を
アクセスするとキヤツシユミスが起こる。この場
合、U[1,2]が1であるから、エントリ1が
選択されてリプレースされる。この結果、同図b
に示すように、エントリ1に3000番地のデータが
格納され、FCM12がこれをフエツチすること
により、U[1,2],U[2,2]は1,0とな
る。この場合もFCM11はなんら影響を受けな
い。
以上のようなリプレースが行われれば、キヤツ
シユミスを起こしたFCM以外のFCMが使用して
いるデータを誤つて追出してしまうという事態を
防止できる。
なお、本発明は上述した実施例に限定されるも
のではない、上記実施例ではセカンドキヤツシユ
メモリに2ウエイ−セツトアソシエテイブのメモ
リを用いたが、Nウエイ−セツトアソシエテイブ
に拡張可能であることはいうまでもない。この場
合、フエツチしようとするFCMをFCM(b)と
すると、エントリa=1,2,…,Nに対し、 U[a,b]=1 (a:フエツチされるエント
リ) U[a,b]=0 (a:フエツチされるエント
リを除く全て) に設定すれば良い。
また、キヤツシユミスしたFCMがFCM(c)
であるとすると、リプレースされるエントリは、 エントリa (U[a,1],……,U[a,N]
の全てが0のとき) エントリa (U[a,1],……,U[a,N]
のうち、U[a,c]のみが1で他の0のとき) このような制御によれば、前述した制約を守る
ことができる。
[発明の効果] 以上述べたように、本発明によれば各エントリ
にそのエントリがどのフアーストキヤツシユメモ
リに使用されているかを示す使用情報を付加し、
フアーストキヤツシユメモリとセカンドキヤツシ
ユメモリとが共にキヤツシユミスした場合に、上
記使用情報に基づいて、キヤツシユミスしなかつ
た他のフアーストキヤツシユメモリに影響を与え
ずにリプレースを行なうことができる。従つて、
バス使用効率の向上と制御の容易化とを図ること
ができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係る階層キヤツシ
ユメモリを用いたマルチプロセツサシステムのブ
ロツク図、第2図は同階層キヤツシユメモリにお
けるセカンドキヤツシユメモリのブロツク図、第
3図は同セカンドキヤツシユメモリの記憶単位で
あるセツトの構成を示す図、第4図は同セツトに
おけるフエツチ状況とUビツトの値との関係を示
す図、第5図は同セカンドキヤツシユメモリのキ
ヤツシユミスの態様とリプレースするエントリと
の関係を示す図、第6図及び第7図は同階層キヤ
ツシユメモリにおけるリプレースの例をそれぞれ
示す図である。 1〜4……プロセツサ、5……メインメモリ、
6……階層キヤツシユメモリ、11〜14……フ
アーストキヤツシユメモリ、15,16……フア
ーストキヤツシユバス、21〜24……セカンド
キヤツシユメモリ、23……セカンドキヤツシユ
バス。

Claims (1)

  1. 【特許請求の範囲】 1 複数台のプロセツサと、これらプロセツサに
    よつて共有される共有メモリとの間に、前記プロ
    セツサの数と同じだけのフアーストキヤツシユメ
    モリ及び前記プロセツサの数より少ないセカンド
    キヤツシユメモリの階層構造からなる階層キヤツ
    シユメモリを接続し、前記セカンドキヤツシユメ
    モリとこれを共有する複数のフアーストキヤツシ
    ユメモリとの間の一貫性を保ちながらデータの移
    動を管理する階層キヤツシユメモリにおけるデー
    タ交換方式において、 前記セカンドキヤツシユメモリは、その容量が
    それを共有しているフアーストキヤツシユメモリ
    の容量の総和と同じで、且つ該フアーストキヤツ
    シユメモリの数と同じだけのエントリを持つセツ
    トからなるセツトアソシエテイブ方式のメモリ
    で、 前記セカンドキヤツシユメモリの各エントリそ
    れぞれにプロセツサの数と同じだけの使用情報ビ
    ツトを設け、そのエントリがフアーストキヤツシ
    ユメモリからアクセスされたときには、そのエン
    トリ中のアクセスしたプロセツサに対応する使用
    情報ビツトのみがオンになるように制御し、アク
    セスされたエントリと同じセツトに属する他のエ
    ントリ中のアクセスしたプロセツサに対応する使
    用情報ビツトはオフになるように制御することに
    より、前記セカンドキヤツシユメモリの各エント
    リにそのエントリがどのフアーストキヤツシユに
    使用されているかを示す使用情報を付帯し、 前記フアーストキヤツシユメモリ及びセカンド
    キヤツシユメモリが共にキヤツシユミスしたとき
    には、セカンドキヤツシユメモリのエントリの中
    に、エントリに含まれる使用情報ビツトが全てオ
    フのものが存在する場合にはそのエントリを選択
    し、もしそのようなエントリが存在しない場合
    は、アクセスを行つたプロセツサに対応する使用
    情報ビツトのみがオンのものを選択することによ
    り、前記キヤツシユミスしたセカンドキヤツシユ
    メモリを共有している複数のフアーストキヤツシ
    ユメモリのうち前記キヤツシユミスしたフアース
    トキヤツシユメモリを除く他のフアーストキヤツ
    シユメモリがいずれも使用していないエントリ
    を、前記使用情報に基づき選択して、この選択さ
    れたエントリのデータをキヤツシユミスしたデー
    タから新しいデータへ交換するようにしたことを
    特徴とする階層キヤツシユメモリにおけるデータ
    交換方式。
JP1007858A 1989-01-18 1989-01-18 階層キャッシュメモリにおけるデータ交換方式 Granted JPH02188847A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1007858A JPH02188847A (ja) 1989-01-18 1989-01-18 階層キャッシュメモリにおけるデータ交換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1007858A JPH02188847A (ja) 1989-01-18 1989-01-18 階層キャッシュメモリにおけるデータ交換方式

Publications (2)

Publication Number Publication Date
JPH02188847A JPH02188847A (ja) 1990-07-24
JPH0529943B2 true JPH0529943B2 (ja) 1993-05-06

Family

ID=11677347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1007858A Granted JPH02188847A (ja) 1989-01-18 1989-01-18 階層キャッシュメモリにおけるデータ交換方式

Country Status (1)

Country Link
JP (1) JPH02188847A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2845762B2 (ja) * 1993-10-05 1999-01-13 甲府日本電気株式会社 階層バッファメモリ装置
US6351788B1 (en) * 1996-10-30 2002-02-26 Hitachi, Ltd. Data processor and data processing system
US7475193B2 (en) * 2006-01-18 2009-01-06 International Business Machines Corporation Separate data and coherency cache directories in a shared cache in a multiprocessor system
US7577793B2 (en) * 2006-01-19 2009-08-18 International Business Machines Corporation Patrol snooping for higher level cache eviction candidate identification
JP2008046902A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法
JP5294304B2 (ja) * 2008-06-18 2013-09-18 日本電気株式会社 再構成可能電子回路装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6284350A (ja) * 1985-06-27 1987-04-17 エンコア−・コンピユ−タ・コ−ポレ−シヨン 階層キヤツシユメモリ装置および方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6284350A (ja) * 1985-06-27 1987-04-17 エンコア−・コンピユ−タ・コ−ポレ−シヨン 階層キヤツシユメモリ装置および方法

Also Published As

Publication number Publication date
JPH02188847A (ja) 1990-07-24

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
US5113514A (en) System bus for multiprocessor computer system
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
US6343347B1 (en) Multiprocessor system bus with cache state and LRU snoop responses for read/castout (RCO) address transaction
JPH0668735B2 (ja) キヤツシユメモリ−
US6353875B1 (en) Upgrading of snooper cache state mechanism for system bus with read/castout (RCO) address transactions
US6275909B1 (en) Multiprocessor system bus with system controller explicitly updating snooper cache state information
US6502171B1 (en) Multiprocessor system bus with combined snoop responses explicitly informing snoopers to scarf data
JPH04233048A (ja) 多重レベルキャッシュの制御方法及び装置
JPH08185359A (ja) メモリサブシステム
CN101727405A (zh) 虚拟地址高速缓冲存储器和方法以及处理器
JPH03253963A (ja) マルチプロセツサ・システム
US7171520B2 (en) Cache flush system and method thereof
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
JPH06110844A (ja) 分散共有メモリ型マルチプロセッサシステム
EP1030243B1 (en) Optimized hardware cleaning function for virtual index virtual tag data cache
US20010029574A1 (en) Method and apparatus for developing multiprocessore cache control protocols using a memory management system generating an external acknowledgement signal to set a cache to a dirty coherence state
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
JPH05324468A (ja) 階層化キャッシュメモリ
US6349367B1 (en) Method and system for communication in which a castout operation is cancelled in response to snoop responses
US20070266199A1 (en) Virtual Address Cache and Method for Sharing Data Stored in a Virtual Address Cache
US6839806B2 (en) Cache system with a cache tag memory and a cache tag buffer
JPH0529943B2 (ja)
JPH10307752A (ja) 2次レベルキャッシュメモリシステム
US20040059871A1 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term