JPH0471049A - キャッシュメモリ制御回路 - Google Patents

キャッシュメモリ制御回路

Info

Publication number
JPH0471049A
JPH0471049A JP2182596A JP18259690A JPH0471049A JP H0471049 A JPH0471049 A JP H0471049A JP 2182596 A JP2182596 A JP 2182596A JP 18259690 A JP18259690 A JP 18259690A JP H0471049 A JPH0471049 A JP H0471049A
Authority
JP
Japan
Prior art keywords
cache memory
built
memory
external
way
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
JP2182596A
Other languages
English (en)
Other versions
JP3078303B2 (ja
Inventor
Yoshihiro Hiji
義弘 氷治
Hiroyuki Yoshida
裕之 吉田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP02182596A priority Critical patent/JP3078303B2/ja
Publication of JPH0471049A publication Critical patent/JPH0471049A/ja
Application granted granted Critical
Publication of JP3078303B2 publication Critical patent/JP3078303B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、キャッシュメモリを内蔵したマイクロプロセ
ッサにおいて、内蔵キャッシュメモリと外部キャッシュ
メモリとの内容の整合性を確保するキャッシュメモリ制
御方式に間するものである。
[従来の技術] マイクロプロセッサの分野においても、その動作速度の
向上と共に、プロセッサーと主記憶装置との間の動作速
度の差が問題となってきている。
処理装置の動作速度が上がるにつれて、それが消費する
命令コードやデータの量も増えるため、主記憶装置の方
も処理装置の動作速度に見合った高速なものを使用しな
ければシステム全体の処理能力を上げることが出来ない
。しかし、容量が大きな主記せ装置全体を高速な記憶素
子で構成すると非常に高価な装置になってしまう。
そこで第2図(a)に示すように、主記憶装置23と処
理装置21との間にキャッシュメモリ22を設けて、処
理装置21に比べて相対的に遅い主記憶装置23の速度
を見掛上早くすることを行う。キャッシュメモリ22は
、小容量ではあるが高速な記憶装置で、主記憶装置23
の内で、処理装置21によって最近参照された部分の内
容のコピーを保持している。処理装置23を参照する際
には、まずキャッシュメモリ22を検索して目的のデー
タや命令コードがそこに存在すればそれを利用して、主
記憶装置23の参照は行わない。もしも目的のものがキ
ャッシュメモリ22の内部に存在しない場合には、それ
を主記憶装置23から取り出して利用すると同時に、キ
ャッシュメモリ22にそのコピーを格納する。
キャッシュメモリ22の内部ではデータはブロックと呼
ばれる単位で管理される。キャッシュメモリ22の内部
に存在するブロックは前にも述べたように全て主記憶装
置23の内部のブロックのコピーである。そして、キャ
ッシュメモリ22の内部の全てのブロックには、そのブ
ロックのオリジナルが主記憶装置23のどこに格納され
ているかを示すタグと呼ばれるデータと、そのブロック
が有効であることを示すバリッドピットと呼ばれるフラ
グとが付属し・ている。ブロックとタグとバリッドピッ
トとをまとめてエントリと呼ぶ。
キャッシュメモリ22左検索するとは、キャッシュメモ
リ22の内部に存在する全ての有効なフロックの内から
参照の要求かあったデータのアドレスと等しいタグをも
ったブロックを捜すことを意味する。そして、キャッシ
ュメモリ12の内部にそのようなブロックか存在し・た
場合をヒツト、存在しない場合をミスヒツトという。
キャッシュメモリ22の構成方法は、アドレスとタグと
の比較に用いる比較器の数:こよっていくつかに分類で
きる。ここでは、その中から今回の発明に関係が深いセ
ットアソシアティブ方式について説明を行う。セットア
ソシアティブ方式のキャッシュメモリにおいては、ウェ
イ数、セット数という2個のパラメータによってその構
成を表現する。ウェイ数とは検索の際にアドレスとタグ
との比較に用いられる比較器の数を示す数であり、セッ
ト数とは比較器1個当りのブロック数を示す数である。
セットアソシアティブ方式のキャッシュメモリの構成の
例としてウェイ数が2である場合(2ウ工イセツトアソ
シアテイブ方式)の構成を第3図に示す。第3図の中で
、301はセットインテックス発生回路であり、参照要
求があったデータのアドレス300から適当なアルゴリ
ズムに基づいてセットインデックス302を発生する。
303はウェイ上0アレイである。これは、ウェイ#0
に属するエントリを格納するための記憶装置であり、セ
ット数に等しい個数のエントリを格納する。ウェイ上0
アレイ303は、キャッシュメモリの検索動作の際には
、セットインデックス302に従って内部にあるエント
リから1個を選択しぞその内容を出力する。また、ブロ
ックの置換動作の際には、ウェイ選択信号発生回路30
5から出力されるウェイ#0選択信号306に従って動
作し、セットインデックス302に従って選択されたエ
ントリのタグをアドレス300で置換し、ブロックをデ
ータ入力308からの人力データで置換し、バリッドピ
ットに論理111 !+をセットし・てそのエントリに
含まれろブロックか有効であることを示す。
ウェイ#1アレイ304もウェイ上0アレイ303と同
様な動作を行う。即ち、キャッシュメモリの検索動作の
際には、セットインデックス302に従って内部にある
エントリから1個を選択し・てその内容をエカする。ま
た、ブロックの置換動作の際には、ウェイ選択信号発生
回路305から出力されるウェイ#1選択信号307に
従って動作する。
ウェイ選択信号発生回路305はエントリの更新を行う
場合に、更新の対象となるエントリが存在しているウェ
イを指定するための信号を発生する。参照の結果、ミス
ヒツトした場合にはブロックの置換が行われる。その際
にはセットインデックス302に従って選択されたセッ
ト(同じセットインデックスを持つエントリの集合、ウ
ェイ数に等しい数のエントリを含む)に属する2個の工
ントリ内のとのウェイに属するものを更新の対象とする
かを決定する必要がある。これを行うためのアルゴリズ
ムとしては、最後に参照されてから最も長い時間が経過
しているものを更新の対象とするLRUアルゴリズムや
、キャッシュメモリに読み込まれて力)ら最も長い時間
が経過しているものを更新の対象とするFIF○アルゴ
リズム等がある。第3図では省略しであるがウェイ選択
信号発生回路305には、そこにインプリメントされて
いるアルゴリズムが必要とする情報を入力するための信
号線が存在する。
キャッシュメモリの検索動作の際にセットインデックス
302に従って選択され、ウェイ#0アレイ303から
出力されたエントリに含まれるタグは、一致検出回路3
09へ入力され、そこでアドレス300と比較される。
比較の結果は、ANDゲート31iでそのエントリのバ
リッドビットと論理積を取られる。その結果が論理1で
ある場合には、出力ゲート313が開かれ、選択されて
いるエントリのブロックがデータ出力315へ出力され
る。すなわち、各ウェイにおいてセットインデックス3
02に従って選択されたエントリの内で、そのタグがア
ドレス300と等しく、かつ、そのバリッドビットが論
理1であるもののフロックがデータ出力315に出力さ
れることになる。
ORゲート316は、ヒツトかミスヒツトかを示す信号
を発生するためのものである。すなわち、ウェイ#0ア
レイ303かウェイ上1アレイ304のどちらかにアド
レス300と値が等しいタグを持ち、かつバリッドビッ
トが論理1であるエントリが存在する場合にORゲート
316の出力は論理lとなり、キャッシュメモリから目
的のデータが出力されているので主記憶装置を参照する
必要がないことを示す。 ここで、ウェイ数W、セット
数Sのセットアソシアティブ方式のキャッシュメモリの
動作についてまとめると以下の通りである。
■求めるデータのアドレスから適当なアルゴリズムによ
りセットインデックスを算出する。
■求められたセットインデックスを用いて8個のセット
の中から1個を選択する。
■選択されたセットにはW個のエントリが含まれている
ので、各々のエントリに含まれるタグとアドレスとをW
個の比較器によって1度に比較する。
参照要求があったアドレスと一致するタグを含み、かつ
バリッドどットが論理1である(有効なデータを含む)
エントリが存在したならばヒツトしたものとしてブロッ
クの内容を処理装置へ送る。またそのようなエントリが
なかった場合にはミスヒツトしたものとして■のエント
リの置換処理を行う。
■もし現在選択されているセットに空きがあるならば、
参照要求があったデータを主記憶装置から取り8してき
てそこへ格納しタグとバリッドビットとを付与する。セ
ットに空きがない場合には、適当なアルゴリズムに従っ
てW個のエントリ各々の置換の優先順位を評価し、最も
置換の優先順位が高いエントリを無効化して、その後に
主記憶装置から取り出されたデータを格納してタグとバ
リッドビットとを付与する。また主記憶装置から取り出
されたデータは処理装置に対し・でも送られる。
ところで、キャッシュメモリは相対的に遅い主記憶装置
を見かけ上速く見せるために設けられる。
処理装置側から見た場合:こは、主記憶装置とキャッシ
ュメモリとは別々に見えるのではなく1個の高速な主記
憶装置が存在するように見えなけれはならない。従って
、第2区(b)に示すように複数の処理装置211,2
12、・・・の蘭て主記憶装置23を共有しながら処理
を行うマルチプロセッサーシステムのような構成を考え
た場合、複数のキャッシュメモリ221.222、・・
・と主記憶装置23との間で内容の整合性を確保する必
要がある。例えば、第2図(b)において、ある処理装
置211の指示により、あるブロックの内容が書き換え
られたとする。このとき、全てのキャッシュメモリ22
1.222、・・・と主記憶装置23との間で内容の整
合を取る必要がある。整合の取り方としてよく行われる
手法として、主記憶装置23と書き換えを指示した処理
装置211に付加されたキャッシュメモリ221につい
ては、同じ内容になるように書き換えを行い、そのほか
のキャッシュメモリ222、・・・については書き換え
られたブロックに対応するキャッシュメモリ上のブロッ
クを全て無効化するという手法がある。
このような手法を用いる場合、主記憶装置に対する書き
込み動作を検出するためのバス監視回路が必要となる。
バス監視回路とは、第2図(b)におけるパスライン2
5上のデータの転送状況を監視して主記憶装置23に対
する書き込みが行われたことを検出するための回路であ
る。
下記文献では、この手法にしたがフてハードウェアによ
って主記憶装置とマイクロプロセッサに内蔵されている
キャッシュメモリとの内容の整合を取る方法が紹介され
ている。
文献: Integrated MMLJ、cache
 raise system−1evel 1ssue
