JPH01199251A - キャッシュメモリアクセス制御方式 - Google Patents
キャッシュメモリアクセス制御方式Info
- Publication number
- JPH01199251A JPH01199251A JP8822898A JP2289888A JPH01199251A JP H01199251 A JPH01199251 A JP H01199251A JP 8822898 A JP8822898 A JP 8822898A JP 2289888 A JP2289888 A JP 2289888A JP H01199251 A JPH01199251 A JP H01199251A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- line
- lru
- caches
- order
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(概 要〕
この発明は中央処理装置と主記憶装置間に設けられるキ
ャッシュメモリのアクセス制御方式に関し、 キャッシュメモリへのアクセス精度の向上を図ることを
目的とし、 中央処理装置と主記憶装置との間に設けられるキャッシ
ュメモリのアクセス制御方式であって、前記中央処理装
置内部に設けられうる上位キャッシュメモリと外部に設
けられる下位キャッシュメモリのそれぞれのLRUをヒ
ツト情報に基づいて更新するLRU更新手段と、前記L
RUに基づいて、最も古いラインの内容を選択的に入れ
換えるためのライン選択手段とを備え、前記下位キャッ
シュのLRUを更新する手11j〃の進行中に、入れ換
え対象ブロック中の上位キャッシュに存在するラインに
ついてもアクセスが行なわれたとみなすようにLRUを
更新するか、あるいは入れ換えラインを決定するときに
、下位キャッシュには存在するが上位キャッシュには存
在しないものの中から最も古いものを下位キャッシュか
ら選択することにより入れ換えラインを決定するように
構成する。
ャッシュメモリのアクセス制御方式に関し、 キャッシュメモリへのアクセス精度の向上を図ることを
目的とし、 中央処理装置と主記憶装置との間に設けられるキャッシ
ュメモリのアクセス制御方式であって、前記中央処理装
置内部に設けられうる上位キャッシュメモリと外部に設
けられる下位キャッシュメモリのそれぞれのLRUをヒ
ツト情報に基づいて更新するLRU更新手段と、前記L
RUに基づいて、最も古いラインの内容を選択的に入れ
換えるためのライン選択手段とを備え、前記下位キャッ
シュのLRUを更新する手11j〃の進行中に、入れ換
え対象ブロック中の上位キャッシュに存在するラインに
ついてもアクセスが行なわれたとみなすようにLRUを
更新するか、あるいは入れ換えラインを決定するときに
、下位キャッシュには存在するが上位キャッシュには存
在しないものの中から最も古いものを下位キャッシュか
ら選択することにより入れ換えラインを決定するように
構成する。
本発明は中央処理装置と主記憶装置間に設けられるキャ
ッシュメモリのアクセス制御方式に関する。
ッシュメモリのアクセス制御方式に関する。
データ処理装置では中央処理装置(CP U)の高速処
理と低速な主記憶装置(MSU)との処理速度の差を解
消するために、これらの間に高速のキャッシュメモリ
(以下、キャッシュ)を設けることが行なわれる。マイ
クロプロセッサにおいても同様であり、集積度の向上に
伴い、チップ内部に小容量のキャッシュを設け、さらに
容量を補填するために外部にもキャッシュを設はヒツト
率を向上させ処理性能の向上を図っている。キャッシュ
は通常、複数バイトからなるラインと呼ばれる単位毎に
管理され、新たなラインをキャッシュに登録するとき、
ラインに空きがなければ既にキャッシュに登録されてい
るラインのうちのどれかが追い出される。
理と低速な主記憶装置(MSU)との処理速度の差を解
消するために、これらの間に高速のキャッシュメモリ
(以下、キャッシュ)を設けることが行なわれる。マイ
クロプロセッサにおいても同様であり、集積度の向上に
伴い、チップ内部に小容量のキャッシュを設け、さらに
容量を補填するために外部にもキャッシュを設はヒツト
率を向上させ処理性能の向上を図っている。キャッシュ
は通常、複数バイトからなるラインと呼ばれる単位毎に
管理され、新たなラインをキャッシュに登録するとき、
ラインに空きがなければ既にキャッシュに登録されてい
るラインのうちのどれかが追い出される。
第1O図はセットアソシアティブ方式によるキャッシュ
のアクセス制御方式を説明する図であり、通常、L R
U (Least Recentjy Used)方式
によってデータの入れ換えの制御を行なう。この方式は
同一のセットのラインの中で現時点までのアクセス順を
記憶しておき、最近アクセスされていない古いラインか
ら入れ換えの対象とするものである。
のアクセス制御方式を説明する図であり、通常、L R
U (Least Recentjy Used)方式
によってデータの入れ換えの制御を行なう。この方式は
同一のセットのラインの中で現時点までのアクセス順を
記憶しておき、最近アクセスされていない古いラインか
ら入れ換えの対象とするものである。
例えば、MSUのセット1のラインの斜線部分の“00
101χ”と“FFFOIX ”が、キャッシュのセッ
ト1のWAYOとWAYIにそれぞれ格納されていると
すると、次に同じセット1に対応するが、“0OIOI
X”と” FFFOIX ’以外のアドレスにアクセス
されたときはLRU方式では“0OIOIX”と“FF
FOIX”のいずれかの内最近使われない方を追い出す
ように制御する。
101χ”と“FFFOIX ”が、キャッシュのセッ
ト1のWAYOとWAYIにそれぞれ格納されていると
すると、次に同じセット1に対応するが、“0OIOI
X”と” FFFOIX ’以外のアドレスにアクセス
されたときはLRU方式では“0OIOIX”と“FF
FOIX”のいずれかの内最近使われない方を追い出す
ように制御する。
第11図は階層化されたキャッシュ構成を示す図で、第
12図に詳細に内部構成を示すように、上位キャッシュ
は内部キャッシュに対応し、下位キャッシュは外部キャ
ッシュに対応する。内部キャッシュおよび外部キャッシ
ュは、容量の大小に差はあるが、アドレスを格納するタ
グ部(TAG)と、データを格納するデータ部−(DA
TA)と、これらの書込み/読出しを制御する制御部(
CNT)とを基本構成とする。通常、内部キャッシュは
CPU内部に設けられ、外部キャッシュはアドレスバス
(ADD) 、データバス(D)、制御信号線(S)を
介して内部キャッシュに接続され、さらにMSUに接続
される。第11図に示すような階層化されたキャッシュ
構成では上位キャッシュのアクセス頻度が高く、下位キ
ャッシュのアクセス頻度が低いのが通常である。従って
、読み出しアクセスの場合、上位キャッシュにヒント(
bit)している間は下位キャッシュLこアクセスしな
いので、最もアクセス頻度の高いアドレスに対する下位
キャッシュのラインはアクセス頻度が低いためそのライ
ンから追い出されることがある。この時、偶然にそのア
クセスにおいて上位キャッシュから追い出され、下位キ
ャッシュからも追い出されると、次のアクセスは上位、
下位ともそのアドレスが消滅するミスとなってアクセス
の性能低下を来すことになる。
12図に詳細に内部構成を示すように、上位キャッシュ
は内部キャッシュに対応し、下位キャッシュは外部キャ
ッシュに対応する。内部キャッシュおよび外部キャッシ
ュは、容量の大小に差はあるが、アドレスを格納するタ
グ部(TAG)と、データを格納するデータ部−(DA
TA)と、これらの書込み/読出しを制御する制御部(
CNT)とを基本構成とする。通常、内部キャッシュは
CPU内部に設けられ、外部キャッシュはアドレスバス
(ADD) 、データバス(D)、制御信号線(S)を
介して内部キャッシュに接続され、さらにMSUに接続
される。第11図に示すような階層化されたキャッシュ
構成では上位キャッシュのアクセス頻度が高く、下位キ
ャッシュのアクセス頻度が低いのが通常である。従って
、読み出しアクセスの場合、上位キャッシュにヒント(
bit)している間は下位キャッシュLこアクセスしな
いので、最もアクセス頻度の高いアドレスに対する下位
キャッシュのラインはアクセス頻度が低いためそのライ
ンから追い出されることがある。この時、偶然にそのア
クセスにおいて上位キャッシュから追い出され、下位キ
ャッシュからも追い出されると、次のアクセスは上位、
下位ともそのアドレスが消滅するミスとなってアクセス
の性能低下を来すことになる。
第13図は従来の問題点を説明する図である。
図において、左側は上位キャッシュ、右側は下位キャッ
シュの内容である。本図を用いて上述したアクセス頻度
の高いアドレスに対応する下位のラインが追い出された
後で上位のラインも追い出される場合を説明する。左端
はアクセス順序を示し、同一のセットに対応するアドレ
スA、B、C,D。
シュの内容である。本図を用いて上述したアクセス頻度
の高いアドレスに対応する下位のラインが追い出された
後で上位のラインも追い出される場合を説明する。左端
はアクセス順序を示し、同一のセットに対応するアドレ
スA、B、C,D。
Eにこの順序でアクセスがあり、Aが最もアクセス頻度
が高いアクセスとする。上位および下位キャッシュ°の
内容は左端に示したアクセスがあった後の各ラインの内
容を示し、添字数字は各WAY間のアクセス順序を示す
(番号が若いほど古い内容であり入れ替えの対象となる
)。また、図中のダッシュ(−)はラインが存在しない
ことを示している。上位キャッシュにおいて、下端から
3番目ではWAYOにアドレスAがアクセスされた後、
WAYIにアドレスEがアクセスされると−AYIのア
ドレスDはEに更新され、次にWAYOにアドレスDが
アクセスされると、WAYOのアドレスAはDに更新さ
れる。この時点でWAYOはアドレスDに−AYIはア
ドレスEとなりアドレスAは上位キャッシュから消滅す
る。下位キャッシュにおいても同様に、下端から3番目
の−AYOにおいて、アドレスAから已に変ると、この
時点では下位キャッシュのすべてのWAYからアドレス
Aは消滅する。このようにして、最も頻度の高いアドレ
スAが上位キャッシュからも下位キャッシュからも追い
出される事態が生ずる。
が高いアクセスとする。上位および下位キャッシュ°の
内容は左端に示したアクセスがあった後の各ラインの内
容を示し、添字数字は各WAY間のアクセス順序を示す
(番号が若いほど古い内容であり入れ替えの対象となる
)。また、図中のダッシュ(−)はラインが存在しない
ことを示している。上位キャッシュにおいて、下端から
3番目ではWAYOにアドレスAがアクセスされた後、
WAYIにアドレスEがアクセスされると−AYIのア
ドレスDはEに更新され、次にWAYOにアドレスDが
アクセスされると、WAYOのアドレスAはDに更新さ
れる。この時点でWAYOはアドレスDに−AYIはア
ドレスEとなりアドレスAは上位キャッシュから消滅す
る。下位キャッシュにおいても同様に、下端から3番目
の−AYOにおいて、アドレスAから已に変ると、この
時点では下位キャッシュのすべてのWAYからアドレス
Aは消滅する。このようにして、最も頻度の高いアドレ
スAが上位キャッシュからも下位キャッシュからも追い
出される事態が生ずる。
本発明の目的は階層化されたキャッシュ構成のアクセス
において、下位キャッシュの入れ換えを下位のキャッシ
ュへのアクセスだけでなく上位のキャッシュにも存在す
ることを配慮してアクセス制御することにより、最もア
クセス頻度の高いアドレスが上位および下位のキャッシ
ュから消滅することを防止するアクセス制御方式を提供
することにある。
において、下位キャッシュの入れ換えを下位のキャッシ
ュへのアクセスだけでなく上位のキャッシュにも存在す
ることを配慮してアクセス制御することにより、最もア
クセス頻度の高いアドレスが上位および下位のキャッシ
ュから消滅することを防止するアクセス制御方式を提供
することにある。
〔課題を解決するための手段および作用〕第1図は本発
明の原理構成図である。Aは内部及び外部キャッシュの
LRUを更新する手段であり、Bは最も古いラインの内
容を追い出すためのライン選択手段である。このような
構成において、アクセスすることにより更新されるLR
Uに基づいて入れ換え対象となるラインの内から入れ換
えを行なう階層化されたキャッシュメモリのアクセス制
御方式では、前記下位キャッシュのLRUを更新する手
段の進行中に、入れ換え対象ブロック中の上位キャッシ
ュに存在するラインについてもアクセスが行なわれたと
みなすようにLRUを更新しておくか、あるいは下位キ
ャッシュの入れ換えラインを決定するときに、下位キャ
ッシュには存在するが上位キャッシュには存在しないも
のの中から最も古いものを下位キャッシュから選ぶこと
により入れ換えラインを決定する。
明の原理構成図である。Aは内部及び外部キャッシュの
LRUを更新する手段であり、Bは最も古いラインの内
容を追い出すためのライン選択手段である。このような
構成において、アクセスすることにより更新されるLR
Uに基づいて入れ換え対象となるラインの内から入れ換
えを行なう階層化されたキャッシュメモリのアクセス制
御方式では、前記下位キャッシュのLRUを更新する手
段の進行中に、入れ換え対象ブロック中の上位キャッシ
ュに存在するラインについてもアクセスが行なわれたと
みなすようにLRUを更新しておくか、あるいは下位キ
ャッシュの入れ換えラインを決定するときに、下位キャ
ッシュには存在するが上位キャッシュには存在しないも
のの中から最も古いものを下位キャッシュから選ぶこと
により入れ換えラインを決定する。
第2図は本発明に係るキャッシュメモリアクセス制御方
式を適用する内部キャッシュのブロック図である。タグ
部(T A G)には第4図(a)に詳細に示すように
−AYOのラインとWAYIのラインを有し、命令制御
部lNClから内部アドレスバスIADHを介して送出
されるアドレスAl0−4によりラインが選択され、さ
らに書込みもしくは読出しの指定アドレスA31−11
が入力される。指定アドレスA31−11は同時に比較
器COMP 1およびCOMP 2にも入力され、これ
ら比較器において−AYOおよびWAYIからの出力と
比較され一致していれば制御部CNTに出力される。比
較器COMP 1およびCOMP 2の出力は制御部C
NTを介してライン選択アドレスAr0−4と共にLR
U方式により更新する内部制御回路(LiLRIJ)に
入力される。制御回路(LiLRtl)の出力は制御部
CNTに入力されると共に取り込みWayAとして後述
する外部キャッシュに出力される。
式を適用する内部キャッシュのブロック図である。タグ
部(T A G)には第4図(a)に詳細に示すように
−AYOのラインとWAYIのラインを有し、命令制御
部lNClから内部アドレスバスIADHを介して送出
されるアドレスAl0−4によりラインが選択され、さ
らに書込みもしくは読出しの指定アドレスA31−11
が入力される。指定アドレスA31−11は同時に比較
器COMP 1およびCOMP 2にも入力され、これ
ら比較器において−AYOおよびWAYIからの出力と
比較され一致していれば制御部CNTに出力される。比
較器COMP 1およびCOMP 2の出力は制御部C
NTを介してライン選択アドレスAr0−4と共にLR
U方式により更新する内部制御回路(LiLRIJ)に
入力される。制御回路(LiLRtl)の出力は制御部
CNTに入力されると共に取り込みWayAとして後述
する外部キャッシュに出力される。
さらに、命令制御部lNClからのライン選択アドレス
A to−2は内部アドレスバスIADBを介してデー
タ部(DATA)の−AYOおよびWAYIに入力され
る。そして、データ部の−AYOおよびWAYIには比
較器COMP 1およびCOMP 2の出力が入力され
、指定アドレスのデータが出力される。出力データDA
TAは内部データバスIDBを介して命令制御部lNC
2へ送出される。■は制御部CNTからTAGに入力さ
れるライン更新のための更新信号である。
A to−2は内部アドレスバスIADBを介してデー
タ部(DATA)の−AYOおよびWAYIに入力され
る。そして、データ部の−AYOおよびWAYIには比
較器COMP 1およびCOMP 2の出力が入力され
、指定アドレスのデータが出力される。出力データDA
TAは内部データバスIDBを介して命令制御部lNC
2へ送出される。■は制御部CNTからTAGに入力さ
れるライン更新のための更新信号である。
第3図は本発明を適用する外部キャッシュのブロック図
である。外部キャッシュではLRU方式により更新する
外部制御回路(LeLRU)が前述の内部制御回路(L
iLRU)に代って設けられ、さらに更新信号lおよび
Wと取り込みWayAとを比較する比較器COMP 3
とCOMP 4が追加される。各々の比較器からはヒラ
1−(bit)および更新信号Iが制御CNTに入力さ
れ、同時にデータ部(DATA)の各WAYに送出され
る。簡単のためにWAYI 、 WAY2については省
略されており、これらはWAYO、WAY3と同様の構
成である。
である。外部キャッシュではLRU方式により更新する
外部制御回路(LeLRU)が前述の内部制御回路(L
iLRU)に代って設けられ、さらに更新信号lおよび
Wと取り込みWayAとを比較する比較器COMP 3
とCOMP 4が追加される。各々の比較器からはヒラ
1−(bit)および更新信号Iが制御CNTに入力さ
れ、同時にデータ部(DATA)の各WAYに送出され
る。簡単のためにWAYI 、 WAY2については省
略されており、これらはWAYO、WAY3と同様の構
成である。
第4図(a)、(b)はキャッシュ構成図を示し、(a
)は内部キャッシュ、(b)は外部キャッシュである。
)は内部キャッシュ、(b)は外部キャッシュである。
Eは外部キャッシュのラインが存在し、lは内部キャッ
シュのラインが存在することを示す。Liは内部キャッ
シュのWAYのLRU制御、Leは外部キャッシュのW
AYのLRUIJIを示す。上位と下位のキャッシュは
斜線で示すように固定的に対応しており、本発明では下
位にアクセスするとき上位にもアクセスしたかのように
みせかけるか、あるいは上位に存在せず、下位に存在す
るものの中から最も古いものを追い出すように制御する
。
シュのラインが存在することを示す。Liは内部キャッ
シュのWAYのLRU制御、Leは外部キャッシュのW
AYのLRUIJIを示す。上位と下位のキャッシュは
斜線で示すように固定的に対応しており、本発明では下
位にアクセスするとき上位にもアクセスしたかのように
みせかけるか、あるいは上位に存在せず、下位に存在す
るものの中から最も古いものを追い出すように制御する
。
第5図(a)、(b)は第2図および第3図に示すLR
U制御回路のブロック図であって、(a)は後述する方
式1に適用し、(b)は方式2に適用する。前述したよ
うに本発明のアクセス制御方式では2つの方式が含まれ
、1つの方式では、LRUは上位キャッシュに存在せず
、下位キャッシュをアクセスしたときに同一セット中の
上位キャッシュに存在するラインについてもアクセスが
あったように更新しておく機能を有し、他の方式では、
LRUの更新は下位のキャッシュのヒントに基いてのみ
行ない、どれかを追い出すときに下位キャッシュに存在
し上位キャッシュにないものの中から古いものを選択す
る機能を有する。即ち、どちらの方式でも上位および下
位キャッシュの両方に存在するものは追い出さず残して
おき、頻度の高いものがたまたま上位キャッシュから追
い出されたときに下位キャッシュには存在するようにし
ておくことにより、頻度の高いアドレスの消滅を防止す
るものである。
U制御回路のブロック図であって、(a)は後述する方
式1に適用し、(b)は方式2に適用する。前述したよ
うに本発明のアクセス制御方式では2つの方式が含まれ
、1つの方式では、LRUは上位キャッシュに存在せず
、下位キャッシュをアクセスしたときに同一セット中の
上位キャッシュに存在するラインについてもアクセスが
あったように更新しておく機能を有し、他の方式では、
LRUの更新は下位のキャッシュのヒントに基いてのみ
行ない、どれかを追い出すときに下位キャッシュに存在
し上位キャッシュにないものの中から古いものを選択す
る機能を有する。即ち、どちらの方式でも上位および下
位キャッシュの両方に存在するものは追い出さず残して
おき、頻度の高いものがたまたま上位キャッシュから追
い出されたときに下位キャッシュには存在するようにし
ておくことにより、頻度の高いアドレスの消滅を防止す
るものである。
(a)に示すLRU*[11回路は、LRUのRAM5
1と、LRUの更新回路52と、入れ換えを決定するリ
プレース決定回路53により構成され、(b)に示すL
RU制御回路は、RAM51と、更新回路52と、リプ
レースWAY決定回路54により構成される。これらの
回路の詳細は第7図(a)。
1と、LRUの更新回路52と、入れ換えを決定するリ
プレース決定回路53により構成され、(b)に示すL
RU制御回路は、RAM51と、更新回路52と、リプ
レースWAY決定回路54により構成される。これらの
回路の詳細は第7図(a)。
(b)および第8図(a)〜(c)に詳細に示すので、
説明は後述する。
説明は後述する。
第6図はWAYの参照順序を説明する図である。
図で示すように4wayのLRUを示し、各wayの参
照の順序関係を6本の矢a w fで示す。この場合、
例えばaが“0”のとき番号の若い方のWAYOが一^
Y1より古いことを示し、“l”のときは番号の若い方
のWAYOが−AYIより新しいことを示している。同
様に、例えばfについてはfが“0”のときは−AY2
の方がWAY3より古く、“1″のときはWAY2の方
が−AY3より新しいことを示している。
照の順序関係を6本の矢a w fで示す。この場合、
例えばaが“0”のとき番号の若い方のWAYOが一^
Y1より古いことを示し、“l”のときは番号の若い方
のWAYOが−AYIより新しいことを示している。同
様に、例えばfについてはfが“0”のときは−AY2
の方がWAY3より古く、“1″のときはWAY2の方
が−AY3より新しいことを示している。
第7図(a)、(b)は第5図(a)を詳細に示すブロ
ック図であり、(a)はLRU更新回路52の詳細、(
b)はリプレース決定回路53の詳細ブロック図である
。(a)において、例えば“hito”は−AYOをヒ
ントしてアクセスしたことを示し、“hit3”はWA
Y3をヒツトしてアクセスしたことを示している。信号
!はそのラインが上位キャッシュに存在することを示し
ており、例えば“IO”はWAYOの内容が上位キャッ
シュに存在することを示している。MPXはマルチプレ
クサを示し、通常のLRUの更新はbit信号に行なう
が、方式1の如く上位キャッシュにアクセスがあったか
の如くみなす場合には更新信号■により更新情報を制御
する。即ち、まず、■信号による更新を行なった後、“
hit”による更新を行なう。また、a out〜f
outはLRUのRAM51の出力であり、この出力は
(b)に示す如くリプレース決定回路53にも入力され
る。ざらにai、1〜fifiはRAM51に入力され
RAMを書き直す内容となる。ブロック71a〜71f
はすべて同一の構成をとり、例えばブロック71aは(
c)に真理値表を示すように、マルチプレクサMPXで
選択された信号H1のうち例えばHl6とHl、につい
て、Hl。とHl。
ック図であり、(a)はLRU更新回路52の詳細、(
b)はリプレース決定回路53の詳細ブロック図である
。(a)において、例えば“hito”は−AYOをヒ
ントしてアクセスしたことを示し、“hit3”はWA
Y3をヒツトしてアクセスしたことを示している。信号
!はそのラインが上位キャッシュに存在することを示し
ており、例えば“IO”はWAYOの内容が上位キャッ
シュに存在することを示している。MPXはマルチプレ
クサを示し、通常のLRUの更新はbit信号に行なう
が、方式1の如く上位キャッシュにアクセスがあったか
の如くみなす場合には更新信号■により更新情報を制御
する。即ち、まず、■信号による更新を行なった後、“
hit”による更新を行なう。また、a out〜f
outはLRUのRAM51の出力であり、この出力は
(b)に示す如くリプレース決定回路53にも入力され
る。ざらにai、1〜fifiはRAM51に入力され
RAMを書き直す内容となる。ブロック71a〜71f
はすべて同一の構成をとり、例えばブロック71aは(
c)に真理値表を示すように、マルチプレクサMPXで
選択された信号H1のうち例えばHl6とHl、につい
て、Hl。とHl。
が共に“0.0”もしくは“1,1”のときはaimは
そのままa outを出力し、Hl、とHI Iが異な
るときはa!Rから“0”もしくは“l”が出力される
。(b)の72a〜72dはリプレース決定回路を示し
、実際に追い出すときにどのWAYが最も古いかをさが
すロジックである。H!の真理値表に従ってLRUのR
AMに書き込み、LRUの更新が行なわれる。
そのままa outを出力し、Hl、とHI Iが異な
るときはa!Rから“0”もしくは“l”が出力される
。(b)の72a〜72dはリプレース決定回路を示し
、実際に追い出すときにどのWAYが最も古いかをさが
すロジックである。H!の真理値表に従ってLRUのR
AMに書き込み、LRUの更新が行なわれる。
第8図(a)〜(c)は方式2に適用される回路構成で
あり、(a)は第7図(a)と同様である。(b)およ
び(c)はリプレースWay決定回路54の詳細構成図
である。動作等については第7図と同様なため省略する
。
あり、(a)は第7図(a)と同様である。(b)およ
び(c)はリプレースWay決定回路54の詳細構成図
である。動作等については第7図と同様なため省略する
。
第9図は本発明に係るアクセス制御方式のLRU更新タ
イミングチャートであって、第2図および第3図に示す
回路においてCPUから取込みWayを出力するタイミ
ングチャートである。第4図(a)、(b)に示すよう
に、内部キャッシュの1つのライン(斜線部分)に対応
する外部キャッシュのラインは16個所(斜線部分)存
在する。
イミングチャートであって、第2図および第3図に示す
回路においてCPUから取込みWayを出力するタイミ
ングチャートである。第4図(a)、(b)に示すよう
に、内部キャッシュの1つのライン(斜線部分)に対応
する外部キャッシュのラインは16個所(斜線部分)存
在する。
この中に内部キャッシュの−AYOおよび−AYIに存
在するものが最大1つずつ存在する。内部キャッシュの
WAYOに取り込む場合、1−1、W−Oとし他のライ
ンについてWAYOに取り込まれているものがないかを
検索する。もし見つかればそのラインはWAYOから追
い出されたはずなので1−0とする。
在するものが最大1つずつ存在する。内部キャッシュの
WAYOに取り込む場合、1−1、W−Oとし他のライ
ンについてWAYOに取り込まれているものがないかを
検索する。もし見つかればそのラインはWAYOから追
い出されたはずなので1−0とする。
CPUはアドレスADDをクロックCLKに対応して出
力し、内部キャッシュはアドレスを取込み、データDA
TAによりデータを取り込む。内部キヤ・2シユの制御
回路LiLRUは取込みWay信号Aを外部キャッシュ
に出力する。外部キャッシュの制御は、取り込まれたW
ayがない場合と取り込まれたWa yがあった場合に
分けられ、■によるLRUの更新の後、bitによる更
新が行なわれて、前述の如く■→LW−0として他のラ
インについてWAYOに取り込まれているものがないか
を検索する。即ち、取り込まれたWayがない(mis
s)の場合は、m1ss 、 +l1iss・・・とな
る。一方、取り込まれたWayがあった(b i t)
場合にはI−0となる。
力し、内部キャッシュはアドレスを取込み、データDA
TAによりデータを取り込む。内部キヤ・2シユの制御
回路LiLRUは取込みWay信号Aを外部キャッシュ
に出力する。外部キャッシュの制御は、取り込まれたW
ayがない場合と取り込まれたWa yがあった場合に
分けられ、■によるLRUの更新の後、bitによる更
新が行なわれて、前述の如く■→LW−0として他のラ
インについてWAYOに取り込まれているものがないか
を検索する。即ち、取り込まれたWayがない(mis
s)の場合は、m1ss 、 +l1iss・・・とな
る。一方、取り込まれたWayがあった(b i t)
場合にはI−0となる。
以上説明したように、本発明によれば、階層化されたキ
ャッシュにおいて、下位キャッシュの入れ換えを、下位
のキャッシュへのアクセスだけでなく上位キャッシュに
存在する事も考慮に入れて制御することにより、アクセ
スの精度向上を図ることができる。
ャッシュにおいて、下位キャッシュの入れ換えを、下位
のキャッシュへのアクセスだけでなく上位キャッシュに
存在する事も考慮に入れて制御することにより、アクセ
スの精度向上を図ることができる。
第1図は、本発明の原理構成図、
第2図は、本発明に係る一実施例内部キャッシュブロッ
ク構成図、 第3図は、本発明に係る一実施例外部キャッシュブロッ
ク構成図、 第4図(a)、(b)は、内部および外部キャッシュ詳
細構成例。 第5図(a)、(b)は、LRU制御回路ブロック図、 第6図は、WAY参照順序説明図、 第7図(a)、(b)は、LRU制御回路詳細図(方式
1)、(c)は真理値表、 第8図(a) 〜(c)は、LRtJ制御回路詳細図(
方式2)、 第9図は、本発明のアクセスタイムチャート、第1O図
は、セットアソシアティブ方式説明図、第11図は、階
層化されたキャッシュ構成図、第12図は、−船釣なキ
ャッシュ制御構成図、および 第13図は、従来の問題点を説明する図である。 (符号の説明) A・・・LRU更新手段、 B・・・ライン選択手段、
lNCl 、 lNC2・・・命令制御部、CNT・・
・制御部、 TAG・・・タグ部、DATA・・・
データ部、 51・・・LRU RAM、52・・
・LRU更新回路、 53・・・リプレース決定回路、 54・・・リプレースWay決定回路。
ク構成図、 第3図は、本発明に係る一実施例外部キャッシュブロッ
ク構成図、 第4図(a)、(b)は、内部および外部キャッシュ詳
細構成例。 第5図(a)、(b)は、LRU制御回路ブロック図、 第6図は、WAY参照順序説明図、 第7図(a)、(b)は、LRU制御回路詳細図(方式
1)、(c)は真理値表、 第8図(a) 〜(c)は、LRtJ制御回路詳細図(
方式2)、 第9図は、本発明のアクセスタイムチャート、第1O図
は、セットアソシアティブ方式説明図、第11図は、階
層化されたキャッシュ構成図、第12図は、−船釣なキ
ャッシュ制御構成図、および 第13図は、従来の問題点を説明する図である。 (符号の説明) A・・・LRU更新手段、 B・・・ライン選択手段、
lNCl 、 lNC2・・・命令制御部、CNT・・
・制御部、 TAG・・・タグ部、DATA・・・
データ部、 51・・・LRU RAM、52・・
・LRU更新回路、 53・・・リプレース決定回路、 54・・・リプレースWay決定回路。
Claims (1)
- 【特許請求の範囲】 1、中央処理装置と主記憶装置との間に設けられるキャ
ッシュメモリのアクセス制御方式であって、 前記中央処理装置内部に設けられる上位キャッシュメモ
リと外部に設けられる下位キャッシュメモリのそれぞれ
のLRU、ヒット情報に基づいて更新するLRU更新手
段(A)と、 前記LRUに基づいて、最も古いラインの内容を選択的
に入れ換えるためのライン選択手段(Bとを備え、 前記下位キャッシュのLRUを更新する手順の進行中に
、入れ換え対象ブロック中の上位キャッシュに存在する
ラインについてもアクセスが行なわれたとみなすように
LRUを更新するか、あるいは下位キャッシュの入れ換
えラインを決定するときに、下位キャッシュには存在す
るが上位キャッシュには存在しないものの中から最も古
いものを下位キャッシュから選択することにより入れ換
えラインを決定するキャッシュメモリのアクセス制御方
式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8822898A JPH01199251A (ja) | 1988-02-04 | 1988-02-04 | キャッシュメモリアクセス制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8822898A JPH01199251A (ja) | 1988-02-04 | 1988-02-04 | キャッシュメモリアクセス制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01199251A true JPH01199251A (ja) | 1989-08-10 |
Family
ID=12095466
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8822898A Pending JPH01199251A (ja) | 1988-02-04 | 1988-02-04 | キャッシュメモリアクセス制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01199251A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7461207B2 (en) | 2002-05-06 | 2008-12-02 | Sony Computer Entertainment Inc. | Methods and apparatus for controlling hierarchical cache memory |
| JP2009524137A (ja) * | 2006-01-19 | 2009-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ |
-
1988
- 1988-02-04 JP JP8822898A patent/JPH01199251A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7461207B2 (en) | 2002-05-06 | 2008-12-02 | Sony Computer Entertainment Inc. | Methods and apparatus for controlling hierarchical cache memory |
| US7870340B2 (en) | 2002-05-06 | 2011-01-11 | Sony Computer Entertainment Inc. | Methods and apparatus for controlling hierarchical cache memory |
| JP2009524137A (ja) * | 2006-01-19 | 2009-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5325511A (en) | True least recently used replacement method and apparatus | |
| JP2822588B2 (ja) | キャッシュメモリ装置 | |
| CN101446923B (zh) | 一种响应于指令而清洗高速缓冲存储器线的装置和方法 | |
| US6446188B1 (en) | Caching dynamically allocated objects | |
| US20040260880A1 (en) | Method, system, and apparatus for an hierarchical cache line replacement | |
| US20060036811A1 (en) | Method for software controllable dynamically lockable cache line replacement system | |
| JPS624745B2 (ja) | ||
| US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
| JPH04205041A (ja) | マルチプロセッサシステム | |
| US5732409A (en) | Caching disk controller implemented by hardwired logic | |
| US6314490B1 (en) | Method and apparatus for memory addressing | |
| JPS63240650A (ja) | キヤツシユメモリ装置 | |
| JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
| US7493445B2 (en) | Cache memory system and control method of the cache memory system | |
| US7464227B2 (en) | Method and apparatus for supporting opportunistic sharing in coherent multiprocessors | |
| US6044441A (en) | Method and apparatus for encoding valid and invalid states in a cache with an invalid pattern | |
| JPH03216744A (ja) | 内蔵キャッシュ・メモリ制御方式 | |
| US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
| US7308557B2 (en) | Method and apparatus for invalidating entries within a translation control entry (TCE) cache | |
| US20070294504A1 (en) | Virtual Address Cache And Method For Sharing Data Using A Unique Task Identifier | |
| WO1992007323A1 (en) | Cache controller and associated method for remapping cache address bits | |
| KR100517765B1 (ko) | 캐시 메모리 및 그 제어 방법 | |
| US20030188105A1 (en) | Management of caches in a data processing apparatus | |
| US7685372B1 (en) | Transparent level 2 cache controller | |
| JP2002041358A (ja) | プロセッサシステム |