JPH02188847A - 階層キャッシュメモリにおけるデータ交換方式 - Google Patents

階層キャッシュメモリにおけるデータ交換方式

Info

Publication number
JPH02188847A
JPH02188847A JP1007858A JP785889A JPH02188847A JP H02188847 A JPH02188847 A JP H02188847A JP 1007858 A JP1007858 A JP 1007858A JP 785889 A JP785889 A JP 785889A JP H02188847 A JPH02188847 A JP H02188847A
Authority
JP
Japan
Prior art keywords
cache
cache memory
entry
memory
hierarchical
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.)
Granted
Application number
JP1007858A
Other languages
English (en)
Other versions
JPH0529943B2 (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)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、キャッシュメモリを階層的に接続してなる階
層キャッシュメモリ方式に係わり、特に複数段のプロセ
ッサと共有メモリとの間に配置される階層キャッシュメ
モリにおけるキャッシュコンシステンシ(一貫性)を確
保するためのデー夕交換方式に関する。
(従来の技術) メモリのアクセスタイムをメモリの階層化によって見掛
は上高速化する方式として従来よりキャッシュメモリ方
式が知られている。キャッシュフロセッサーメモリ間の
高速アクセスを可能にする方式である。メモリは高速で
ある程高価であるため、広範囲でのメモリアクセスを必
要とする用途では、高速のキャッシュメモリ(ファース
トキャッジメモリ)と主記憶装置との間に中速、中容量
のキャッシュメモリ(セカンドキャッシュメモリ)を階
層的に配置した階層キャッシュ方式も採用されている。
一方、複数台のプロセッサが主記憶装置を共有するマル
チプロセッサシステムでは、プロセッサ毎にキャッシュ
メモリを持つように構成されるが、この場合、異なるプ
ロセッサ間でキャッシュメモリ内の同じ論理番地のデー
タの内容が食違わないような制御、つまりキャッシュコ
ンシステンシを保証する制御が必要である。
マルチプロセッサシステムでしかも階層キャッシュメモ
リが使用される場合には、キャッシュコンシステンシを
保証する制御はより複雑になる。
例えば“旧erarchical Cache/Bus
 Architectureror 5hared M
emory Mu!tiproeessOrs−がある
と述べている。
く制約〉 ファーストキャッシュメモリに存在するエントリはセカ
ンドキャッシュメモリにも必ず存在する。
この制約を満たすうえで問題となるのはセカンドキャッ
シュメモリのエントリの交換(replace )時で
ある。セカンドキャッシュメモリのエントリがリプレー
スされるのは、セカンドキャッシュメモリの共有メモリ
側からのコンシステンシを保つための要求があった場合
や、ファーストキャッシュメモリ及びセカンドキャッシ
ュ4モリが両方ともミスした場合等が考えられるが、特
に後者の場合には、リプレースされるエントリを他のフ
ァーストキャッシュメモリが使用している場合が考えら
れるため、リプレースに伴ってファーストキャッシュメ
モリバスを介して各ファーストキャッシュメモリにフラ
ッシュコマンドを送出する必要があった。
(発明が解決しようとする課題) υsed )方式や、登録された順番にリプレースして
い< F I F O(First in First
 out)方式が広く知られているが、これらのリプレ
ース方式では、ラアーストキャッシュメモリのキャッシ
ュミスによりセカンドキャッシュメモリへフェッチが起
こり、更にセカンドキャッシュメモリもミスしてリプレ
ースが起こったとき、フラッシュをファーストキャッシ
ュメモリに伝えるためにファーストキャッシュメモリの
バスを使用しなければならず、バスの使用効率が低下す
るとともに、制御が複雑になるという問題があった。
本発明の目的は、ファーストキャッシュ、セカンドキャ
ッシュが共にミスしてセカンドキャッシュメモリにリプ
レースが起こった場合でも、ファーストキャッシュメモ
リにフラッシュのコマンドを送る必要が無く、バスの使
用効率の向上及び制御の容品化が図れる階層キャッシュ
メモリのリプレース方式を提供することにある。
[発明の構成] (課題を解決するための手段) ツユメモリの階層構造からなる階層キャッシュメモリを
接続し、セカンドキャッシュメモリとこれを共有する複
数のファーストキャッシュメモリとの間の一貫性を保つ
べくデータの移動を管理する階層キャッシュメモリにお
けるデータ交換方式におい、て、セカンドキャッシュメ
モリは、それを共有しているファーストキャッシュメモ
リの数だけのエントリを持つセットからなるセットアソ
シェティブ方式のメモリで、各エントリにはそのエント
リがどのファーストキャッシュに使用されているかを示
す使用情報が付帯されている。そして、前記ファースト
キャッシュメモリ及びセカンドキャッシュメモリが共に
キャッシュミスしたときには、前記キャッシュミスした
セカンドキャッシュメモリを共有している複数のファー
ストキャッシュメモリのうち前記キャッシュミスしたフ
ァーストキャッシュメモリを除く他のファーストキャッ
シュメモリがいずれも使用していないエントリを前記使
用情報に基づき選択し、この選択されたエントリのデー
タを交換するようにしている。
本発明によれば、各エントリにそのエントリがどのファ
ーストキャッシュにに使用されているかを示す使用情報
が付加されているので、この情報を参照することにより
、リプレースに際して最も影響の少ないエントリを選択
してリプレースすることができる。本発明では、ファー
ストキャッシュメモリとセカンドキャッシュメモリが共
にキャッシュミスしたときに、上記使用情報に基づき、
キャッシュミスしたファーストキャッシュメモリ以外の
ファーストキャッシュメモリが使用していないエントリ
をリプレースする。セカンドキャッシュメモリのエント
リの数は、それを共有するファーストキャッシュメモリ
の数に等しいがら、本発明によりリプレースされるエン
トリは、どのファーストキャッシュメモリにも使用され
ていないエントリか、或はキャッシュミスしたファース
トキャッシュメモリだけが使用していたエントリの2通
りしかない。前者の場合には、そのエントリをリプレー
スしても、前述した制約は守られる。
即ちどのファーストキャッシュメモリにも影響を与えな
いので、キャッシュコンシステンシは保証フェッチする
だけで前述した制約は守られる。
従って、本発明によれはセカンドキャッシュメモ1のリ
プレースに伴ってファーストキャッシュ−に対しフラッ
シュコマンドを送出する必要がなく、バスの使用効率の
向上及び制御の容易化を図ることができる。
(実施例) 以下、図面に基づいて本発明の実施例について説明する
第1図は本発明の一実施例に係るマルチプロセッサシス
テムの構成を示すブロック図である。
このシステムは、並列処理する複数の′プロセッサ1.
2,3.4と、これらプロセッサ1〜4が共有するメイ
ンメモリ5と、これらの間に接続されて高速アクセスを
可能にするための階層キャッシュメモリ6とから構成さ
れている。
階層キャッジメモリ6は、各プロセッサ1〜4と一対一
で接続された高速・小容量のファーストキャッシュメモ
リ(以下、FCMと略記する)11.12,13.14
と、2組のFCMII。
れている。また30M21..22はセカンドキャッシ
ュバス23を介してメインメモリ5と接続されている。
従って、階層キャッシュメモリ6は、プロセッサ1,2
、FCMII、12が30M21を共有し、プロセッサ
3,4、FCM13゜14がSCM22を共有し、30
M21.22がメインメモリ5を共有する階層構造とな
っている。
FCMII〜14は、ダイレクトマツピング方式のキャ
ッシュであるが、30M21.22はNウエイーセット
アソシエティブ方式のキャッシュである。つまり、30
M21.22では1つのセット中にN個のエントリを持
つ。この例では、SCM21.22を共有するFCMの
数が2であるから、2ウエイとなる。
第2図にS CM21の構成を示すが、SCM22の構
成もこれと全く同様であるので以下、S CM21につ
いてのみ説明することにする。
SCM21は、データとタグを記憶するメモリ本体31
と、SCM21の全体の制御を司るセカンドキャッシュ
制御回路32と、ファーストキャラあるとすると、FC
MII、12からは、アドレスの下位8ビツトを用いて
256エントリのうちから1つのエントリを選択できる
。SCM21゜22では、アドレスの下位8ビツトを用
いて256セツトのうちの1セツトを選択できる。
つまり100OH番地と2000)f番地に対応するF
CMIl、12のエントリは同じで、SCM21のセッ
トも同じである。各エントリの情報は以下の通りである
1)Uビット このUビットは、使用情報となるもので、各ターフェイ
ス34とにより構成されている。
メモリ本体31を構成する1つのセットを第3図に示す
。SCM21.21は前述したように2ウ工イーアソシ
エテイブ方式のメモリであるから、1つのセットは2つ
のエントリから構成される。
各エントリには、2つのUビットと、エントリの状態を
示す情報と、タグアドレスと、データ部とが設定されて
いる。アドレス幅が16ビツトで1、U [1,2]が
0であれば、セット中のエントリ1はFCMIIにより
使用されているが、エントリ1はFCM12には使用さ
れていないこと、を示している。
2)エントリの状態 SCM21.22間のコンシステンシをとるための情報
であり、前述した文献におけるwrttc−oncaの
方法では、D (Dirty ) 、  I (Inv
aljd ) 。
V (Valid ) 、 R(Reserved)の
4状態を表わすため2ビツトが必要である。
3)タグアドレス そのエントリが持っているデータのアドレス情報である
4)データ部 そのエントリのデータの内容である。
以上の構成において、いま、FCMll又は12でキャ
ッシュミスが発生してFCMll又は12がS CM2
1に必要なエントリをフェッチする場合には、フェッチ
するエントリの対応するUビットを1にする。また、U
ビットを1すると同ントリ1,2の計4つのUビットは
、図示のような値に設定される。これにより、u [a
、b]が1である場合には、FCMbにエントリaが使
用されていることが明らかになる。
FCMII又は12でキャッシュミスが発生し、更にS
CM21でもキャッシュミスが発生したときには、その
発生の状況によって第5図に示すようなエントリがリプ
レースされる。このときリプレースされるエントリの条
件は次の通りである。
■ U [a、1] 、U [a、2]が共に0の場エ
ントリaがリプレースされる。エントリaはいずれのF
CMII、12においても使用されていないからである
■ U [a、1] 、U [a、2]が共に0でない
場合 キャッシュミスしたFCMに対応するエントリがリプレ
ースされる。他のエントリはキャッシュミスしたFCM
以外のFCMが使用しているからである。
である。この状態でFCM12が3000番地をアクセ
スするとキャッシュミスが起こる。この場合、U [2
,1] 、U [2,2]が共に0であるから、エント
リ2が選択されてリプレースされる。
この結果、同図(b)に示すように、エントリ2に30
00番地のデータが格納され、FCM12がこれをフェ
ッチすることにより、U [1,2] 。
U [2,2]は0,1となる。この場合FCM11は
なんら影響を受けない。
第7図(a)はFCMIIが1000番地のブタを格納
したエントリ2を使用し、FCM12が2000番地の
データを格納したエントリ1を使用している場合である
。この状態でFCM12が3000番地をアクセスする
とキャッシュミスが起こる。この場合、U [1,2]
が1であるから、エントリ1が選択されてリプレースさ
れる。
この結果、同図(b)に示すように、エントリ1に30
00番地のデータが格納され、FCM12がこれをフェ
ッチすることにより、U[1,2]。
U [2,2]は1.0となる。この場合もFCMを防
止できる。
なお、本発明は上述した実施例に限定されるものではな
い、上記実施例ではセカンドキャッシュメモリに2ウエ
イーセツトアソシエテイブのメモリを用いたが、Nウェ
イーセットアソシエティブに拡張可能であることはいう
までもない。この場合、フェッチしようとするFCMを
FCM(b)とすると、エントリBs++1,2. ・
・・ Nに対し、U [a、b] 瑠1   (a:フ
ェッチされるエントリ  ) U [a、b] =O(a:フェッチされるエントリを
除く 全て    ) に設定すれば良い。
また、キャッシュミスしたFCMがFCM(c)である
とすると、リプレースされるエントリは、エントリa 
  (U[a、11.・・・・・、  U  [a、 
 Nコ の全てが0のとき   ) バス使用効率の向上と制御の容易化とを図ることができ
る。
【図面の簡単な説明】
このような制御によれば、前述した制約を守ることがで
きる。 [発明の効果] 一以上述べたように、本発明によれば各エントリにその
エントリがどのファーストキャッシュメモリに使用され
ているかを示す使用情報を付加し、ファーストキャッシ
ュメモリとセカンドキャッシュメモリとが共にキャッシ
ュミスした場合に、上記使用情報に基づいて、キャッシ
ュミスしなかった他のファーストキャッシュメモリに影
響を与えずにリプレースを行なうことができる。従って
、第3図は同セカンドキャッシュメモリの記憶単位であ
るセットの構成を示す図、第4図は同セットャッシュメ
モリにおけるリプレースの例をそれぞれ示す図である。 1〜4・・・プロセッサ、5・・・メインメモリ、6・
・・階層キャッシュメモリ、11〜14・・・ファース
トキャッシュメモリ、15.16・・・ファーストキャ
ッシュバス、21〜24・・・セカンドキャッシュメモ
リ、23・・・セカンドキャッシュバス。

Claims (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 true JPH02188847A (ja) 1990-07-24
JPH0529943B2 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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152648A (ja) * 1993-10-05 1995-06-16 Kofu Nippon Denki Kk 階層バッファメモリ装置
WO1998019242A1 (fr) * 1996-10-30 1998-05-07 Hitachi, Ltd. Processeur de donnees et systeme de traitement de donnees
JP2007193805A (ja) * 2006-01-18 2007-08-02 Internatl Business Mach Corp <Ibm> デュアル・システム・ディレクトリ構造体を有するマルチプロセッサ・システムおよび方法
JP2008046902A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法
JP2009524137A (ja) * 2006-01-19 2009-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ
JP2010002986A (ja) * 2008-06-18 2010-01-07 Nec Corp 再構成可能電子回路装置

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 エンコア−・コンピユ−タ・コ−ポレ−シヨン 階層キヤツシユメモリ装置および方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152648A (ja) * 1993-10-05 1995-06-16 Kofu Nippon Denki Kk 階層バッファメモリ装置
WO1998019242A1 (fr) * 1996-10-30 1998-05-07 Hitachi, Ltd. Processeur de donnees et systeme de traitement de donnees
US6351788B1 (en) * 1996-10-30 2002-02-26 Hitachi, Ltd. Data processor and data processing system
JP2007193805A (ja) * 2006-01-18 2007-08-02 Internatl Business Mach Corp <Ibm> デュアル・システム・ディレクトリ構造体を有するマルチプロセッサ・システムおよび方法
JP2009524137A (ja) * 2006-01-19 2009-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ
JP2008046902A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd 情報処理システム、情報処理基板、及びキャッシュタグ及びスヌープタグの更新方法
JP2010002986A (ja) * 2008-06-18 2010-01-07 Nec Corp 再構成可能電子回路装置

Also Published As

Publication number Publication date
JPH0529943B2 (ja) 1993-05-06

Similar Documents

Publication Publication Date Title
KR100382821B1 (ko) 2-웨이세트연관캐시메모리
EP0461926B1 (en) Multilevel inclusion in multilevel cache hierarchies
KR100326980B1 (ko) 다중-레벨 메모리 계층 구조를 포함하는 데이터 처리 시스템용 캐시 일관성 프로토콜
US6629205B2 (en) System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem
US6021468A (en) Cache coherency protocol with efficient write-through aliasing
EP0062165B1 (en) Multiprocessors including private and shared caches
EP0435475B1 (en) High-performance frame buffer and cache memory system
US6397302B1 (en) Method and apparatus for developing multiprocessor cache control protocols by presenting a clean victim signal to an external system
JPH03253963A (ja) マルチプロセツサ・システム
JPH09259036A (ja) ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法
US6275909B1 (en) Multiprocessor system bus with system controller explicitly updating snooper cache state information
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
KR100322225B1 (ko) 배회(h) 상태 및 최근(r) 상태를 갖는캐쉬 코히어런시 프로토콜
JPH06110844A (ja) 分散共有メモリ型マルチプロセッサシステム
US6349366B1 (en) Method and apparatus for developing multiprocessor cache control protocols using a memory management system generating atomic probe commands and system data control response commands
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
KR100326632B1 (ko) 에이치_알 상태를 포함하는 캐시 일관성 프로토콜
US7949833B1 (en) Transparent level 2 cache controller
JP3068469B2 (ja) 2次レベルキャッシュメモリシステム
US20040111566A1 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US6279086B1 (en) Multiprocessor system bus with combined snoop responses implicitly updating snooper LRU position
JPH03216744A (ja) 内蔵キャッシュ・メモリ制御方式
US6338124B1 (en) Multiprocessor system bus with system controller explicitly updating snooper LRU information
JPH02188847A (ja) 階層キャッシュメモリにおけるデータ交換方式
US6826654B2 (en) Cache invalidation bus for a highly scalable shared cache memory hierarchy

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term