JP2976980B2 - キャッシュ制御方式 - Google Patents

キャッシュ制御方式

Info

Publication number
JP2976980B2
JP2976980B2 JP63108944A JP10894488A JP2976980B2 JP 2976980 B2 JP2976980 B2 JP 2976980B2 JP 63108944 A JP63108944 A JP 63108944A JP 10894488 A JP10894488 A JP 10894488A JP 2976980 B2 JP2976980 B2 JP 2976980B2
Authority
JP
Japan
Prior art keywords
cache memory
data
information
address
bus
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
JP63108944A
Other languages
English (en)
Other versions
JPH01279342A (ja
Inventor
高夫 加藤
雅信 湯原
清次郎 多嶋
正則 平野
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
Nippon Telegraph and Telephone Corp
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd, Nippon Telegraph and Telephone Corp filed Critical Fujitsu Ltd
Priority to JP63108944A priority Critical patent/JP2976980B2/ja
Publication of JPH01279342A publication Critical patent/JPH01279342A/ja
Application granted granted Critical
Publication of JP2976980B2 publication Critical patent/JP2976980B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概 要〕 キャッシュメモリ制御方式に、特に、CPUと主記憶と
の間にキャッシュメモリを介在させ、該CPU以外の他の
デバイスによって該主記憶の任意のアドレスに対応の内
容を書き替えた時に該キャッシュメモリ内の対応するア
ドレスを無効化するよう制御する技術に関し、 CPUの性能、ひいてはシステム全体としての性能を低
下させずに、キャッシュメモリの内容と主記憶の内容と
の一致を保証し、これを容易に実現することを目的と
し、 第1のバスに接続され、セットアソシアティブ方式の
第1のキャッシュメモリを有する中央処理装置と、第2
のバスに接続された主記憶と、前記第1のバスと第2の
バスの間に接続され、前記第1のキャッシュメモリのセ
ット数の2k倍(kは0以上の整数)の個数のセットを有
すると共に、各ブロック毎に該ブロックのデータが前記
第1のキャッシュメモリ内のいずれのブロックに存在す
るかを指示する制御情報を有するセットアソシアティブ
方式の第2のキャッシュメモリとを具備し、前記第2の
キャッシュメモリは、前記主記憶にデータの書き込みが
行われた場合に該主記憶からのアドレス情報に対応する
データが前記第1のキャッシュメモリに存在するか否か
を前記制御情報に基づいて判定する手段と、該データが
該第1のキャッシュメモリに存在すると判定した場合に
前記第1のバスと前記第2のバスとを接続し、該第1の
キャッシュメモリに該アドレス情報と共に無効化のため
の制御信号を出力する手段とを有するように構成する。
〔産業上の利用分野〕
本発明は、キャッシュメモリ制御方式に関し、特に、
中央処理装置(CPU)と主記憶(装置)との間にキャッ
シュ(メモリ)を介在させ、該CPU以外の他のデバイス
によって該主記憶の任意のアドレスに対応の内容を書き
替えた時に該キャッシュメモリ内の対応するアドレスを
無効化するよう制御する技術に関する。
〔従来の技術〕
情報処理システムにおいては高速処理を行うCPUと低
速動作を行う主記憶との間の動作速度上のギャップをう
めるために、高速のキャッシュメモリを介在させること
が従来から行われている。マイクロプロセッサの分野で
も同様であり、集積度の向上に伴い小容量のキャッシュ
メモリを内蔵したチップもある。第15図にその一構成例
が示される。このキャッシュメモリ内蔵型のチップ、す
なわちCPU1は、キャッシュメモリ2の動作が外部の主
記憶3よりも高速である、アクセスしたアドレスのデ
ータがキャッシュメモリ2にある間はシステムバス4に
アクセスする必要がないので、チップがバス4を占有す
る時間を短縮する事ができ、ダイレクト・メモリ・アク
セス(DMA)コントローラ5がシステムバス4を使って
主記憶3にアクセスする時にCPUと競合する確率が少な
くなるので、高速処理に適している。
ところが技術的な制限から、チップ内部にはトランジ
スタ等の素子を多く設けることは出来ず、それ故充分な
容量のキャッシュメモリを設けることができないので、
キャッシュメモリのヒット率が低くなる。ここでヒット
率とは、アクセスしたアドレスのデータがキャッシュメ
モリ内に有るか否かを表す割合を示し、「有る」という
割合が高いほどヒット率は高い。このような不都合に対
処するため、チップの外部にもキャッシュメモリ(外部
キャッシュメモリ)を設け、それによって性能の向上を
図るようにしたシステムが提案されている。
第16図には外部キャッシュメモリを設けた一構成例が
示される。この構成では、システム全体としての性能を
向上させるために、CPUチップ1および外部キャッシュ
メモリ6を接続するCPUバス7と、外部キャッシュメモ
リ6および主記憶3を接続する主記憶バス8(第15図の
システムバス4に相当)とを分離し、必要な時だけCPU
バスと主記憶バスとの間で情報を転送するようにするの
が望ましい。
ところで、キャッシュメモリを備えた情報処理システ
ムにおいては、キャッシュメモリの内容と主記憶の内容
は一致していなければならない。従って、CPU以外のも
の、例えばDMAコントローラが主記憶の内容を書き替え
た時は、通常、キャッシュメモリ内の対応するアドレス
のブロック(通常16バイトまたは32バイト単位のメモリ
領域)を無効化することが行われる。このため、CPUに
は、外部の主記憶バス上のアドレス情報を取り込んで該
アドレスに対応するキャッシュメモリ内のブロックを無
効化する機能を持たせる必要がある。
〔発明が解決しようとする課題〕
上述した外部キャッシュメモリを設ける方式では、CP
Uの性能、ひいてはシステムの性能を向上させる目的でC
PUバスおよび主記憶バスの分離を行うと、DMAコントロ
ーラ等の他のデバイスからの書込みアドレスがCPUに転
送されないので、CPU内部のキャッシュメモリの対応す
るアドレスを無効化できないという問題が生じる。
一方、書込み時に常にCPUバスにアドレスを転送して
おくようにすれば無効化は可能となるが、逆に、CPUバ
スの占有率が上がって、システムの性能は低下するとい
う問題が生じる。
本発明は、上述した従来技術における問題点に鑑み創
作されたもので、CPUの性能、ひいてはシステム全体と
しての性能を低下させずに、キャッシュメモリの内容と
主記憶の内容との一致を保証し、これを容易に実現する
ことができるキャッシュメモリ制御方式を提供すること
を目的としている。
〔課題を解決するための手段〕
上述した従来技術における問題点は、外部キャッシュ
メモリ側で、内部キャッシュメモリにどのアドレスのブ
ロックが有るかを管理し、さらに主記憶バス上の書込み
アドレスを調べてCPU側に無効化アドレスを通過する必
要があるか否かを判定し、必要な場合だけCPUバスを使
用するよう制御することにより、解決され得る。
従って、本発明によれば、第1図の原理ブロック図に
示されるように、第1のバス11に接続され、セットアソ
シアティブ方式の第1のキャッシュメモリ12を有する中
央処理装置13と、第2のバス14に接続された主記憶装置
15と、第1のバス11と第2のバス14の間に接続され、第
1のキャッシュメモリ12のセット数の2k倍(kは0以上
の整数)の個数のセットを有すると共に、各ブロック毎
に該ブロックのデータが第1のキャッシュメモリ12内の
いずれのブロックに存在するかを指示する制御情報C1を
有するセットアソシアティブ方式の第2のキャッシュメ
モリ16とを具備し、第2のキャッシュメモリ16が、主記
憶装置15にデータの書き込みが行われた場合に該主記憶
装置からのアドレス情報AD1に対応するデータが第1の
キャッシュメモリ12に存在するか否かを制御情報C1に基
づいて判定する手段と、該データが該第1のキャッシュ
メモリに存在すると判定した場合に第1のバス11と第2
のバス14とを接続し、該第1のキャッシュメモリに該ア
ドレス情報AD1と共に無効化のための制御信号C0を出力
する手段とを有することを特徴とするキャッシュ制御方
式が提供される。
〔作 用〕
上述した構成によれば、第2のキャッシュメモリ16
は、自己が保有する制御情報C1と共に、中央処理装置13
からのアドレス情報AD2と第1のキャッシュメモリ12内
のいずれかのブロックを特定する第2の制御信号C2とに
基づいて、第1のキャッシュメモリ12に取り込まれてい
るデータに対応のアドレス情報を管理するようになって
いる。
この場合、キャッシュメモリの一つの形態としてよく
知られているセットアソシアティブ方式のキャッシュメ
モリが考えられる。これはアドレス情報の一部分である
セットアドレスで指定されるm個のセットと、さらにウ
ェイ番号で指定されるn個のウェイによって特定される
m×n個のブロックで構成されるキャッシュメモリであ
る。ある一つのセットに対応するデータがどこのウェイ
に登録されるかは、登録する時点のキャッシュメモリの
状態によって決まり、アドレス等によって一意に決まる
ものではない。また、第2の制御情報の1つの形態とし
て、後述するように、第1のキャッシュメモリ内の複数
のウェイのいずれのウェイにデータを取り込むかを指示
する情報、すなわち、データが取り込まれるべき当該ウ
ェイに対応するブロックを特定する情報(取り込みウェ
イ情報)が考えられる。以下、第1図の構成に基づきセ
ットアソシアティブ方式のキャッシュメモリにおいてこ
の取り込みウェイ情報を用いてキャッシュメモリ制御を
行う場合の一例について、第2図(a)〜(j)を参照
しながら説明する。
なお、以下の記述において、第1のキャッシュメモリ
は中央処理装置(CPU)の内部に有るという意味で「内
部キャッシュメモリ」、第2のキャッシュメモリはCPU
の外部に有るという意味で「外部キャッシュメモリ」と
称する。
第2図において、(a)〜(e)は内部キャッシュメ
モリのメモリ構成を概念的に示し、(f)〜(j)は外
部キャッシュメモリのメモリ構成を概念的に示す。ま
た、説明の簡単化のため、外部キャッシュメモリのセッ
ト数は内部キャッシュメモリのセット数の4倍としウェ
イは2つ(W0,W1)とする。
今仮に、A,B,Cというデータを内部キャッシュメモリ
に取り込む場合を考える。A,B,Cのアドレスは異ってい
るが、内部キャッシュメモリのセットアドレスは同一で
あるとする。
まず、CPU13はデータAをウェイW0に取り込み(第2
図(a)参照)、その旨を取り込みウェイ情報C2として
外部キャッシュメモリ16に知らせる。これを受けて外部
キャッシュメモリ16は、該データAをアドレス情報とウ
ェイ情報(この場合にはW0)と共に管理、すなわち記憶
する(第2図(f)参照)。
次に、CPU13はデータBをウェイW1に取り込み(第2
図(b)参照)、その旨を取り込みウェイ情報C2として
外部キャッシュメモリ16に知らせる。これを受けて外部
キャッシュメモリ16は、該データBをアドレス情報とウ
ェイ情報(この場合にはW1)と共に記憶する(第2図
(g)参照)。
次に、CPU13はデータCをウェイW1に取り込み(第2
図(c)参照)、その旨を取り込みウェイ情報C2として
外部キャッシュメモリ16に知らせる。この時、データB
が内部キャッシュメモリ12から消される。第2図
(e),(j)の斜線部に示すように、内部キャッシュ
メモリの1つのセットに対応する外部キャッシュメモリ
のセットは4ヶ所だけなので、この4ヶ所を検索する事
により、外部キャッシュメモリ16は、データBが内部キ
ャッシュメモリに取り込まれていたことを(B,W1)の情
報によって知っているので、取り込みウェイ情報C2を受
けた時に、データBがウェイW1から消され、その代わり
にデータCがウェイW1に取り込まれたことを記憶する
(第2図(h)参照)。
続いてCPU13はデータBをウェイW0に取り込み(第2
図(d)参照)、その旨を取り込みウェイ情報C2として
外部キャッシュメモリ16に知らせる。この時、データA
が内部キャッシュメモリ12から消される。外部キャッシ
ュメモリ16は、データAが内部キャッシュに取り込まれ
ていたことを(A,W0)の情報によって知っているので、
取り込みウェイ情報C2を受けた時に、データAがウェイ
W0から消され、その代わりにデータBがウェイW0に取り
込まれたことを記憶する(第2図(i)参照)。
このようにして外部キャッシュメモリ16は、内部キャ
ッシュメモリ12に取り込まれているデータに対応のブロ
ックが自己のメモリ内においてどのブロックに対応して
いるかを該ブロックのアドレス情報によって管理するこ
とができる。また、内部キャッシュメモリに有るデータ
は必ず外部キャッシュメモリにも有るので、主記憶装置
が接続された第2のバス上のアドレスを監視し、該アド
レスが内部キャッシュにも有るということが分かった時
だけ第1および第2のバスを接続し、CPU13に特定の制
御信号C0を与えて該アドレスの無効化を行うことによ
り、主記憶の内容と内部キャッシュメモリの内容との一
致を保証することができる。
なお、本発明の他の構成上の特徴および作用の詳細に
ついては、添付図面を参照しつつ以下に記述する実施例
を用いて説明する。
〔実施例〕
第3図には本発明によるキャッシュメモリ制御方式を
実現するためのシステム構成の一例がブロック的に示さ
れる。
第3図において、100はチップの形態を持つマイクロ
プロセッサ(CPU)を示し、該CPUは、内部キャッシュメ
モリ101と、該内部キャッシュメモリに或る処理を実行
させるための制御信号やアドレスを出力し、CPU内の処
理を制御する命令制御部102と、該命令制御部からの制
御の下で命令を実行する命令実行部103とを有してい
る。内部キャッシュメモリ101は、後で詳述するよう
に、内部キャッシュメモリ内の複数のブロックの各個に
対応して付さてたタグ(アドレス)に基づきキャッシュ
メモリを管理するためのタグ用RAM110と、データを管理
し記憶するためのデータ用RAM120と、内部キャッシュメ
モリ内の制御を行うための制御部130とを備えている。
200は外部キャッシュメモリであって、1組の制御ラ
イン、アドレスバスおよびデータバスを介してCPU100と
接続される一方で、別の一組の制御ライン、アドレスバ
スおよびデータバスを介してシステムバスに接続されて
いる。このシステムバスには主記憶装置M、DMAコント
ローラ(図示せず)等の周知のデバイスが接続されてい
る。外部キャッシュメモリ200は、内部キャッシュメモ
リ101と同じ構成、すなわちタグ用RAM210、データ用RAM
220、および制御部230を有しており、メモリ容量として
は内部キャッシュメモリの4倍の容量(後述)をもって
いる。
第4図には本発明によるキャッシュメモリ制御方式を
実現するためのシステム構成の他の例がブロック的に示
される。
第4図の構成が第3図の構成と異なる点は、外部キ
ャッシュメモリ200a内にタグ用RAM2 240が深され、該タ
グ用RAM2に内部キャッシュメモリ101内のタグ用RAM110
の情報がコピーされていること、それに伴いタグ用RA
M210aのメモリ構成が第3図のタグ用RAM210と一部異な
っていること、である。他の構成については同じであ
り、その具体的な構成および作用の詳細については後で
詳述する。
次に、第3図および第4図におけるキャッシュメモリ
のRAMの構成について、第5図(a)〜(e)を参照し
ながら説明する。なお、本実施例ではアドレス情報は32
ビット(A31〜0)で構成され、キャッシュメモリ内の
各ブロックは16バイト単位で構成されている。また、説
明の簡単化のため、キャッシュメモリ内のウェイの数は
2つの(W0,W1)とする。
内部キャッシュメモリのタグ用RAM(第5図(a)参
照)において、A31〜11はキャッシュメモリ内の各ブロ
ックを指定するためのアドレス情報、Iは制御情報を示
し、内部キャッシュメモリのブロックにデータが取り込
まれている(I=1)か否か(I=0)かを指示する。
Liは内部キャッシュメモリのウェイW0またはW1のいずれ
にデータを取り込むかを決定するためのLRU(Least Rec
ently Used)制御用情報である。例えば、Li=0の時は
内部キャッシュメモリのウェイW0にデータを取り込むも
のとし、Li=1の時は内部キャッシュメモリのウェイW1
にデータを取り込むものとする。A10〜4はセットアド
レス情報であって、該セットアドレスの指定に基づき各
ウェイのブロック、すなわち図示の例では2ブロックが
選択されるようになっている。それ故、制御情報Liはセ
ットアドレス毎に1ビットずつ設けられる。
従って、任意の1つのブロックを選択するためには、
まずセットアドレス情報A10〜4によって各ウェイのブ
ロックを全て選択し、次いで本来のアドレス情報A31〜1
1によっていずれか1つのブロックを選択する必要であ
る。内部キャッシュメモリのタグ用RAMは、ブロックの
数としては256ブロック(27ブロック×2ウェイ)を有
し、容量としては4Kバイト(16バイト×256ブロック)
を有している。
外部キャッシュメモリのタグ用RAM(第5図(c)参
照)においても同様に、A31〜13はキャッシュメモリ内
の各ブロックを指定するためのアドレス情報、E,I,Wは
それぞれ制御情報を示し、制御情報Eは外部キャッシュ
メモリのブロックにデータが取り込まれている(E=
1)か否(E=0)かを指示し、制御情報Wは内部キャ
ッシュメモリのどちらのウェイに取り込まれているかを
指示し、ウェイW0に取り込まれている場合にはW=0、
ウェイW1に取り込まれている場合にはW=1、で表わさ
れる。制御情報Iは内部キャッシュメモリの場合と同様
である。また、Leは外部キャッシュメモリのウェイW0ま
たはW1のいずれにデータを取り込むかを決定するための
LRU制御用情報、A12〜4はセットアドレス情報を示す。
ここで、Le=0の時は外部キャッシュのウェイW0にデー
タを取り込むものとし、Le=1の時は外部キャッシュメ
モリのウェイW1にデータを取り込むものとする。
従って、外部キャッシュメモリのタグ用RAMは、ブロ
ックの数として1024ブロック(29ブロック×2ウェイ)
を有し、容量として16Kバイト(16バイト×1024ブロッ
ク)、つまり内部キャッシュメモリの4倍の容量を有し
ている。
同様に、内部キャッシュメモリのデータ用RAM(第5
図(b)参照)においてA10〜2はキャッシュメモリ内
の各1/4データブロックを指定するためのアドレス情報
を示し、外部キャッシュメモリのデータ用RAM(第5図
(d)参照)においてA12〜2はキャッシュメモリ内の
各1/4データブロックを指定するためのアドレス情報を
示す。また、第4図の外部キャッシュメモリ200aにおい
ては付加されるタグ用RAM2 240(第5図(e)参照)
は、内部キャッシュメモリ内のタグ用RAMと同じメモリ
構成を有している。ただしこの場合には、LRU制御を行
うための制御情報Liは不要となり、さらに、タグ用RAM2
10aにおいて制御情報I,Wも不要となる。
次に、第3図および第4図に示される内部キャッシュ
メモリおよび外部キャッシュメモリの具体的な回路構成
例について、第6図〜第10図を参照しながら説明する。
第6図の例示は、CPU100から外部キャッシュメモリ20
0または200aに対し制御情報として、内部キャッシュメ
モリのどちらのウェイ(W0またはW1)にデータを取り込
むかを指示する情報(取り込みウェイ情報)を出力する
場合(以下、ケース1とする)の、内部キャッシュメモ
リの構成例を示す。
第6図において、110はタグ用RAM、120はデータ用RAM
に対応する。タグ用RAM110において、111,112はそれぞ
れウェイ0、ウェイ1に対応するRAMであって、内部ア
ドレスバスを介して供給されるアドレス情報A31〜11と
制御部130から供給される制御情報Iを一時記憶するた
めのものである。RAM111,112はそれぞれ、制御部130か
らの制御信号と内部アドレスバスを介して供給されるセ
ットアドレス情報A10〜4とに応答し、該セットアドレ
ス情報によって指定されるブロックに対応のアドレス情
報A31〜11を制御情報Iと共に出力する。この出力され
た情報は、それぞれ対応の比較器113,114に入力され、
そこで、内部アドレスバスを介して供給されるアドレス
情報A31〜11と比較される。この比較結果に基づく情報
は、制御部30、および、データ用RAM120における対応の
制御ゲート123,124に供給される。
115はLRU制御用のRAMであって、制御部130からの制御
情報Li、すなわち内部キャッシュメモリのウェイW0また
はW1のいずれにデータを取り込むかを指示する情報を一
時記憶するためのものである。LRU制御用のRAM115は、
制御部130からの制御信号と内部アドレスバスを介して
供給されるセットアドレス情報A10〜4とに応答して制
御情報Liを出力する。この出力された情報は、制御部13
0に供給される一方で、取り込みウェイ情報として外部
キャッシュメモリ側に転送される。
一方、データ用RAM120において、121,122はそれぞれ
ウェイ0、ウェイ1に対応するRAMであって、内部デー
タバスを介して供給されるデータ情報D31〜0を一時記
憶するためのものである。RAM121,122はそれぞれ、制御
部130からの制御信号とセレクタ125から供給されるアド
レス指令とに応答し、該アドレス指令によって指示され
る1/4ブロックに対応のデータ情報を出力する。この出
力されたデータ情報は、それぞれ対応の制御ゲート123,
124に入力され、前述した比較器113,114の出力が「一
致」を指示している時に該ゲートを通過し、内部データ
バスに出力される。
セレクタ125の出力はカウンタ126にも供給されてお
り、該カウンタ126は、4バイトのデータに相当する分
だけアドレスを更新する機能を有している。このカウン
タ126の出力はレジスタ127において一時的にラッチされ
た後、セレクタ125の一方の入力端にフィードバックさ
れる。このセレクタ125の他方の入力端には、内部アド
レスバスを介してデータアクセス用のアドレス情報A10
〜2が入力されるようになっている。
従って、データ用RAM120は、現在取り込んでいるデー
タあるいは出力しているデータのアドレス情報、すなわ
ちA31〜11,およびA10〜4が同じである限り、125〜127
の構成要素によってデータを4バイト単位で出力し、あ
るいは取り込むことができる。
次に、第7図の例示は、前述したケース1における外
部キャッシュメモリの構成例を示す。
第7図において、210または210aはタグ用RAM、220は
データ用RAMに対応する。タグ用RAM210(210a)におい
て、211,212はそれぞれウェイ0、ウェイ1に対応するR
AMであって、内部アドレスバスを介して供給されるアド
レス情報A31〜13と制御部230から供給される制御情報I
と内部キャッシュメモリ側から転送されてくる取り込み
ウェイ情報とを一時記憶するためのものである。RAM211
および212はそれぞれ、制御部230からの制御信号の内部
アドレスバスを介して供給されるセットアドレス情報A1
2〜4とに応答し、該セットアドレス情報によって指定
されるブロックに対応のアドレス情報A31〜13を制御情
報Eと共にそれぞれ対応の比較器213,215に出力する一
方で、制御情報I,Wをそれぞれ対応の比較器214,216に出
力する。
RAM211および212から出力される情報のうち前者は、
それぞれ対応の比較器213,215において、内部アドレス
バスを介して供給されるアドレス情報A31〜13と比較さ
れる。この比較結果に基づく情報は、制御部230、およ
び、データ用RAM220における対応の制御ゲート223,224
に供給される。一方、RAM211および212から出力される
情報のうち後者は、それぞれ対応の比較器214,216にお
いて、内部キャッシュメモリ側から転送されてくる取り
込みウェイ情報と比較される。この比較結果に基づく情
報は、制御部230に供給される。
217はLRU制御用のRAMであって、制御部230から制御情
報Le、つまり外部キャッシュメモリのウェイW0またはW1
のいずれにデータを取り込むかを指示する情報を一時記
憶するためのものである。LRU制御用のRAM217は、制御
部230からの制御信号と内部アドレスバスを介して供給
されるセットアドレス情報A12〜4とに対応して制御情
報Leを該制御部230に供給する。218はカウンタであっ
て、内部アドレスバス上のセットアドレスA12〜4に対
し2Kバイト単位でアドレスを更新する機能を有してお
り、該カウンタ218の出力は、レジスタ219において一時
的にラッチされた後、内部アドレスバスに出力される。
なお、データ用RAM220(構成要素221〜227)は、内部
キャッシュメモリにおけるデータ用RAM120(構成要素12
1〜127)と同じ構成および作用を有しているので、その
説明は省略する。
第8図の例示は、CPU100から外部キャッシュメモリ20
0または200aに対し制御情報として、内部キャッシュメ
モリ内のいずれかのブロックに対応のアドレスを追い出
していることを指示する情報(追い出しアドレス情報)
を出力する場合(以下、ケース2とする)の、内部キャ
ッシュメモリの構成例を示す。
第5図(a)において説明したように、セットアドレ
ス情報A10〜4によって選択され得るブロックは各ウェ
イのブロック、すなわち2ブロックであるが、もし、同
じセットアドレスに対応のブロックのすべてにデータが
取り込まれている状態で、次にその同じセットアドレス
でデータを取り込む場合には、いずれか一方のウェイに
対応のデータは必然的に追い出されることになる。この
時、その追い出されるデータに対応のブロックのアドレ
スを出力することにより、前述のケース1の場合と同じ
効果を奏することができる。
第8図の回路構成が第6図の回路構成と異なる点は、
タグ用RAM110′にセレクタ116およびレジスタ117が付加
されていることLRU制御用のRAM115からの出力が外部キ
ャッシュメモリ側に転送されない事である。この場合、
セレクタ116の一方の入力端にはRAM111の出力が供給さ
れ、他方の入力端にはRAM112の出力が供給されており、
該セレクタは制御部130からの制御信号に応答していず
れか一方RAMの出力、すなわちアドレス情報A31〜11を選
択する機能を有している。セレクタの出力は、レジスタ
117において一時的にラッチされた後、内部アドレスバ
スを介して外部キャッシュメモリ側に転送される。他の
回路構成については第6図の場合と同じであるので、そ
の説明は省略する。
次に、第9図の例示は、前述したケース2における外
部キャッシュメモリの構成例を示す。
第9図の回路構成が第7図の回路構成と異なる点は、
取り込みウェイ情報(ケース1)の代わりに追い出しア
ドレス情報を利用していることに起因して、RAM211′
および212′において制御情報Wが不要になっているこ
と、比較器214および216が不要になっていること、
RAM211′および212′のそれぞれ一方の出力が制御部230
に直接入力されていること、である。他の回路構成につ
いては第7図の場合と同じであるので、その説明は省略
する。
第10図の例示は、第4図におけるタグ用RAM2の構成例
を示す。
第10図の回路構成は第6図に示される内部キャッシュ
メモリのタグ用RAM110(但し、LRU制御用のRAM115は除
く)と同じであるので、その説明は省略する。ただし、
タグ用RAM2を備えた外部キャッシュメモリ200aの場合に
は、第7図および第9図に示されるタグ用RAM210a,210
a′において制御情報I,Wとそれに関する信号線は不要と
なる。
次に、第3図または第4図の構成に基づくキャッシュ
メモリ制御について第11図〜第14図の信号タイミング図
を参照しながら説明する。
第11図の例示は、第3図の構成(具体的には第6図お
よび第7図の構成)に基づき前述のケース1(取り込み
ウェイ情報を出力する場合)を実施した時の信号タイミ
ングを示す。なお、基準クロックの周波数は約20MHzと
する。
まず、CPU100から外部キャッシュメモリ200にデータ
を取り込むためのアドレス情報(番地n)を通知する
と、外部キャッシュメモリからはそのアドレス情報に応
じて4バイト単位で合計16バイト、つまり1ブロック分
のデータが送られてくる。この時、CPUから、そのデー
タを内部キャッシュメモリ内に取り込むことを指示する
制御信号と、どちらのウェイ(W0またはW1)に該データ
を取り込んだかを指示する制御信号(取り込みウェイ情
報)とが外部キャッシュメモリに送られる。今仮に、ウ
ェイW0にデータを取り込むものとし、ウェイW0には未だ
データが取り込まれていなかったものとする。
外部キャッシュメモリ側では、要求されているアドレ
ス情報(番地n)に対応のセットアドレスn12〜4がRAM
211および212に取り込まれ、さらに制御部230からの制
御に基づいて該RAM内の対応するアドレス情報A31〜13が
比較器213および215に出力される。比較器ではRAM211お
よび212から出力されたアドレス情報と内部アドレスバ
スを介して今入力されたアドレス情報n31〜13とが比較
される。この結果、仮に両者が一致(ヒット)したもの
とする。これによって、外部キャッシュメモリは、内部
キャッシュメモリのウェイW0にデータが取り込まれたこ
とを知り、自己のタグ用RAM内の対応するブロックの1
つにI=1を書込み、同時に制御情報Wとしてこの場合
にはW=0を書込む。
この場合、内部キャッシュメモリの1つのブロックに
対応する外部キャッシュメモリのブロックは8箇所存在
(第5図参照)するので、仮にタグ用RAM内のブロック
の1つにI=1,W=0を書込んだとしても、対応する他
のブロックに、ウェイW0に取り込まれているデータがな
いかどうかを検索する必要がある。これを行うために、
外部キャッシュメモリのタグ用RAM内のカウンタ218およ
びレジスタ219が機能する。この結果、セットアドレスn
12〜4が2Kバイト単位で順次更新され、更新される毎
に、セットアドレスn12〜4がRAM211および212に取り込
まれ、さらに制御部230からの制御に基づいて制御情報
I,Wが比較器214,216に出力される。比較器214,216は、R
AM211,212から出力された制御情報とCPUから送られてき
た取り込みウェイ情報とを比較する。
前述したように、内部キャッシュメモリのウェイW0に
はデータは取り込まれていないので、制御情報I,Wの比
較をいくら行なっても、W=0に対してはヒットせず、
「ミス」が続く(第11図において、取り込まれたウェイ
が無い場合に相当)。
逆に、I=1,W=0を書込んだブロックに対応する他
のブロックに、ウェイW0に取り込まれているデータがな
いかどうかを検索中に、もし見つかれば、そのブロック
はウェイW0から追い出されたはずなので、制御情報I,W
の比較において「ヒット」になった時点で該ブロックに
I=0を書込む(第11図において、取り込まれたウェイ
が有る場合に相当)。
このようにして外部キャッシュメモリでは、内部キャ
ッシュメモリに取り込まれているデータに対応のブロッ
クが自己のメモリ内においてどのブロックに対応してい
るかを管理することができる。従って、主記憶バス上の
アドレスを監視し、該アドレスが内部キャッシュメモリ
にも有るということが分かった時だけCPUバスと主記憶
バスを接続し、CPUに対して該アドレスの無効化を要求
すれば、簡単に主記憶の内容と内部キャッシュメモリの
内容とを一致させることができる。
第12図の例示は、第3図の構成(具体的には第8図お
よび第9図の構成)に基づき前述のケース2(追い出し
アドレス情報を出力する場合)を実施した時の信号タイ
ミングを示す。
第12図の例示は、ウェイW0,W1共にデータが取り込ま
れている状態で更に、いずれかのウェイに対応のブロッ
クに新しいデータが取り込まれることにより必然的に該
ブロックに対応の旧いデータが追い出される場合に相当
している。基本的な動作については第11図の場合と同じ
であるので、相違点についてのみ説明する。
CPU100は、外部キャッシュメモリ200に取り込みアド
レス情報(番地n)を通知した後、続けて、追い出しの
必要なブロックの追い出しアドレス情報(番地m)を通
知すると共に、追い出しを行ったことを指示する制御信
号を出力する。従って、外部キャッシュメモリでは、制
御情報Wは不要であり、ただ、追い出しが生じた時に該
追い出しをひき起こした新しいデータが内部キャッシュ
メモリに取り込まれたことを記憶し、m番地に対応する
ブロックの制御情報をI=0とすればよい。
第13図の例示は、第4図の構成(具体的には第6図お
よび第7図および第10図の構成)に基づき前述のケース
I(取り込みウェイ情報を出力する場合)を実施した時
の信号タイミングを示し、第14図の例示は、第4図の構
成(具体的には第8図および第9図および第10図の構
成)に基づき前述のケース2(追い出しアドレス情報を
出力する場合)を実施した時の信号タイミングを示す。
両者の場合、タグ用RAM2を検索し、或るセットアドレス
に対して両方のウェイWO,W1の制御情報Iが共にI=1
(ヒット)であれば、内部キャッシュメモリからの追い
出しが発生する。もし1つ以上の空きがあれば、例えば
若番のウェイに登録するようにすればよい。いずれの場
合にもそれぞれ第11図、第12図のキャッシュメモリ制御
方式から類推され得るので、その説明については省略す
る。
〔発明の効果〕
以上説明したように本発明によるキャッシュメモリ制
御方式によれば、CPUの性能、ひいてはシステム全体と
しての性能を低下させずに、キャッシュメモリの内容と
主記憶の内容との一致を保証し、これを容易に実現する
ことができる。
【図面の簡単な説明】
第1図は本発明によるキャッシュメモリ制御方式の原理
図、 第2図(a)〜(j)は第1図の構成に基づくキャッシ
ュメモリ制御の一例を説明するための図、 第3図は本発明によるキャッシュメモリ制御方式を実現
するためのシステム構成の一例を示すブロック図、 第4図は本発明によるキャッシュメモリ制御方式を実現
するためのシステム構成の他の例を示すブロック図、 第5図(a)〜(e)は第3図および第4図におけるキ
ャッシュメモリのRAMの構成を概念的に示す図、 第6図は第3図および第4図における内部キャッシュメ
モリの具体的な一構成例を示す回路図、 第7図は第3図および第4図における外部キャッシュメ
モリの具体的な一構成例を示す回路図、 第8図は第3図および第4図における内部キャッシュメ
モリの具体的な他の構成例を示す回路図、 第9図は第3図および第4図における外部キャッシュメ
モリの具体的な他の構成例を示す回路図、 第10図は第4図におけるタグ用RAM2の具体的な一構成例
を示す回路図、 第11図は第3図の構成に基づくキャッシュメモリ制御の
一例を説明するための信号タイミング図、 第12図は第3図の構成に基づくキャッシュメモリ制御の
他の例を説明するための信号タイミング図、 第13図は第4図の構成に基づくキャッシュメモリ制御の
一例を説明するための信号タイミング図、 第14図は第4図の構成に基づくキャッシュメモリ制御の
他の例を説明するための信号タイミング図、 第15図はキャッシュメモリを備えたシステム構成の一例
を示すブロック図、 第16図はキャッシュメモリを備えたシステム構成の他の
例を示すブロック図、 である。 (符号の説明) 11……第1のバス(CPUバス)、 12……第1のキャッシュメモリ(内部キャッシュメモ
リ)、 13……中央処理装置(CPU)、 14……第2のバス(主記憶バス)、 15……主記憶装置、 16……第2のキャッシュメモリ(外部キャッシュメモ
リ)、 AD1,AD2……アドレス情報、BL……ブロック、 C0……制御信号、C1,C2……制御情報、 W0,W1……ウェイ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 多嶋 清次郎 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (72)発明者 平野 正則 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (56)参考文献 特開 平1−199251(JP,A) 特開 昭58−9277(JP,A) 特開 昭55−33253(JP,A) 実開 昭59−130294(JP,U) (58)調査した分野(Int.Cl.6,DB名) G06F 12/08 - 12/12

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】第1のバス(11)に接続され、セットアソ
    シアティブ方式の第1のキャッシュメモリ(12)を有す
    る中央処理装置(13)と、 第2のバス(14)に接続された主記憶装置(15)と、 前記第1のバスと第2のバスの間に接続され、前記第1
    のキャッシュメモリのセット数の2k倍(kは0以上の整
    数)の個数のセットを有すると共に、各ブロック毎に該
    ブロックのデータが前記第1のキャッシュメモリ内のい
    ずれのブロックに存在するかを指示する制御情報(C1)
    を有するセットアソシアティブ方式の第2のキャッシュ
    メモリ(16)とを具備し、 前記第2のキャッシュメモリは、前記主記憶装置にデー
    タの書き込みが行われた場合に該主記憶装置からのアド
    レス情報(AD1)に対応するデータが前記第1のキャッ
    シュメモリに存在するか否かを前記制御情報(C1)に基
    づいて判定する手段と、該データが該第1のキャッシュ
    メモリに存在すると判定した場合に前記第1のバスと前
    記第2のバスとを接続し、該第1のキャッシュメモリに
    該アドレス情報(AD1)と共に無効化のための制御信号
    (C0)を出力する手段とを有することを特徴とするキャ
    ッシュ制御方式。
JP63108944A 1988-05-06 1988-05-06 キャッシュ制御方式 Expired - Lifetime JP2976980B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63108944A JP2976980B2 (ja) 1988-05-06 1988-05-06 キャッシュ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63108944A JP2976980B2 (ja) 1988-05-06 1988-05-06 キャッシュ制御方式

Publications (2)

Publication Number Publication Date
JPH01279342A JPH01279342A (ja) 1989-11-09
JP2976980B2 true JP2976980B2 (ja) 1999-11-10

Family

ID=14497605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63108944A Expired - Lifetime JP2976980B2 (ja) 1988-05-06 1988-05-06 キャッシュ制御方式

Country Status (1)

Country Link
JP (1) JP2976980B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401185B2 (en) * 2006-07-06 2008-07-15 International Business Machines Corporation Buffered indexing to manage hierarchical tables
JP4821887B2 (ja) 2009-06-08 2011-11-24 日本電気株式会社 コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法

Also Published As

Publication number Publication date
JPH01279342A (ja) 1989-11-09

Similar Documents

Publication Publication Date Title
US4928225A (en) Coherent cache structures and methods
JP3352598B2 (ja) マイクロプロセッサ
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
AU608447B2 (en) Data memory system
JPH0743670B2 (ja) ストアスルーキャッシュ管理システム
KR100851738B1 (ko) 로우-레벨 캐시를 포함한 액세스 촉진용 리버스 디렉토리
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
JPH04230549A (ja) 多重レベル・キャッシュ
US5813030A (en) Cache memory system with simultaneous access of cache and main memories
JP3116215B2 (ja) 二重ディレクトリー仮想キャッシュの制御方法
US6813694B2 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
JP2976980B2 (ja) キャッシュ制御方式
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
WO2006024323A1 (en) A virtual address cache and method for sharing data using a unique task identifier
US20060015689A1 (en) Implementation and management of moveable buffers in cache system
JP2580263B2 (ja) バッファ記憶装置
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
JP2552704B2 (ja) データ処理装置
US6078971A (en) Input/output buffer and method for invalidating transferred data in direct memory access transfer
US9720834B2 (en) Power saving for reverse directory
JPH05342101A (ja) 階層キャッシュ・メモリ
JPH02213960A (ja) キャッシュメモリ
JPH07234819A (ja) キャッシュメモリ
US20230342305A1 (en) Victim cache that supports draining write-miss entries

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 9