JP3503480B2 - キャッシュメモリ制御方法及び装置 - Google Patents

キャッシュメモリ制御方法及び装置

Info

Publication number
JP3503480B2
JP3503480B2 JP20914398A JP20914398A JP3503480B2 JP 3503480 B2 JP3503480 B2 JP 3503480B2 JP 20914398 A JP20914398 A JP 20914398A JP 20914398 A JP20914398 A JP 20914398A JP 3503480 B2 JP3503480 B2 JP 3503480B2
Authority
JP
Japan
Prior art keywords
miss
data
address
storage unit
way
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.)
Expired - Fee Related
Application number
JP20914398A
Other languages
English (en)
Other versions
JP2000040030A (ja
Inventor
雅夫 深川
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)

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 レジスタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−33143(JP,A) 特開 平5−250264(JP,A) 特開 平9−293019(JP,A) 特開 平8−16466(JP,A) 特開 平3−175545(JP,A) 特開 昭58−83377(JP,A) 特開 平9−274589(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】アクセスアドレス信号のブロック内アドレ
    スでデータがアクセスされるデータ記憶部と、 アクセスアドレス信号のインデクスでアクセスされ、タ
    グアドレスを格納するアドレス記憶部と、 前記アクセスアドレス信号のタグと、前記インデクスで
    アクセスされた前記アドレス記憶部のタグとの一致を比
    較しヒット/ミスを判定する比較部と、 前記比較部からのミス判定を受けてこれを計数する計数
    手段と、 前記アドレス記憶部と同等のライン数を備え、前記計数
    手段によるミス回数をキャッシュライン毎に保持するミ
    ス記録部と、 を複数ウェイの各ウェイに備え、 前記比較部でミス判定時、前記ミス記録部により記憶さ
    れたミスの回数が最も多いウェイのデータ記憶部のキャ
    ッシュラインのデータを、メモリからリードして、置き
    換えるように制御する手段を備え、 前記比較部でミス判定時、前記キャッシュラインのデー
    タを置き換えた後、前記キャッシュラインデータの置き
    換えを行ったウェイの前記計数手段はリセットされ、一
    方、キャッシュラインデータの置き換えを行わない方の
    ウェイの前記カウント手段はカウント値を1つカウント
    アップする、ことを特徴とするキャッシュメモリ制御装
    置。
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 JP2000040030A (ja) 2000-02-08
JP3503480B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5167952B2 (ja) * 2008-05-26 2013-03-21 富士通株式会社 キャッシュメモリシステム

Also Published As

Publication number Publication date
JP2000040030A (ja) 2000-02-08

Similar Documents

Publication Publication Date Title
US4875155A (en) Peripheral subsystem having read/write cache with record access
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
US5353430A (en) Method of operating a cache system including determining an elapsed time or amount of data written to cache prior to writing to main storage
JP4128878B2 (ja) キャッシュ中のラインを投機的に無効にする方法とシステム
US6484239B1 (en) Prefetch queue
US8725987B2 (en) Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data
EP0604139B1 (en) Computer system including a prefetch cache
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
US5615353A (en) Method for operating a cache memory using a LRU table and access flags
JP3309425B2 (ja) キャッシュ制御装置
US5590300A (en) Cache memory utilizing address translation table
US20130111131A1 (en) Dynamically adjusted threshold for population of secondary cache
US6772288B1 (en) Extended cache memory system and method for caching data including changing a state field value in an extent record
JPH037978B2 (ja)
JPH0512116A (ja) キヤツシユメモリ制御装置
JPH0962572A (ja) ストリーム・フィルタ装置及び方法
US5214766A (en) Data prefetching based on store information in multi-processor caches
US5737751A (en) Cache memory management system having reduced reloads to a second level cache for enhanced memory performance in a data processing system
KR20010101695A (ko) 가상 메모리 시스템에서의 메모리 접근 개선 기술
US5809526A (en) Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation
US7844777B2 (en) Cache for a host controller to store command header information
JP3732397B2 (ja) キャッシュシステム
JP3503480B2 (ja) キャッシュメモリ制御方法及び装置
US6934810B1 (en) Delayed leaky write system and method for a cache memory
US6615320B2 (en) Store collapsing mechanism for SMP computer system

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