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

キャッシュメモリ

Info

Publication number
JPH10124390A
JPH10124390A JP8282122A JP28212296A JPH10124390A JP H10124390 A JPH10124390 A JP H10124390A JP 8282122 A JP8282122 A JP 8282122A JP 28212296 A JP28212296 A JP 28212296A JP H10124390 A JPH10124390 A JP H10124390A
Authority
JP
Japan
Prior art keywords
index
cache memory
line
registered
address array
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
JP8282122A
Other languages
English (en)
Other versions
JP3082684B2 (ja
Inventor
Shiyuuzou Wadasaki
修三 和田崎
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 JP08282122A priority Critical patent/JP3082684B2/ja
Publication of JPH10124390A publication Critical patent/JPH10124390A/ja
Application granted granted Critical
Publication of JP3082684B2 publication Critical patent/JP3082684B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】高速なマイクロプロセッサに組み込め、小容量
でも高ヒット率を得ることができるキャッシュメモリを
提供する。 【解決手段】第一のアドレスアレイ103と第二のアド
レスアレイ104とを持ち、アドレスアレイ104には
インデックスに対し一義にラインを割り当てるのではな
く、ライン飛び飛びに割り当てておき、間の割り当てら
れていないラインについてはそれを挟むインデックスで
使用できるようにする。また、どのインデックスが登録
されているかはアドレスアレイ103のオフセットを検
索することにより知ることができる。アドレスアレイ1
03の隠しビットは通常のインデックスの下位ビットを
割り付け、同一タグの同一インデックスでも隠しビット
が違えば登録可能としている。この隠しビットの幅によ
りライン容量の増減を調整できる。

Description

【発明の詳細な説明】
【発明の属する技術分野】本発明は、キャッシュメモリ
に関する。
【0001】
【従来の技術】従来の情報処理装置においては、ヒット
率向上のため二種類のキャッシュメモリ、すなわち、セ
ットアソシアティブ型キャッシュメモリおよびフルアソ
シアティブ型キャッシュメモリが使われている。セット
アソシアティブ型キャッシュでは、一つのインデックス
に対して一つのラインが割り付けられる。また、同一イ
ンデックスに対し複数のエントリを登録可能とするた
め、上記構成を複数個持つことが可能である。そのた
め、ヒット率は、エントリ数を増加させることにより、
ある程度向上させることが可能であるが、あらゆるジョ
ブに対してヒット率を上げるためには、最終的には、容
量の増量のみがその対応手段となる。
【0002】しかし、実際には、ミスヒットの多いイン
デックスに対しても、アクセスが比較的少ないインデッ
クスに対しても等しい容量を提供しなければならないた
め容量増量の投資効果は低いと言える。フルアソシアテ
ィブ型キャッシュメモリでは、セットアソシアティブ型
キャッシュメモリに比べ、そのエントリがインデックス
によらず自由なため、同一容量では最高のヒット率を期
待できる。しかし、ヒット/ミスヒット判定を行うため
には全てのエントリに対し比較をしなければならず、動
作速度やハードウェア量が問題となる。
【0003】
【発明が解決しようとする課題】近年、マイクロプロセ
ッサの速度や性能の向上は目覚しいものがある。しか
し、皮肉なことに、メモリの速度向上は緩やかで、情報
処理装置としてのパフォーマンスは、マイクロプロセッ
サの性能向上ほどは上がらない。この速度差を埋めるた
めに、マイクロプロセッサと同等の応答速度を持つメモ
リの一部のコピーという概念でキャッシュメモリが考案
され飛躍的な性能の向上を見せたのだが、ここにきてキ
ャッシュメモリのミスヒット時に介間見るメモリの転送
速度が性能を著しく低下させていることが問題となりつ
つある。すなわち、キャッシュメモリのヒット率の向上
が情報処理装置全体の性能の向上への近道といえる。
【0004】しかし、キャッシュメモリに要求される速
度は、マイクロプロセッサ並で、アクセス時間を考える
とチップ内に持つことが理想なのだが、チップ内に大容
量のキャッシュメモリを搭載することは難しく、小容量
であるのが一般的であるがため、高ヒット率を期待する
のは難しい。このため、ハードウェア量が少なく、小容
量で、高ヒット率の期待できるキャッシュメモリが必要
とされている。
【0005】本発明の目的は、高速なマイクロプロセッ
サにも組み込め、従来のセットアソシアティブ型キャッ
シュメモリの構成を踏襲しながらも、キャッシュメモリ
のミスヒット回数により一つのインデックスが登録でき
るライン数を増減でき、また、ミスヒット回数に対する
閾値をソフト的に設定できるようにすることにより小容
量でも高ヒット率を達成できるキャッシュメモリを提供
することにある。
【0006】
【課題を解決するための手段】本発明のキャッシュメモ
リは、アドレス内のインデックスに対して、一つのイン
デックスが登録可能なエントリの数をキャッシュメモリ
のミス回数と、ソフト的に設定した閾値とに基づき可変
できる。
【0007】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
【0008】図1を参照すると、本発明の実施の形態
は、マイクロプロセッサ108と、外部メモリ109と
から構成される。マイクロプロセッサ108は、アドレ
スレジスタ部101と、データレジスタ部102と、第
一のアドレスアレイ部103と、第二のアドレスアレイ
部104と、データアレイ部105と、ウェイ内LRU
(Least Recently Used)ロジック
部106と、ウェイ間LRUロジック部107とを備え
る。
【0009】第一のアドレスアレイ部103は、インデ
ックスの個数分のオフセット信号と、インデックスの下
位ビットである隠しビットをライン数分有する。第二の
アドレスアレイ部104は従来のキャッシュメモリと同
様にタグを保持する。データアレイ部105は、各アド
レスアレイに対応するメモリ上のデータを記憶する。ウ
ェイ数が複数の場合のウェイ間LRUロジック部107
は、キャッシュミス時にどのウェイを更新するかを決定
し、ウェイ内LRUロジック部106はロジック部10
7により決定されたウェイ内でアドレスアレイ部103
での登録を増やすかどうかを決定する。
【0010】本実施の形態の動作をロード系命令とスト
ア系命令の各々について説明する。まず、ロード系命令
の場合、レジスタ部101にアドレスが与えられる。こ
のアドレス内のインデックス部によりアドレスアレイ部
103を検索する。その時、まず、登録が固定のライン
を検索し、オフセット値を得る。このオフセット値によ
り、入力されたインデックス部がどのラインに登録され
ているかがわかる。
【0011】図2にアレイ部103と104の内容の一
例を示す。アレイ部104はインデックス“0”,
“1”,“2”と、一つ置きに固定で使用できるように
割り当て、間のラインはそのラインを挟むインデックス
で使用可能とする。アレイ部103の右側は各ラインの
隠しビットを保持し、左側は各インデックスに対してど
のラインに登録をしているかを示すオフセット値を保持
する。例えば、最大数の3ラインを使用している場合は
“111”とし、1ラインのみの場合は“010”、2
ラインの上下どちらかも1の位置により“110”と
“011”で区別できるようにする。図では初期値を設
定している。
【0012】このオフセット信号により、インデックス
が使用しているラインの隠しビットを読み出してレジス
タ部101のアドレスのそれと比較する。インデックス
に対し固定ラインを割り当てる間隔と、オフセットのビ
ット幅は重要な因果関係にあり、それらはソフト的には
不変でありハードウェア量に関与してくる。
【0013】また、上記の設定により一つのインデック
スが使用できるライン数が決定される。この例の場合、
一つのインデックスに対し最大3ライン使用可能なの
で、3個の比較器を必要とする。また、隠しビットと同
様にしてオフセット信号よりアレイ部104を検索し、
タグを比較して数候補のうちどれか一つでもタグと、隠
しビットが同じであればヒットと判定し、いずれも異な
る場合はミスヒットと判定される。実際にはキャッシュ
メモリのエントリ更新はキャッシュミス時にしか行わな
いので、同じタグで同じ隠しビットのものは最大一つし
か存在し得ない。
【0014】アレイ部104に関してもアレイ部103
と同様に最大数分の比較器3個を必要とする。ヒットの
場合はデータアレイ部105よりデータを検索して信号
線110より出力し、ロジック部107を更新する。ミ
スヒットの場合は従来のキャッシュメモリのようにロジ
ック部107により更新すべきウェイを決定し、ロジッ
ク部106にてミスしたインデックスのエントリ(ライ
ン)数を増やすかどうか決定し、メモリ109よりミス
したアドレス部のブロックデータを受けとり、ロジック
部106にて出力したライン部のデータを更新した後、
データを信号線110へ送出する。
【0015】ミスヒット時のロジック部106の動作に
ついて図3を参照して説明する。キャッシュミスしたイ
ンデックス301をロジック部107で出力された更新
すべきウェイ側で受けとり、インデックスに相当するカ
ウンタ302を1増やす。この結果、予めソフト的に設
定した閾値とを比較し、閾値を越えたならばミスしたイ
ンデックスのエントリ数を増やすが、同時にエントリ数
記憶部304より現在のエントリ数を検索して、すでに
最大使用数に達している場合には、それら3つのエント
リを全て無効化し、初期状態にして更新する。
【0016】ストア系命令の場合は、従来のキャッシュ
メモリと同様である。ロード系命令との違いは制御部よ
りアドレスとデータが送られ、上記ロード系命令と同様
のヒット/ミスヒット判定を行いヒットしたら更新を行
い、メモリ109に対して更新情報を送出する。ミスし
た場合はメモリ109にのみ更新情報を送出してLRU
ロジック部等の更新を行わない。従って、ミスヒット時
もロジック部106でミスヒットの回数を計上したりし
ない。
【0017】以上のように、本発明のキャッシュメモリ
は、従来のセットアソシアティブ型キャッシュメモリに
対して、そのエントリ方法にある程度の柔軟性を持たせ
ている。すなわち、高速性を維持するためセットアソシ
アティブ型の構成を踏襲し、インデックスを全てのライ
ンに割り付けるのではなく、インデックスの上位ビット
により飛び飛びに割り当て、間の割り当てられていない
ラインに関してはそれを挟むインデックスで使用できる
よう構成されている。
【0018】また、どのインデックスが使用するかはキ
ャッシュミスの回数によりリアルタイムで決定されるた
め、アクセス頻度の少ないインデックスに対しては一ラ
インしか割り当てられないが、アクセス頻度の多いイン
デックスに対してはエントリを多くすることができ、従
来のセットアソシアティブ型よりもキャッシュメモリの
メモリ領域の使用効率が良い。
【0019】また、比較器の数も、ある一つのインデッ
クスに対し登録可能な最大エントリ数分でよいので、フ
ルアソシアティブ型キャッシュメモリに比べるとハード
ウェア量が少なくてよい。更に、インデックスに対する
エントリの増減はミスヒットの回数によるが、その閾値
はソフト的に設定可能とすることによりさらに柔軟なヒ
ット率の向上を計れる。
【0020】
【発明の効果】第1の効果は、ライン容量がミス回数に
より可変となる。これによりライン容量によりヒット率
が左右されるようなジョブではヒット率の向上が望め
る。
【0021】その理由は、同一インデックスで同一タグ
であっても複数個登録でき、隠しビット幅分のライン容
量を最大に持てるからである。
【0022】第2の効果は、エントリの増減の頻度を実
行するジョブに応じて調整可能であり、同一ジョブに対
してもヒット率の調整が可能である。
【0023】その理由は、エントリの増減を決定する閾
値をソフト的に設定可能であるからである。
【0024】第3の効果は、従来セットアソシアティブ
型やフルアソシアティブ型といった方式を選択すると自
動的に決定された比較器の数が、本発明ではヒット率と
面積(比較器の個数)の両面で調整が可能である。
【0025】その理由は、コンパレータの個数が予めハ
ードウェア的に設定する、一つのインデックスに対する
最大登録数により必要数が決定され、エントリに対する
柔軟性とハードウェア量の両面の調整が可能であるから
である。
【図面の簡単な説明】
【図1】本発明の実施の形態を示すブロック図である。
【図2】第一および第二のアドレスアレイの一例を示す
図である。
【図3】ミス回数によりエントリ数の増減を行うウェイ
内LRUロジック部を示す図である。
【符号の説明】
101 アドレスレジスタ部 102 データレジスタ部 103 第一のアドレスアレイ部 104 第二のアドレスアレイ部 105 データアレイ部 106 ウェイ内LRUロジック部 107 ウェイ間LRUロジック部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 アドレス内のインデックスに対して、一
    つのインデックスが登録可能なエントリの数をキャッシ
    ュメモリのミス回数と、ソフト的に設定した閾値とに基
    づき可変できることを特徴とするキャッシュメモリ。
  2. 【請求項2】 通常のインデックスの上位ビットをイン
    デックスとして扱い、該インデックスをキャッシュメモ
    リのラインに対し飛び飛びに割り当て、間の割り当てら
    れていないラインはそれを挟むインデックスにより使用
    可能としたことを特徴とする請求項1記載のキャッシュ
    メモリ。
  3. 【請求項3】 登録可能なインデックスが割り当てられ
    ているラインに対して、該インデックスがいずれのライ
    ンに登録されているかを示す情報を保持し、インデック
    スにより該情報を検索することにより、登録されている
    ラインを知ることを特徴とする請求項2記載のキャッシ
    ュメモリ。
JP08282122A 1996-10-24 1996-10-24 キャッシュメモリ Expired - Fee Related JP3082684B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08282122A JP3082684B2 (ja) 1996-10-24 1996-10-24 キャッシュメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08282122A JP3082684B2 (ja) 1996-10-24 1996-10-24 キャッシュメモリ

Publications (2)

Publication Number Publication Date
JPH10124390A true JPH10124390A (ja) 1998-05-15
JP3082684B2 JP3082684B2 (ja) 2000-08-28

Family

ID=17648416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08282122A Expired - Fee Related JP3082684B2 (ja) 1996-10-24 1996-10-24 キャッシュメモリ

Country Status (1)

Country Link
JP (1) JP3082684B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206806A (ja) * 2006-01-31 2007-08-16 Matsushita Electric Ind Co Ltd キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206806A (ja) * 2006-01-31 2007-08-16 Matsushita Electric Ind Co Ltd キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ

Also Published As

Publication number Publication date
JP3082684B2 (ja) 2000-08-28

Similar Documents

Publication Publication Date Title
JP2554449B2 (ja) キャッシュ・メモリを有するデータ処理システム
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US6192458B1 (en) High performance cache directory addressing scheme for variable cache sizes utilizing associativity
US5778434A (en) System and method for processing multiple requests and out of order returns
EP0042000B1 (en) Cache memory in which the data block size is variable
US5584013A (en) Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache
US6877067B2 (en) Shared cache memory replacement control method and apparatus
EP3964967B1 (en) Cache memory and method of using same
JPH07271672A (ja) マルチウェイセットアソシアティブキャッシュシステム
US6157980A (en) Cache directory addressing scheme for variable cache sizes
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US5276850A (en) Information processing apparatus with cache memory and a processor which generates a data block address and a plurality of data subblock addresses simultaneously
US6571316B1 (en) Cache memory array for multiple address spaces
US5953747A (en) Apparatus and method for serialized set prediction
US6662173B1 (en) Access control of a resource shared between components
US7219197B2 (en) Cache memory, processor and cache control method
US20080016282A1 (en) Cache memory system
US7007135B2 (en) Multi-level cache system with simplified miss/replacement control
US5966737A (en) Apparatus and method for serialized set prediction
JPH07129464A (ja) 情報処理装置
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
US20040015669A1 (en) Method, system, and apparatus for an efficient cache to support multiple configurations
JPH10124390A (ja) キャッシュメモリ
US20060004962A1 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
WO2006024323A1 (en) A virtual address cache and method for sharing data using a unique task identifier

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000530

LAPS Cancellation because of no payment of annual fees