JP3469042B2 - キャッシュメモリ - Google Patents

キャッシュメモリ

Info

Publication number
JP3469042B2
JP3469042B2 JP12439597A JP12439597A JP3469042B2 JP 3469042 B2 JP3469042 B2 JP 3469042B2 JP 12439597 A JP12439597 A JP 12439597A JP 12439597 A JP12439597 A JP 12439597A JP 3469042 B2 JP3469042 B2 JP 3469042B2
Authority
JP
Japan
Prior art keywords
tag
memory
tag address
stored
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
JP12439597A
Other languages
English (en)
Other versions
JPH10320275A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP12439597A priority Critical patent/JP3469042B2/ja
Publication of JPH10320275A publication Critical patent/JPH10320275A/ja
Application granted granted Critical
Publication of JP3469042B2 publication Critical patent/JP3469042B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • G06F2212/6082Way prediction in set-associative cache

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、同一タグアドレス
を同一ウェイに記憶するようにしたキャッシュメモリに
関する。
【0002】
【従来の技術】近年、マイクロプロセッサはクロック周
波数が向上し、メモリバンド幅も増大しているため、扱
うデータ量が非常に大きくなってきている。そのため、
キャッシュメモリの容量の大規模化への要求が高まって
きており、同時にキャッシュメモリのウェイ数も増大し
ている。
【0003】図7に示す2ウェイセットアソシアティブ
構成の従来のキャッシュメモリにおいては、ミスヒット
が生じてタグアレー100に格納されたタグアドレスな
らびにデータアレー101に格納されたデータを更新す
る際に、最も遠い過去に参照されたものを示すLRU(L
east Recentry Used) ビット102で示されるものと置
き換えるという方式が採用されていた。この方式では、
置き換えられるタグアドレスはミスヒットしたエントリ
のどちらのウェイ(ウェイ0又はウェイ1)に格納され
るかということはタグアドレスの内容によっては規定さ
れていなかった。このため、同一のタグアドレスが同一
のウェイに格納されるとは限らなかった。
【0004】また、同一のタグアドレスにより連続して
キャッシュメモリがアクセスされるような場合に、同一
のタグアドレスが同一のウェイに格納されていないと、
直前にアクセスされたウェイにより次のアクセスでヒッ
トするウェイを予測できる可能性が低くなっていた。
【0005】
【発明が解決しようとする課題】以上説明したように、
従来のキャッシュメモリにあっては、タグアドレスが同
じであってもキャッシュメモリ内の同一のウェイに格納
されるとは限らなかった。このため、キャッシュメモリ
をアクセスする際にヒットするウェイを予測する場合
に、例えば同一のタグアドレスによるアクセス時にヒッ
トするウェイの予測が的中する確率が低くなっていた。
したがって、キャッシュメモリの読み出し動作を効率良
くかつ高速に行うことが困難になるという不具合を招い
ていた。
【0006】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、ヒットするウ
ェイを予測する際の予測の的中率を向上させ、キャッシ
ュアクセスを効率良くかつ高速に行うことができるキャ
ッシュメモリを提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の発明は、少なくとも2つ以上のウェ
イを備えてタグアドレスを記憶するタグメモリと、該タ
グメモリに記憶されたタグアドレスに対応してデータを
格納するデータメモリを有するキャッシュメモリにおい
て、前記タグメモリに記憶されているタグアドレスが前
記タグメモリのいずれのウェイに記憶されているかを示
すタグアドレスエントリテーブルと、前記タグメモリが
更新される時に、更新後のタグアドレスが前記タグアド
レスエントリテーブルに記憶されているか否かを判別
し、記憶されている場合には前記タグアドレスエントリ
テーブルが示すウェイの前記タグメモリに更新後のタグ
アドレスを格納する格納制御手段とを有することを特徴
とする。
【0008】
【0009】請求項2記載の発明は、少なくとも2つ以
上のウェイを備えてタグアドレスを記憶するタグメモリ
と、該タグメモリに記憶されたタグアドレスに対応して
データを格納する第1のデータメモリと、前記タグメモ
リに記憶されているタグアドレスが前記タグメモリのい
ずれのウェイに記憶されているかを示すタグアドレスエ
ントリテーブルと、前記タグメモリが更新される時に、
更新後のタグアドレスが前記タグアドレスエントリテー
ブルに記憶されているか否かを判別し、記憶されている
場合には前記タグアドレスエントリテーブルが示すウェ
イの前記タグメモリに更新後のタグアドレスを格納する
格納制御手段と、少なくとも2つ以上のウェイを備えて
タグアドレスを記憶するタグアドレスエントリレジスタ
と、該タグアドレスエントリレジスタに記憶されたタグ
アドレスに対応してデータを格納する第2のデータメモ
リを備え、前記タグアドレスエントリレジスタはそれぞ
れのウェイに対して1つのエントリを有し、それぞれの
ウェイのエントリに単一のタグアドレスを記憶してなる
ことを特徴とする。
【0010】
【0011】
【0012】
【発明の実施の形態】以下、図面を用いて本発明の実施
形態を説明する。
【0013】図1はこの発明の一実施形態に係るキャッ
シュメモリの構成を示す図である。
【0014】図1において、キャッシュメモリは、2ウ
ェイセットアソシアティブ方式のキャッシュメモリであ
り、キャッシュメモリをアクセスする際に上位アドレス
となるタグアドレスを格納するタグメモリ1と、状態ビ
ットを格納するステートメモリ2と、タグアドレスに対
応してデータを格納するデータメモリ3と、キャッシュ
メモリをアクセスする際に下位アドレスとなるインデッ
クスアドレスとともに外部から与えられるタグアドレス
とタグメモリ1から読み出されたタグアドレスを比較し
てキャッシュヒット/キャッシュミスを判定する比較器
4と、比較器4の判定結果に基づいてキャッシュヒット
したウェイのデータメモリ3から読み出されたデータを
選択して出力する第1のウェイセレクタ5と、タグメモ
リ1に格納されているタグアドレスがタグメモリ1のい
ずれのウェイに記憶されているかを示すタグアドレスエ
ントリテーブル6と、タグメモリ1が更新される時に、
更新後のタグアドレスがタグアドレスエントリテーブル
6に記憶されているか否かを判別し、記憶されている場
合にはタグアドレスエントリテーブル6が示すウェイの
タグメモリ1に更新後のタグアドレスを格納する格納制
御手段となる比較器7及び第2のウェイセレクタ8を備
えて構成されている。なお、タグメモリ1を更新するた
めに参照する前述したLRUビットをタグメモリ1に設
けるようにしてもよい。
【0015】タグアドレスエントリテーブル6は、タグ
メモリ1と同様に2ウェイで少なくとも2つ以上のエン
トリからなり、タグメモリ1に格納されたタグアドレス
がタグメモリ1に格納されたウェイと同一のウェイに格
納される。比較器7は、タグアドレスエントリテーブル
6のそれぞれのウェイ毎にそれぞれのエントリに対応し
て設けられており、外部から与えられるタグアドレスと
タグアドレスエントリテーブル6の各ウェイのそれぞれ
のエントリから読み出されたタグアドレスを比較し、比
較結果を第2のウェイセレクタ8に与える。第2のウェ
イセレクタ8は、比較結果を受けて、比較した両者の内
で一致したものがあれば、一致したタグアドレスがタグ
アドレスエントリテーブル6に格納されていたウェイと
同一のウェイのタグメモリ1に外部から与えられたタグ
アドレスを与えて格納する。
【0016】このような構成において、タグメモリ1が
更新される際にタグアドレスエントリテーブル6が参照
され、外部から与えられる更新後のタグアドレスと同一
のタグアドレスが以前にタグメモリ1のウェイ0に書か
れたことがあればウェイ0に、以前にウェイ1に書かれ
たことがあればウェイ1に格納されるように比較器7及
び第2のウェイセレクタ8により制御される。
【0017】この実施形態では、キャッシュメモリのデ
ータを更新する時に、キャッシュメモリに格納されるデ
ータのタグアドレスに注目し、連続したある一定のアド
レスに対応するデータを同一ウェイに格納するように制
御されるので、特に命令キャッシュのように連続したあ
る一定のアドレスの命令を順次実行する場合など、デー
タを局所的に参照する場合に有効である。
【0018】一方、キャッシュメモリからデータの読み
出しを高速化する手段として、最も近い過去に参照され
たタグアドレスを示すMRU(Most Recentry Used)ビッ
トを用いてタグアドレスのヒットチェック中に予めどち
らのウェイにヒットするかを予測し、データを先読みす
る手法がある。このMRUビットによるデータの先読み
を上記実施形態に適用したものが図2に示す実施形態で
ある。
【0019】この実施形態は、図1に示すタグアドレス
エントリテーブル6のそれぞれのウェイの各エントリに
MRUビット9を付加したものである。従来では、この
MRUビット9はLRUビットと同様にメモリアレイと
してキャッシュメモリの構成要素となっていたのに比
べ、この実施形態では、タグアドレスエントリテーブル
6にMRUビット9をアクセスするだけでデータの先読
み機能を簡単に実現することができる。なお、タグアド
レスエントリテーブル6を更新する際に使用するLRU
ビットをタグアドレスエントリテーブル6に設けるよう
にしてもよい。
【0020】図3はこの発明の他の実施形態に係るキャ
ッシュメモリの構成を示す図である。
【0021】この実施形態の特徴とするところは、4ウ
ェイのセットアソシアティブ方式のキャッシュ構成にお
いてタグアドレスを格納するタグメモリを簡略化してタ
グアドレスエントリレジスタ10として構成したもので
あり、タグアドレスエントリレジスタ10はそれぞれの
ウェイに対して1つのエントリを有し、それぞれのウェ
イのエントリに単一のタグアドレスを記憶するようにし
たことにあり、他は図1に示す実施形態と同様である。
すなわち、ウェイ0にはある1つのタグアドレス、ウェ
イ1には別の1つのタグアドレスという具合に、それぞ
れ1つのウェイに1つのタグアドレスを割り当てるよう
に格納し、図3に示す実施形態の4ウェイでは、それぞ
れのウェイに対応して4つの異なるタグアドレスをタグ
アドレスエントリレジスタ10に格納する。キャッシュ
メモリへのアクセスにおいて、一度あるタグアドレスを
いずれかのウェイのタグエントリレジスタ10に格納す
ると、次も同じウェイに格納する。
【0022】タグアドレスエントリレジスタ10には、
図4に示すようにそれぞれのウェイにLRUビットを備
え、すべてのウェイで対応するタグアドレスが決まった
後はLRUビットを参照して、最も遠い過去に参照され
たウェイに対して更新を行いデータを格納するように制
御される。
【0023】このような構成にあっては、タグアドレス
をヒットチェックする際に従来のように大きなサイズの
タグメモリをアクセスするのではなく、小規模のタグア
ドレスエントリレジスタ10だけをアクセスすればよい
ので、キャッシュメモリの動作の高速化が可能となる。
さらに、従来メモリアレイの1つとして構成しなければ
ならなかったLRUビットをタグアドレスエントリレジ
スタ10の附属ビットとして実現することができる。ま
た、この実施形態は、同時に有効となるタグアドレスの
エントリ数がウェイの数で限定されてしまうため、ウェ
イ数は多い方が多くのタグアドレスに対応することがで
きる。さらに、分岐命令であっても同じページ内ならタ
グアドレスが変化しないため、必要なエントリが更新さ
れてデータが失われるということはなく、命令処理がオ
ーバーヘッドなく実現できる。このような観点からみれ
ば、この実施形態のキャッシュメモリはサイズの大きな
キャッシュメモリに好適であり有効である。
【0024】図5に示す実施形態の特徴とするところ
は、図3ならびに図4に示す実施形態に対して、図3な
らびに図4に示すタグアドレスエントリテーブル10に
前述したMRUビット11を設け、このMRUビット1
1によリデータを先読みするようにしたことにある。
【0025】従来では、このMRUビット11はLRU
ビットと同様にメモリアレイとしてキャッシュメモリの
構成要素になっていたのに比べ、この実施形態では、タ
グアドレスエントリレジスタ10にMRUビット11を
追加するだけで、データの先読み機能が簡単に実現する
ことができる。さらに、同一のタグアドレスを同じウェ
イをまとめて格納しているので、ヒットするウェイの予
測による読み出し動作を単に直前のアクセスでヒットし
たウェイに決めておけばよいという、簡単な手法で実現
することができる。このようにしておけば、同じタグア
ドレスを参照する場合は同じウェイにヒットし続けるこ
とになり、先読みによるヒット率を確実に向上させるこ
とができ、かつ読み出し動作の高速化を図ることができ
る。さらに、先読みによるヒット率を向上させることが
できれば、キャッシュメモリのアクセスに使用されるイ
ンデックスアドレスに該当するデータメモリのすべての
エントリのメモリセルを一斉に活性化する必要が頻繁に
なくなり、キャッシュメモリの消費電力を低減すること
ができる。
【0026】なお、この実施形態では、ウェイ数が多過
ぎると各ウェイのページサイズが小さくなり、分岐命令
で移動したアドレスの上位アドレスがタグアドレスを変
化させるような大きなアプリケーションソフトになると
タグアドレスの更新が頻繁になるため、キャッシュのヒ
ット率を下げることになる可能性がある。このため、キ
ャッシュメモリのウェイ数はアプリケーションソフトの
サイズに応じて適宜決定するようにすればよい。
【0027】図6はこの発明の他の実施形態に係るキャ
ッシュメモリの構成を示す図である。
【0028】図6に示す実施形態の特徴とするところ
は、図1に示す実施形態のキャッシュメモリと図3に示
す実施形態のキャッシュメモリの双方を備えたことにあ
る。
【0029】このような構成において、比較的まとまり
のあるデータに対応したをタグアドレスをタグアドレス
エントリレジスタ10に格納し、その他のタグアドレス
をタグメモリ1に格納するようにすれば、前述したそれ
ぞれのキャッシュメモリの特徴が生かされて、双方のキ
ャッシュメモリで得られる効果を得ることができる。ま
た、キャッシュメモリにアクセスした際に何回かタグア
ドレスが変わったにもかかわらずタグレジスタに1度も
ヒットしなかった場合には、最も遠い過去に参照された
ウェイを解放してタグアドレスエントリレジスタ10の
タグアドレスを更新してデータを格納するという制御を
行うことにより、データの更新を行えばよい。
【0030】
【発明の効果】以上説明したように、この発明によれ
ば、同一のタグアドレスを同一ウェイに格納するように
したので、ヒットするウェイを予測する際の予測の的中
率が向上し、キャッシュアクセスを効率良くかつ高速に
行うことができる。
【0031】また、この発明によれば、キャッシュメモ
リアレーとは別のタグアドレスエントリテーブル又はタ
グアドレスエントリレジスタにMRUビット又はLRU
ビットを設けるようにしたので、先読みによるヒット率
を確実に向上させることができ、キャッシュメモリアレ
ーを小型化することができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るキャッシュメモリ
の構成を示す図である。
【図2】この発明の他の実施形態に係るキャッシュメモ
リの構成を示す図である。
【図3】この発明の他の実施形態に係るキャッシュメモ
リの構成を示す図である。
【図4】図3に示すタグアドレスエントリテーブルの構
成を示す図である。
【図5】この発明の他の実施形態に係るキャッシュメモ
リの構成を示す図である。
【図6】この発明の他の実施形態に係るキャッシュメモ
リの構成を示す図である。
【図7】従来のキャッシュメモリの構成を示す図であ
る。
【符号の説明】
1 タグメモリ 2 ステートメモリ 3 データメモリ 4,7 比較器 5,8 ウェイセレクタ 6 タグアドレスエントリテーブル 9,11 MRUビット 10 タグアドレスエントリテーブル
フロントページの続き (56)参考文献 特開 昭61−271572(JP,A) 特開 平8−6857(JP,A) 特開 平2−278352(JP,A) 特開 平2−272653(JP,A) 特開 平2−161546(JP,A) 特開 昭63−98749(JP,A) 特開 昭58−205975(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくとも2つ以上のウェイを備えてタ
    グアドレスを記憶するタグメモリと、該タグメモリに記
    憶されたタグアドレスに対応してデータを格納するデー
    タメモリを有するキャッシュメモリにおいて、 前記タグメモリに記憶されているタグアドレスが前記タ
    グメモリのいずれのウェイに記憶されているかを示すタ
    グアドレスエントリテーブルと、 前記タグメモリが更新される時に、更新後のタグアドレ
    スが前記タグアドレスエントリテーブルに記憶されてい
    るか否かを判別し、記憶されている場合には前記タグア
    ドレスエントリテーブルが示すウェイの前記タグメモリ
    に更新後のタグアドレスを格納する格納制御手段とを有
    することを特徴とするキャッシュメモリ。
  2. 【請求項2】 少なくとも2つ以上のウェイを備えてタ
    グアドレスを記憶するタグメモリと、該タグメモリに記
    憶されたタグアドレスに対応してデータを格納する第1
    のデータメモリと、 前記タグメモリに記憶されているタグアドレスが前記タ
    グメモリのいずれのウェイに記憶されているかを示すタ
    グアドレスエントリテーブルと、 前記タグメモリが更新される時に、更新後のタグアドレ
    スが前記タグアドレスエントリテーブルに記憶されてい
    るか否かを判別し、記憶されている場合には前記タグア
    ドレスエントリテーブルが示すウェイの前記タグメモリ
    に更新後のタグアドレスを格納する格納制御手段と、 少なくとも2つ以上のウェイを備えてタグアドレスを記
    憶するタグアドレスエントリレジスタと、該タグアドレ
    スエントリレジスタに記憶されたタグアドレスに対応し
    てデータを格納する第2のデータメモリを備え、 前記タグアドレスエントリレジスタはそれぞれのウェイ
    に対して1つのエントリを有し、それぞれのウェイのエ
    ントリに単一のタグアドレスを記憶してなることを特徴
    とするキャッシュメモリ。
  3. 【請求項3】 最も近い過去に参照あるいは更新された
    タグアドレスを示すMRU(Most Recentry Used)ビット
    を、前記アドレスエントリテーブル及び/又は前記タグ
    アドレスエントリレジスタに設けたことを特徴とする請
    求項1又は2記載のキャッシュメモリ。
  4. 【請求項4】 最も遠い過去に参照あるいは更新された
    タグアドレスを示すLRU(Least Recentry Used) ビッ
    トを、前記アドレスエントリテーブル及び/又は前記タ
    グアドレスエントリレジスタに設けたことを特徴とする
    請求項1,2又は3のいずれか1項に記載のキャッシュ
    メモリ。
JP12439597A 1997-05-14 1997-05-14 キャッシュメモリ Expired - Fee Related JP3469042B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12439597A JP3469042B2 (ja) 1997-05-14 1997-05-14 キャッシュメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12439597A JP3469042B2 (ja) 1997-05-14 1997-05-14 キャッシュメモリ

Publications (2)

Publication Number Publication Date
JPH10320275A JPH10320275A (ja) 1998-12-04
JP3469042B2 true JP3469042B2 (ja) 2003-11-25

Family

ID=14884376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12439597A Expired - Fee Related JP3469042B2 (ja) 1997-05-14 1997-05-14 キャッシュメモリ

Country Status (1)

Country Link
JP (1) JP3469042B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4713077B2 (ja) * 2003-03-26 2011-06-29 パナソニック株式会社 半導体装置
WO2005008501A1 (ja) * 2003-07-22 2005-01-27 Fujitsu Limited キャッシュメモリ装置およびキャッシュメモリ制御方法
US9304932B2 (en) * 2012-12-20 2016-04-05 Qualcomm Incorporated Instruction cache having a multi-bit way prediction mask

Also Published As

Publication number Publication date
JPH10320275A (ja) 1998-12-04

Similar Documents

Publication Publication Date Title
US5361391A (en) Intelligent cache memory and prefetch method based on CPU data fetching characteristics
JP4486750B2 (ja) テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造
US5826052A (en) Method and apparatus for concurrent access to multiple physical caches
US6219760B1 (en) Cache including a prefetch way for storing cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line
US5802572A (en) Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache
US6578111B1 (en) Cache memory system and method for managing streaming-data
US20100217937A1 (en) Data processing apparatus and method
JP4920378B2 (ja) 情報処理装置およびデータ検索方法
US7047362B2 (en) Cache system and method for controlling the cache system comprising direct-mapped cache and fully-associative buffer
JPS61156346A (ja) 記憶階層の先取り装置
KR980010781A (ko) 전폭 캐쉬를 가진 집적 프로세서/메모리 장치
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
WO2010004497A1 (en) Cache management systems and methods
KR100814982B1 (ko) 다수의 채움 모드를 구비한 캐시
US6961823B2 (en) Stream-down prefetching cache
US6535961B2 (en) Spatial footprint prediction
US5926841A (en) Segment descriptor cache for a processor
US6598124B1 (en) System and method for identifying streaming-data
WO1997034229A9 (en) Segment descriptor cache for a processor
JP3469042B2 (ja) キャッシュメモリ
JPS638851A (ja) キャッシュ・メモリ制御方式
US6516388B1 (en) Method and apparatus for reducing cache pollution
US6601155B2 (en) Hot way caches: an energy saving technique for high performance caches
JP3078303B2 (ja) キャッシュメモリ制御回路
JPH04369061A (ja) キャッシュメモリの制御方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070905

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees