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
Application number
JP10209143A
Other languages
English (en)
Other versions
JP3503480B2 (ja
Inventor
Masao Fukagawa
雅夫 深川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP20914398A priority Critical patent/JP3503480B2/ja
Publication of JP2000040030A publication Critical patent/JP2000040030A/ja
Application granted granted Critical
Publication of JP3503480B2 publication Critical patent/JP3503480B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】アクセス頻度の低いキャッシュラインを効率的
に選択して置換することを可能とし、キャッシュヒット
率を向上させ、性能の向上を図る、キャッシュメモリ制
御方法の提供。 【解決手段】キャッシュミスヒット時、各ウエイのキャ
ッシュミスヒット回数を比較し、ミスヒット回数の最も
多いウエイのキャッシュラインデータの置き換えを行
う。キャッシュラインデータの置き換えを行ったウエイ
のキャッシュミスヒット回数をリセットし、前記キャッ
シュラインデータの置き換えを行なわないウエイのキャ
ッシュミスヒット回数を一つカウントアップする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ等情
報処理装置のキャッシュメモリ制御方法及び装置に関
し、特に、キャッシュヒット率の向上を図るキャッシュ
メモリ制御方法及び装置に関する。
【0002】
【従来の技術】マイクロプロセッサの集積度、動作周波
数の向上により、コンピュータは短時間に多くのデータ
を処理可能となっているが、メモリの動作周波数の向上
はマイクロプロセッサに比べ緩やかであり、メモリのア
クセス処理に多くの時間を費やし、コンピュータ全体の
処理性能の向上の妨げとなっている。このため、マイク
ロプロセッサ等のコンピュータにおいては、主メモリの
一部をコピーとして高速にデータを読み出し、書き込み
ができるキャッシュメモリを備える設計方式が用いられ
ている。
【0003】頻繁に参照するデータについては、キャッ
シュメモリに保持されたデータをアクセスすることで高
速にコンピュータのレジスタ等にロードすることがで
き、データ供給が、性能ネックとなるという問題は解さ
れているが、キャッシュメモリは、高速動作させる必要
があるため、大容量を持つことはできない。
【0004】キャッシュメモリにおけるデータのヒット
率を上げるために、あるいはキャッシュミス時の回復を
効率良く行うために、ダイレクト・マップ方式は、実
際、ヒットしたか否かのチェックも置き換え可能かどう
かのチェックも、対象はただ一つのブロックで他に選択
の余地がないことから簡単である。
【0005】一方、フル・アソシアティブ方式や、セッ
ト・アソシアティブ方式では、キャッシュミスの際に、
置き換えの候補となるブロックは複数あり、その際のブ
ロックの選択として、主にランダム法や、LRU(Leas
t Recently Used)法が用いられる。
【0006】ランダム法の長所は、ハードウェアの構成
が簡単であり、LRU法は、参照ブロックの履歴の保存
数が増えるにつれてコストが増大するので、近似解が使
われることが多い。
【0007】実際には、キャッシュサイズが大きくなる
ほど、どのブロックを置き換えるかの選択の幅が広がる
にもかかわらず、ランダム法とLRU法によるミス率の
差は無くなってくる。
【0008】
【発明が解決しようとする課題】ところで、キャッシュ
メモリのアクセスの過半数は読み出しアクセスである。
実際、命令語へのアクセスはすべて読み出しであり、ほ
とんどの命令は、メモリへの書き込みを行わない。
【0009】しかし、書き込みの速度を無視したままで
高性能メモリの設計などできない。そして、従来の置き
換えブロックの選択方法においては、頻繁にアクセスさ
れている箇所と、アクセスの回数が少ない箇所とが混在
している為に、必要以上に書き換えが行われている可能
性がある。
【0010】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、アクセス頻度の
低いキャッシュラインを効率的に選択して置換すること
を可能とし、キャッシュヒット率を向上させ、性能の向
上を図る、キャッシュメモリ制御方法及び装置を提供す
ることにある。
【0011】
【課題を解決するための手段】前記目的を達成する本発
明は、複数ウェイのキャッシュメモリにおいて、キャッ
シュミスヒット時、各ウェイのキャッシュミスヒット回
数を比較し、ミスヒット回数の最も多いウェイのキャッ
シュラインデータの置き換えを行うように構成される。
【0012】本発明においては、キャッシュミスヒット
時、前記キャッシュラインデータの置き換えを行ったウ
ェイのキャッシュミスヒット回数をリセットし、前記キ
ャッシュラインデータの置き換えを行なわないウェイの
キャッシュミスヒット回数を一つカウントアップするよ
うに構成される。
【0013】
【発明の実施の形態】本発明の実施の形態について説明
する。本発明は、キャッシュの更新処理において、キャ
ッシュメモリ内のデータをミスカウンタの値を用いて書
き換えの判断を行うことを特徴としたものである。キャ
ッシュヒットしなかった回数(ミスヒット回数)をウェ
イ(WAY)毎で比較し、ミスヒットカウントの多い方
のデータを書き変える。
【0014】本発明は、その好ましい実施の形態におい
て、アクセスアドレスのブロック内アドレスでアクセス
されるデータを格納するデータ記憶部と、アクセスアド
レス信号のインデクスでアクセスされ、タグアドレスを
格納するアドレス記憶部と、前記アクセスアドレス信号
のタグと、前記インデクスでアクセスされた前記アドレ
ス記憶部のタグとの一致を比較しヒット/ミスを判定す
る比較部と、前記比較部からのミス判定を受けてこれを
計数するカウント手段と、前記アドレス記憶部と同等の
ライン数を備え前記計数手段によるミス回数をキャッシ
ュライン毎に保持するミス記録部と、を複数ウェイの各
ウェイ毎に備え、前記比較部でミス判定時、前記ミス記
録部により記憶されたミスの回数が最も多いウェイのデ
ータ記憶部のキャッシュブロックを、メモリからリード
して、置き換えるように制御する手段を備える。
【0015】本発明の実施の形態においては、前記比較
部でミス判定時、前記キャッシュラインのデータを置き
換えた後、前記キャッシュラインデータの置き換えを行
ったウェイの前記カウント手段をリセットし、一方、キ
ャッシュラインデータの置き換えを行わない方のウェイ
の前記カウント手段を1つカウントアップする。以下実
施例に即して詳説する。
【0016】
【実施例】図1は、本発明の一実施例の構成を示す図で
あり、セット・アソシアティブ方式のキャッシュシステ
ムの構成を示す図である。図1において、100はキャ
ッシュが内蔵されるマイクロプロセッサであり、101
はマイクロプロセッサ外のメモリである。102はキャ
ッシュメモリ内のデータ記憶部、103はキャッシュメ
モリ内のアドレス記憶部、命令発行部104である。
【0017】アドレス比較器105は、アドレス記憶部
103に記憶されているデータのアドレスと、命令発行
部104から送出されるアドレスとを比較しヒット/ミ
スヒットの判定を行う。ミスカウンタ部106−1はア
ドレス比較器105でミスヒットとされた回数を計数す
るカウンタであり、キャッシュライン毎にミス記憶部1
06−2にミス回数を記憶する。
【0018】ミスリクエスト送出制御部107は、ロー
ド命令がキャッシュミスと判定されたとき、メモリ10
1にデータを要求する。
【0019】本発明の一実施例の動作について説明す
る。アドレス比較部105は、命令発行部104からの
信号110により命令とアドレスを受け取る。
【0020】アドレス比較部105は、アドレス記憶部
103に記憶されているデータのアドレスと、命令発行
部104から送出されるアドレスとを比較してヒット/
ミス判定の結果、ヒットの場合には、データ記憶部10
2に対して信号111によりデータの読み出し、あるい
は書き込みを指示する。
【0021】データ記憶部102は、命令発行部104
で発行された命令がロード命令かストア命令であるかに
よって、信号112によりデータの受け渡しを行う。
【0022】発行された命令がロード命令であり、かつ
アドレスの比較の結果キャッシュミスの場合には、アド
レス比較部105からの信号113により、ミスカウン
タ部106−1で、後に示す条件で、カウントされ、キ
ャッシュメモリの各キャッシュライン毎にミスの回数
を、ミス記憶部106−2に記憶していき、信号118
により、ミスリクエスト送出制御部107にミスしたア
ドレスを引き渡し、このアドレスに該当するキャッシュ
ラインのブロックリードのリクエストを信号115によ
りメモリ101に発行する。
【0023】メモリ101にて、ブロックリードリクエ
ストの発行が受け付けられると、要求されたアドレスよ
り始まるデータを、1ブロック分送出する。
【0024】マイクロプロセッサ100では、メモリ1
01から送出されたデータをデータ記憶部102に格納
し、信号117により、書込み完了を通知する。
【0025】ミスリクエスト送出制御部107は、この
通知を受けて、信号119によりアドレス比較部105
内のアドレスを更新する。
【0026】本発明の一実施例は、アドレス比較部10
5とミスリクエスト送出制御部107の間に、ミスカウ
ンタ部106−1とミス記憶部106−2を設けること
により、ロード命令でキャッシュミスした際にどのブロ
ックを書き換えるかの判断に用いる。
【0027】有効なデータを保持しているブロックとそ
うでないブロックとが選択の対象であれば、有効なデー
タを保持していないブロックを書き換えればよいが、キ
ャッシュのヒット率が高い状態では、有効なデータを保
持しているブロック同士の間、一方、ミス率が高い状態
では、無効なデータを保持しているブロック同士の間
で、書き換えるブロックの決定を行わなければならな
い。
【0028】このときに、すぐに必要な情報を書き換え
てしまわないように、ミスの回数をカウントしていく。
図11に示したミスカウンタ部106−1、ミス記憶部
106−2とアドレス比較器105とミスリクエスト送
出制御部107について、より詳細な構成を図2に、ブ
ロック図にて示す。
【0029】図2において、104はロード命令からの
アドレスであり、タグ、インデックス、ブロック内アド
レスから構成されている。
【0030】信号210によりロード命令の、アドレス
部のインデックスにてアドレス記憶部103(10
3′)をアクセスしてタグを取り出し、比較器201
(201′)で、信号212(212′)によるアドレ
ス記憶部103(103′)のタグと、信号211によ
るロード命令のアドレス部タグと、の比較を行い、両者
が一致、すなわちヒットすれば、信号111(11
1′)により、データ記憶部102(102′)にタグ
情報を渡す。
【0031】そして、ロード命令のアドレス部のブロッ
ク内アドレスである信号216によりブロック内アドレ
ス(バイトオフセット)でデータ記憶部102(10
2′)を読み出し、読み出したデータを、信号217
(217′)により、レジスタ204を通って、信号2
18により出力する。
【0032】また、比較器201(201′)でミスで
ある場合、信号113(113′)により、加算器20
2(202′)でミスした回数を、ウェイ毎に計数して
いき、信号213(213′)により、ミス記録部20
3(203′)に記憶する。ミス記録部203(20
3′)は、アドレス記憶部103(103′)と同等の
ライン数を備える。ミス記録部203(203′)によ
り記憶されたミスの回数が多いブロックを、信号220
(220′)によるウェイ情報と、信号219よるイン
デックスとタグを用いて、ミスリクエスト送出部106
から信号224により、データ記憶部102のデータを
書き換える。
【0033】これは、参照の時間的局所性を利用したも
ので、複数回ミスしたブロックは今後も参照される可能
性が低いというものである。
【0034】図3は、本発明の一実施例の処理を説明す
るための流れ図である。本発明の一実施例において、ロ
ード命令がいかなる過程を経て処理されるについて説明
する。
【0035】ロード命令が発行されると(ステップ30
0)、キャッシュのヒット/ミス判定が行われる(ステ
ップ301)。
【0036】ヒットした場合には自ウェイがヒットして
いるか判定し(ステップ302)、自ウェイがヒットし
ていたら、データ読み出し指示の処理(ステップ30
7)に移り、自ウェイのデータ記憶部102からデータ
を読み出して終了する。
【0037】一方、ステップ302で、自ウェイがミス
した場合には、自ウェイのミスカウンタでミスの回数を
計数し(ステップ304)、終了する。
【0038】キャッシュのヒット/ミスの判定ステップ
301で、ミスの場合、自ウェイが他ウェイよりもミス
カウント数が多いか比較判定し(ステップ303)、多
ければ、自ウェイのデータ記憶部102のデータを書き
換え(ステップ305)、自ウェイのミスカウンタをリ
セットする(ステップ306)。
【0039】ステップ303で、自ウェイの方が、他ウ
ェイよりもミスカウント数が少ない時は、自ウェイのミ
スの回数をミスカウンタで計数し(ステップ304)、
終了する。
【0040】
【発明の効果】以上説明したように、本発明によれば、
キャッシュのミスヒットの回数を計数していくことによ
り、アクセス頻度の低いキャッシュラインを効率的に選
択して、置換する事が可能となり、キャッシュヒット率
を向上させ、性能の向上を図ることができる、という効
果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例のシステム構成を示すブロッ
ク図である。
【図2】本発明の一実施例の詳細構成を示す図である。
【図3】本発明の一実施例の処理フローを示す図であ
る。
【符号の説明】
100 マイクロプロセッサ 101 メモリ 102、102′ データ記憶部 103、103′ アドレス記憶部 104 命令発行部 105、201、201′ アドレス比較部 106−1、202、202′ ミスカウンタ 106−2、203、203′ ミス記憶部 107 ミスリクエスト送出制御部 204 レジスタ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】キャッシュミスヒット回数を計数し、キャ
    ッシュミスヒット時、該計数結果に基づき、どのキャッ
    シュデータに置き換えるかを判断する、ことを特徴とす
    るキャッシュメモリ制御方法。
  2. 【請求項2】複数ウェイのキャッシュメモリにおいて、 キャッシュミスヒット時、各ウェイのキャッシュミスヒ
    ット回数を比較し、ミスヒット回数の最も多いウェイの
    キャッシュラインデータの置き換えを行う、ことを特徴
    とするキャッシュメモリ制御方法。
  3. 【請求項3】キャッシュミスヒット時、前記キャッシュ
    ラインデータの置き換えを行ったウェイのキャッシュミ
    スヒット回数をリセットし、前記キャッシュラインデー
    タの置き換えを行なわないウェイのキャッシュミスヒッ
    ト回数を一つカウントアップすることを特徴とする請求
    項1記載のキャッシュメモリ制御方法。
  4. 【請求項4】複数ウェイのキャッシュメモリの制御装置
    において、 キャッシュミスヒット時、ミス回数を計数するカウント
    手段をウェイ毎に備え、 キャッシュミスヒット時、各ウェイのミス回数を比較し
    ミス回数の最も多いウェイのキャッシュラインデータを
    置き換えるように制御する手段を備えたことを特徴とす
    るキャッシュメモリ制御装置。
  5. 【請求項5】キャッシュミスヒット時、前記キャッシュ
    ラインのデータを置き換えた後、前記キャッシュライン
    データの置き換えを行ったウェイの前記カウント手段を
    リセットすることを特徴とする請求項4記載のキャッシ
    ュメモリ制御装置。
  6. 【請求項6】キャッシュミスヒット時、キャッシュライ
    ンデータの置き換えを行わない方のウェイの前記カウン
    ト手段を1つカウントアップすることを特徴とする請求
    項4記載のキャッシュメモリ制御装置。
  7. 【請求項7】アクセスアドレスのブロック内アドレスで
    データがアクセスされるデータ記憶部と、 アクセスアドレス信号のインデクスでアクセスされ、タ
    グアドレスを格納するアドレス記憶部と、 前記アクセスアドレス信号のタグと、前記インデクスで
    アクセスされた前記アドレス記憶部のタグとの一致を比
    較しヒット/ミスを判定する比較部と、 前記比較部からのミス判定を受けてこれを計数する計数
    手段と、 前記アドレス記憶部と同等のライン数を備え、前記計数
    手段によるミス回数をキャッシュライン毎に保持するミ
    ス記録部と、 を複数ウェイの各ウェイ毎に備え、 前記比較部でミス判定時、前記ミス記録部により記憶さ
    れたミスの回数が最も多いウェイのデータ記憶部のキャ
    ッシュラインのデータを、メモリからリードして、置き
    換えるように制御する手段を備えたことを特徴とするキ
    ャッシュメモリ制御装置。
  8. 【請求項8】前記比較部でミス判定時、前記キャッシュ
    ラインのデータを置き換えた後、前記キャッシュライン
    データの置き換えを行ったウェイの前記手段をリセット
    し、一方、キャッシュラインデータの置き換えを行わな
    い方のウェイの前記カウント手段を1つカウントアップ
    することを特徴とする請求項7記載のキャッシュメモリ
    制御装置。
JP20914398A 1998-07-24 1998-07-24 キャッシュメモリ制御方法及び装置 Expired - Fee Related JP3503480B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009282880A (ja) * 2008-05-26 2009-12-03 Fujitsu Ltd キャッシュメモリシステム

Cited By (1)

* Cited by examiner, † Cited by third party
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