s ” COMPLITERDESIGN”  May
 15.1987文献中で紹介されているマイクロプロ
セッサは、チップ上に2ウ工イセツトアソシアテイブ方
式のデータ専用キャッシュメモリとダイレクトマツピン
グ方式(ウェイ数が1であるセットアソシアティブ方式
と等価な方式)の命令専用キャッシュメモリとを備えて
いる。そして各々の内蔵キャッシュメモリにおいては、
各ウェイに外部から与えられたセットインデックスによ
り選択されたエントリのバリッドピットを論理Oにリセ
ットして、そのエントリに含まれるブロックを無効化す
る機能を付加することによって上記手法を実現する手段
としている。
マイクロプロセッサに内蔵されているキャッシュメモリ
は、一般に容量か小さいため、チップの外部にさらに外
部キャッシュメモリを付加することが行われている。こ
の場合には、内蔵キャッシュメモリ、外部キャッシュメ
モリのどちらの内容も主記憶装置の内容と整合が取れて
いなければならない。上記文献において紹介されている
例でも、マイクロプロセッサの外部にさらにダイレクト
マツプ方式の外部キャッシュメモリを設けている。
そして、このような場合には内蔵キャッシュメモリ上に
存在するブロックは、必ず外部キャッシュメモリ上にも
存在するという条件が成立する場合には、内蔵キャッシ
ュメモリと外部キャッシュメモリとでバス監視回路を共
有することによってハードウェアの量を減少させること
が出来るということが述べられている。そして、その条
件を満たすために、外部キャッシュメモリにおいてエン
トリの更新が発生した場合には、外部キャッシュメモリ
で更新されたエントリに対応している内蔵キャッシュメ
モリ中のエントリを全て無効化するという方法が紹介さ
れている。
[発明が解決しようとする課題] 従来技術に基づいた内蔵キャッシュメモリを持つマイク
ロプロセッサに外部キャッシュメモリを付加し、ハード
ウェアによって主記憶装置との内容の整合性を確保する
際に発生する問題を説明するために、以下に述べるよう
な系を仮定する。
(1)内蔵キャッシュメモリは次のような特徴を持つも
のとする。
■ウェイ数W1、セット数Siのセットアソシアティブ
方式である。
■チップ外からセットインデックスを指定することによ
ってセット単位で内容を無効化することができる。
(2)上記のような特徴を惟えた内蔵キャッシュメモリ
を持ったマイクロプロセッサに、次のような特徴を備え
た外部キャッシュメモリを付加するものとする。
■ウェイ数We、セット数Seのセットアソシアティブ
方式である(但し、We≧Wi、Se≧Siとする)。
■バス監視回路を備えており主記憶装置に対する書き込
み動作を検出した場合に:よ、 (a)主記憶装置上の書き換えられたブロックのコピー
が自身の内部に存在するかどうかを調へて、存在する場
合には自身の内容と主記憶装置の内容との整合をとる、 (b)書き込み動作が行われたアドレスに対応する内部
キャッシュメモリのセットインデックスを発生し、それ
を用いて主記憶装置上で書き換えられたブロックの内蔵
キャッシュメモリ上に存在するコピーを無効化する、 という2つの動作を行う。
このような系において、内蔵キャッシュメモリ上に存在
するブロックについては、必ず同じものが外部キャッシ
ュメモリにも存在するという条件が成立するとき、従来
技術の説明の所で述へたように内部キヤ・ソシュメモリ
と外部キャッシュメモリとでバス監視機構を共有するこ
とによってハードウェアの量を少なくすることが出来る
ということは前項の参考文献で述へられている通りであ
る。
しかし、一般には外部キャッシュメモリが検索されるの
は内蔵キャッシュメモリがミスヒツトした場合に限られ
るため、ある特定のブロックに着目した場合、内蔵キャ
ッシュメモリ側から見た場合と外部キャッシュメモリ側
から見た場合とでは参照の頻度が異なる場合がある。こ
のとき、内蔵キャッシュメモリ、外部キャッシュメモリ
の両方でミスヒツトするような参照要求があった場合、
内蔵キャッシュメモリにおいて置換されるブロックと外
部キャッシュメモリにおいて置換されるブロックが同一
ではないことがある。内蔵キャッシュメモリ、外部キャ
ッシュメモリ共に2ウ工イセツトアソシアテイブ方式で
置換アルゴリズムとしてLRU方式を用いている場合に
、そのようなことが発生する様子を第4図に示す。
第4図において、41は内蔵キャッシュメモリの、ある
セットの内容を示している。左側の欄がウェイ#0に属
するエントリのブロックを表し・、右側の欄はウェイ#
1に属するエントリのブロックを表す。今、このセット
のウェイ#0ここはブロックAが存在しウェイ#1には
ブロックBが存在するものとする。Bの有形にある木は
次にミスヒツトした場合にはウェイ#1の内容であるB
が置換されることを示している。42は外部キャッシュ
メモリにおいて41に対応しているセットの内容を示し
ている。表記法は41の場合と同様である。
第4図(a)は、内部キャッシュメモリの内容と外部キ
ャッシュメモリの内容とが一致している状態を示してい
る。
ここで、処理装置からBに対する参照が行われた場合を
考える。このとき、内蔵キャッシュメモリはヒツトする
ので外部キャッシュメモリは参照されない。またヒツト
した結果、内蔵キャッシュメモリにおいては次にミスヒ
ツトした場合に置換されるブロックがBからAに代わっ
て43に示すような状態となる。しかし、このとき、外
部キャッシュメモリは参照されていないので、その内容
は44に示すように元のままである(第4図(b))。
この状態で次にAてもBてもないブロックCが参照され
たとする。この時内蔵キャッシュメモリ、外部キャッシ
ュメモリともミスヒツトする。その結果、両方のキャッ
シュメモリでブロックの置換が発生するが、内蔵キャッ
シュメモリにおいてはAが置換され45に示すような状
態となるが、外部キャッシュメモリにおいてはBが置換
され46に示すような状態となる(第4図(C))。
この第4図(c)の状態は、参考文献に記述されている
、バス監視回路を内蔵キャッシュメモリと外部キャッシ
ュメモリとで共有するための条件が満たされなくなる。
バス監視回路を両方のキャッシュメモリで独立に持てば
機能上は問題ないがシステム全体としては部品点数が増
加するためあまり望まし・い解決法とはならない。
文献中の例では、このような現象を回避するために外部
キャッシュメモリでエントリの更新か発生した場合−二
は内蔵キャッシュメモリにおいては、外部キャッシュメ
モリで更新されたエントリと対応しているエントリを全
部無効化してから新しいブロックを読み込んでいる。こ
の様子を第4区と同様な表記で表したのが第5図である
第5図において51から54(第5図(a)、 (b)
)までは第4図の場合と同じである。この状態において
ブロックCが参照されたとする。外部キャッシュメモリ
の動作は第4図で説明した場合と全く同様でありミスヒ
ツトした結果ブロックBが置換されて56に示すような
状態になる。一方、内蔵キャッシュメモリにおいてはミ
スヒツトした結果そのセットの内容が一旦全て無効化さ
れ55に示すようになった後にブロックCが読み込まれ
、57に示すような状態となる(第5図(C))。
第5図(c)の56.57に着目すると、内蔵キャッシ
ュメモリに存在するブロックは必ず外部キャッシュメモ
リにも存在するという条件が満たされるため、内蔵キャ
ッシュメモリと外部キャッシュメモリとてバス監視回路
を共有することができる。
しかしながら、この方法を用いた場合、内蔵キャッシュ
メモリにおいて本来は無効化する必要がないブロックA
まで無効化されてしまう。セットアソシアティブ方式の
キャッシュメモリの一般的な特性として容量が同じであ
ればウェイ数を増やしたほうがヒツトする確立が高くな
る傾向があるため、外部キャッシュを設ける場7合にも
出来るだけウェイ数が大きい構成のものを設けるほうが
システムの性能を大きくすることができる。しかし、こ
こで説明したような無駄な無効化が発生しやすい状況に
おいては、ウェイ数を増やすほど無駄な無効化による被
害が増えるため思ったように性能が向上しない。
本発明の目的は、外部キャッシュメモリのエントリが更
新された場合に発生する内蔵キャッシュメモリにおける
無駄な無効化操作を減少させることが可能なキャッシュ
メモリ制御方式を提供することにある。
[課題を解決するための手段] 本発明のキャッシュメモリ制御方式は、キャッシュメモ
リを内蔵したマイクロプロセッサの外部に外部キャッシ
ュメモリか設けられ、主記憶装置の各ブロックに対応す
るキャッシュメモリ上のブロックが複数個あるようにし
たセットアソシアティブ方式を取るキャッシュメモリ制
御方式において、外部キャッシュメモリに上記t!装置
に対する書き込みを検出するバス監視手段を備え、ミス
ヒツト時に、バス監視手段の検出結果に応じて外部キャ
ッシュメモリから内蔵キャッシュメモリに制御信号を供
給して、内蔵キャッシュメモリの置換されるエントリが
格納されているウェイを外部キャッシュメモリと整合す
るように外部から指定するようにしたものである。
[作用コ 内蔵キャッシュメモリにも外部キャッシュメモリにもな
いブロックの参照が行なわれてミスヒツトすると、ミス
ヒツトに伴うエントリの置換が行なわれるが、その際、
置換の対象となる内蔵キャッシュメモリ(こおけるウェ
イの選択が、LRUアルゴリズムやFIFOアルゴリズ
ム等の置換方式に拘束されることとなる内部からではな
く、そのような方式に拘束されないように外部キャッシ
ュメモリから外部指示される。
外部キャッシュメモリから指示するということは、外部
キャッシュメモリを基準とした指示に基づいて置換の対
象となるウェイの選択を行なうことが可能となる。即ち
、外部キャッシュメモリは内部キャッシュメモリの全て
の状態を把握しているわけではないが、少なくとも、バ
ス監視手段による主記憶装置書き込み情報を持っており
、この情報に基づいて内部キャッシュメモリの置換結果
を外部キャッシュメモリの置換結果に合わすように指示
することが可能となる。
従って、そのような外部指示に基づいてなされた置換は
、無効化する必要のないブロックまで無効化することが
なく、また、内蔵キャッシュメモリ上に存在するフロッ
クについては、必ず同じものが外部キャッシュメモリに
も存在するというバス監視機構共有条件が成立するので
、バス監視手段は外部キャッシュメモリに設けるだけで
足り、バス監視手段を共有することができる。
[実施例コ 本発明の実施例によ、る2ウエイセツトアソシアテイブ
キヤツシユメモリの構成を第6図に示す。
600から616の各構成要素については、第3図にお
ける200から216と同様である。ただし、ウェイ#
0アレイ603、ウェイアレイ604には第3図で説明
した基本的な機能に加えて主記憶装置との内容の整合を
ハードウェアによって確保する際に必要なセット単位の
無効化を行うための入力が設けられている。これらは、
無効化用セットインデックス入力620に接続される。
本実施例の特徴は構成要素621から624を付加シタ
ことである。621はセレクタであり、外部選択信号イ
ネーブル信号624によって制御され、内蔵のウェイ選
択信号発生回路605の出力606.607と、外部か
らのウェイ#0選択信号622、ウェイ#1選択信号6
23とを切り換えて、ウェイ#0選択信号626.ウェ
イ#1選択信号627を出力するために用いられる。
外部キャッシュメモリを付加しない場合には、内蔵のウ
ェイ選択信号発生回路605の指示にしたがってエント
リの更新を行うが、外部キャッシュメモリを付加した場
合には外部キャッシュメモリのウェイ選択信号発生回路
の指示にしたがってエントリを更新する。その制御を行
うために外部選択信号イネーブル信号624を設けであ
る。
第6図に示したような構成の内蔵キャッシュメモリを持
つマイクロプロセッサに2ウ工イセツトアソシアテイブ
方式の外部キャッシュメモリを付加した例を第1図に示
す。図中で破線で囲まれた部分11がマイクロプロセッ
サである。マイクロプロセッサ11は処理装置12の他
に内蔵キャッシュメモリ13を同一チップ上に含む。内
蔵キャッシュメモリ13は第6図に示したような構成を
取る。
外部キャッシュメモリ15は、従来技術の問題点の説明
の(2)コこ述へたような機能に加えて、本発明の実施
に必要な内蔵キャッシュメモリ13に対するウェイ選択
信号を発生する機能を備える。
(2)に述べたような外部キャッシュメモリ機能を簡略
化して繰返すと、それはセットアソシアティブ方式であ
り、かつ、共有することになるバス監視回路19を備え
、このバス監視回路19はブロックのコピーが存在する
場合には整合を取り、存在しない場合には内蔵キャッシ
ュメモリ上に存在するコピーを無効化するというもので
ある。
外部キャッシュメモリ15から内蔵キャッシュメモリ1
3に供給される信号線18は内蔵キャッシュメモリ制御
信号をまとめて表現したものであり、無効化を行う際に
セットインデックスを指定するための信号線620及び
置換を行う際にウェイを指定するための信号線622〜
624からなる。この置換を行なう際にウェイを指定す
るための信号線622〜624に乗る信号は、バス監視
回路19の監視結果に基づいて送出される。
主記憶装置67は第2図(a)、第2図(b)に示Uた
ものと同様である。
第7図は、本実施例における内蔵キャッシュメモリと外
部キャッシュメモリとの対応するエントリの状態を第4
図、第5図と同様な表記法に従って表したものである。
第7図において71.72(第7図(a))は初期状態
を表している。
次にBが参照されると内蔵キャッシュメモリでヒツトし
て73.74に示す状態になる(第7図(b))。
ここまでは、第4図、第5図の場合と同じである。
ざらにCが参照されると内蔵キャッシュメモリ、外部キ
ャッシュメモリ共にミスヒツトするのでエントリの更新
が行われる。このとき、第4図の場合には両方のキャッ
シュメモリは独自の判断に基づいてエントリを更新した
ため、バス監視回路を共有するための条件が満たされな
くなってしまった。さらに、第5図の場合には条件は満
たされたが本来無効化する必要がないAまて無効化され
てしまった。第5図では一旦全てのウェイの内容を無効
化したが、本実施例においては無効化は行iツずに外部
からのウェイ選択信号にし・たがってBを置換する(第
7図(C乃。
すなわち、ブロックの置換動作の際に、外部キャッシュ
メモリ15に設けたバス監視回路19の監視結果に基づ
き、外部キャッシュメモリ15から内蔵キャッシュメモ
リ13に内蔵キャッシュメモリ制御信号18が出力され
る。外部選択信号イネーブル624によってセレクタ6
21から出力されるウェイ選択信号626.627が、
内部から外部のウェイ選択信号622.E323に切り
換えられる。このとき外部のウェイ#O選択信号622
は非選択値を取り、ウェイ#1選択信号623が選択値
を取っている。このため、内蔵キャッシュメモリにおい
ては、ウェイ#1アし・イ604はセレクタ621から
出力される外部ウェイ#1選択信号627に従って動作
し、次にミスヒツトした場合に置換されるべきブロック
がウェイ#0に属するAであるにも関わらず、ウェイ#
1に属するエントリのブロックBの更新が行なわれて、
ブロックCに置換される。外部キャッシュメモリにおい
ては、次にミスヒツトした場合に置換されるべきブロッ
クBがブロックCに置換される。この結果、内部キャッ
シュメモリの内容が外部キャッシュメモリの内容に合せ
られ、第7図(C)の75.76に示した状態となり無
駄な無効化は行われない。このようにして、本実施例に
よれば内部キャッシュメモリを外部キャッシュメモリに
整合させるので、バス監視回路19は外部キャッシュメ
モリにあれば足りる。
同様に内部キャッシュメモリは2ウエイで、外部キャッ
シュメモリが4ウ工イセツトアソシアテイブ方式である
場合の動作を示したのが第8図である。
81.82(第8図(a))はそれぞれ内蔵キャッシュ
メモリ、外部キャッシュメモリの初期状態を示している
。81については71と同様である。
今度は外部キャッシュメモリのウェイ数は4なのて81
に示した内蔵キャッシュメモリのセットに対応する外部
キャッシュメモリのセットには4個のエントリが存在し
ウェイ#0から順にA、B、C,Dというようにブロッ
クが格納されている。
82において、次に外部キャッシュメモリでミスヒツト
した場合にはDが置換されることになっているものとす
る。
ここで、処理装置がBを参照したとする。このとき、内
蔵キャッシュメモリはヒツトし外部キャッシュメモリは
参照されないので83.84に示すような状態になる(
第8図(b))。
次に、処理装置が内蔵キャッシュメモリにも含まれない
ブロックEを参照したとする。このとき、外部キャッシ
ュにおいてはウェイ#3に存在するブロックDが置換さ
れる。ところが内蔵キャッシュメモリは2ウ工イセツト
アソシアテイブ方式でありウェイ#1までしかない。そ
こで外部キャッシュメモリの偶数ウェイを内蔵キャッシ
ュメモリのウェイ#0に対応させ、外部キャッシュメモ
リの奇数ウェイを内蔵キャッシュメモリのウェイ#1に
対応させることにする。このようにすると、外部キャッ
シュメモリ上てウェイ#3に存在するブロックDが置換
されると同時に、外部キャッシュメモリからの指示によ
って内蔵キャッシュメモリにおいてはウェイ#1に存在
するBが置換され、85.86に示すような状態となる
(第8図(C))。
この状態はバス監視回路を共有するための条件を満たし
ている。一般の内蔵キャッシュメモリのセット数がn、
外部キャッシュメモリのウェイ数がm(m≧n)の場合
には、mからnへの多数対1の対応間係を適当に決定す
ることによって本発明の実施が可能である。
以上述べたように本実施例によれば、外部キャッシュメ
モリに共有のバス監視回路を設け、このバス監視回路の
検出結果に応じてウェイ選択信号を内部から外部のウェ
イ選択信号に切り換えることにより、マイクロプロセッ
サに内蔵されているセットアソシアティブ方式の内蔵キ
ャッシュメモリに、ミスヒツトに伴うエントリの置換に
際して、置換の対象となるウェイの選択を、外部キャッ
シュメモリを基準としたチップ外からの指示に従って行
うようにしたので、内部キャッシュメモリをチップ外の
外部キャッシュメモリに容易に整合させることかでき、
従ってバス監視回路を両方のキャッシュメモリに独立に
設ける必要も、また、本来は無効化する必要のないブロ
ックまで無効化するということもない。
なお、上記実施例において主記憶とキャッシュメモリの
マツピング方式をセットアソシアティブ方式とした場合
について述べているが、このセットアソシアティブ方式
には、その特殊例であるダイレクトマツピング方式も含
まれる。
[発明の効果コ 本発明によれば、キャッシュメモリを内蔵しているマイ
クロプロセッサと外部キャッシュメモリとを組み合わせ
て用いた場合に発生する、内蔵キャッシュメモリの無駄
な無効化動作を減少させることができると共に、バス監
視手段を共有化することができる。
【図面の簡単な説明】
第1図は本実施例によるキャッシュメモリ制御方式を示
すブロック図、第2図は従来例によるキャッシュメモリ
制御方式を示すブロック図、第3図は従来例によるセッ
トアソシアティブ方式のキャッシュメモリを示すブロッ
ク図、第4図は一般的な内蔵キャッシュメモリと外部キ
ャッシュメモリのエントリ状態図、第5図は従来例によ
る内蔵キャッシュメモリと外部キャッシュメモリのエン
トリ状態図、第6図は本実施例によるセットアソシアテ
ィブ方式のキャッシュメモリを示すブロック図、第7図
は本実施例による2ウ工イセツトアソシアテイブ方式の
内蔵キャッシュメモリと外部キャッシュメモリのエント
リ状態図、第8図は本実施例による4ウ工イセツトアソ
シアテイブ方式の内蔵キャッシュメモリと外部キャッシ
ュメモリのエントリ状態図である。 11はマイクロプロセッサ、12は処理装置、13は内
蔵キャッシュメモリ、15は外部キャッシュメモリ、1
7は主記憶装置、18は内部キャッシュメモリ制御信号
、19はバス監視回路である。 ゝ1z〜 、1〕フイタo7°0セフ量 本実施例による7゛ロフ’)図 第1図 内臓4!フシ1メモリの状態 外部4tyシ1メモリの状東整 一脅費的なhフシ】メモリのlントリ状態第4図 内臓hフシスメモリの状態 外部hツシスメモリの状態 (C)処理装置がCを参照 従来例による’+t7ゾ1メモリのエントリ状態第5図 内臓4tフノスメモリの状態 外部hフシ2メモリの状態 本実施例1こよる2つ1イセフト71ン7ティブ方式の
エントリ状態第7図 内臓キt1シスメモリの状態 外部hyノヱメモリの状態 (b)処理装置がBを参照 (c)処理装置が[を参照 本実施例による4つlイセ7)7ソンアテ47゛方式の
エノトリ状態第8図 6、補正の内容 図面第4図を別紙の通り補正する。 1、事件の表示 平成2年特許願第182596号 2、発明の名称 キャッシュメモリ制御方式 3、補正をする者 事件との関係  特許出願人 住所(〒105)東京都港区虎ノ門1丁目7番1名称(
029)   沖電気工業株式会社代表者小杉信光 2号 4、代理人 住所(〒108)東京都港区芝浦4丁目10番3号内I
IIキtフシ1メモリの状態 外部4tツシ2メモリの状態 1的なh丁シヱメモリのエントリ状態 第4図

Claims (1)

  1. 【特許請求の範囲】 キャッシュメモリを内蔵したマイクロプロセッサの外部
    に外部キャッシュメモリが設けられ、主記憶装置と両キ
    ャッシュメモリのブロックの対応づけに、主記憶装置の
    各ブロックに対応するキャッシュメモリ上のブロックが
    複数個あるようにしたセットアソシアティブ方式を取る
    キャッシュメモリ制御方式において、 外部キャッシュメモリに主記憶装置に対する書き込みを
    検出するバス監視手段を備え、 ミスヒット時に、バス監視手段の検出結果に応じて外部
    キャッシュメモリから内蔵キャッシュメモリに制御信号
    を供給して、内蔵キャッシュメモリの置換されるエント
    リが格納されているウェイを外部キャッシュメモリと整
    合するように外部から指定する ようにしたことを特徴とするキャッシュメモリ制御方式
JP02182596A 1990-07-12 1990-07-12 キャッシュメモリ制御回路 Expired - Fee Related JP3078303B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02182596A JP3078303B2 (ja) 1990-07-12 1990-07-12 キャッシュメモリ制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02182596A JP3078303B2 (ja) 1990-07-12 1990-07-12 キャッシュメモリ制御回路

Publications (2)

Publication Number Publication Date
JPH0471049A true JPH0471049A (ja) 1992-03-05
JP3078303B2 JP3078303B2 (ja) 2000-08-21

Family

ID=16121054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02182596A Expired - Fee Related JP3078303B2 (ja) 1990-07-12 1990-07-12 キャッシュメモリ制御回路

Country Status (1)

Country Link
JP (1) JP3078303B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046961A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd システムコントローラ,スヌープタグ更新方法および情報処理装置
JP2008046949A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd マルチプロセッサシステム,システムボードおよびキャッシュリプレース要求処理方法
JP2008046992A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd スヌープタグの制御装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046961A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd システムコントローラ,スヌープタグ更新方法および情報処理装置
JP2008046949A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd マルチプロセッサシステム,システムボードおよびキャッシュリプレース要求処理方法
JP2008046992A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd スヌープタグの制御装置
EP1895421A1 (en) 2006-08-18 2008-03-05 Fujitsu Ltd. Control device for snoop tag
US8499125B2 (en) 2006-08-18 2013-07-30 Fujitsu Limited Control device for snoop tag

Also Published As

Publication number Publication date
JP3078303B2 (ja) 2000-08-21

Similar Documents

Publication Publication Date Title
US5584013A (en) Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US4811209A (en) Cache memory with multiple valid bits for each data indication the validity within different contents
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
US7321954B2 (en) Method for software controllable dynamically lockable cache line replacement system
US7284094B2 (en) Mechanism and apparatus allowing an N-way set associative cache, implementing a hybrid pseudo-LRU replacement algorithm, to have N L1 miss fetch requests simultaneously inflight regardless of their congruence class
JPH0364893B2 (ja)
JP3899376B2 (ja) キャッシュメモリシステム及びその運用方法
JP2735781B2 (ja) キャッシュ・メモリ制御システム及び方法
US20100217937A1 (en) Data processing apparatus and method
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US6145057A (en) Precise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
US5822760A (en) Cache-memory system having multidimensional cache
GB2546245A (en) Cache memory
US5749089A (en) Cache-memory system having multidimensional spread cache
US7219197B2 (en) Cache memory, processor and cache control method
JP2007156821A (ja) キャッシュシステム及び共用2次キャッシュ
US7461212B2 (en) Non-inclusive cache system with simple control operation
US6049849A (en) Imprecise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
US7007135B2 (en) Multi-level cache system with simplified miss/replacement control
JP5157424B2 (ja) キャッシュメモリシステム及びキャッシュメモリの制御方法
WO2005050454A1 (ja) キャッシュメモリおよびその制御方法
EP2866148B1 (en) Storage system having tag storage device with multiple tag entries associated with same data storage line for data recycling and related tag storage device
JPH10307752A (ja) 2次レベルキャッシュメモリシステム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees