JP2000040030A - キャッシュメモリ制御方法及び装置 - Google Patents
キャッシュメモリ制御方法及び装置Info
- Publication number
- JP2000040030A JP2000040030A JP10209143A JP20914398A JP2000040030A JP 2000040030 A JP2000040030 A JP 2000040030A JP 10209143 A JP10209143 A JP 10209143A JP 20914398 A JP20914398 A JP 20914398A JP 2000040030 A JP2000040030 A JP 2000040030A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- miss
- way
- misses
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
に選択して置換することを可能とし、キャッシュヒット
率を向上させ、性能の向上を図る、キャッシュメモリ制
御方法の提供。 【解決手段】キャッシュミスヒット時、各ウエイのキャ
ッシュミスヒット回数を比較し、ミスヒット回数の最も
多いウエイのキャッシュラインデータの置き換えを行
う。キャッシュラインデータの置き換えを行ったウエイ
のキャッシュミスヒット回数をリセットし、前記キャッ
シュラインデータの置き換えを行なわないウエイのキャ
ッシュミスヒット回数を一つカウントアップする。
Description
報処理装置のキャッシュメモリ制御方法及び装置に関
し、特に、キャッシュヒット率の向上を図るキャッシュ
メモリ制御方法及び装置に関する。
数の向上により、コンピュータは短時間に多くのデータ
を処理可能となっているが、メモリの動作周波数の向上
はマイクロプロセッサに比べ緩やかであり、メモリのア
クセス処理に多くの時間を費やし、コンピュータ全体の
処理性能の向上の妨げとなっている。このため、マイク
ロプロセッサ等のコンピュータにおいては、主メモリの
一部をコピーとして高速にデータを読み出し、書き込み
ができるキャッシュメモリを備える設計方式が用いられ
ている。
シュメモリに保持されたデータをアクセスすることで高
速にコンピュータのレジスタ等にロードすることがで
き、データ供給が、性能ネックとなるという問題は解さ
れているが、キャッシュメモリは、高速動作させる必要
があるため、大容量を持つことはできない。
率を上げるために、あるいはキャッシュミス時の回復を
効率良く行うために、ダイレクト・マップ方式は、実
際、ヒットしたか否かのチェックも置き換え可能かどう
かのチェックも、対象はただ一つのブロックで他に選択
の余地がないことから簡単である。
ト・アソシアティブ方式では、キャッシュミスの際に、
置き換えの候補となるブロックは複数あり、その際のブ
ロックの選択として、主にランダム法や、LRU(Leas
t Recently Used)法が用いられる。
が簡単であり、LRU法は、参照ブロックの履歴の保存
数が増えるにつれてコストが増大するので、近似解が使
われることが多い。
ほど、どのブロックを置き換えるかの選択の幅が広がる
にもかかわらず、ランダム法とLRU法によるミス率の
差は無くなってくる。
メモリのアクセスの過半数は読み出しアクセスである。
実際、命令語へのアクセスはすべて読み出しであり、ほ
とんどの命令は、メモリへの書き込みを行わない。
高性能メモリの設計などできない。そして、従来の置き
換えブロックの選択方法においては、頻繁にアクセスさ
れている箇所と、アクセスの回数が少ない箇所とが混在
している為に、必要以上に書き換えが行われている可能
性がある。
てなされたものであって、その目的は、アクセス頻度の
低いキャッシュラインを効率的に選択して置換すること
を可能とし、キャッシュヒット率を向上させ、性能の向
上を図る、キャッシュメモリ制御方法及び装置を提供す
ることにある。
明は、複数ウェイのキャッシュメモリにおいて、キャッ
シュミスヒット時、各ウェイのキャッシュミスヒット回
数を比較し、ミスヒット回数の最も多いウェイのキャッ
シュラインデータの置き換えを行うように構成される。
時、前記キャッシュラインデータの置き換えを行ったウ
ェイのキャッシュミスヒット回数をリセットし、前記キ
ャッシュラインデータの置き換えを行なわないウェイの
キャッシュミスヒット回数を一つカウントアップするよ
うに構成される。
する。本発明は、キャッシュの更新処理において、キャ
ッシュメモリ内のデータをミスカウンタの値を用いて書
き換えの判断を行うことを特徴としたものである。キャ
ッシュヒットしなかった回数(ミスヒット回数)をウェ
イ(WAY)毎で比較し、ミスヒットカウントの多い方
のデータを書き変える。
て、アクセスアドレスのブロック内アドレスでアクセス
されるデータを格納するデータ記憶部と、アクセスアド
レス信号のインデクスでアクセスされ、タグアドレスを
格納するアドレス記憶部と、前記アクセスアドレス信号
のタグと、前記インデクスでアクセスされた前記アドレ
ス記憶部のタグとの一致を比較しヒット/ミスを判定す
る比較部と、前記比較部からのミス判定を受けてこれを
計数するカウント手段と、前記アドレス記憶部と同等の
ライン数を備え前記計数手段によるミス回数をキャッシ
ュライン毎に保持するミス記録部と、を複数ウェイの各
ウェイ毎に備え、前記比較部でミス判定時、前記ミス記
録部により記憶されたミスの回数が最も多いウェイのデ
ータ記憶部のキャッシュブロックを、メモリからリード
して、置き換えるように制御する手段を備える。
部でミス判定時、前記キャッシュラインのデータを置き
換えた後、前記キャッシュラインデータの置き換えを行
ったウェイの前記カウント手段をリセットし、一方、キ
ャッシュラインデータの置き換えを行わない方のウェイ
の前記カウント手段を1つカウントアップする。以下実
施例に即して詳説する。
あり、セット・アソシアティブ方式のキャッシュシステ
ムの構成を示す図である。図1において、100はキャ
ッシュが内蔵されるマイクロプロセッサであり、101
はマイクロプロセッサ外のメモリである。102はキャ
ッシュメモリ内のデータ記憶部、103はキャッシュメ
モリ内のアドレス記憶部、命令発行部104である。
103に記憶されているデータのアドレスと、命令発行
部104から送出されるアドレスとを比較しヒット/ミ
スヒットの判定を行う。ミスカウンタ部106−1はア
ドレス比較器105でミスヒットとされた回数を計数す
るカウンタであり、キャッシュライン毎にミス記憶部1
06−2にミス回数を記憶する。
ド命令がキャッシュミスと判定されたとき、メモリ10
1にデータを要求する。
る。アドレス比較部105は、命令発行部104からの
信号110により命令とアドレスを受け取る。
103に記憶されているデータのアドレスと、命令発行
部104から送出されるアドレスとを比較してヒット/
ミス判定の結果、ヒットの場合には、データ記憶部10
2に対して信号111によりデータの読み出し、あるい
は書き込みを指示する。
で発行された命令がロード命令かストア命令であるかに
よって、信号112によりデータの受け渡しを行う。
アドレスの比較の結果キャッシュミスの場合には、アド
レス比較部105からの信号113により、ミスカウン
タ部106−1で、後に示す条件で、カウントされ、キ
ャッシュメモリの各キャッシュライン毎にミスの回数
を、ミス記憶部106−2に記憶していき、信号118
により、ミスリクエスト送出制御部107にミスしたア
ドレスを引き渡し、このアドレスに該当するキャッシュ
ラインのブロックリードのリクエストを信号115によ
りメモリ101に発行する。
ストの発行が受け付けられると、要求されたアドレスよ
り始まるデータを、1ブロック分送出する。
01から送出されたデータをデータ記憶部102に格納
し、信号117により、書込み完了を通知する。
通知を受けて、信号119によりアドレス比較部105
内のアドレスを更新する。
5とミスリクエスト送出制御部107の間に、ミスカウ
ンタ部106−1とミス記憶部106−2を設けること
により、ロード命令でキャッシュミスした際にどのブロ
ックを書き換えるかの判断に用いる。
うでないブロックとが選択の対象であれば、有効なデー
タを保持していないブロックを書き換えればよいが、キ
ャッシュのヒット率が高い状態では、有効なデータを保
持しているブロック同士の間、一方、ミス率が高い状態
では、無効なデータを保持しているブロック同士の間
で、書き換えるブロックの決定を行わなければならな
い。
てしまわないように、ミスの回数をカウントしていく。
図11に示したミスカウンタ部106−1、ミス記憶部
106−2とアドレス比較器105とミスリクエスト送
出制御部107について、より詳細な構成を図2に、ブ
ロック図にて示す。
アドレスであり、タグ、インデックス、ブロック内アド
レスから構成されている。
部のインデックスにてアドレス記憶部103(10
3′)をアクセスしてタグを取り出し、比較器201
(201′)で、信号212(212′)によるアドレ
ス記憶部103(103′)のタグと、信号211によ
るロード命令のアドレス部タグと、の比較を行い、両者
が一致、すなわちヒットすれば、信号111(11
1′)により、データ記憶部102(102′)にタグ
情報を渡す。
ク内アドレスである信号216によりブロック内アドレ
ス(バイトオフセット)でデータ記憶部102(10
2′)を読み出し、読み出したデータを、信号217
(217′)により、レジスタ204を通って、信号2
18により出力する。
ある場合、信号113(113′)により、加算器20
2(202′)でミスした回数を、ウェイ毎に計数して
いき、信号213(213′)により、ミス記録部20
3(203′)に記憶する。ミス記録部203(20
3′)は、アドレス記憶部103(103′)と同等の
ライン数を備える。ミス記録部203(203′)によ
り記憶されたミスの回数が多いブロックを、信号220
(220′)によるウェイ情報と、信号219よるイン
デックスとタグを用いて、ミスリクエスト送出部106
から信号224により、データ記憶部102のデータを
書き換える。
ので、複数回ミスしたブロックは今後も参照される可能
性が低いというものである。
るための流れ図である。本発明の一実施例において、ロ
ード命令がいかなる過程を経て処理されるについて説明
する。
0)、キャッシュのヒット/ミス判定が行われる(ステ
ップ301)。
いるか判定し(ステップ302)、自ウェイがヒットし
ていたら、データ読み出し指示の処理(ステップ30
7)に移り、自ウェイのデータ記憶部102からデータ
を読み出して終了する。
した場合には、自ウェイのミスカウンタでミスの回数を
計数し(ステップ304)、終了する。
301で、ミスの場合、自ウェイが他ウェイよりもミス
カウント数が多いか比較判定し(ステップ303)、多
ければ、自ウェイのデータ記憶部102のデータを書き
換え(ステップ305)、自ウェイのミスカウンタをリ
セットする(ステップ306)。
ェイよりもミスカウント数が少ない時は、自ウェイのミ
スの回数をミスカウンタで計数し(ステップ304)、
終了する。
キャッシュのミスヒットの回数を計数していくことによ
り、アクセス頻度の低いキャッシュラインを効率的に選
択して、置換する事が可能となり、キャッシュヒット率
を向上させ、性能の向上を図ることができる、という効
果を奏する。
ク図である。
る。
Claims (8)
- 【請求項1】キャッシュミスヒット回数を計数し、キャ
ッシュミスヒット時、該計数結果に基づき、どのキャッ
シュデータに置き換えるかを判断する、ことを特徴とす
るキャッシュメモリ制御方法。 - 【請求項2】複数ウェイのキャッシュメモリにおいて、 キャッシュミスヒット時、各ウェイのキャッシュミスヒ
ット回数を比較し、ミスヒット回数の最も多いウェイの
キャッシュラインデータの置き換えを行う、ことを特徴
とするキャッシュメモリ制御方法。 - 【請求項3】キャッシュミスヒット時、前記キャッシュ
ラインデータの置き換えを行ったウェイのキャッシュミ
スヒット回数をリセットし、前記キャッシュラインデー
タの置き換えを行なわないウェイのキャッシュミスヒッ
ト回数を一つカウントアップすることを特徴とする請求
項1記載のキャッシュメモリ制御方法。 - 【請求項4】複数ウェイのキャッシュメモリの制御装置
において、 キャッシュミスヒット時、ミス回数を計数するカウント
手段をウェイ毎に備え、 キャッシュミスヒット時、各ウェイのミス回数を比較し
ミス回数の最も多いウェイのキャッシュラインデータを
置き換えるように制御する手段を備えたことを特徴とす
るキャッシュメモリ制御装置。 - 【請求項5】キャッシュミスヒット時、前記キャッシュ
ラインのデータを置き換えた後、前記キャッシュライン
データの置き換えを行ったウェイの前記カウント手段を
リセットすることを特徴とする請求項4記載のキャッシ
ュメモリ制御装置。 - 【請求項6】キャッシュミスヒット時、キャッシュライ
ンデータの置き換えを行わない方のウェイの前記カウン
ト手段を1つカウントアップすることを特徴とする請求
項4記載のキャッシュメモリ制御装置。 - 【請求項7】アクセスアドレスのブロック内アドレスで
データがアクセスされるデータ記憶部と、 アクセスアドレス信号のインデクスでアクセスされ、タ
グアドレスを格納するアドレス記憶部と、 前記アクセスアドレス信号のタグと、前記インデクスで
アクセスされた前記アドレス記憶部のタグとの一致を比
較しヒット/ミスを判定する比較部と、 前記比較部からのミス判定を受けてこれを計数する計数
手段と、 前記アドレス記憶部と同等のライン数を備え、前記計数
手段によるミス回数をキャッシュライン毎に保持するミ
ス記録部と、 を複数ウェイの各ウェイ毎に備え、 前記比較部でミス判定時、前記ミス記録部により記憶さ
れたミスの回数が最も多いウェイのデータ記憶部のキャ
ッシュラインのデータを、メモリからリードして、置き
換えるように制御する手段を備えたことを特徴とするキ
ャッシュメモリ制御装置。 - 【請求項8】前記比較部でミス判定時、前記キャッシュ
ラインのデータを置き換えた後、前記キャッシュライン
データの置き換えを行ったウェイの前記手段をリセット
し、一方、キャッシュラインデータの置き換えを行わな
い方のウェイの前記カウント手段を1つカウントアップ
することを特徴とする請求項7記載のキャッシュメモリ
制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20914398A JP3503480B2 (ja) | 1998-07-24 | 1998-07-24 | キャッシュメモリ制御方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20914398A JP3503480B2 (ja) | 1998-07-24 | 1998-07-24 | キャッシュメモリ制御方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000040030A true JP2000040030A (ja) | 2000-02-08 |
JP3503480B2 JP3503480B2 (ja) | 2004-03-08 |
Family
ID=16568029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20914398A Expired - Fee Related JP3503480B2 (ja) | 1998-07-24 | 1998-07-24 | キャッシュメモリ制御方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3503480B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009282880A (ja) * | 2008-05-26 | 2009-12-03 | Fujitsu Ltd | キャッシュメモリシステム |
-
1998
- 1998-07-24 JP JP20914398A patent/JP3503480B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009282880A (ja) * | 2008-05-26 | 2009-12-03 | Fujitsu Ltd | キャッシュメモリシステム |
Also Published As
Publication number | Publication date |
---|---|
JP3503480B2 (ja) | 2004-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6584549B2 (en) | System and method for prefetching data into a cache based on miss distance | |
US6484239B1 (en) | Prefetch queue | |
US5353426A (en) | Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete | |
US6339813B1 (en) | Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory | |
US4980823A (en) | Sequential prefetching with deconfirmation | |
US20090132750A1 (en) | Cache memory system | |
JPH0364893B2 (ja) | ||
JPH037978B2 (ja) | ||
JP2001188706A (ja) | ディスク制御装置 | |
US5586290A (en) | Cache system of external storage device | |
US7577791B2 (en) | Virtualized load buffers | |
US11036639B2 (en) | Cache apparatus and method that facilitates a reduction in energy consumption through use of first and second data arrays | |
US20030140203A1 (en) | Memory record update filtering | |
JPH11506238A (ja) | キャッシュ管理システムにおける順次性検出用のシステムと方法 | |
JPH08263380A (ja) | ディスクキャッシュ制御方式 | |
US6934810B1 (en) | Delayed leaky write system and method for a cache memory | |
JP3503480B2 (ja) | キャッシュメモリ制御方法及び装置 | |
US7805572B2 (en) | Cache pollution avoidance | |
JPH0773107A (ja) | ディスク・システムの制御方法 | |
JP2000047942A (ja) | キャッシュメモリ制御装置及びその制御方法 | |
JPH0784879A (ja) | キャッシュメモリ装置 | |
CN111198827B (zh) | 页表预取方法及装置 | |
JPH0612331A (ja) | キャッシュメモリ制御装置 | |
JPH0784886A (ja) | キャッシュメモリ制御方法およびキャッシュメモリ制御装置 | |
JPH0628258A (ja) | マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030506 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20031118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081219 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091219 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091219 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101219 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |