JPH01173242A - リプレース回路 - Google Patents
リプレース回路Info
- Publication number
- JPH01173242A JPH01173242A JP62332331A JP33233187A JPH01173242A JP H01173242 A JPH01173242 A JP H01173242A JP 62332331 A JP62332331 A JP 62332331A JP 33233187 A JP33233187 A JP 33233187A JP H01173242 A JPH01173242 A JP H01173242A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- hit
- bank
- cache
- 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
- 230000015654 memory Effects 0.000 claims description 62
- 238000004422 calculation algorithm Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 9
- 210000003127 knee Anatomy 0.000 description 2
- 101100017046 Caenorhabditis elegans hira-1 gene Proteins 0.000 description 1
- 235000009419 Fagopyrum esculentum Nutrition 0.000 description 1
- 240000008620 Fagopyrum esculentum Species 0.000 description 1
- 101000962649 Vespa xanthoptera Mastoparan-X Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
技術分野
本発明は、高速なマイクロプロセッサをサポートするキ
ャッシュメモリ・システムにおけるセットアソシエイテ
イブ方式のメモリ制御回路のリプレース回路に関し、特
に、セラ1−アソシエイテイブ・キャッシュを効率よく
、リプレースするリプレース回路に関する。
ャッシュメモリ・システムにおけるセットアソシエイテ
イブ方式のメモリ制御回路のリプレース回路に関し、特
に、セラ1−アソシエイテイブ・キャッシュを効率よく
、リプレースするリプレース回路に関する。
従来技術
一般にデータ処理システムでは、主記憶装置とCPU内
の処理速度との整合をとるため、主記憶装置とCPUと
の間に高速の′キャッシュメモリを設ける。これにより
、主記憶装置内のデータはブロック単位で高速のキャッ
シュメモリに転送され、以降、そのブロックへのアクセ
スについては高速のキャッシュメモリに対して行い、実
行速度を向上させている。
の処理速度との整合をとるため、主記憶装置とCPUと
の間に高速の′キャッシュメモリを設ける。これにより
、主記憶装置内のデータはブロック単位で高速のキャッ
シュメモリに転送され、以降、そのブロックへのアクセ
スについては高速のキャッシュメモリに対して行い、実
行速度を向上させている。
また、キャッシュメモリの制御方式には、セソトアソシ
エイテイブ方式、セクタ方式、ス1〜ア方式等がある。
エイテイブ方式、セクタ方式、ス1〜ア方式等がある。
このセソトアソシエイティブ方式では、主メモリ内のブ
ロックをnブロックおきにグループ化し、各グループを
カラムと呼ぶ。一方、キャッシュメモリもn個のカラム
に分割する。これにより、ブロック転送は必ず同一カラ
ム間で行い、主記憶装置のカラム内のブロックはキャッ
シュメモリにおいて対応するカラム内の任意のブロック
に入れられる。また、キャッシュメモリの各ブロックに
対応するディレクトリにより、主記憶装置内のどのブロ
ックが取り込まれているかを記憶する。
ロックをnブロックおきにグループ化し、各グループを
カラムと呼ぶ。一方、キャッシュメモリもn個のカラム
に分割する。これにより、ブロック転送は必ず同一カラ
ム間で行い、主記憶装置のカラム内のブロックはキャッ
シュメモリにおいて対応するカラム内の任意のブロック
に入れられる。また、キャッシュメモリの各ブロックに
対応するディレクトリにより、主記憶装置内のどのブロ
ックが取り込まれているかを記憶する。
さらに、アクセスされたブロックがキャッシュメモリに
無い場合、カラム内のどのブロックを割り当てるかは、
リースト・リセントリ・ユーズド(以下LRUと略す)
方式等により決定される。
無い場合、カラム内のどのブロックを割り当てるかは、
リースト・リセントリ・ユーズド(以下LRUと略す)
方式等により決定される。
つまり、カラムの中に未使用のブロックがあれば、その
ブロックに主記憶装置からデータを書き込み、無ければ
、その方ラムのブロック中、最も古く参照されたブロッ
クを選び、そのデータを書き込んでリプレイスを行う。
ブロックに主記憶装置からデータを書き込み、無ければ
、その方ラムのブロック中、最も古く参照されたブロッ
クを選び、そのデータを書き込んでリプレイスを行う。
さらに、例えば4ウエイ・セットアソシエイティブ方式
のように、複数のキャッシュエントリにより、少いメモ
リ量で高いヒラ1へ率を得る方式も提案されている。
のように、複数のキャッシュエントリにより、少いメモ
リ量で高いヒラ1へ率を得る方式も提案されている。
しかし、このような技術では、主記憶装置内のデータの
中、使用頻度が高いデータについても他のデータと同様
に扱われるため、効率良くリプレイスを行うという点に
ついては問題があった。
中、使用頻度が高いデータについても他のデータと同様
に扱われるため、効率良くリプレイスを行うという点に
ついては問題があった。
目 的
本発明の目的は、このような問題点を改善し、少いハー
ドウェアでヒツト率をより向上することが可能なリプレ
ース回路を提供することにある。
ドウェアでヒツト率をより向上することが可能なリプレ
ース回路を提供することにある。
構 成
上記目的を達成するため、本発明のリプレース回路は、
CPUから送られたアドレスとキャッシュメモリに格納
されたデータのアドレスとを比較する手段(タグ・コン
パレータ)、主記憶装置に格納されたデータの一部分を
格納する手段(キャッシュデータ・メモリ)、CPtJ
から送られたアドレスと一致するバンク(以下BANK
と記す)を選択する手段(ヒツト・デコーダ)、および
、CPUがリードサイクルで、かつ該キャッシュメモリ
上にデータが無い場合、主記憶装置からのデータロード
を制御する手段(キャッシュ・コントローラ)を備えた
セットアソシエイティブ方式のメモリ制御回路のリプレ
ース回路において、CPUがリードサイクルでヒツトし
ない場合、頻繁にアクセスされる主記憶装置のデータに
は、書き込み先として特定のBANKを指定する手段を
備えたことに特徴がある。
CPUから送られたアドレスとキャッシュメモリに格納
されたデータのアドレスとを比較する手段(タグ・コン
パレータ)、主記憶装置に格納されたデータの一部分を
格納する手段(キャッシュデータ・メモリ)、CPtJ
から送られたアドレスと一致するバンク(以下BANK
と記す)を選択する手段(ヒツト・デコーダ)、および
、CPUがリードサイクルで、かつ該キャッシュメモリ
上にデータが無い場合、主記憶装置からのデータロード
を制御する手段(キャッシュ・コントローラ)を備えた
セットアソシエイティブ方式のメモリ制御回路のリプレ
ース回路において、CPUがリードサイクルでヒツトし
ない場合、頻繁にアクセスされる主記憶装置のデータに
は、書き込み先として特定のBANKを指定する手段を
備えたことに特徴がある。
以下、本発明の一実施例を図面により説明する。
第1図は、本発明の一実施例におけるLRUコントロー
ラの構成画、第2図は本発明の一実施例におけるLRU
コントローラのタイミングチャート、第3図は本発明の
一実施例におけるメモリ制御回路の構成図、餉4図は本
発明の一実施例におけるROMテーブル例図、第5図は
本発明の一実施例におけるキャッシュメモリ・システム
の構成図、第6図は本発明の一実施例におけるタグ・コ
ンパレータの構成図である。
ラの構成画、第2図は本発明の一実施例におけるLRU
コントローラのタイミングチャート、第3図は本発明の
一実施例におけるメモリ制御回路の構成図、餉4図は本
発明の一実施例におけるROMテーブル例図、第5図は
本発明の一実施例におけるキャッシュメモリ・システム
の構成図、第6図は本発明の一実施例におけるタグ・コ
ンパレータの構成図である。
本実施例のキャッシュメモリ・システムは、第5図のよ
うに、CPU501、メモリ・マネジメン1−・ユニッ
ト(MMU)502、メモリ制御回路503、トランン
シーバ(TRN)504、および主記憶装置505を備
え、またメモリ制御回路503は、キャッジ1’コント
ローラ(CacheC。
うに、CPU501、メモリ・マネジメン1−・ユニッ
ト(MMU)502、メモリ制御回路503、トランン
シーバ(TRN)504、および主記憶装置505を備
え、またメモリ制御回路503は、キャッジ1’コント
ローラ(CacheC。
ntrol) 28およびキャッシュメモリ(Cach
e) 513を備える。
e) 513を備える。
また、CPU501は32ピツ1〜のアドレスバスA、
、−Ao(A、、−A、。、A□□−A2.A、−A。
、−Ao(A、、−A、。、A□□−A2.A、−A。
)およびデータバスD31 DOを備える。このアド
レスバス中、メモリ制御回路503で比較するアドレス
バスはA31−A1□およびA工□−A2である。
レスバス中、メモリ制御回路503で比較するアドレス
バスはA31−A1□およびA工□−A2である。
またアドレスバスAニーA。は、データバスD31−り
、上のデータをCPU501がバイト単位がライトする
場合、どのバイトをライトするのかを示す。
、上のデータをCPU501がバイト単位がライトする
場合、どのバイトをライトするのかを示す。
また、メモリ制御回路503は、第3図のように、タグ
・コンパレータ(TAGCOMPo−TAGCOMP3
)1〜4、キャッシュデータ・メモリ(RA M、〜R
AM3)5〜8、デコーダ13〜16、ライト・コント
ローラ(WRITECNTL)17、ヒツト・デコーダ
(HI T Decode) 27、キャッシュ・コン
]−ローラ(CacheControl) 28、リプ
レース回路(LRUコントローラ)36、キャッシュ・
コンデイション(CACHECONDITION)4.
2、マルチプレクサ(以下MPXと略す)44、および
出力イネーブル・デコーダ45を備え、主記憶装置50
5の内容の一部を記憶して、そのデータがアクセスされ
た場合には、主記憶装置505の代わりに高速アクセス
を実行する。
・コンパレータ(TAGCOMPo−TAGCOMP3
)1〜4、キャッシュデータ・メモリ(RA M、〜R
AM3)5〜8、デコーダ13〜16、ライト・コント
ローラ(WRITECNTL)17、ヒツト・デコーダ
(HI T Decode) 27、キャッシュ・コン
]−ローラ(CacheControl) 28、リプ
レース回路(LRUコントローラ)36、キャッシュ・
コンデイション(CACHECONDITION)4.
2、マルチプレクサ(以下MPXと略す)44、および
出力イネーブル・デコーダ45を備え、主記憶装置50
5の内容の一部を記憶して、そのデータがアクセスされ
た場合には、主記憶装置505の代わりに高速アクセス
を実行する。
また、使用される信号については、ライト信号18〜2
1は各BANK(RAMo5−RAM38)のデータ更
新を指示する。またヒツト信号(HIT)22〜25は
タグ・コンパレータ1〜4でCPU201からのアドレ
スと一致した場合の出力である。またヒツト信号(HI
T)26はヒツト・デコーダ27からの出力であり、何
れかのBANKでヒツトが発生したことを通知する。ま
たチップセレクト信号(CE)29はヒツトしたタグ・
コンパレータ1〜4に対応するキャッシュデータ・メモ
リ5〜8を選択する。また切換信号30はキャッシュ・
フィル時にMPX44を切り換えて・、PA□−PAo
を00とする。またアドレス・ストローブ信号(に百)
あるいはデータ・ストローブ信号(百1)31はCPU
501からのストローブ信号である。またライト・タグ
信号(WTAG)32はタグ・コンパレータ1〜4への
ライト信号である。またライト・ヒツト信号(WHIT
)33はライトサイクルでのヒツトを示し、キャッシュ
データ・メモリ5〜8の更新を通知する。また信号34
はLRUコントローラ36の動作を促す信号であり、L
RUリード信号(LRURD)35は現在のLRU値を
出力させ、LRU更新信号(rπTUP)41はLRU
値を更新させる。またアクノリッジ信号(Tて玉)37
はCPU501へのアクノリッジ信号であり、ライ1ル
信号(WRITE)38はCPU501からのライト信
号である。またバンク更新信号(NWo、□)39は更
新するBANKを指定する。またキャッシュ条件指定信
号40はCPU501からのキャッシュ条件をLRUコ
ントローラ36へ指示する。またヒツトバンク信号(H
IT。、HITl)43はヒツトした時のBANKを示
す。また出力イネーブル信号46〜49はキャッシュデ
ータ・メモリ5〜8の出力を可能とする。また信号50
はリードサイクルでヒットシた時、キャッシュデータ・
メモリ5〜8の出力イネーブルを可能とする。またイネ
ーブル・アドレス・ストローブ信号(EAS)51は主
記憶装置505へのアドレス・ストローブ信号であり、
イネーブル・データ・ストローブ信号(EDS)52は
主記憶装置505へのデータ・ストローブ信号であり、
イネーブル・ライト信号(E、WRITE)54は主記
憶装置505へのライト信号である。またイネーブル・
アクノリッジ信号(百]豚)53は主記憶装置505か
らのアクノリッジ信号である。またキャッシュ・イネー
ブル信号55はキャッシュメモリ513を起動する信号
である。
1は各BANK(RAMo5−RAM38)のデータ更
新を指示する。またヒツト信号(HIT)22〜25は
タグ・コンパレータ1〜4でCPU201からのアドレ
スと一致した場合の出力である。またヒツト信号(HI
T)26はヒツト・デコーダ27からの出力であり、何
れかのBANKでヒツトが発生したことを通知する。ま
たチップセレクト信号(CE)29はヒツトしたタグ・
コンパレータ1〜4に対応するキャッシュデータ・メモ
リ5〜8を選択する。また切換信号30はキャッシュ・
フィル時にMPX44を切り換えて・、PA□−PAo
を00とする。またアドレス・ストローブ信号(に百)
あるいはデータ・ストローブ信号(百1)31はCPU
501からのストローブ信号である。またライト・タグ
信号(WTAG)32はタグ・コンパレータ1〜4への
ライト信号である。またライト・ヒツト信号(WHIT
)33はライトサイクルでのヒツトを示し、キャッシュ
データ・メモリ5〜8の更新を通知する。また信号34
はLRUコントローラ36の動作を促す信号であり、L
RUリード信号(LRURD)35は現在のLRU値を
出力させ、LRU更新信号(rπTUP)41はLRU
値を更新させる。またアクノリッジ信号(Tて玉)37
はCPU501へのアクノリッジ信号であり、ライ1ル
信号(WRITE)38はCPU501からのライト信
号である。またバンク更新信号(NWo、□)39は更
新するBANKを指定する。またキャッシュ条件指定信
号40はCPU501からのキャッシュ条件をLRUコ
ントローラ36へ指示する。またヒツトバンク信号(H
IT。、HITl)43はヒツトした時のBANKを示
す。また出力イネーブル信号46〜49はキャッシュデ
ータ・メモリ5〜8の出力を可能とする。また信号50
はリードサイクルでヒットシた時、キャッシュデータ・
メモリ5〜8の出力イネーブルを可能とする。またイネ
ーブル・アドレス・ストローブ信号(EAS)51は主
記憶装置505へのアドレス・ストローブ信号であり、
イネーブル・データ・ストローブ信号(EDS)52は
主記憶装置505へのデータ・ストローブ信号であり、
イネーブル・ライト信号(E、WRITE)54は主記
憶装置505へのライト信号である。またイネーブル・
アクノリッジ信号(百]豚)53は主記憶装置505か
らのアクノリッジ信号である。またキャッシュ・イネー
ブル信号55はキャッシュメモリ513を起動する信号
である。
また、タグ・コンパレータ1〜4は、第6図のようにR
AM601、コンパレータ(COMP)602、および
ドライバ(DRV)603を備え、CPU505からの
下位アドレスA□□−A2 を内部メモリのアドレスと
して使用する。このRAM601は21ビツトの巾のメ
モリであり、アドレス長はA1□−A2で512種類の
アドレスを表わす。
AM601、コンパレータ(COMP)602、および
ドライバ(DRV)603を備え、CPU505からの
下位アドレスA□□−A2 を内部メモリのアドレスと
して使用する。このRAM601は21ビツトの巾のメ
モリであり、アドレス長はA1□−A2で512種類の
アドレスを表わす。
また20ビツトのデータとしては、A31−A□2のデ
ータがドライバ603を経由して書き込まれる。
ータがドライバ603を経由して書き込まれる。
さらに1ビツトはVALIDピッ1〜604であってA
31− A1□のデータが入っている事を示し、データ
として書き込まれる。
31− A1□のデータが入っている事を示し、データ
として書き込まれる。
また、CPU501からのアドレスと比較する場合、A
3ニーA□2でアドレスされたRAM601の内容が出
力され、この20ビツトとA3□−A工2の内容が比較
される。また比較イネーブルはVALIDビット604
によって行われ、一致した場合にはヒツト信号(HIT
)605が活性化される。
3ニーA□2でアドレスされたRAM601の内容が出
力され、この20ビツトとA3□−A工2の内容が比較
される。また比較イネーブルはVALIDビット604
によって行われ、一致した場合にはヒツト信号(HIT
)605が活性化される。
また、キャッシュデータ・メモリ5〜8は32ビツト(
4バイト)巾の構成であり、タグ・コンパレータ1〜4
とペアになって、主記憶装置505のデータの一部を格
納する。
4バイト)巾の構成であり、タグ・コンパレータ1〜4
とペアになって、主記憶装置505のデータの一部を格
納する。
また、デコーダ13〜16はキャッシュデータ・メモリ
5〜8を構成するバイト(4バイト)の中、どのバイト
をライトするかを指定する。
5〜8を構成するバイト(4バイト)の中、どのバイト
をライトするかを指定する。
また、ライ1〜・コントローラ17はタグ・コンパレー
タ1〜4への書き込みを制御する。
タ1〜4への書き込みを制御する。
また、キャッシュ・コンデイション(CACHECON
DITI○N)42はキャッシャ条件をキャッシュ・コ
ントローラ28とLRUコントローラ36へ指示する。
DITI○N)42はキャッシャ条件をキャッシュ・コ
ントローラ28とLRUコントローラ36へ指示する。
また、MPX44はキャッシュのフィル動作中は、PA
l−PAoを00とし、それ以外はCPU501からの
アドレスをPAl−PA、へ出すことにより、キャッシ
ュデータ・メモリ5〜8のバイト指定を行う。
l−PAoを00とし、それ以外はCPU501からの
アドレスをPAl−PA、へ出すことにより、キャッシ
ュデータ・メモリ5〜8のバイト指定を行う。
また、リプレイス回路(LRUコントローラ)36は、
第1図のように、RAM 100、ROM101、およ
びデータラッチ(LATCH)102を備え、主記憶装
置501へのアクセス・コントロールとBANKの制御
を行う。
第1図のように、RAM 100、ROM101、およ
びデータラッチ(LATCH)102を備え、主記憶装
置501へのアクセス・コントロールとBANKの制御
を行う。
また、使用される信号については、RAM出力イネーブ
ル信号(LRAMOE)103およびROM出力イネー
ブル信号(LROMOE)104はLRURD35から
得られる信号であり、「玉○MOE104はLRUオー
ダーを更新する時に活性化される。またRAMライト・
イネーブル信号(LRAMWE)105はLRUUP4
1から得られる信号であり、ROMl0Iのデータ出力
を再びR,AMlooへ書くためのデータ出力イネーブ
ルである。またリプレース指定信号(NWo。
ル信号(LRAMOE)103およびROM出力イネー
ブル信号(LROMOE)104はLRURD35から
得られる信号であり、「玉○MOE104はLRUオー
ダーを更新する時に活性化される。またRAMライト・
イネーブル信号(LRAMWE)105はLRUUP4
1から得られる信号であり、ROMl0Iのデータ出力
を再びR,AMlooへ書くためのデータ出力イネーブ
ルである。またリプレース指定信号(NWo。
NWl)106はリプレースするBANKを指定する。
またコントロール信号(LOCK、FILL、)108
は特殊仕様をサポートする。またヒツトバンク信号(H
ITo、HITl)109は現在ヒツトしたバンクを示
す信号である。
は特殊仕様をサポートする。またヒツトバンク信号(H
ITo、HITl)109は現在ヒツトしたバンクを示
す信号である。
また、RAM100は、A1□〜A2で示される10ビ
ツトのアドレス1024種類のセットアソシエイティブ
・キャッシュの順序を記憶する。
ツトのアドレス1024種類のセットアソシエイティブ
・キャッシュの順序を記憶する。
また、ROMl0Iはアドレス入力としては9ビツト5
12アドレスであり、データラッチ102はROMI
O1の出力データをラッチする。
12アドレスであり、データラッチ102はROMI
O1の出力データをラッチする。
なお、本実施例はHITo、HITlの2ビットで表わ
すことができる4ウエイセツトアソシエイテイブ・キャ
ッシュのLRUの場合であり、4BANKのキャッシュ
メモリにおいてLRUのBANKを決定することができ
る。
すことができる4ウエイセツトアソシエイテイブ・キャ
ッシュのLRUの場合であり、4BANKのキャッシュ
メモリにおいてLRUのBANKを決定することができ
る。
また、4BANKの順序の組合わせは、4C□X3C工
X2C□×IC工=4j=24通りとなり、これを表わ
すためには5ビツトが必要である。その5ビツトをRA
M100ヘライトしておくことにより、次回のLRU決
定時にその内容によって、キャッシュミス時はリプレー
スされるべきキャッシュメモリのBANKを決定する。
X2C□×IC工=4j=24通りとなり、これを表わ
すためには5ビツトが必要である。その5ビツトをRA
M100ヘライトしておくことにより、次回のLRU決
定時にその内容によって、キャッシュミス時はリプレー
スされるべきキャッシュメモリのBANKを決定する。
またヒツト時はヒツトしたBANKをMRU (Mos
tRecentlyUsed)とし、記憶すべき順序を
示した5ビツトデータをRAM100へ書き込む。
tRecentlyUsed)とし、記憶すべき順序を
示した5ビツトデータをRAM100へ書き込む。
また、ROMl0Iには、第4図のようにリプレースの
順序を決定するためのROMテーブルが格納されている
。このROMテーブルでは、○RDERはLRUアルゴ
リズムを実行するBANKの順序を示す。またINPU
TのLRU4−LRUoはROMl01へのアドレス入
力であり、バンク順序を示す。また0UTPUTのD4
−D。
順序を決定するためのROMテーブルが格納されている
。このROMテーブルでは、○RDERはLRUアルゴ
リズムを実行するBANKの順序を示す。またINPU
TのLRU4−LRUoはROMl01へのアドレス入
力であり、バンク順序を示す。また0UTPUTのD4
−D。
(LRU4−LRU、)のCA4.CA3はHITo。
HIT□に相当して、ヒツトしたBANKを示し、その
値は次にストアされるLRUの値である。また0UTP
UTのD6−D5(NW□、 NW、)はLRUアルゴ
リズムによりリプレースされるBANKを示す。
値は次にストアされるLRUの値である。また0UTP
UTのD6−D5(NW□、 NW、)はLRUアルゴ
リズムによりリプレースされるBANKを示す。
また本実施例では、0UTPUTのり、 −D。
(NW□、NW、)に示すように、LOCK、FILL
oという2ビツトを追加することにより、 4BANK
の中、IBANKを特殊BANKとし、O8等、特に頻
繁にアクセスする主記憶装置505のデータを入れるこ
とができる。
oという2ビツトを追加することにより、 4BANK
の中、IBANKを特殊BANKとし、O8等、特に頻
繁にアクセスする主記憶装置505のデータを入れるこ
とができる。
つまり、LOCK=1であり、FILLoが設定されな
い場合にはBANKo(RAMo5)を常にリプレース
し、LOCK=OかつFILLo=Oの場合には全BA
NK(RAMn5〜RAM、8)をLRUアルゴリズム
により等しくリプレースする。
い場合にはBANKo(RAMo5)を常にリプレース
し、LOCK=OかつFILLo=Oの場合には全BA
NK(RAMn5〜RAM、8)をLRUアルゴリズム
により等しくリプレースする。
さらにLOCK=OかつFILLo=1 の場合にはB
ANK、(RAMo5)を除き、LRUアルゴリズムに
より等しくリプレースする。
ANK、(RAMo5)を除き、LRUアルゴリズムに
より等しくリプレースする。
これにより、BANKo(RAMo5)を特別のBAN
Kとして扱い、使用頻度が高いデータを格納すること等
により、LRUアルゴリズムの柔軟な運用が可能となる
。
Kとして扱い、使用頻度が高いデータを格納すること等
により、LRUアルゴリズムの柔軟な運用が可能となる
。
また、本実施例におけるヒツト時の動作については、キ
ャッシュ・コンI−ローラ28からLRUリード信号3
5がLRUコントローラ36に入力されると、第2図の
ように、RAM100の出力イネーブル信号(LRAM
OE)103により、RAM100の現在の出力順序を
示すデータ(LRU、−LRUo)を出力し、ROMl
0Iのアドレス入力とされる。またROM 101は、
ヒラ1〜バンク信号(I−I I T、、 HI Tよ
)109によりヒツトしたBANKをMRUとし、RO
Mテーブルのデ′−夕をLATCH102に出力する。
ャッシュ・コンI−ローラ28からLRUリード信号3
5がLRUコントローラ36に入力されると、第2図の
ように、RAM100の出力イネーブル信号(LRAM
OE)103により、RAM100の現在の出力順序を
示すデータ(LRU、−LRUo)を出力し、ROMl
0Iのアドレス入力とされる。またROM 101は、
ヒラ1〜バンク信号(I−I I T、、 HI Tよ
)109によりヒツトしたBANKをMRUとし、RO
Mテーブルのデ′−夕をLATCH102に出力する。
LATCH102はROMl0Iの出力イネーブル信号
(LROMOE)105により、次回の出力順序を示す
5ビットのデータを出力し、RAM100はこの出力順
序を記憶する。
(LROMOE)105により、次回の出力順序を示す
5ビットのデータを出力し、RAM100はこの出力順
序を記憶する。
例えば、第4図のROMテーブルにおいて、0RDER
が1302でFILL、=O,LOCK=0という値が
現在の内容である場合、ヒツト時のBANKがBANK
2(HIT、、HITo=10)ならば、13が相当し
、これはアドレス13にある。この場合、FILLo=
O,LOCK=Oであるため、BANKを固定して指定
することはせず、全BANKに等しくLRUアルゴリズ
ムを適用してリプレスが行われる。
が1302でFILL、=O,LOCK=0という値が
現在の内容である場合、ヒツト時のBANKがBANK
2(HIT、、HITo=10)ならば、13が相当し
、これはアドレス13にある。この場合、FILLo=
O,LOCK=Oであるため、BANKを固定して指定
することはせず、全BANKに等しくLRUアルゴリズ
ムを適用してリプレスが行われる。
これにより、リプレースされるBANKは最も古く参照
されたBANK2であり、次の○RDER(LRUのバ
ンク順序)は2130であるため、この2130がRA
M100にライトされる。
されたBANK2であり、次の○RDER(LRUのバ
ンク順序)は2130であるため、この2130がRA
M100にライトされる。
また、キャッシュミス時には、テーブルの右よりBAN
K2がリプレースされる。
K2がリプレースされる。
効 果
本発明によれば、少いハードウェアでヒツト率をより向
上することができる。
上することができる。
また、主記憶装置内のデータの中、使用頻度が高いデー
タに対しては、特殊バンクを設定するこ−15〜 とができるため、柔軟な運用によって効率良く、リプレ
ースを行うことが可能である。
タに対しては、特殊バンクを設定するこ−15〜 とができるため、柔軟な運用によって効率良く、リプレ
ースを行うことが可能である。
第1図は本発明の一実施例におけるリプレース回路(L
RUコントローラ)の構成図、第2図は本発明の一実施
例におけるLRUコントローラのタイミングチャート、
第3図は本発明の一実施例におけるメモリ制御回路の構
成図、第4図は本発明の一実施例におけるROMテーブ
ル例図、第5図は本発明の一実施例におけるキャッシュ
メモリ・システムの構成図、第6図は本発明の一実施例
におけるタグ・コンパレータの構成図である。 1〜4:タグ・コンパレータ(TAGCOMP。 〜TAGCOMP3)、5〜8:キャッシュデータ・メ
モリ(RAMo−RAM3)、9 :データバス(D3
□−り。)、10ニアドレスバス(A31−A□2)、
11ニアドレスバス(A11−A2) 、 12 ニア
ドレスバス(AニーA。)、13〜16:デコード回路
、17:ライト・コントローラ(WRITECNTL)
。 18〜21ニライト信号、22〜25:ヒット信号(H
IT)、26:ヒツト信号(HIT)、27:ヒツト・
デコーダ(HI T Decode)、 28 :キャ
ッジ1’コン1−ローラ(CacheControl)
、 29 :チップセレクト信号(CE)、30:切換
信号、31ニアドレス・ストローブ信号(蕎)あるいは
データ・ストローブ信号(百S)、32ニライト・タグ
信号(WTAG)、33ニライト・ヒツト信号(WTn
〒)、34:LRUコントローラの動作を促す信号。 35:LRUリード信号(LRURD)、36 :リプ
レース回路(LRUコントローラ)、37:アクノリッ
ジ信号(TてK)、38ニライト信号(WRITE)、
39:バンク更新信号(NW、、 □)、40 :キャ
ッシュ条件指定信号、41:LRU更新信号(LRUU
P)、42 :キャッシュ・コンデイション(CACH
ECONDITION)、43 :ヒットバンク信号(
HIT、、HITi)、44 :マルチプレクサ(MP
X)、45 :出力イネーブル・デコーダ、46〜49
:出力イネーブル信号(百1)。 50:キャッシュデータ・メモリの出力イネーブルを可
能とする信号、51:イネーブル・アドレス・ストロー
ブ信号(EAS)、52:イネーブル・データ・ストロ
ーブ信号(EDS)、53:イネーブル・アクノリッジ
信号(EACK)、54 :イネーブル・ライト信号(
EWRI TE)、55 :キャッシュ・イネーブル信
号、100 : RAM、101:ROM、102:デ
ータラッチ(LATCH)、103:RAMの出力イネ
ーブル信号(L’RAM0E)。 104 : RAM(7)5−1”r−ff1% (L
RMWE)。 105:ROMの出力イネーブル信号(LROMOE)
、106:リプレース指定信号(NWo、NWl)。 107:LRUデータライン、108:コントロール信
号(LOCK、FILLo)、109 :ヒットバンク
信号(HITo、HIT、)、501 : CPU、5
02:メモリ・マネジメント・ユニット(MMU)、
503 :メモリ制御回路、504:トランシーバ(T
RN)、 505 :主記憶装置(MEM)、513:
キャッシュメモリ、601:RAM、602:コンパレ
ータ(COMP)、603 :ドライバ(DRV)、6
04.:バリッド・ビット(VALIDビット)、60
5:ヒツト信号(HI T)。 第 6 図 手続補正書(自船 特許庁長官 小 川 邦 夫 殿 1、事件の表示 昭和62年特許願第 332331号 2、発明の名称 リプレース回路 欄ならびに図面 7、補正の内容 別紙の通り (1)明細書第19頁9行目のrcPU505」を、
rcPU501J に補正する。 (2)明細書第19頁9行目の「512種類」を、r1
024種類」に補正する。 (3)明細書第19頁9行目の「主記憶装置501Jを
、r主記憶装置505」に補正する。 (4)明細書簡15頁18行目のr(LROMOE)1
05」を、r(LROMOE)104Jに補正する。 (5)明細書第19頁9行目のMO4:RAMのライト
信号(LRAMWE)J を、r105:RAMのライ
ト・イネーブル信号(LRAMWE)Jに補正する。 (6)明細書第19頁9行1」の[105:ROMの出
力イネーブル信号(LROMOE)Jを、rl 04
: ROMの出力イネーブル信号(LRでV百E)Jに
補正する。 (7)第1図を別添の図に補正する(差替)。 (8)第2図を別添の回に補正する(差替)。 (9)第3図を別添の図に補正する(差替)。 (10)第5図を別添の図に補正する(差替)。 (11)第6図を別添の図に補正する(差替)。 AuzA2 AS L、RAM0E L11’tOMOE LRA関ME LRU、−6 皿4−0 第 2 図
RUコントローラ)の構成図、第2図は本発明の一実施
例におけるLRUコントローラのタイミングチャート、
第3図は本発明の一実施例におけるメモリ制御回路の構
成図、第4図は本発明の一実施例におけるROMテーブ
ル例図、第5図は本発明の一実施例におけるキャッシュ
メモリ・システムの構成図、第6図は本発明の一実施例
におけるタグ・コンパレータの構成図である。 1〜4:タグ・コンパレータ(TAGCOMP。 〜TAGCOMP3)、5〜8:キャッシュデータ・メ
モリ(RAMo−RAM3)、9 :データバス(D3
□−り。)、10ニアドレスバス(A31−A□2)、
11ニアドレスバス(A11−A2) 、 12 ニア
ドレスバス(AニーA。)、13〜16:デコード回路
、17:ライト・コントローラ(WRITECNTL)
。 18〜21ニライト信号、22〜25:ヒット信号(H
IT)、26:ヒツト信号(HIT)、27:ヒツト・
デコーダ(HI T Decode)、 28 :キャ
ッジ1’コン1−ローラ(CacheControl)
、 29 :チップセレクト信号(CE)、30:切換
信号、31ニアドレス・ストローブ信号(蕎)あるいは
データ・ストローブ信号(百S)、32ニライト・タグ
信号(WTAG)、33ニライト・ヒツト信号(WTn
〒)、34:LRUコントローラの動作を促す信号。 35:LRUリード信号(LRURD)、36 :リプ
レース回路(LRUコントローラ)、37:アクノリッ
ジ信号(TてK)、38ニライト信号(WRITE)、
39:バンク更新信号(NW、、 □)、40 :キャ
ッシュ条件指定信号、41:LRU更新信号(LRUU
P)、42 :キャッシュ・コンデイション(CACH
ECONDITION)、43 :ヒットバンク信号(
HIT、、HITi)、44 :マルチプレクサ(MP
X)、45 :出力イネーブル・デコーダ、46〜49
:出力イネーブル信号(百1)。 50:キャッシュデータ・メモリの出力イネーブルを可
能とする信号、51:イネーブル・アドレス・ストロー
ブ信号(EAS)、52:イネーブル・データ・ストロ
ーブ信号(EDS)、53:イネーブル・アクノリッジ
信号(EACK)、54 :イネーブル・ライト信号(
EWRI TE)、55 :キャッシュ・イネーブル信
号、100 : RAM、101:ROM、102:デ
ータラッチ(LATCH)、103:RAMの出力イネ
ーブル信号(L’RAM0E)。 104 : RAM(7)5−1”r−ff1% (L
RMWE)。 105:ROMの出力イネーブル信号(LROMOE)
、106:リプレース指定信号(NWo、NWl)。 107:LRUデータライン、108:コントロール信
号(LOCK、FILLo)、109 :ヒットバンク
信号(HITo、HIT、)、501 : CPU、5
02:メモリ・マネジメント・ユニット(MMU)、
503 :メモリ制御回路、504:トランシーバ(T
RN)、 505 :主記憶装置(MEM)、513:
キャッシュメモリ、601:RAM、602:コンパレ
ータ(COMP)、603 :ドライバ(DRV)、6
04.:バリッド・ビット(VALIDビット)、60
5:ヒツト信号(HI T)。 第 6 図 手続補正書(自船 特許庁長官 小 川 邦 夫 殿 1、事件の表示 昭和62年特許願第 332331号 2、発明の名称 リプレース回路 欄ならびに図面 7、補正の内容 別紙の通り (1)明細書第19頁9行目のrcPU505」を、
rcPU501J に補正する。 (2)明細書第19頁9行目の「512種類」を、r1
024種類」に補正する。 (3)明細書第19頁9行目の「主記憶装置501Jを
、r主記憶装置505」に補正する。 (4)明細書簡15頁18行目のr(LROMOE)1
05」を、r(LROMOE)104Jに補正する。 (5)明細書第19頁9行目のMO4:RAMのライト
信号(LRAMWE)J を、r105:RAMのライ
ト・イネーブル信号(LRAMWE)Jに補正する。 (6)明細書第19頁9行1」の[105:ROMの出
力イネーブル信号(LROMOE)Jを、rl 04
: ROMの出力イネーブル信号(LRでV百E)Jに
補正する。 (7)第1図を別添の図に補正する(差替)。 (8)第2図を別添の回に補正する(差替)。 (9)第3図を別添の図に補正する(差替)。 (10)第5図を別添の図に補正する(差替)。 (11)第6図を別添の図に補正する(差替)。 AuzA2 AS L、RAM0E L11’tOMOE LRA関ME LRU、−6 皿4−0 第 2 図
Claims (1)
- 1、CPUから送られたアドレスとキャッシュメモリに
格納されたデータのアドレスとを比較する手段、主記憶
装置に格納されたデータの一部分を格納する手段、該C
PUから送られたアドレスと一致するバンクを選択する
手段、および、該CPUがリードサイクルで、かつ該キ
ャッシュメモリ上にデータが無い場合、該主記憶装置か
らのデータロードを制御する手段を備えたセットアソシ
エイティブ方式のメモリ制御回路におけるリプレース回
路において、上記CPUのリードサイクルでヒットしな
い場合、頻繁にアクセスされる上記主記憶装置のデータ
には、書き込み先として特定のバンクを指定する手段を
備えたことを特徴とするリプレース回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62332331A JPH01173242A (ja) | 1987-12-28 | 1987-12-28 | リプレース回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62332331A JPH01173242A (ja) | 1987-12-28 | 1987-12-28 | リプレース回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01173242A true JPH01173242A (ja) | 1989-07-07 |
Family
ID=18253765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62332331A Pending JPH01173242A (ja) | 1987-12-28 | 1987-12-28 | リプレース回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01173242A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5897651A (en) * | 1995-11-13 | 1999-04-27 | International Business Machines Corporation | Information handling system including a direct access set associative cache and method for accessing same |
US6495298B1 (en) | 1998-06-08 | 2002-12-17 | Nippon Steel Chemical Co., Ltd. | Photopolymerizable resin compositions and use thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62269247A (ja) * | 1986-05-16 | 1987-11-21 | Matsushita Electric Ind Co Ltd | キヤツシユメモリ装置 |
-
1987
- 1987-12-28 JP JP62332331A patent/JPH01173242A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62269247A (ja) * | 1986-05-16 | 1987-11-21 | Matsushita Electric Ind Co Ltd | キヤツシユメモリ装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5897651A (en) * | 1995-11-13 | 1999-04-27 | International Business Machines Corporation | Information handling system including a direct access set associative cache and method for accessing same |
US6495298B1 (en) | 1998-06-08 | 2002-12-17 | Nippon Steel Chemical Co., Ltd. | Photopolymerizable resin compositions and use thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5465342A (en) | Dynamically adaptive set associativity for cache memories | |
US10860495B2 (en) | Storage circuitry responsive to a tag-matching command | |
US5325504A (en) | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system | |
JP3620473B2 (ja) | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 | |
EP0407119B1 (en) | Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access | |
US6834327B2 (en) | Multilevel cache system having unified cache tag memory | |
KR100190350B1 (ko) | 고성능 프레임 버퍼 및 캐쉬메모리 시스템 | |
EP0557050A1 (en) | Apparatus and method for executing processes in a multiprocessor system | |
US6976126B2 (en) | Accessing data values in a cache | |
US5668972A (en) | Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line | |
CN103257932B (zh) | 用于管理计算机可读高速缓存系统中的数据的方法和系统 | |
EP3964967B1 (en) | Cache memory and method of using same | |
US5060136A (en) | Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first | |
JPS6111865A (ja) | メモリアクセス制御方式 | |
EP1111511B1 (en) | Cache with multiple fill modes | |
US6078995A (en) | Methods and apparatus for true least recently used (LRU) bit encoding for multi-way associative caches | |
US20070130426A1 (en) | Cache system and shared secondary cache with flags to indicate masters | |
US5710905A (en) | Cache controller for a non-symetric cache system | |
US6044441A (en) | Method and apparatus for encoding valid and invalid states in a cache with an invalid pattern | |
JPH01173242A (ja) | リプレース回路 | |
US6671780B1 (en) | Modified least recently allocated cache replacement method and apparatus that allows skipping a least recently allocated cache block | |
US6412059B1 (en) | Method and device for controlling cache memory | |
EP1789883B1 (en) | A virtual address cache and method for sharing data using a unique task identifier | |
US7543113B2 (en) | Cache memory system and method capable of adaptively accommodating various memory line sizes | |
EP0474356A1 (en) | Cache memory and operating method |