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

キャッシュ制御方式

Info

Publication number
JPH01279342A
JPH01279342A JP63108944A JP10894488A JPH01279342A JP H01279342 A JPH01279342 A JP H01279342A JP 63108944 A JP63108944 A JP 63108944A JP 10894488 A JP10894488 A JP 10894488A JP H01279342 A JPH01279342 A JP H01279342A
Authority
JP
Japan
Prior art keywords
cache memory
information
address
bus
data
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
JP63108944A
Other languages
English (en)
Other versions
JP2976980B2 (ja
Inventor
Takao Kato
加藤 高夫
Masanobu Yuhara
雅信 湯原
Seijiro Tajima
多嶋 清次郎
Masanori Hirano
平野 正則
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)

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 キャッシュメモリ制御方式、特に、CPUと主記憶との
間にキャッシュメモリを介在させ、該CPU以外の他の
デバイスによって該主記憶の任意のアドレスに対応の内
容を書き替えた時に該キャッシュメモリ内の対応するア
ドレスを無効化するよう制御する技術に関し、 CPUの性能、ひいてはンステム全体としての性能を低
下させずに、キャッシュメモリの内容と主記憶の内容と
の一致を保証し、これを容易に実現することを目的とし
、 第1のバスに接続され、複数のブロックからなる第1の
キャッシュメモリを有するCPUと、第2のバスに接続
された主記憶と、第1のバスと第2のバスの間に介在さ
れ、複数のブロックを有し、該ブロック毎に第1の制御
情報を有する第2のキャッシュメモリとを具備し、CP
Uがデータ取り込みの際に第1のバスにアドレス情報と
第2の制御情報を出力し、第2のキャッシュメモリが、
第1の制御情報とCPUからのアドレス情報および第2
の制御情報とに基づき、第1のキャッシュメモリにどの
アドレスのブロックが有るかを管理し、さらに第2のバ
ス上の書込みアドレスを調べてCPU側に無効化アドレ
スを通知する必要があるか否かを判定し、必要な場合だ
け第1のバスを使用するよう制御するように構成する。
〔産業上の利用分野〕
本発明は、キャッシュメモリ制御方式に関し、特に、中
央処理装置(CPU)と主記憶(装置)との間にキャッ
シュ(メモリ)を介在させ、該CPU以外の他のデバイ
スによって該主記憶の任意のアドレスに対応の内容を書
き替えた時に該キャッシュメモリ内の対応するアドレス
を無効化するよう制御する技術に関する。
〔従来の技術〕
情報処理システムにおいては高速処理を行うCPUと低
速動作を行う主記憶との間の動作速度上のギャップをう
めるために、高速のキャッシュメモリを介在させること
が従来から行われている。
マイクロプロセッサの分野でも同様であり、集積度の向
上に伴い小容量のキャッシュメモリを内蔵したチップも
ある。第15図にその一構成例が示される。このキャッ
シュメモリ内蔵型のチップ、すなわちCPU1は、■キ
ャッシュメモリ2の動作が外部の主記憶3よりも高速で
ある、■アクセスしたアドレスのデータがキャッシュメ
モリ2kあル間はシステムバス4にアクセスする必要が
ないので、チップがバス4を占有する時間を短縮する事
ができ、ダイレクト・メモリ・アクセス(DMA)コン
トローラ5がシステムハス4を使って主犯1.α3にア
クセスする時にCPUと競合する確率が少なくなるので
、高速処理に適している。
ところが技術的な制限から、チップ内部にはトランジス
タ等の素子を多(設けることは出来ず、それ故充分な容
量のキャッシュメモリを設けることができないので、キ
ャッシュメモリのヒツト率が低くなる。ここでヒツト率
とは、アクセスしたアドレスのデータがキャッシュメモ
リ内に有るか否かを表す割合を示し、「有る」という割
合が高いほどヒツト率は高い。このような不都合に対処
するため、チップの外部にもキャッシュメモリ(外部キ
ャッシュメモリ)を設け、それによって性能の向上を図
るようにしたシステムが提案されている。
第16図には外部キャッシュメモリを設けたー構成例が
示される。この構成では、システム全体としての性能を
向上させるために、C,PUチップ1および外部キャッ
シュメモリ6を接続するCPUバス7と、外部キャッシ
ュメモリ6および主記憶3を接続する主記憶バス8 (
第15図のシステムバス4に相当)とを分離し、必要な
時だけCPUバスと主記憶バスとの間で情報を転送する
ようにするのが望ましい。
ところで、キャッシュメモリを備えた情報処理システム
においては、キャッシュメモリの内容と主記憶の内容は
一致していなければならない。従って、CPU以外のも
の、例えばDMAコントローラが主記憶の内容を書き替
えた時は、通常、キャッシュメモリ内の対応するアドレ
スのブロック(通常16バイトまたは32バイト単位の
メモリ領域)を無効化することが行われる。このため、
CPUには、外部の主記憶バス上のアドレス情報を取す
込んで該アドレスに対応するキャッシュメモリ内のプロ
7りを無効化する機能を持たせる必要がある。
〔発明が解決しようとする課題〕
上述した外部キャッシュメモリを設ける方式では、CP
Uの性能、ひいてはシステムの性能を向上させる目的で
CPUバスおよび主記憶ハスの分離を行うと、DMAコ
ントローラ等の他のデバイスからの書込みアドレスがC
PUに転送されないので、CPU内部のキャッシュメモ
リの対応するアドレスを無効化できないという問題が生
じる。
一方、書込み時に常にCPUバスにアドレスを転送して
おくようにすれば無効化は可能となるが、逆に、CPU
バスの占有率が上がって、システムの性能は低下すると
いう問題が生じる。
本発明は、上述した従来技術における問題点に鑑み創作
されたもので、CPUの性能、ひいてはシステム全体と
しての性能を低下させずに、キャッシュメモリの内容と
主記憶の内容との一致を保証し、これを容易に実現する
ことができるキャッシュメモリ制御方式を提供すること
を目的としている。
〔課題を解決するための手段〕
上述した従来技術における問題点は、外部キャッシュメ
モリ側で、内部キャッシュメモリにどのアドレスのブロ
ックが有るかを管理し、さらに主記憶バス上の書込みア
ドレスを調べてCPU側に無効化アドレスを通知する必
要があるか否かを判定し、必要な場合だけCPUバスを
使用するよう制御することにより、解決され得る。
従って、本発明によれば、第1図の原理ブロック図に示
されるように、第1のバス11に接続され、メモリ領域
が複数個のブロックに分割され更に該ブロック毎に複数
個のウェイに分割された第1のキャッシュメモリ12を
有し、外部からのアドレス情報ADIと特定の制御信号
COに応答して該アドレスに対応のブロックが無効化さ
れるようになっている中央処理装置13と、 第2のバス14に接続された主記憶装置15と、前記第
1のバスと第2のバスの間に介在され、前記第1のキャ
ッシュメモリの各ブロック8mに対し2k倍の個数のブ
ロックを有し、該ブロック毎に前記第1のキャッシュメ
モリ内のいずれのブロックにデータが取り込まれている
かを指示する第1の制御情報C1を有する第2のキャッ
シュメモリ16とを具備し、 前記中央処理装置は、前記第1のキャッシュメモリにデ
ータを取り込む際に、前記第1のバスにアドレス情報A
D2 と共に該第1のキャッシュメモリ内のいずれかの
ブロックを特定する第2の制御情報C2を出力し、 前記第2のキャッシュメモリは、前記第1の制御情報C
1と前記中央処理装置からのアドレス情報AD2および
第2の制御情報C1とに基づいて前記第1のキャッシュ
メモリに取り込まれているデータに対応のブロック81
が自己のメモリ内に右いていずれのブロックに対応して
いるかを該ブロックのアドレス情報によって管理し、前
記第2のバスを介して他のデバイスにより前記主記憶装
置に書込みが行われた際に該書込みのアドレス情報AD
Iが前記管理されているアドレス情報と一致した時に該
第2のバス14を前記第1のバス11に接続し、該アド
レス情報ADIを伝達すると共に前記特定の制御信号C
Oを出力するようにしたことを特徴とするキャッシュメ
モリ制御方式が提供される。
〔作 用〕
上述した構成によれば、第2のキャッシュメモリ16は
、自己が保有する制御情報C1と共に、中央処理装置1
3からのアドレス情報AD2と第1のキャッシュメモリ
12内のいずれかのブロックを特定する第2の制御情報
C2とに基づいて、第1のキャッシュメモリ12k取り
込まれているデータに対応のアドレス情報を管理するよ
うになっている。
この場合、キャッシュメモリの一つの形態としてよく知
られているセットアソシアティブ方式のキャッシュメモ
リが考えられる。これはアドレス情報の一部分であるセ
ットアドレスで指定されるm個のセットと、さらにウェ
イ番号で指定されるn個のウェイによって特定されるm
xn個のブロックで構成されるキャッシュメモリである
。ある一つのセットに対応するデータがどこのウェイに
登録されるかは、登録する時点のキャッシュメモリの状
態によって決まり、アドレス等によって一意に決まるも
のではない。また、第2の制御情報の1つの形態として
、後述するように、第10キヤツジコメモリ内の複数の
ウェイのいずれのウェイにデータを取り込むかを指示す
る情報(取り込みウェイ情報)が考えられる。以下、第
1図の構成に基づきセットアソシアティブ方式のキャッ
シュメモリにおいてこの取り込みウェイ情報を用いてキ
ャッシュメモリ制御を行う場合の一例について、第2図
(a)〜(」)を参照しながら説明する。
な右、以下の記述において、第1のキャッシュメモリは
中央処理装置(CPU)の内部に有るという意味で「内
部キャッシュメモリ」、第2のキャッシュメモリはCP
Uの外部に有るという意味で「外部キャッシュメモリ」
と称する。
第2図において、(a)〜(e)は内部キャッシュメモ
リのメモリ構成を概念的に示し、(f)〜(j)は外部
キャッシュメモリのメモリ構成を概念的に示す。また、
説明の簡単化のため、外部キャッシュメモリのセット数
は内部キャッシュメモリのセット数の4倍としウェイは
2つ(WO,Wl) とする。
今仮に、A、 B、 Cというデータを内部キャッシュ
メモリに取り込む場合を考える。八、 B、 Cのアド
レスは異っているが、内部キャッシュメモリのセットア
ドレスは同一であるとする。
まず、CPU13はデータAをウェイWOに取り込み(
第2図(a)参照)、その旨を取り込みウェイ情報C2
として外部キャッシュメモリ16に知らせる。
これを受けて外部キャッシュメモリ16は、該データA
をアドレス情報とウェイ情報(この場合にはW0)  
と共に管理、すなわち記憶する(第2図([)参照)。
次に、CPU13はデータBをウェイW1に取り込み(
第2図(b)参照)、その旨を取り込みウェイ情報C2
として外部キャッシュメモリ16に知らせる。
これを受けて外部キャッシュメモリ16は、該データB
をアドレス情報とウェイ情報(この場合には1111)
  と共に記憶する(第2図(g)参照)。
次に、CPU13はデータCをウェイ1111に取り込
み(第2図(C)参照)、その旨を取り込みウェイ情報
C2として外部キャッシュメモリ16に知らせる。
この時、データBが内部キャッシュメモリ12から消さ
れる。第2図(e)、 (j)の斜線部に示すように、
内部キャッシュメモリの1つのセットに対応する外部キ
ャッシュメモリのセットは4ケ所だけなので、この4ケ
所を検索する事により、外部キャッシュメモリ16は、
データBが内部キャッシュメモリに取り込まれていたこ
とを(BJ1)の情報によって知っているので、取り込
みウェイ情報C2を受けた時に、データBがウェイWl
から消され、その代わりにデータCがウェイWlに取り
込まれたことを記憶する(第2図(h)参照)。
続いてCP U13はデータBをウェイ1す0に取り込
み(第2図(d)参照)、その旨を取り込みウェイ情報
C2として外部キャッシュメモリ16に知らせる。
この時、データAが内部キャッシュメモリ12から消さ
れる。外部キャッシュメモリ16は、データ八が内部キ
ャッシュに取り込まれていたことを(A。
W0)の情報によって知っているので、取り込みウェイ
情報C2を受けた時に、データAがウェイWOから消さ
れ、その代わりにデータBがウェイWOに取り込まれた
ことを記憶する(第2図(i)参照)。
このようにして外部キャッシュメモリ16は、内部キャ
ッシュメモリ12k取り込まれているデータに対応のブ
ロックが自己のメモリ内においてどのブロックに対応し
ているかを該ブロックのアドレス情報によって管理する
ことができる。また、内部キャッシュメモリに有るデー
タは必ず外部キャッシュメモリにも有るので、主記憶装
置が接続された第2のバス上のアドレスを監視し、該ア
ドレスが内部キャッシュにも有るということが分かった
時だけ第1および第2のバスを接続し、CPU13に特
定の制御信号COを与えて該アドレスの無効化を行うこ
とにより、主記憶の内容と内部キャッシュメモリの内容
との一致を保証することができる。
なお、本発明の他の構成上の特徴および作用の詳細につ
いては、添付図面を参照しつつ以下に記述する実施例を
用いて説明する。
〔実施例〕
第3図には本発明によるキャッシュメモリ制御方式を実
現するためのシステム構成の一例がブロック的に示され
る。
第3図において、100はチップの形態を持つマイクロ
プロセッサ(CPU)を示し、該CPUは、内部キャッ
シュメモリ101 と、該内部キャッシュメモリに成る
処理を実行させるための制御信号やアドレスを出力し、
CPU内の処理を制御する命令制御部102と、該命令
制御部からの制御の下で命令を実行する命令実行部10
3 とを有している。
内部キャッシュメモリ101 は、後で詳述するように
、内部キャッシュメモリ内の複数のブロックの各個に対
応して付されたタグ(アドレス)に基づきキャッシュメ
モリを管理するためのタグ用RAM110と、データを
管理し記憶するためのデータ用RAM 120と、内部
キャッシュメモリ内の制御を行うための制御部130と
を備えている。
200は外部キャッシュメモリであって、1組の制御ラ
イン、アドレスバスおよびデータバスを介してCP U
looと接続される一方で、別の1組の制御ライン、ア
ドレスバスおよびデータバスを介してシステムバスに接
続されている。このシステムバスには主記憶装置M S
DMAコントローラ(図示せず)等の周知のデバイスが
接続されている。外部キャッシュメモリ200 は、内
部キャソシニメモ1月旧と同じ構成、すなわちタグ用R
AM 210、データ用RAM 220 、および制御
部230を有しており、メモリ容量としては内部キャッ
シュメモリの4倍の容量(後述)をもっている。
第4図には本発明によるキャッシュメモリ制御方式を実
現するためのシステム構成の他の例がブロック的に示さ
れる。
第4図の構成が第3図の構成と異なる点は、■外部キャ
ッシュメモ!j 20Oa内にタグ用11AM2240
が付加され、該タグ用RAM2k内部キャッシュメモリ
101内のタグ用RAM 110の情報がコピーされて
いること、■それに伴いタグ用RAM 210aのメモ
リ構成が第3図のタグ用RAM 210と一部異なって
いること、である。他の構成については同じであり、そ
の具体的な構成および作用の詳細については後で詳述す
る。
次に、第3図および第4図におけるキャッシュメモリの
RAMの構成について、第5図(a)〜(e)を参照し
ながら説明する。なお、本実施例ではアドレス情報は3
2ピツ) (A31〜0)で構成され、キャッシュメモ
リ内の各ブロックは16バイト単位で構成されている。
また、説明の簡単化のため、キャッシュメモリ内のウェ
イの数は2つ(i’1OJ1)  とする。
内部キャッシュメモリのタグ用RAM (第5図(a)
参照)において、A31〜11はキャッシュメモリ内の
各ブロックを指定するためのアドレス情報、Iは制御情
報を示し、内部キャッシュメモリのブロックにデータが
取り込まれている(+=1)か否(1=0)かを指示す
る。いは内部キャッシュメモリのウェイWOまたはWl
のいずれにデータを取り込むかを決定するためのしRU
(Least Recently Llsed)制御用
情報である。例えば、L1=0の時は内部キャッシュメ
モリのウェイwOにデータを取り込むものとし、L1=
1の時は内部キャッシュメモリのウェイW1にデータを
取り込むものとする。AIO〜4はセットアドレス情報
であって、該セットアドレスの指定に基づき各ウェイの
ブロック、すなわち図示の例では2ブロツクが選択され
るようになっている。
それ故、制御情報Liはセットアドレス毎に1ビツトず
つ設けられる。
従って、任意の1つのブロックを選択するためには、ま
ずセットアドレス情報へ10〜4によって各ウェイのブ
ロックを全て選択し、次いで本来のアドレス情報へ31
〜11によっていずれか1つのブロックを選択する必要
がある。内部キャッシュメモリのタグ用RAMは、ブロ
ックの数としては256ブロツク (27ブロツク×2
ウエイ)を有し、容量としては4にバイト (16バイ
ト×256ブロツク)を有している。
外部キャッシュメモリのタグ用RAM (第5図(C)
参照)においても同様に、A31〜13はキヤッンニメ
モリ内の各ブロックを指定するためのアドレス情報、ε
、1.Wはそれぞれ制御情報を示し、制御情報εは外部
キャッシュメモリのブロックにデータが取り込まれてい
る(ε−1)か否(ト判)かを指示し、制御部%)Wは
内部キャッシュメモリのどちらのウェイに取り込まれて
いるかを指示し、ウェイ1110に取り込まれている場
合にはW=0、ウェイl111に取り込まれている場合
にはW=1、で表わされる。
制御情報Iは内部キャッシュメモリの場合と同様である
。また、Leは外部キャッシュメモリのウェイWOまた
はWlのいずれにデータを取り込むかを決定するための
LRU制御用情報、八12〜4はセットアドレス情報を
示す。ここで、しe−0の時は外部キャッシュのウェイ
WOにデータを取り込むものとし、Le=1の時は外部
キャッシュメモリのウェイWlにデータを取り込むもの
とする。
従って、外部キャッシュメモリのタグ用RAMは、ブロ
ックの数としては1024ブロツク(29ブロツク×2
ウエイ)を有し、容量としては16にバイト(16バイ
トX1024ブロツク)、つまり内部キャッシュメモリ
の4倍の容量を有している。
同様に、内部キャッシュメモリのデータ用RAM(第5
図(b) 参照)においてAIO〜2はキャッシュメモ
リ内の各1/4データブロツクを指定するためのアドレ
ス情報を示し、外部キャソシュメモリのデータ用RAI
J (第5図(d)参照)においてA12〜2はキャッ
シュメモリ内の各1/4データブロツクを指定するため
のアドレス情報を示す。また、第4図の外部キャッシュ
メモリ200aにおいて付加されるタグ用RAM224
0 (第5図(e) 参照)は、内部キャッシュメモリ
内のタグ用RAMと同じメモリ構成を有している。ただ
しこの場合には、LRIJ制御を行うための制御情報L
1は不要となり、さらに、タグ用RAM 210aにお
いて制御情報1.Wも不要となる。
次に、第3図および第4図に示される内部キャッシュメ
モリおよび外部キャッシュメモリの具体的な回路構成例
について、第6図〜第10図を参照しながら説明する。
第6図の例示は、CP Ulooから外部キャッシュメ
モリ200または200aに対し制御情報として、内部
キャッシュメモリのどちらのウェイ (WOまたはWl
)にデータを取り込むかを指示する情報(取り込みウェ
イ情報)を出力する場合(以下、ケース1とする)の、
内部キャッシュメモリの構成例を示す。
第6図において、110はタグ用RAM 、120はデ
ータ用RAMに対応する。タグ用RAM 110におい
て、111.112はそれぞれウェイ0、ウェイ1に対
応するRAMであって、内部アドレスバスを介して供給
されるアドレス情報A31〜11と制御部130から供
給される制御情報Iを一時記憶するためのものである。
RAM 111,112はそれぞれ、制御部130から
の制御信号と内部アドレスバスを介して供給されるセッ
トアドレス情報AIO〜4とに応答し、該セットアドレ
ス情報によって指定されるブロックに対応のアドレス情
報A31〜11を制御情報Iと共に出力する。この出力
された情報は、それぞれ対応の比較器113.114に
人力され、そこで、内部アドレスバスを介して供給され
るアドレス情報A31〜11と比較される。この比較結
果に基づく情報は、制御部130、および、データ用R
AM 120における対応の制御ゲート123.124
に供給される。
115はLRU制御用のRAMであって、制御部130
からの制御情報Li、すなわち内部キャッシュメモリの
ウェイWOまたはWlのいずれにデータを取り込むかを
指示する情報を一時記憶するためのものである。LRU
制御用のRAM 115は、制御部130からの制御信
号と内部アドレスバスを介して供給されるセットアドレ
ス情報AIO〜4とに応答して制御情報いを出力する。
この出力された情報は、制御部130に供給される一方
で、取り込みウェイ情報として外部キャッシュメモリ側
に転送される。
一方、データ用RAM 120において、121,12
2はそれぞれウェイ0、ウェイlに対応するRAMであ
って、内部データバスを介して供給されるデータ情報0
31〜0を一時記憶するためのものである。
RAM 121.122はそれぞれ、制御部130から
の制御信号とセレクタ125から供給されるアドレス指
令とに応答し、該アドレス指令によって指示される1/
4ブロツクに対応のデータ情報を出力する。この出力さ
れたデータ情報は、それぞれ対応の制御ゲー) 123
.124に人力され、前述した比較器113゜114の
出力が「一致」を指示している時に該ゲートを通過し、
内部データバスに出力される。
セレクタ125の出力はカウンタ126にも供給されて
おり、該カウンタ126 は、4ハイドのデータに相当
する分だけアドレスを更新する機能を有している。この
カウンタ126の出力はレジスタ127において一時的
にラッチされた後、セレクタ125の一方の入力端にフ
ィードバックされる。このセレクタ125の他方の入力
端には、内部アドレスバスを介してデータアクセス用の
アドレス情報耐O〜2が入力されるようになっている。
従って、データ用RAM 120は、現在取り込んでい
るデータあるいは出力しているデータのアドレス情報、
すなわちA31〜11.およびAIO〜4が同じである
限り、125〜127の構成要素によってデータを4バ
イト単位で出力し、あるいは取り込むことができる。
次に、第7図の例示は、前述したケース1における外部
キャッシュメモリの構成例を示す。
第7図において、210または210aはタグ用R矧、
220 はデータ用RAMに対応する。タグ用RA!、
+ 210(210a)において、211.212はそ
れぞれウェイO1ウェイ1に対応するRAMであって、
内部アドレスバスを介して供給されるアドレス情報A3
1〜13と制御部230から供給される制御情報Iと内
部キャッシュメモリ側から転送されてくる取り込みウェ
イ情報とを一時記憶するためのものである。RAM21
1および212はそれぞれ、制御部230からの制御信
号と内部アドレスバスを介して供給されるセットアドレ
ス情報A12〜4とに応答し、該セットアドレス情報に
よって指定されるブロックに対応のアドレス情報A31
〜13を制御情報Eと共にそれぞれ対応の比較器213
.215に出力する一方で、制御情報1.Wをそれぞれ
対応の比較器214.216に出力する。
RAM 211および212から出力される情報のうち
前者は、それぞれ対応の比較器213.215において
、内部アドレスバスを介して供給されるアドレス情報A
31〜13と比較される。この比較結果に基づく情報は
、制御部230、および、データ用RAM 220にお
ける対応の制御ゲー) 223.224に供給される。
一方、RAM 211および212から出力される情報
のうち後者は、それぞれ対応の比較器214.216に
おいて、内部キャッシュメモリ側から転送されてくる取
り込みウェイ情報と比較される。この比較結果に基づ(
情報は、制御部230に供給される。
217はLRU制御用のRAMであって、制御部230
から制御情報Le、つまり外部キャッシュメモリのウェ
イWOまたは111のいずれにデータを取り込むかを指
示する情報を一時記憶するためのものである。
LRIJ制御用のRAM 217は、制御部230から
の制御信号と内部アドレスバスを介して供給されるセッ
トアドレス情報A12〜4とに応答して制御情報Leを
該制御部230に供給する。218はカウンタであって
、内部アドレスバス上のセットアドレスA12〜4に対
し2kバイト単位でアドレスを更新する機能を有してお
り、該カウンタ218の出力は、レジスタ219におい
て一時的にラッチされた後、内部アドレスバスに出力さ
れる。
なお、データ用RAM 220(構成要素221〜22
7)は、内部キャッシュメモリにおけるデータ用RAM
 120(構成要素121〜127)と同じ構成および
作用を有しているので、その説明は省略する。
第8図の例示は、CPU100から外部キャッシュメモ
リ200または200aに対し制御情報として、内部キ
ャッシュメモリ内のいずれかのブロックに対応のアドレ
スを追い出していることを指示する情報(追い出しアド
レス情報)を出力する場合(以下、ケース2とする)の
、内部キャッシュメモリの構成例を示す。
第5図(a) において説明したように、セットアドレ
ス情報AIO〜4によって選択され得るブロックは各ウ
ェイのブロック、すなわち2ブロツクであるが、もし、
同じセットアドレスに対応のブロックのすべてにデータ
が取り込まれている状態で、次にその同じセットアドレ
スでデータを取り込む場合には、いずれか一方のウェイ
に対応のデータは必然的に追い出されることになる。こ
の時、その追い出されるデータに対応のブロックのアド
レスを出力することにより、前述のケース1の場合と同
じ効果を奏することができる。
第8図の回路構成が第6図の回路構成と異なる点は、タ
グ用RAM 110’にセレクタ116およびレジスタ
117が付加されていることとLRU制御用のRAM 
115からの出力が外部キャッシュメモリ側に転送され
ない事である。この場合、セレクタ116の一方の入力
端にはRAM 111の出力が供給され、他方の入力端
にはRAM 112の出力が供給されており、該セレク
タは制御部130からの制御信号に応答していずれか一
方のRAMの出力、すなわちアドレス情報A31〜11
を選択する機能を有している。
セレクタの出力は、レジスタ117において一時的にラ
ッチされた後、内部アドレスバスを介して外部キャッシ
ュメモリ側に転送される。他の回路構成については第6
図の場合と同じであるので、その説明は省略する。
次に、第9図の例示は、前述したケース2kおける外部
キャッシュメモリの構成例を示す。
第9図の回路構成が第7図の回路構成と異なる点は、取
り込みウェイ情報(ケース1)の代わりに追い出しアド
レス情報を利用していることに起因して、■RAM 2
11°および212°において制御情報Wが不要になっ
ていること、■比較器214および216が不要になっ
ていること、■RAM 211’および212′のそれ
ぞれの一方の出力が制御部230に直接人力されている
こと、である。他の回路構成については第7図の場合と
同じであるので、その説明は省略する。
第10図の例示は、第4図におけるタグ用RAM2の構
成例を示す。
第10図の回路構成は第6図に示される内部キャッシュ
メモリのタグ用RAM 110(但し、LR[I制御用
のRAM 115は除く)と同じであるので、その説明
は省略する。ただし、タグ用RAM2を備えた外部キャ
ッシュメモ1J200aの場合には、第7図および第9
図に示されるタグ用RAM 210a、210a’にお
いて制御情報1.Wとそれに関する信号線は不要となる
次に、第3図または第4図の構成に基づくキャッシュメ
モリ制御について第11図〜第14図の信号タイミング
図を参照しながら説明する。
第11図の例示は、第3図の構成(具体的には第6図お
よび第7図の構成)に基づき前述のケース■ (取り込
みウェイ情報を出力する場合)を実施した時の信号タイ
ミングを示す。なお、基準クロックの周波数は約201
AHz とする。
まず、CP Ulooから外部キャッシュメモリ200
にデータを取り込むためのアドレス情報(番地n)を通
知すると、外部キャッシュメモリからはそのアドレス情
報に応じて4バイト単位で合計16バイト、つまり1ブ
ロック分のデータが送られてくる。
この時、CPUから、そのデータを内部キャッシュメモ
リ内に取り込むことを指示する制御信号と、どちらのウ
ェイ (1vOまたはWl)  に該データを取り込ん
だかを指示する制御信号(取り込みウェイ情報)とが外
部キャッシュメモリに送られる。今仮に、ウェイWOに
データを取り込むものとし、ウェイWOには未だデータ
が取り込まれていなかったものとする。
外部キャッシュメモリ側では、要求されているアドレス
情報(番地n)に対応のセットアドレスn12〜4がR
AM 211および212k取り込まれ、さらに制御部
230からの制御に基づいて該RAM内の対応するアド
レス情報A31〜13が比較器213および215に出
力される。比較器ではRAM 211および212から
出力されたアドレス情報と内部アドレスバスを介して今
人力されたアドレス情報n31〜13とが比較される。
この結果、仮に両者が一致(ヒツト)したものとする。
これによって、外部キャッシュメモリは、内部キャッシ
ュメモリのウェイWOにデータが取り込まれたことを知
り、自己のタグ用RAM内の対応するブロックの1つに
!=1を書込み、同時に制御情報Wとしてこの場合には
袈二〇を書込む。
この場合、内部キャッシュメモリの1つのブロックに対
応する外部キャッシュメモリのブロックは8箇所存在(
第5図参照)するので、仮にタグ用RAM内のブロック
の1つにI=1.W=0を書込んだとしても、対応する
他のブロックに、ウェイWOに取り込まれているデータ
がないかどうかを検索する必要がある。これを行うため
に、外部キャッシュメモリのタグ用RAM内のカウンタ
218およびレジスタ219が機能する。この結果、セ
ットアドレスn12〜4が2kバイト単位で順次更新さ
れ、更新される毎に、セットアドレスn12〜4がRA
M211および212k取り込まれ、さらに制御部23
0からの制御に基づいて制御情報1.Wが比較器214
゜216に出力される。比較器214.216は、RA
M 211゜212から出力された制御情報と(、P 
Uから送られてきた取り込みウェイ情報とを比較する。
前述したように、内部キャッシュメモリのウェイWOに
はデータは取り込まれていないので、制御情報1.Wの
比較をいくら行なっても、W=0に対してはヒツトせず
、「ミス」が続く (第11図において、取り込まれた
ウェイが無い場合に相当)。
逆に、I=1.W=Oを書込んだブロックに対応する他
のブロックに、ウェイWOに取り込まれているデータが
ないかどうかを検索中に、もし見つかれば、そのブロッ
クはウェイWOから追い出されたはずなので、制御情報
1.Wの比較において「ヒツト」になった時点で当該ブ
ロックに[−〇を書込む(第11図において、取り込ま
れたウェイが有る場合に相当)。
このようにして外部キャッシュメモリでは、内部キャッ
シュメモリに取り込まれているデータに対応のブロック
が自己のメモリ内においてどのブロックに対応している
かを管理することができる。
従って、主記憶バス上のアドレスを監視し、該アドレス
が内部キャッシュメモリにも有るということが分かった
時だけCPUバスと主記憶バスを接続し、CPUに対し
て該アドレスの無効化を要求すれば、簡単に主記憶の内
容と内部キャッシュメモリの内容とを一致させることが
できる。
第12図の例示は、第3図の構成(具体的には第8図お
よび第9図の構成)に基づき前述のケース2 (追い出
しアドレス情報を出力する場合)を実施した時の信号タ
イミングを示す。
第12図の例示は、ウェイ1110. Wl共にデータ
が取り込まれている状態で更に、いずれかのウェイに対
応のブロックに新しいデータが取り込まれることにより
必然的に該ブロックに対応の旧いデータが追い出される
場合に相当している。基本的な動作については第11図
の場合と同じであるので、相違点についてのみ説明する
CP Ulooは、外部キャッシュメモリ200に取り
込みアドレス情報(番地n)を通知した後、続けて、追
い出しの必要なブロックの追い出しアドレス情報(番地
m)を通知すると共に、追い出しを行ったことを指示す
る制御信号を出力する。従って、外部キャッシュメモリ
では、制御情報Wは不要であり、ただ、追い出しが生じ
た時に該追い出しをひき起こした新しいデータが内部キ
ャッシュメモリに取り込まれたことを記憶し、m番地に
対応するブロックの制御情報を1−0とすればよい。
第13図の例示は、第4図の構成(具体的には第6図お
よび第7図および第1O図の構成)に基づき前述のケー
ス1 (取り込みウェイ情報を出力する場合)を実施し
た時の信号タイミングを示し、第14図の例示は、第4
図の構成(具体的には第8図および第9図および第10
図の構成)に基づき前述のケース2 (追い出しアドレ
ス情報を出力する場合)を実施した時の信号タイミング
を示す。両者の場合、タグ用RAM2を検索し、成るセ
ットアドレスに対して両方のウェイwo、 wtの制御
情報lが共に1=1(ヒツト)であれば、内部キャッジ
コメモリからの追い出しが発生する。もし1つ以上の空
きがあれば、例えば若番のウェイに登録するようにすれ
ばよい。いずれの場合にもそれぞれ第11図、第12図
のキャッシュメモリ制御方式から類推され得るので、そ
の説明については省略する。
〔発明の効果〕
以上説明したように本発明によるキャッシュメモリ制御
方式によれば、CPUの性能、ひいてはシステム全体と
しての性能を低下させずに、キャッシュメモリの内容と
主記憶の内容との一致を保証し、これを容易に実現する
ことができる。
【図面の簡単な説明】
第1図は本発明によるキャッシュメモリ制御方式の原理
図、 第2図(a)〜(])は第1図の構成に基づくキャッシ
ュメモリ制御の一例を説明するための図、第3図は本発
明によるキャッシュメモリ制御方式を実現するためのシ
ステム構成の一例を示すブロック図、 第4図は本発明によるキャッシュメモリ制御方式を実現
するためのシステム構成の他の例を示すブロック図、 第5図(a)〜(e)は第3図および第4図におけるキ
ャッシュメモリのRAMの構成を概念的に示す図、 第6図は第3図および第4図における内部キャッシュメ
モリの具体的な一構成例を示す回路図、第7図は第3図
および第4図における外部キャッシュメモリの具体的な
一構成例を示す回路図、第8図は第3図および第4図に
おける内部キャッシュメモリの具体的な他の構成例を示
す回路図、第9図は第3図および第4図における外部キ
ャッシュメモリの具体的な他の構成例を示す回路図、第
1O図は第4図におけるタグ用it A M 2の具体
的な一構成例を示す回路図、 第11図は第3図の構成に基づくキャソシュメモリ制御
の一例を説明するための信号タイミング図、第12図は
第3図の構成に基づくキャッシュメモリ制御の他の例を
説明するための信号タイミング図、 第13図は第4図の構成に基づくキャッシュメモリ制御
の一例を説明するための信号タイミング図、第14図は
第4図の構成に基づくキャッシュメモリ制御の他の例を
説明するための信号タイミング図、 第15図はキャッシュメモリを備えたシステム構成の一
例を示すブロック図、 第16図はキャッシュメモリを備えたシステム構成の他
の例を示すブロック図、 である。 (符号の説明) 11・・・第1のバス(CP Uバス)、12・・・第
1のキャッシュメモリ (内部キャッシュメモリ)、 13・・・中央処理装置(CPU)、 14・・・第2のバス(主記憶バス)、15・・・主記
憶装置、 16・・・第2のキャッシュメモリ (外部キャッシュ
メモリ)、 ADI、 AD2・・・アドレス情報、BL・・・ブロ
ック、CO・・・制御信号、      C1,C2・
・・制御情報、WO,Wl ・・・ウェイ。

Claims (1)

  1. 【特許請求の範囲】 1、第1のバス(11)に接続され、メモリ領域が複数
    個のブロックに分割され更に該ブロック毎に複数個のウ
    ェイに分割された第1のキャッシュメモリ(12)を有
    し、外部からのアドレス情報(AD1)と特定の制御信
    号(C0)に応答して該アドレスに対応のブロックが無
    効化されるようになっている中央処理装置(13)と、 第2のバス(14)に接続された主記憶装置(15)と
    、前記第1のバスと第2のバスの間に介在され、前記第
    1のキャッシュメモリの各ブロック(BL)に対し2^
    k倍の個数のブロックを有し、該ブロック毎に前記第1
    のキャッシュメモリ内のいずれのブロックにデータが取
    り込まれているかを指示する第1の制御情報(C1)を
    有する第2のキャッシュメモリ(16)とを具備し、 前記中央処理装置は、前記第1のキャッシュメモリにデ
    ータを取り込む際に、前記第1のバスにアドレス情報(
    AD2)と共に該第1のキャッシュメモリ内のいずれか
    のブロックを特定する第2の制御情報(C2)を出力し
    、 前記第2のキャッシュメモリは、前記第1の制御情報(
    C1)と前記中央処理装置からのアドレス情報(AD2
    )および第2の制御情報(C1)とに基づいて前記第1
    のキャッシュメモリに取り込まれているデータに対応の
    ブロック(BL)が自己のメモリ内においていずれのブ
    ロックに対応しているかを該ブロックのアドレス情報に
    よって管理し、前記第2のバスを介して他のデバイスに
    より前記主記憶装置に書込みが行われた際に該書込みの
    アドレス情報(AD1)が前記管理されているアドレス
    情報と一致した時に該第2のバス(14)を前記第1の
    バス(11)に接続し、該アドレス情報(AD1)を伝
    達すると共に前記特定の制御信号(C0)を出力するよ
    うにしたことを特徴とするキャッシュ制御方式。 2、前記第2のキャッシュメモリは、前記第1の制御情
    報として、前記第1のキャッシュメモリの各ブロックに
    データが取り込まれているか否かを指示する第3の情報
    および該第3の情報に対応して前記複数のウェイのいず
    れか1つを指示する第4の情報を有し、 前記中央処理装置は、前記第1のキャッシュメモリにデ
    ータを取り込む際に、前記第1のバスに前記アドレス情
    報として取り込みアドレス情報を出力し且つ前記第2の
    制御情報として前記複数のウェイのいずれのウェイに取
    り込むかを指示する第5の情報を出力し、 前記第2のキャッシュメモリは、前記第3および第4の
    情報と前記中央処理装置からのアドレス情報および第5
    の情報とに基づき前記第1のキャッシュメモリに取り込
    まれているデータに対応のアドレス情報を管理し、前記
    第2のバスに現れるアドレス情報に応じて該第2のバス
    の前記第1のバスへの接続および前記特定の制御信号の
    出力を行うようになっている、請求項1記載のキャッシ
    ュ制御方式。 3、前記第2のキャッシュメモリは、前記第1の制御情
    報として前記第1のキャッシュメモリの各ブロックにデ
    ータが取り込まれているか否かを指示する第3の情報を
    有し、 前記中央処理装置は、前記第1のキャッシュメモリにデ
    ータを取り込む際に、該データの取り込みによっていず
    れかのブロックに既に取り込まれているデータが追い出
    される場合は、前記第1のバスに前記アドレス情報とし
    て追い出しアドレス情報を出力し且つ前記第2の制御情
    報として該追い出しを指示する第6の情報を出力し、 前記第2のキャッシュメモリは、前記第3の情報と前記
    中央処理装置からのアドレス情報および第6の情報とに
    基づき前記第1のキャッシュメモリに取り込まれている
    データに対応のアドレス情報を管理し、前記第2のバス
    に現れるアドレス情報に応じて該第2のバスの前記第1
    のバスへの接続および前記特定の制御信号の出力を行う
    ようになっている、請求項1記載のキャッシュ制御方式
    。 4、前記第2のキャッシュメモリは前記第1のキャッシ
    ュメモリにおける情報のコピーを有する第2のメモリを
    更に具備し、前記第3の情報は該第2のメモリに格納さ
    れている、請求項2記載のキャッシュ制御方式。 5、前記第2のキャッシュメモリは前記第1のキャッシ
    ュメモリにおける情報のコピーを有する第2のメモリを
    更に具備し、前記第3の情報は該第2のメモリに格納さ
    れている、請求項3記載のキャッシュ制御方式。
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 true JPH01279342A (ja) 1989-11-09
JP2976980B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008016033A (ja) * 2006-07-06 2008-01-24 Internatl Business Mach Corp <Ibm> 階層テーブルを管理するための方法およびコンピュータ・システム
JP2010282520A (ja) * 2009-06-08 2010-12-16 Nec Corp コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008016033A (ja) * 2006-07-06 2008-01-24 Internatl Business Mach Corp <Ibm> 階層テーブルを管理するための方法およびコンピュータ・システム
JP2010282520A (ja) * 2009-06-08 2010-12-16 Nec Corp コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法
US8578103B2 (en) 2009-06-08 2013-11-05 Nec Corporation Coherency control system, coherency control apparatus and coherency control method

Also Published As

Publication number Publication date
JP2976980B2 (ja) 1999-11-10

Similar Documents

Publication Publication Date Title
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
US5095424A (en) Computer system architecture implementing split instruction and operand cache line-pair-state management
US7613884B2 (en) Multiprocessor system and method ensuring coherency between a main memory and a cache memory
AU608447B2 (en) Data memory system
CN101593161B (zh) 确保微处理器的快取存储器层级数据一致性的装置与方法
EP1399823B1 (en) Using an l2 directory to facilitate speculative loads in a multiprocessor system
US5423016A (en) Block buffer for instruction/operand caches
JPH0668735B2 (ja) キヤツシユメモリ−
JPH036757A (ja) ライトバツクデータキヤツシユメモリ装置
JPH06208508A (ja) キャッシュタグメモリ
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JPH0576060B2 (ja)
JPH09237223A (ja) バスブリッジを用いたコンピュータシステム
JPH04205041A (ja) マルチプロセッサシステム
EP0533427A1 (en) Computer memory control system
KR20060102565A (ko) 라이트 백 캐시 내에서 동시 발생하는 스누프 푸시 또는스누프 킬 연산중에 라이트 백 연산을 취소하는 시스템 및방법
WO1997004392A1 (en) Shared cache memory device
JPH03163640A (ja) マルチプロセッサシステムおよびそれに用いるキャッシュメモリ
JPH02184946A (ja) キヤツシユ・バイパス装置
JPH01279342A (ja) キャッシュ制御方式
AU600982B2 (en) Computer system architecture implementing split instruction and operand cache line-pair-state management
US20060015689A1 (en) Implementation and management of moveable buffers in cache system
JP2552704B2 (ja) データ処理装置
JPS60701B2 (ja) デ−タ処理装置
JPH05342101A (ja) 階層キャッシュ・メモリ

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