JPH04175948A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH04175948A
JPH04175948A JP2302419A JP30241990A JPH04175948A JP H04175948 A JPH04175948 A JP H04175948A JP 2302419 A JP2302419 A JP 2302419A JP 30241990 A JP30241990 A JP 30241990A JP H04175948 A JPH04175948 A JP H04175948A
Authority
JP
Japan
Prior art keywords
cache
address
main memory
block
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.)
Pending
Application number
JP2302419A
Other languages
English (en)
Inventor
Osamu Nishii
修 西井
Kunio Uchiyama
邦男 内山
Hirokazu Aoki
郭和 青木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2302419A priority Critical patent/JPH04175948A/ja
Publication of JPH04175948A publication Critical patent/JPH04175948A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は複数のプロセッサ、主記憶装置、およびキャッ
シュメモリを有する情報処理装置に関する。
〔従来の技術〕
公知例(特許公報又は文献基) キャッシュメモリについての基礎的技術については「ニ
ー・シー・エムコンピユーテイング・サーベイ第14巻
3、号473−530ページ(Coi+puting 
5urveys、 YoQ、14. No、3y p 
p。
473−530)Jで詳しく論じている。また。
キャッシュメモリの無効化技術については「日経エレク
トロニクス1989年6月26日号103−152ペー
ジ」にて実例が示されている。
キャッシュメモリとは主記憶に比べ、容量は小さいが、
高速のアクセス(読み出し/書き込み)が可能なメモリ
であり、プロセッサのごく近くにおき、プロセッサのア
クセスを高速に行う目的でおかれる。
主記憶とプロセッサの間のデータの転送時間はプロセッ
サの内部処理時間の数倍になるため、データを実行のつ
ど読みだしていたのでは、処理を高速化することはでき
ない、一方プロセッサは主記憶全体をアクセスの対象と
しているが、ごく短時間の間にはそのうちのごく一部分
にアクセスは集中している。そこで主記憶の情報の一部
をキャッシュメモリにコピーし、プロセッサのアクセス
のほとんどをキャッシュメモリとの間で実行すれば、平
均的にアクセス時間を短縮することが可能となる。
キャッシュメモリは記憶をブロックという適当な大きさ
を単位にして管理する。各ブロックはそれぞれ主記憶の
ある箇所と対応し、その箇所のデータの写しを保持して
いる。この記憶をデータアレイとよぶ。加えて各ブロッ
クが主記憶のどの箇所に対応しているかは動的に変化す
ることが可能であり、そのアドレスの情報もキャッシュ
メモリに保持されている。この記憶部分をアドレスアレ
イという。
プロセッサのアクセスのほとんどをキャッシュメモリと
の間で行なうようにするためには、最近に頻繁にアクセ
スせれたデータはキャッシュ内におかれるべきであるし
、その反対に最近に全くアクセスされていないデータは
必ずしもキャッシュ内におかれるべきではない、キャッ
シュメモリは上に述べた要求を満たすような制御を行な
う。その制御を読み出し時を例に取って説明すると次の
ようになる。
キャッシュ内のデータをアクセスしたときにはそのデー
タの属するブロックを保持し続け、キャッシュ内に存在
しないデータをアクセスしたときには、主記憶上でその
データを含む1ブロックをキャッシュ内に転送し、その
代わりに、キャッシュ内で最近使われていない1ブロッ
クを追い出す。
次に階層キャッシュについて説明する。階層キャッシュ
とは、プロセッサと主記憶との間に複数のキャッシュメ
モリが直列に結合しであるものをいう0階層キャッシュ
構成を取ることによってキャッシュの効果をより高める
ことが期待できる。
2層キャッシュの実例を1つ挙げる。命令解読部、命令
実行部、およびキャッシュメモリを合わせて一つの半導
体素子として形成したマイクロプロセッサユニットがあ
り、上記ユニットと主記憶装置との間にさらに別のキャ
ッシュメモリを置く場合がこれに相当する。この場合上
記マイクロプロセッサユニット内のキャッシュは物理的
にも論理的にも内側のキャッシュであり、他方は外側の
キャッシュである。外側のキャッシュは命令解読部や命
令実行部である本来のプロセッサと内側のキャッシュと
を合わせて1つのプロセッサとみなすことによって動作
する。3眉以上のキャッシュも同様にして考えることが
できる。3層以上のキャッシュをもつシステムでは最も
外側のキャッシュを外側のキャッシュ、それ以外のキャ
ッシュを内側のキャッシュと以下では呼ぶことにする。
主記憶に対し、直接にアクセスを行なうのは外側のキャ
ッシュであることに注意されたい。
また複数のプロセッサが主記憶を共有し、並列動作する
場合においてもキャッシュメモリを使用することができ
る。この場合、キャッシュメモリは各プロセッサごとに
独立した記憶をもつものと、あるいは同じ記憶を複数の
プロセッサが共有して使用する2つの方法がある。2層
キャッシュの場合、外側、内側のキャッシュともプロセ
ッサごとに異なるキャッシュをもつ方法、内側のキャッ
シュのみ各プロセッサが独立してもち、外側のキャッシ
ュはプロセッサが共有して使用する方法、さらには内側
、外側のキャッシュとも各キャッシュが共有して使用す
る方法が考えられる。
次にキャッシュメモリの無効化の方法について説明する
にこで説明するキャッシュメモリの無効化とは主記憶装
置への書き込みに関連し、記憶内容の一部を保つために
行なわれる。主記憶装置にアクセスするためのバスを主
記憶アドレスバス。
主記憶データバスと呼ぶ。主記憶アドレスバス、主記憶
データバスには1つ、または複数の最外側のキャッシュ
、および入出力装置がつながれている。そのとき入出力
装置やキャッシュから主記憶に対し書き込みが行なわれ
た場合に無効化の動作を行う必要がある。
無効化の動作は、書き込みを行なったキャッシュ以外の
すべてのキャッシュについて行われ、もし書き込みをし
たアドレスを含むブロックがキャッシュ内に存在するな
らば、それはもはや最新の情報でなくなるからデータの
一致の原則のため、そのブロックを無効化する。無効化
は例えば各ブロックごとに、そのブロックが有効である
ことを示す1ビツトのフラグ(記憶部)を設け、無効化
するときにはそのフラグを0にすることによって可能で
ある。
しかしながら、この無効化を特に階層キャッシュ構造を
もつ情報処理装置において行うには、困難な点がある。
その理由を図を用いて説明しよう。
2層のキャッシュメモリをもつシステムの例を第2図に
示す。110はプロセッサ、111は内側のキャッシュ
、112は外側のキャッシュである。
プロセッサ110と内側のキャッシュ111はプロセッ
サアドレス線113、プロセッサデータ線114を用い
てデータの授受を行なう。内側のキャッシュ111と外
側のキャッシュ112はキャッシュ間アドレス線115
、キャッシュ間データ線116を用いてデータの授受を
行なう。主記憶装置130に対するデータの授受はすべ
て主記憶アドレスバス131、主記憶データバス132
を用いて行なう。主記憶アドレスバス131、主記憶デ
ータバス132には主記憶装置130の他ニ外側のキャ
ッシュ112.および入出力装置133がつながってい
る。
このとき主記憶装置130に対し、入出力装置133が
書き込みを行うと、外側のキャッシュ112は主記憶バ
スアドレス線131を受信することができるので、主記
憶装置130に書き込みが行われたという情報、および
書き込まれたアドレスを知ることができる。ゆえにその
アドレスが属するブロックが存在するかどうか調入、存
在するならそのブロックを無効化すればよい。これに対
し内側のキャッシュ111で以上に述べた制御を行うこ
とは容易ではない。キャッシュ間バスと主記憶バスはま
ったく独立に動作しているため、内側のキャッシュ11
1は主記憶装置1130に対する書き込みを知ることが
できないからである。
この困難点に対して従来行われた無効化の方法には2つ
の方法がある。
その第1の方法は「日経エレクトロニクス1989年6
月26日号117−130ページ」に2層キャッシュ構
成の例が記載されている。第1の方法においては主記憶
装置への書き込みの度に、書き込みが行われたという情
報と、書き込みアドレスを外側のキャッシュから内側の
キャッシュへ通知する。
第1の方法を第2図の例で説明すると、キャッシュ間ア
ドレス線115を双方向バスにして、主記憶装置130
の書き込みの度に外側のキャッシュ112がキャッシュ
間バスのバスマスタとなり、主記憶アドレスバス131
上のアドレスをキャッシュ間アドレスバス115に流し
、かつこの動作が無効化の動作であると知らせる。する
と内側のキャッシュは主記憶装置130に対する書き込
みをすへて知ることができるので無効化制御を正しく行
うことができる。
しかし、第1の方法を採用すると欠点が生じる。
欠点の1つはキャッシュ111,112の制御回路が複
雑化することである。もう1つの欠点は外側のキャッシ
ュ112から内側のキャッシュ111への情報通知の度
に、本来の内側のキャッシュ111と外側のキャッシュ
112の間のデータ授受は一時的中断を受けるため、そ
の結果処理効率を低下させることである。特に複数のプ
ロセッサと複数のキャッシュが主記憶装置を共有するシ
ステムにおいては主記憶への書き込み頻度はプロセッサ
の個数分多くなるので、この処理効率の低下は著しくな
る。
第2の方法は「日経エレクトロニクス1989年6月2
6日号141−152ページ」に記載されている。この
方法は主記憶バスのアドレス信号を直接内側のキャッシ
ュに直接与え、無効化を行わせるものである。この方法
においては第1の方法に見られたような複雑な制御を必
要とせず、効率の低下もないが1問題となるのは内側の
キャッシュの外部端子が、第2の方法を用いない場合と
比べ、新たにアドレス信号線の本数必要となることであ
る。最近のマイクロプロセッサの如き情報処理装置は3
2ビツトのアドレスをもち、内側のキャッシュのブロッ
ク長は16(2の4乗)バイトであるので、キャッシュ
のブロックを単位をする32−4=28ビツトのアドレ
ス信号端子を余分に必要とする。
多くの場合、内側のキャッシュと外側のキャッシュはI
IC当りの論理規模の制限から別のICにおかれる。そ
の場合、今述べた端子数の増加は内側のキャッシュを含
むICのピン数の増加につながり、ICの製造コストを
高くするか、場合によってはICのパンケージング自体
を不可能にする。また、仮に内側のキャッシュと外側の
キャッシュを同−IC内に形成した場合でも端子数の増
加はIC内部の配線量を増加し、ICの面積増加、ひい
ては製造コストの増加につながる。
〔発明が解決しようとする課題〕 本発明の目的は階層キャッシュ構成をとる情報処理装置
において、従来の方法に伴う問題を解決するものである
。すなわち、本発明は、階層キャッシュ構成において、
データの無効化を完全に行いながら、従来例の第1の方
法のように制御の複雑化と、処理速度の低下をもたらさ
ず、従来例の第2の方法のように内側のキャッシュの外
部端子数を大きく増加させないことを目的とするもので
ある。
〔課題を解決するための手段〕
本発明においては、主記憶アドレス信号のうち、キャッ
シュメモリの1ブロックを単位をするアドレスのさらに
一部分の信号を、ある1つの、ないしは複数の階層のキ
ャッシュに直接に入力する。
この一部分のアドレス信号を、以下部分アドレス信号と
呼ぶ。部分アドレスを受は取ったキャッシュメモリは自
らの記憶部のうち、当該部分アドレスにあてはまるブロ
ックを無効化する。部分アドレスではアドレスの一部は
不定値であるから、当該部分アドレスにあてはまるブロ
ックは複数個存在する可能性がある。その場合はその複
数個のブロックをすべて無効化する。しかしながら、適
当なハードウェアを用いれば、複数個のブロックの無効
化を1回の手続きによって行うことができるので、無効
化するブロックが複数個存在することは、無効化処理時
間の増加には必ずしもつながらない。
この部分アドレス信号は、原理的にはキャッシュメモリ
の1ブロックを単位をするアドレスのビット集合のうち
の任意の真部分集合でよい。その部分アドレスの選択は
各々の情報処理装置ごとに適切なものが選ばれるべきで
ある。しかしながら、その選択に当っては、ハードウェ
アと処理効率の面から有利であるものが望ましい。
そこで本発明では該部分アドレスの選択方法の1つとし
て、カラムアドレスをすべて含むように部分アドレスを
選択する方法を、ハードウェアの構成にとって有利であ
るものとして開示する。カラムアドレスについてはキャ
ッシュの専門家には既知のことであろうが、ここで説明
する。キャッシュのブロックアドレス、すなわち、ブロ
ックを単位とするアドレスはビット番号によってタグア
ドレスとカラムアドレスに分けられる。タグアドレスと
はキャッシュ記憶のアドレスアレイに格納される範囲の
アドレスであり、カラムアドレスはブロックアドレスの
うちタグアドレス以外の部分である。
本部分アドレスの選択方法が有効である理由はキャッシ
ュメモリはほぼ例外なく、メモリ内で1回にアクセスす
るビット数が過大に多くなるのを防止するために、カラ
ムアドレスで指定された記憶ビットのみをアクセスする
からである。このようにカラムアドレスで指定された記
憶ビットのみをアクセスするキャッシュメモリでは、も
し部分アドレスがカラムアドレスのすべてを含んでいな
いと、部分アドレスにあてはまるカラムアドレスが−意
に決まらない。すなわち、無効化される可能性のあるカ
ラムが複数個存在することになり、無効化のためのキャ
ッシュメモリの物理的アクセスが複数団栗することにな
り、処理速度を低下する要因となる。本発明に記載した
部分アドレスの選択方法によれば、カラムアドレスは一
意に決まるので、無効化のためのアクセスは一度ですむ
さらに、以上に述べた部分アドレスの選択方法の中で、
処理速度の観点から適する方法として、キャッシュの1
ブロックを単位をするアドレスの中の下位から連続する
アドレスを使用する選択方法を開示する。部分アドレス
にあてはまるブロックを無効化すると、主記憶アドレス
が属するブロックを無効化することはもちろんであるが
1部分アドレスにあてはまるそれ以外のブロックはデー
タは正しいにもかかわらず無効化され、そのデータは以
降のプロセッサの使用に供せられなくなる。
以下、このことを不本意な無効化とよぶ。不本意な無効
化のためキャッシュミス(キャッシュ内に要求データが
存在しないこと)が増加し、処理が遅延するので不本意
な無効化を最小化するべきである。ところで、アクセス
の局所性から、短時間の間のプロセッサのアクセスアド
レス集合には、上位アドレスのみ共通で下位アドレスは
異なる組み合わせは多いが、下位アドレスのみ共通で上
位アドレスは異なる組み合わせは少ないという傾向があ
る0本発明により示される下位から連続するアドレスを
部分アドレスとして用いると、その不本意な無効化は下
位アドレスのみ共通で上位アドレスは異なるアドレスに
起こるのみであるから、その発生頻度は少なくなる傾向
となり、処理速度の向上につながる。
〔作用〕
本発明によって示された部分アドレスを使用することに
よって階層キャッシュ構成の情報処理装置において、複
雑な制御を必要とせず、また内側のキャッシュの端子数
の増加を従来例に比べて小さく抑えつつキャッシュメモ
リの完全な無効化制御が可能となる。
さらに部分アドレスとして、キャッシュのカラムアドレ
スを含むようなアドレスを用いることによって、無効化
のキャッシュメモリアクセス回数を1回ですませること
にでき、処理効率の低下をもたらさない。
さらに部分アドレスとして、キャッシュのブロックを単
位をするアドレスのうち下位から連続するアドレスを用
いることにより、主記憶アドレスが属するブロック以外
のブロックが無効化されることによる処理速度の低下を
低減することができる。
最後に、本発明は複数階層のキャッシュにおいて特に有
効であるが、必ずしも複数の複数階層のキャッシュを有
する情報処理装置に適用を限られる訳ではない。単一階
層のキャッシュに対しても本発明の部分アドレスは適用
可能である。階層数に限定されない作用を以下に列挙す
る。
キャッシュの無効化処理のために比較器を専用にもつな
らば、本発明によりその比較器の論理規模を小さくする
ことができる。また、比較すべき信号線の本数が削減さ
れるので、IC内の配線の面積を減らすことができる。
また、アドレスアレイのタグの部分を無効化処理のため
に2ポート化する必要があるとき、本特許の使用により
2ボート化するべきビット数を低減することができる。
また、比較器の比較ビット数の減少に関連して、主記憶
バスの値が確定してから、無効化処理を起動するまでの
、信号遅延時間も減少する。
〔実施例〕
第1図に本情報処理装置のメモリアクセスに関する部分
の全体図を示す。本情報処理装置は2個のプロセッサと
1個の入出力装置からなる。10はプロセッサ、11は
内側のキャッシュ、12は外側のキャッシュである。本
情報処理装置のプロセッサ10と内側のキャッシュ11
.また外側のキャッシュ12の間のデータの授受は48
ビット方式のアドレスと64ビット方式のデータを使用
して行われる。データは64ビツト、すなわち。
8バイト1回に授受できるから、48ビット方式のアド
レスのうち下位3ビツトは不要で、物理的には48ビツ
トのうちの上位45ビツトのアドレ入信量線として実現
する。64ビット方式のデータ線は物理的にも64ビツ
トの信号線によって実現する。
プロセッサ10と内側のキャッシュ11はPA(47−
3)という名称の45ビツトのプロセッサアドレス!1
3.PD(63−0)という名称の64ビツトのプロセ
ッサデータ線14を使用して情報の授受を行う。ただし
、PA(47−3)はPA(47)、PA(46)、・
・ 、PA(3)という45本の信号線をまとめてあら
れす記法である。
また、カッコの中の数字はビット番号である。内側のキ
ャッシュ11と外側のキャッシュ12はCA(47−3
)という名称の45ビツトのキャッシュ間アドレス線1
5、CD(63−0)という名称の64ビツトのキャッ
シュ間データ線16を使用して情報の授受を行う、20
−26は10−16と全く同じもので構成されているの
で説明は省略する。ただし、信号名の混用を防ぐため。
23−26の信号線名称はそれぞれPA’(47−3)
、PD’ (63−0)、CA’ (47−3)。
CD’ (63−0)とする。主記憶装置E42に対す
るデータの授受はすべて、それぞれMA(47−24L
 MA(23−5)、MA(4−3) という名称の主
記憶アドレス線31,32,33、およびMD(63−
0)という名称の64ビツトのデータアドレス線34を
用いて行う。主記憶アドレス線31.32.33、デー
タアドレス線34は外側のキャッシュ12,22、およ
び入出力装置41とつながっている。
主記憶アドレス線31,32.33は名称からも明らか
なようにビット番号によって分けられている。主記憶ア
ドレス線31はビット番号47−24からなる。主記憶
アドレス線32はビット番号23−5からなり、さらに
主記憶バスのバス開始信号、リード/ライト識別信号、
その他、主記憶に対して書き込みアクセス、またデータ
一致プロトコル上書き込みと同値の意味を持つアクセス
が行われたことを認識するのに必要なコントロール信号
も含む。アドレスバスのビット番号23−4が部分アド
レスである。主記憶アドレス線33はビット番号4−3
からなる。
本発明において、主記憶アドレス線32が、内側のキャ
ッシュ11.21に直接与えられる。直接に与えられる
アドレスが、主記憶アドレス線32であり、主記憶アド
レス線31を含まないものであることが、本発明におい
て重要なことである。
キャッシュに書き込みアクセスを行った場合のキャッシ
ュ内の処理としてはライトスルー法とコピーバック法の
2通りがある。ライトスルー法は書き込みアクセスのた
びに、自キャッシュの外側に書き込みを行う方法であり
、コピーバック法は自キャッシュにのみ書き込み、自キ
ャッシュの外側には書き込まない方法である。1層のキ
ャッシュのシステムの例で言うとライトスルー法では常
に主記憶に書き込むため主記憶とキャッシュメモリとの
間で記憶内容の不一致が起こらないが、コピーバック法
では一時的に主記憶の内容とキャッシュメモリの内容が
異なることがある。本実施例では内側のキャッシュ11
.21はライトスルー法、外側のキャッシュ12.22
はコピーバック法を用いている。
内側のキャッシュ11の構成図を第3図に示す。
内側のキャッシュは32キロバイトのキャッシュ容量を
もつ。ただし、1キロバイトとは1024バイトである
。そして、ブロック長は32バイト、連想方式は2ウエ
イ・セットアソシアティブ方式である。以上のことから
内側のキャッシュのアドレス構成を計算することができ
る。計算の結果、ビット番号47−14はタグアドレス
であり、ビット番号13−5はカラムアドレスであり、
ビット番号4−3はブロック内アドレスである。タグア
ドレスのうちビット番号47−24を上位タグアドレス
、ビット番号23−14を下位タグアドレスとよぶ。
内側のキャッシュ11は2ウエイセツトアソシアテイブ
構成のため、アドレスアレイ200、データアレイ20
1、比較器207,208をそれぞれ2つ有する。
アドレスアレイ200はタグおよびデータアレイの記憶
が有効であることを示す1ビツトのフラグ(V bit
 )  を組にして1列分とした記憶部を多数列持って
いて、その記憶部は、入力アトレスのカラムアドレスに
よっていずれか1列が選択される。アドレスアレイ20
0はプロセッサ10のカラムアドレス211.主記憶バ
スのカラムアドレス218を入力としているが、カラム
アドレス218によって読みだすのは記憶部のうちの下
位タグの部分とVビットの部分である。そして該当部分
はデュアルポートのRAMによって構成されているので
、2つの入力に対して独立に動作可能であり、同時に異
なる列に対してアクセスすることができる。データアレ
イ201は1ブロック分のデータの記憶部からなる列を
アドレスアレイ200とちょうど同数列もち、そのデー
タは信号線220を介して読み書きのアクセスが可能で
ある。データアレイ201の各列はアドレスアレイ20
0の各列と1対1に対応している。
あるカラムアドレスに対応する列のアドレスアレイ20
0のVビットが1のとき、アドレスアレイ200から読
み呂したタグアドレスと該カラムアドレスとを組合せた
アドレスから始まる1ブロック分のデータをデータアレ
イ201は有していることを示し、Vビットが0のとき
には、そのブロックは何も格納していないことを示す。
アドレスアレイ、データアレイがダイレクトマツプ方式
をとる場合には、以上に述べたアドレスアレイ、データ
アレイの個数が2でなく、1になる。本発明はダイレク
トマツプ方式のキャッシュに適用しても何ら障害はない
。202,203,204はアドレス線のスイッチ、2
05,206はデータ線のスイッチである。209はキ
ャッシュ11の全体の制御を行なう制御回路である。制
御回路209はキャッシュがブロックの転送をするのに
必要なアドレスの保持も行う。
プロセッサ10からのアクセスが発生した場合のキャッ
シュ11の動作を以下に述べる。要求元がアクセスした
データがキャッシュ内に存在することをヒツトという。
キャッシュはアクセスのたびにヒツトしたか否か次のよ
うにして調べる。
プロセッサ10からのアクセスが発生すると当アクセ不
アドレスのカラムアドレス211によって2つのアドレ
スアレイ200についてそれぞれ1列を選択し、その記
憶内容を読みだす。読み出した2つのタグアドレスは信
号線213に出力される。この2つのタグアドレスとア
クセスアドレスのタグアドレス210とを比較する。ア
ドレスが一致し、かつアドレスアレイ200のVビット
が1となる、という条件がいずれかのウェイで満たされ
ればヒツトである。すなわち、(アドレス一致)x (
v=1)がヒツト条件である。その判断は2個のヒツト
判定器208が行ない、その結果は信号線215を介し
て制御回路209に伝えられる。
プロセッサ10が読み出しアクセスを発行した場合、も
しヒツトすれば内側のキャッシュ11はヒツトしたウェ
イのデータアレイ201からプロセッサ10ヘデータを
供給する。ヒツトしなかった場合には要求するデータが
内側のキャッシュ11内に存在しないことを意味するの
で内側のキャッシュ11は外側のキャッシュ12に対し
該当ブロックのリード要求を出す。そして該当ブロック
のデータを獲得すると同時にプロセッサ10にデータを
供給し、アドレスアレイ200のタグをプロセッサの要
求アドレスに書き換える。またVビットを1に書き換え
る。次にプロセッサ10が書き込みアクセスを発行した
場合は、もしヒツトすれば内側のキャッシュ11はデー
タをデータアレイ201と外側のキャッシュ12の両方
に書き込み、ヒツトしなかった場合にはデータを外側の
キャッシュ12にのみ書き込む。
内側のキャッシュ11の無効化制御について以下に説明
する。主記憶バスのり一ド/ライト識別信号、パススタ
ート信号等の制御信号は信号線219を介して内側のキ
ャッシュの制御回路209に入力されているので、内側
のキャッシュ11は主記憶装[42に対する書き込みを
知ることができる。主記憶バス上で書き込みアクセスが
行なわれるたびに、主記憶部分アドレスのカラムアドレ
ス218を使って2つのアドレスアレイ200のそれぞ
れの1列を選択し、その記憶内容を読みだす。その結果
読み出した2つの下位タグアドレスは信号線214に出
力される。この信号線214上の下位タグアドレスと主
記憶バスの下位タグアドレス217とを比較し、もし、
いずれかのウェイで(下位タグアドレス−教)X(Vビ
ット=1)であったら、該光列の該当ウェイのVビット
を0に書き換える。その判断は2個のヒツト判定器20
7が行ない、その結果は信号線216を介して制御回路
209に伝えられる。
ここで、1つ注意したいのは下位タグアドレスはタグア
ドレスの部分集合であり、下位タグアドレス同士の比較
は不完全なアドレスの比較処理であるため、比較器20
7の比較結果は2つのウェイでヒツトを示すことがある
。一般にnウェイセットアソシアティブ方式とすると最
大nウェイでではヒツトを示すことがある。このことは
比較器208では起こらないことである。
本発明においては、2つのウェイでヒツトが起こった場
合には、2つののVビットが両方ともV=0とする。−
膜化すると複数個のウェイでヒントが起こった場合には
、ヒツトした複数個のVビットかみなり=0とする。本
実施例では、ウェイごとにRAMマットを独立した構成
とし、それぞれのヒツト判定結果215がそれぞれのR
AMマットの書き込み信号に変換されるようノA−ドウ
エアを構成しているので、複数個のVビットに書き込む
がために、複数ステップの処理時間を要しない。
外側のキャッシュ12の構成図を第4図に示す。
300−320は内側のキャッシュの200−220と
それぞれ等しいもので構成されている。
しかし、若干の相違点はある。
第1の相違点は外側のキャッシュの容量他の数値である
。外側のキャッシュは256キロバイトのキャッシュ容
量をもつ。そして、ブロック長番ま32バイト、連想方
式は4ウエイ・セットアソシアティブ方式である。以上
のことから外側のキャッシュのアドレス構成を計算する
と、ビット番号47−16はタグアドレスであり、ビッ
ト番号15−5はカラムアドレスであり、ビット番号4
−3はブロック内アドレスである。タグアドレスのうち
ビット番号47−36を上位タグアドレス、ビット番号
23−16を下位タグアドレスとよぶ。
第2の相違点は、アドレスアレイ300はアドレスアレ
イ200に比べ1列につき1ビツトの記憶部を余計にも
っていることである。これは更新ビット(tJbit)
  といい、コピーパック法を可能とするために存在す
る。具体的には1ブロック分のデータを主記憶では更新
せずに、あるキャッシュでのみ更新するときに、そのブ
ロックのフラグをV=U=1とする。
第3の相違点は、制御回路309は主記憶バスのアドレ
ス31,32.33を直接入力することである。
内側のキャッシュ11からのアクセスが発生した場合の
外側のキャッシュ12の動作を以下に述べる。内側のキ
ャッシュ11が読み出しアクセスを発行した場合、もし
ヒツトすれば外側のキャッシュ12はデータアレイ30
1から内側のキャッシュ11へデータを供給する。ヒツ
トしなかった場合には要求するデータがキャッシュ内に
存在しないことを意味するので外側のキャッシュ12は
主記憶装置31に対し該当ブロックのリード要求を出す
。そして該当ブロックを獲得すると同時に内側のキャッ
シュ11にデータを供給する。また内側のキャッシュ1
1が書き込みアクセスを発行した場合は、もしヒツトし
、かつUビット=1の場合はデータをデータアレイ30
1にのみ書き込む。ヒツトし、Uビット=0のときはデ
ータをデータアレイ301と主記憶装置30の両方に書
き込み、Uビット=1とする。ヒツトしなかった場合に
は該当ブロックを主記憶装置31より転送し、その後デ
ータをデータアレイ301と主記憶装置30の両方に書
き込みUビット=1とする。なお当然のことであるが、
外側のキャッシュ12が主記憶装置130よりブロック
を転送する場合、代りにデータアレイ301から追い出
されるブロックがV=U=1の状態にあるならば、その
追い出されるブロックを主記憶装置30に転送し、記憶
の内容の不一致を解消しなければならない。
外側のキャッシュ12の無効化は内側のキャッシュ11
の無効化とまったく同様の方法で実現される。ただし無
効化されるブロックがV=U=1であるならば、記憶の
一致をとるために、主記憶上のアクセスを処理中断させ
、主記憶アドレスバス30,31,32の値を制御回路
309内部に格納し、次に該アドレスを使用して、V=
U=1のブロックを主記憶袋W42に転送し、その後に
無効化をする必要がある。
以上で内側のキャッシュと外側のキャッシュのアクセス
に対する処理手順、および無効化の方法を説明できた。
あるアドレスで無効化が行われたとしよう。無効化が達
成された結果、プロセッサ10の読み出しアクセス時に
内側のキャッシュ11で該当ブロックのアドレスをアク
セスしても、Vビット=Oであるためヒツトとならず、
外側のキャッシュ12にアクセスすることになる。そし
て外側のキャッシュ12においても同様の無効化の機構
によってヒツトしないので、結果として主記憶袋w30
内にある最新のデータを読むことが保証される。
なお、アドレスアレイ200,300のVビット、Uビ
ットと下位タグの部分は、デュアルポートのRAMによ
って構成されているので、プロセッサ10の側からのア
クセスと、主記憶バスの側からのアクセスは、独立に同
時に行なうことが可能であり、ゆえに本発明の機構を用
いたことによって処理効率は低下しない。
本実施例の情報処理装置の特性を、従来例を用いた場合
と比較しよう。従来例の第1の方法を用いると、入出力
装置41が主記憶装置42に書き込むとき、また外側の
キャッシュ22が主記憶袋[42に書き込むとき、内側
のキャッシュ11は外側のキャッシュ12から、主記憶
アドレスの報告を受けることにキャッシュ間アドレスバ
スを使用するので、その間、内側のキャッシュ11から
外側のキャッシュ12ヘアクセスすることができなくな
り、著しく処理速度を低下する。従来例の第2の方法と
、本実施例においてはその減少は起こらない。
ゆえに従来例の第2の方法と、本実施例を比較する。内
側のキャッシュ11を1つのICで構成した場合、その
アドレスバスと、データバスの信号ピン数の合計は、仮
に従来例の第2の方法を用いた場合では、 45+64+45+64+43’=261ピン要する。
対して本実施例では、 45+64+45+64+19=237ピンですむ、こ
の24ピンの差はICの製造コストの低減につながるも
のである。
次に、内側のキャッシュ11の無効化処理のために使用
する比較器の論理規模を比較する。仮に従来例の第2の
方法を用いた場合では、34ビツトの比較器が必要であ
るが、本実施例においては、10ビツトの比較器ですむ
。よって本実施例を用いることによってICの論理規模
が小さくなり、同時に、比較時間が短縮されることに基
づき、主記憶バスの値が確定してから、無効化処理を起
動するまでの、信号遅延時間も減少する。
外側のキャッシュ12の無効化処理のための比較器の論
理規模を比較する。仮に従来例の第2の方法を用いた場
合では、32ビツトの比較器が必要であるが、本実施例
においては、20ビツトの比較器ですむ。ゆえに論理規
模の点と信号遅延時間の点において、内側のキャッシュ
11と同様に本実施例は利点がある。
本実施例で、従来例の第2の方法と比較して、唯一の欠
点は先に説明した不本意な無効化が起こることであるが
1本実施例において、内側のキャッシュの無効化処理で
は下位24ビツトの比較は正しいため、不本意な無効化
は、主記憶の書き込みアドレスと下位24ビツトが等し
いブロックでのみ起こる。下位24ビツトが等しい2つ
のアドレスは最低4メガバイト離れている。よってアク
セス領域の局所性により不本意な無効化が起こる頻度は
非常に小さい。
また外側のキャッシュでは、下位36ビツトの比較は正
しく、下位36ビツトが等しい2つのアドレスは、最低
64ギガバイト離れているので。
内側のキャッシュ以上に不本意な無効化が起こる頻度は
小さい。
〔発明の効果〕
本発明を用いたことにより、無効化を完全に行うことが
でき、なおかつ従来例で問題となった、無効化通知のた
めに本来のアクセスが中断され、処理の低下をもたらす
か、または主記憶バスの中のキャッシュの1ブロックを
単位とするアドレス信号線を、直接に内側のキャッシュ
に与えたために起こった。内側のキャッシュの外部端子
数の大きな増加を、もたらさない。
なおかつ、本発明を用いたことにより、従来例の、主記
憶バスの中のキャッシュの1ブロックを単位とするアド
レス信号線を、直接に内側のキャッシュに与える例と比
べ、主記憶バスのタグの比較器の論理規模を/11さく
することができ、それに付随して、主記憶バスの値が確
定してから、無効化処理を起動するまでの、信号遅延時
間も減少する。
さらに部分アドレスとして、キャッシュのカラムアドレ
スを含むようなアドレスを用いることによって、無効化
のキャッシュメモリアクセス回数を1回ですませること
にでき、処理効率の低下をもたらさない。
さらに部分アドレスとして、キャッシュのブロックを単
位とするアドレスのうち下位から連続するアドレスを用
いることにより、主記憶アドレスが属するブロック以外
のブロックが無効化されることによる処理速度の低下を
低減することができる。
【図面の簡単な説明】
第1図は本情報処理装置のメモリアクセスに関する部分
の全体図、第2図は本情報処理装置と対比説明するため
に用いた別の情報処理装置のメモリアクセスに関する部
分の全体図、第3図は内側のキャッシュ11の構成図、
第4図は外側のキャッシュ12の構成図である。 10.20,110・・・プロセッサ、11,21゜1
11・・・内側のキャッシュ、12,22,112・・
・外側のキャッシュ、13,23,113・・・プロセ
ッサアドレス線、15,25,115・・・キャッシュ
間アドレス線、14,24,114・・・プロセッサデ
ータ線、16,26,116・・・キャッシュ間データ
線、42,130・・・主記憶装置、31゜32.33
,131・・・主記憶アドレスバス、34゜132・・
・主記憶データバス、41,133・・・入出力装置、
200,300−7ドLzスフL/イ、201゜301
・・・データアレイ、202,203,204゜302
.303,304・・・アドレス線のスイッチ、205
.206,305,306−・・データ線ノスイッチ、
207,208,307,308・・・ヒツト判定器、
209,309・・・コントロールブロック、210,
310・・・タグアドレス、211゜218.311,
318・・・カラムアドレス、212゜312・・・ブ
ロック内アドレス、213,313・・・アドレスアレ
イのタグ読み呂し結果、214゜314・・・アドレス
アレイの下位タグ読み出し結果、215.216,31
5,316・・・ヒツト判定結果、217,317・・
・タグアドレスの一部分、219.319・・・主記憶
バス制御線、220゜′lJ+  図 41     似 !J 2 図 /lθ 7°口ぜ、Vす ///   口1イぢとJnffv、ノシくLノb  
入ム刀に置 不 3L71 第 4 口 S ) 5 jljl’3

Claims (1)

  1. 【特許請求の範囲】 1、主記憶装置、プロセッサ、主記憶装置とプロセッサ
    の間に存在するキャッシュ記憶を有し、主記憶アドレス
    信号のうち、キャッシュ記憶の1ブロックを単位をする
    アドレスの一部分の信号を、ある1つの、ないしは複数
    の階層のキャッシュに入力し、キャッシュ記憶のうちで
    、該一部分のアドレスに合致しうるブロックをすべて無
    効化することによってデータの一致性を保つことを特徴
    とする情報処理装置。 2、請求項第1項記載のキャッシュ記憶の1ブロックを
    単位をするアドレスの一部分の信号として、キャッシュ
    記憶の1ブロックを単位をするアドレスからキャッシュ
    記憶のアドレスアレイに格納されるアドレスを除いたア
    ドレスであるカラムアドレスを含むアドレスを使用する
    情報処理装置。 3、請求項第2項記載のキャッシュ記憶の1ブロックを
    単位をするアドレスの一部分の信号として、キャッシュ
    記憶の1ブロックを単位をするアドレスのうちの下位か
    ら連続するアドレスを使用する情報処理装置。
JP2302419A 1990-11-09 1990-11-09 情報処理装置 Pending JPH04175948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2302419A JPH04175948A (ja) 1990-11-09 1990-11-09 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2302419A JPH04175948A (ja) 1990-11-09 1990-11-09 情報処理装置

Publications (1)

Publication Number Publication Date
JPH04175948A true JPH04175948A (ja) 1992-06-23

Family

ID=17908693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2302419A Pending JPH04175948A (ja) 1990-11-09 1990-11-09 情報処理装置

Country Status (1)

Country Link
JP (1) JPH04175948A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07311713A (ja) * 1994-05-12 1995-11-28 Internatl Business Mach Corp <Ibm> 階層キャッシュ・システム及びバッファリング・システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07311713A (ja) * 1994-05-12 1995-11-28 Internatl Business Mach Corp <Ibm> 階層キャッシュ・システム及びバッファリング・システム

Similar Documents

Publication Publication Date Title
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
KR100491435B1 (ko) 다수의 시스템 버스를 가지는 컴퓨터 시스템 내의 메모리 일관성을 유지하기 위한 시스템 및 방법
US5752264A (en) Computer architecture incorporating processor clusters and hierarchical cache memories
US5067078A (en) Cache which provides status information
US6202125B1 (en) Processor-cache protocol using simple commands to implement a range of cache configurations
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JPH0247756A (ja) 多重プロセツサ・システム用書込み共用キヤツシユ回路
US7472227B2 (en) Invalidating multiple address cache entries
EP0470739B1 (en) Method for managing a cache memory system
US6807608B2 (en) Multiprocessor environment supporting variable-sized coherency transactions
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템
US6813694B2 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy
US6487626B2 (en) Method and apparatus of bus interface for a processor
JPH1091521A (ja) 二重ディレクトリー仮想キャッシュ及びその制御方法
JPH03163640A (ja) マルチプロセッサシステムおよびそれに用いるキャッシュメモリ
JP4024247B2 (ja) 半導体データプロセッサ
JPH04175948A (ja) 情報処理装置
US6412033B1 (en) Method and apparatus for data and address transmission over a bus
JP2580263B2 (ja) バッファ記憶装置
US6826654B2 (en) Cache invalidation bus for a highly scalable shared cache memory hierarchy
JPH0387948A (ja) マルチプロセッサシステム
US20040030950A1 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
JPS6329297B2 (ja)