[go: up one dir, main page]

JP2000267938A - Cache storage - Google Patents

Cache storage

Info

Publication number
JP2000267938A
JP2000267938A JP11069572A JP6957299A JP2000267938A JP 2000267938 A JP2000267938 A JP 2000267938A JP 11069572 A JP11069572 A JP 11069572A JP 6957299 A JP6957299 A JP 6957299A JP 2000267938 A JP2000267938 A JP 2000267938A
Authority
JP
Japan
Prior art keywords
cache
memory access
entry
priority
information
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.)
Pending
Application number
JP11069572A
Other languages
Japanese (ja)
Inventor
Takeshi Yoshinaga
健 吉永
Joji Satake
丈二 佐竹
Motoki Kawauchi
大城 川内
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11069572A priority Critical patent/JP2000267938A/en
Publication of JP2000267938A publication Critical patent/JP2000267938A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the use efficiency of a cache memory by providing a control circuit which determines an expellant entry according to priority level information among memory access kinds, access history information, and memory access information showing the kind of memory access. SOLUTION: The control circuit determines the expellant entry according to the priority level information among memory access kinds, access history information, and memory access information showing the kind of access. For example, a cache 10 has a memory cell part composed of an access kind data array 14, etc., a hit/miss decision circuit, an expelled object WAY determining circuit 16, an non-expelled-object WAY determining circuit 17, and an LRU/ access kind array control circuit 18. The access kind data array 14 holds memory access kind information on data stored in respective WAYs of respective blocks at the time of a cache miss by the WAYs.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、情報処理装置のキ
ャッシュ記憶装置に係わり、特にキャッシュの追い出し
エントリのプライオリティを決定する機能を有するキャ
ッシュ記憶装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache storage device of an information processing device, and more particularly to a cache storage device having a function of determining the priority of a cache eviction entry.

【0002】[0002]

【従来の技術】情報処理装置のキャッシュメモリについ
ては、コンピュータ・サーベイ第14巻き3号473−
530ページ(Computer Surveys,
Vol.14,No.3,pp.473−530)で詳
しく論じられている。
2. Description of the Related Art For a cache memory of an information processing apparatus, see Computer Survey Vol.
530 pages (Computer Surveys,
Vol. 14, No. 3, pp. 473-530).

【0003】一般に計算機システムは、大容量な上位レ
ベルの記憶装置とは直接プロセッサに接続されず、高速
かつ小容量な下位レベルの記憶装置を介して接続され
る。キャッシュメモリは下位レベルの記憶装置の一例で
ある(以下、下位レベルの記憶装置を単に「キャッシ
ュ」と呼ぶ)。プロセッサは、通常キャッシュとの間で
データの授受を行う。もちろん、キャッシュは上位レベ
ルの記憶装置との間でもデータの授受を行う。この場合
は、128Bもしくは256Bなどの、ブロックと呼ば
れる比較的大きな単位で授受を行うが、これはプロセッ
サがキャッシュを命令フェッチもしくはデータフェッチ
を行った結果、所望の命令もしくはデータがキャッシュ
中に存在しなかった場合に生じる。この状態のことをキ
ャッシュ・ミスと呼ぶが、通常キャッシュ記憶装置に
は、アドレスの少なくとも一部を入力されることによ
り、キャッシュ記憶装置に保持されている有効なブロッ
クの主記憶装置における実アドレスを保持する、キャッ
シュ記憶装置用タグが具備されている。この記憶部分を
アドレス・タグ・アレイと呼ぶ。データ読み出し時に、
前記キャッシュ記憶装置用タグを参照し、出力されたア
ドレスと、要求元からのアドレスを比較し一致した場
合、前記キャッシュ記憶装置内に所望のブロックが存在
することを表す。この状態をキャッシュ・ヒットと呼
ぶ。アドレス比較の結果、一致しなかった場合は、キャ
ッシュ記憶装置内に所望のブロックが存在しない。この
状態をキャッシュ・ミスと呼ぶ。以上は2階層記憶の例
であるが、この概念は2階層以上の記憶装置にも拡張が
可能である。
In general, a computer system is not directly connected to a processor with a large-capacity upper-level storage device, but is connected via a high-speed, small-capacity lower-level storage device. A cache memory is an example of a lower-level storage device (hereinafter, a lower-level storage device is simply referred to as a “cache”). The processor normally exchanges data with the cache. Of course, the cache also exchanges data with higher-level storage devices. In this case, transmission and reception are performed in relatively large units called blocks, such as 128B or 256B. This is because, as a result of the processor performing an instruction fetch or a data fetch on the cache, a desired instruction or data exists in the cache. Occurs if not. This state is referred to as a cache miss. Normally, at least a part of the address is input to the cache storage device so that the real address of the effective block held in the cache storage device in the main storage device is obtained. A cache storage device tag to be held is provided. This storage part is called an address tag array. When reading data,
The output address is compared with the address from the request source with reference to the cache storage device tag, and if the address matches, it indicates that a desired block exists in the cache storage device. This state is called a cache hit. If the addresses do not match as a result of the address comparison, the desired block does not exist in the cache storage device. This state is called a cache miss. Although the above is an example of two-level storage, this concept can be extended to storage devices of two or more levels.

【0004】キャッシュの任意のブロックに、主記憶の
任意の箇所のデータを保持することが可能である場合
は、キャッシュの全アドレス・タグ・アレイと、アクセ
スしたいアドレスと比較する。
If it is possible to hold data at an arbitrary location in the main memory in an arbitrary block of the cache, the entire address tag array of the cache is compared with the address to be accessed.

【0005】このような方式をフル・アソシアティブ方
式のキャッシュメモリという。この方式だと、全てのア
ドレス・タグ・アレイと、アクセスしたいアドレスを比
較する必要があるため、比較回路が複雑になり、ハード
ウェア量が増大し、かつ、アクセスに要する時間が長く
なってしまうという欠点をもつ。
[0005] Such a system is called a cache memory of a full associative system. With this method, it is necessary to compare all the address tag arrays with the address to be accessed, so that the comparison circuit becomes complicated, the amount of hardware increases, and the time required for access becomes longer. The disadvantage is that.

【0006】前方式を改善したキャッシュメモリとし
て、セット・アソシアティブ方式のキャッシュメモリが
ある。
A cache memory of the set associative system is an example of a cache memory that is an improvement over the previous system.

【0007】図1は、前記セット・アソシアティブ方式
のキャッシュメモリの概要を示す図である。
FIG. 1 is a diagram showing an outline of the set associative cache memory.

【0008】この方式では、キャッシュメモリをn行m
列のエントリに分割する。
In this method, the cache memory has n rows and m rows.
Split into column entries.

【0009】ここでキャッシュメモリの各行のことをラ
インと呼び、各列のことをウエイ(WAY)と呼ぶ。
Here, each row of the cache memory is called a line, and each column is called a way.

【0010】プロセッサが、ほとんどキャッシュメモリ
との間でアクセスを行えるようにするためには、最近頻
繁にアクセスされたデータをキャッシュ内に格納してお
く必要があり、その反対に、最近全くアクセスされてい
ないデータは、必ずしもキャッシュに格納しておく必要
はない。
In order for a processor to be able to access almost all of the cache memory, it is necessary to store recently frequently accessed data in a cache. Unused data need not be stored in the cache.

【0011】そのため、キャッシュメモリは、前記した
要求を満たすような制御を行う。
Therefore, the cache memory performs control so as to satisfy the above-mentioned requirement.

【0012】その制御方法のことを追い出しアルゴリズ
ムと呼ぶ。
The control method is called an eviction algorithm.

【0013】以下に代表的な追い出しアルゴリズムであ
るLRU (Last Recentry Used)
アルゴリズムを読み出し時を例に説明する。
[0013] The following is a typical eviction algorithm, LRU (Last Receipt Used).
The algorithm will be described as an example at the time of reading.

【0014】キャッシュ内のデータをアクセスしたとき
には、そのデータの属するブロックを保持し続け、キャ
ッシュ内にないデータをアクセスしたときには、主記憶
上でそのデータを含む1ブロックをキャッシュ内に転送
し、そのかわりに、キャッシュ内で最近使われていない
1ブロックを追い出す。
When the data in the cache is accessed, the block to which the data belongs is kept held. When the data that is not in the cache is accessed, one block including the data is transferred from the main memory to the cache. Instead, it evicts a recently unused block in the cache.

【0015】前記処理を行うためには、キャッシュ内で
どのブロックが最近アクセスされていないかを示す情報
を保持する必要がある。
In order to perform the above processing, it is necessary to hold information indicating which block has not been accessed recently in the cache.

【0016】このため、各ライン毎にアクセス履歴情報
を保持しており、キャッシュにアクセスするたびにこの
情報を更新する。
For this reason, access history information is held for each line, and this information is updated each time the cache is accessed.

【0017】つまり、キャッシュに存在するデータをア
クセスした場合、もしくは、最も古いアクセス履歴情報
を持つWAYの1ブロックを追い出して、上位記憶から
新しくデータを転送してきた場合には、そのデータを格
納したWAYのアクセス履歴情報を最新とする。
That is, when data existing in the cache is accessed, or when one block of the WAY having the oldest access history information is evicted and new data is transferred from the upper storage, the data is stored. The access history information of the way is updated.

【0018】[0018]

【発明が解決しようとする課題】ところが、前記したL
RUアルゴリズムでは、最も最近アクセスされたデータ
が追い出されないようにキャッシュメモリを制御するた
め、以下のようなケースでは逆に性能が低下することが
ある。
However, the aforementioned L
In the RU algorithm, since the cache memory is controlled so that the most recently accessed data is not evicted, the performance may deteriorate in the following cases.

【0019】MOVE命令などで、一つの命令フェッチ
に対してオペランドフェッチが複数個、しかも大量に発
生するような命令を実行する場合で、まず命令フェッチ
によりキャッシュをアクセスし、キャッシュに当該命令
を含むブロックが存在しない場合は、主記憶から当該命
令を含むブロックを転送し、これをキャッシュに格納す
る。命令フェッチに続いて、大量に発生するオペランド
フェッチによるキャッシュアクセスがキャッシュ・ミス
である場合(例えば、キャッシュをクリアした直後であ
れば、当該オペランドフェッチによるキャッシュアクセ
スはすべてキャッシュ・ミスとなる)、命令フェッチ時
と同様に主記憶から当該オペランドを含むブロックをキ
ャッシュに転送し、これを格納する。
In the case of executing an instruction such that a plurality of operand fetches and a large number of operand fetches occur for one instruction fetch by a MOVE instruction or the like, the cache is first accessed by the instruction fetch, and the cache includes the instruction. If the block does not exist, the block containing the instruction is transferred from the main memory and stored in the cache. If a cache access by a large number of operand fetches following an instruction fetch is a cache miss (for example, immediately after clearing the cache, all cache accesses by the operand fetch are cache misses). As in the case of the fetch, the block including the operand is transferred from the main memory to the cache and stored.

【0020】このとき、オペランドフェッチにより格納
されるキャッシュラインが命令フェッチによりキャッシ
ュに格納されるキャッシュラインと同一である場合、オ
ペランドフェッチによるキャッシュ・ミスがキャッシュ
ラインのWAY数に達すると、最初の命令フェッチによ
りキャッシュに格納した、命令を含んだブロックのアク
セス履歴情報が最も古いものとなり、次キャッシュ・ミ
ス発生時は、当該ブロックがキャッシュラインから追い
出しの対象として選択される。
At this time, when the cache line stored by the operand fetch is the same as the cache line stored in the cache by the instruction fetch, when the cache miss by the operand fetch reaches the WAY number of the cache line, the first instruction is executed. The access history information of the block containing the instruction stored in the cache by fetch becomes the oldest, and when a next cache miss occurs, the block is selected as a target to be evicted from the cache line.

【0021】上記のごとく命令を含んだブロックが追い
出されると、次命令実行時の命令フェッチに対しては、
再びキャッシュ・ミスが発生することになり、性能低下
は不可避である。
When the block containing the instruction is evicted as described above, the instruction fetch at the time of executing the next instruction is
A cache miss will occur again, and performance degradation is inevitable.

【0022】[0022]

【課題を解決するための手段】(1)データとタグを保
持するメモリアレイ部と、アクセスデータのヒット/ミ
ス判定手段と、各キャッシュのライン毎のアクセス履歴
情報を保持・更新する手段と、メモリ部と保持手段とを
制御する制御回路とを少なくとも具備し、前記アクセス
履歴情報に基づいてキャッシュラインの追い出し制御を
行うセット・アソシアティブ方式を採用し、かつ、命令
フェッチによるメモリアクセスおよびオペランドフェッ
チによるメモリアクセスなど、プロセッサにおける使用
用途が異なるメモリアクセスが複数個存在するキャッシ
ュ記憶装置において、当該キャッシュラインのWAYご
とに、当該キャッシュラインのアクセス種データ・アレ
イとして、メモリ・セルにより保持された複数のビット
列により、キャッシュの各WAYのデータが、いかなる
メモリアクセスによりキャッシュに格納されたかを示し
たメモリアクセス状況情報有することを特徴とする。
(1) A memory array section for holding data and tags, hit / miss determination means for access data, means for holding and updating access history information for each line of each cache, At least a control circuit for controlling a memory unit and a holding unit, a set associative method for controlling eviction of a cache line based on the access history information is adopted, and memory access by instruction fetch and operand fetch In a cache memory device having a plurality of memory accesses having different usages in a processor such as a memory access, a plurality of memory cells held by memory cells as an access type data array of the cache line for each way of the cache line. The bit string allows Data for each WAY of Interview, characterized in that it has memory access status information indicates cached by any memory access.

【0023】(2)キャッシュラインの追い出しWAY
を決定する手段において、優先してキャッシュに格納し
たいメモリアクセス種、およびその個数を指定する手段
を有することを特徴とする。なお、当該メモリアクセス
種指定はプログラム実行前にのみ、外部からの指定手段
等により指定できる静的指定方法と、プログラム実行中
にもOSなどの手段を介在させることにより動的に指定
できる方法などが挙げられる。
(2) Eject WAY of a cache line
Means for specifying the memory access type to be preferentially stored in the cache and the number of memory access types. Note that the memory access type can be specified only before the program is executed by a static specification method that can be specified by an external specification means, or a method that can be dynamically specified by interposing an OS or the like during the program execution. Is mentioned.

【0024】(3)キャッシュラインの追い出しWAY
を決定する手段において、キャッシュミスを起こした当
該キャッシュラインへのメモリアクセス種を、キャッシ
ュラインの追い出しWAYを決定する手段に、通知する手
段を有することを特徴とする。
(3) Eject WAY of a cache line
Means for notifying the type of memory access to the cache line in which a cache miss has occurred to the means for determining a cache line eviction WAY.

【0025】(4)当該キャッシュラインのLRUデー
タ・アレイの出力データ、当該キャッシュラインのアク
セス種データ・アレイの出力データ、優先メモリアクセ
ス種情報および当該メモリアクセス種により当該キャッ
シュラインの追い出しWAYを決定する手段を有するこ
とを特徴とする。なお、詳細なキャッシュラインの追い
出しWAY決定方法は発明の実施の形態において後述す
る。
(4) The eviction WAY of the cache line is determined by the output data of the LRU data array of the cache line, the output data of the access type data array of the cache line, the priority memory access type information, and the memory access type. It is characterized by having means for performing. A detailed cache line eviction way determination method will be described later in an embodiment of the present invention.

【0026】(5)前記課題に対し、本願で開示される
発明によると、命令フェッチによるメモリアクセスを優
先メモリアクセス種として、少なくとも1個、優先メモ
リアクセス種個数として指定することにより、命令フェ
ッチによりキャッシュに格納されたデータが、命令フェ
ッチ以外のメモリアクセスによってキャッシュから追い
出されることはない。
(5) According to the invention disclosed in the present application, at least one memory access by instruction fetch is designated as a priority memory access type and the number of priority memory access types is specified. Data stored in the cache is not evicted from the cache by memory access other than instruction fetch.

【0027】[0027]

【発明の実施の形態】図2は本発明の一実施例であるキ
ャッシュ記憶装置の概略構成を示す図である。本実施例
のキャッシュ10は、アドレス・タグ・アレイ11、デ
ータ・アレイ12、LRUデータ・アレイ13およびア
クセス種データ・アレイ14で構成されるメモリセル部
と、メモリアクセスのヒット/ミス判定回路15と、追
い出し対象WAY決定回路16と、追い出し対象外WA
Y決定回路17と、LRU/アクセス種アレイ制御回路
18とを有する。
FIG. 2 is a diagram showing a schematic configuration of a cache storage device according to an embodiment of the present invention. The cache 10 according to the present embodiment includes a memory cell unit including an address tag array 11, a data array 12, an LRU data array 13, and an access type data array 14, and a hit / miss determination circuit 15 for memory access. And the eviction target way determination circuit 16 and the exclusion target WAs
It has a Y decision circuit 17 and an LRU / access type array control circuit 18.

【0028】本実施例では、一般的な4WAYセットア
ソシアティブキャッシュに本発明を適用した場合につい
て説明するが、任意のWAY数のキャッシュに本発明を
適用することも可能である。
In this embodiment, the case where the present invention is applied to a general 4-way set associative cache will be described. However, the present invention can be applied to a cache having an arbitrary number of ways.

【0029】アドレス・タグ・アレイ12は、キャッシ
ュ10の各ブロックのアドレス情報19および有効フラ
グ20を保持する。
The address tag array 12 holds address information 19 and a valid flag 20 of each block of the cache 10.

【0030】データ・アレイ11は、キャッシュ10の
各ブロックのデータを保持する。
The data array 11 holds data of each block of the cache 10.

【0031】LRUデータ・アレイ13は、キャッシュ
10の各ブロックのアクセス履歴情報を保持する。
The LRU data array 13 holds access history information of each block of the cache 10.

【0032】本実施例では、アクセス種データ・アレイ
14により、キャッシュ10の各ブロックの各WAYに
格納されたデータの、キャッシュミス発生時のメモリア
クセス種情報を、各WAYごとに保持することに特徴が
ある。。アクセス種データ・アレイ14の構成を図1に
示す。
In this embodiment, the access type data array 14 holds the memory access type information at the time of occurrence of a cache miss of the data stored in each way of each block of the cache 10 for each way. There are features. . The configuration of the access type data array 14 is shown in FIG.

【0033】メモリセル部は、アクセスするアドレスの
ある定められた複数のビットをインデックスとして該メ
モリセルの1ラインのデータ及びタグを同時に読み出す
ことができる。
The memory cell section can simultaneously read data and tags of one line of the memory cell by using a plurality of predetermined bits of an address to be accessed as an index.

【0034】また、LRU/アクセス種アレイ制御回路
18からのLRU/アクセス種データ更新信号21を受
けて、任意の1ブロックのデータおよびタグを更新する
ことができる。
In response to the LRU / access type data update signal 21 from the LRU / access type array control circuit 18, data and tags of an arbitrary block can be updated.

【0035】ヒット/ミス判定回路15にはアクセスす
るアドレス22と、メモリセル部が読み出した各WAY
のタグのアドレス19および有効フラグ20が入力さ
れ、アドレスの比較を行い、アドレス22とタグのアド
レス19とが一致、かつ、当該WAYの有効フラグ20
が有効であったときのみ、ヒット信号23を出力する。
The hit / miss determination circuit 15 has an address 22 to be accessed and each WAY read by the memory cell section.
The address 19 and the valid flag 20 of the tag are input, the addresses are compared, and the address 22 matches the address 19 of the tag, and the valid flag 20
The hit signal 23 is output only when is valid.

【0036】また、ヒット/ミス回路15はヒット信号
23と、各WAYの有効フラグ20により、どのWAY
にデータがあるかを知らせるヒットWAY信号24を生
成する。ヒットWAY信号24はヒット信号23が出力
されているときのみ有効である。
Further, the hit / miss circuit 15 determines which WAY according to the hit signal 23 and the valid flag 20 of each way.
A hit way signal 24 is generated to indicate whether or not there is data. The hit way signal 24 is valid only when the hit signal 23 is output.

【0037】本実施例では、4WAYのキャッシュを用
いて説明するため、ヒットWAY信号は0〜3であり、
それぞれWAY0〜3にそれぞれヒットしたことを示
す。
In this embodiment, since the description is made using a 4-way cache, hit WAY signals are 0 to 3;
It shows that each of the hits WAY0 to WAY3.

【0038】LRU/アクセス種アレイ制御回路18
は、追い出し対象WAY決定回路16から送出される追
い出し対象WAY信号25と、ヒット/ミス判定回路1
5から送出されるヒット信号23およびヒットWAY信
号24により、更新LRUデータ26を生成し、LRU
データ/アクセス種データ更新指示信号27により、L
RUデータ・アレイ13に最新の当該キャッシュライン
の履歴情報を書き込む。
LRU / Access Type Array Control Circuit 18
Is a signal WAY 25 to be ejected from the WAY determination circuit 16 and the hit / miss determination circuit 1
5, the updated LRU data 26 is generated by the hit signal 23 and the hit way signal 24 transmitted from
The data / access type data update instruction signal 27 causes L
The latest history information of the cache line is written to the RU data array 13.

【0039】このとき、キャッシュ・ヒット時には、ヒ
ットしたWAYに格納されたデータをアクセスするた
め、当該WAYが最も最近アクセスしたデータというこ
とになるので、ヒット/ミス判定回路15から送出され
るヒットWAY信号24が最も新しいアクセスとなるよ
う、当該キャッシュラインのアクセス履歴情報を生成
し、更新LRUデータ26としてLRUデータ・アレイ
13に書き込む。
At this time, at the time of a cache hit, since the data stored in the hit way is accessed, the WAY is the most recently accessed data. The access history information of the cache line is generated so that the signal 24 becomes the newest access, and is written to the LRU data array 13 as the updated LRU data 26.

【0040】また、キャッシュ・ミス時には、追い出し
対象WAY決定回路16から送出される追い出し対象W
AY25に主記憶から送出されたデータが書き込まれる
ため、当該WAYが最も最近アクセスしたデータという
ことになるので、追い出し対象WAY決定回路16から
送出される追い出し対象WAY信号25が最も新しいア
クセスとなるよう、当該キャッシュラインのアクセス履
歴情報を生成し、更新LRUデータ26としてLRUデ
ータ・アレイ13に書き込む。
At the time of a cache miss, the eviction target W sent from the eviction target way determination circuit 16
Since the data sent from the main memory is written to the AY 25, the WAY is the most recently accessed data. Therefore, the eviction target WAY signal 25 sent from the eviction target way determination circuit 16 becomes the newest access. Then, the access history information of the cache line is generated and written to the LRU data array 13 as the updated LRU data 26.

【0041】また、本実施例では、LRU/アクセス種
アレイ制御回路18は、CPUからの、当該メモリアク
セス種情報28により、更新アクセス種データ29を生
成し、LRUデータ/アクセス種データ更新指示信号2
7により、アクセス種データ・アレイ14の当該WAY
に、該更新アクセス種データ29を書き込むところに特
徴がある。このとき、キャッシュ・ミス時には、必ず当
該WAYに、当該更新アクセス種データ29をアクセス
種データ・アレイ14に書き込むが、キャッシュ・ヒッ
ト時には、アクセス種データ・アレイ14への書き込み
は以下のように考えられる。
In this embodiment, the LRU / access type array control circuit 18 generates update access type data 29 based on the memory access type information 28 from the CPU, and issues an LRU data / access type data update instruction signal. 2
7, the corresponding way of the access type data array 14
It is characterized in that the updated access type data 29 is written in the data. At this time, in the event of a cache miss, the updated access type data 29 is always written to the access type data array 14 in the way, but when a cache hit occurs, writing to the access type data array 14 is considered as follows. Can be

【0042】キャッシュ・ミスを起こしたメモリアクセ
スと異なるメモリアクセスが、キャッシュ・ミス時にキ
ャッシュ10に格納したデータをアクセスする頻度が高
い場合は、ヒット時のメモリアクセスが指定された優先
アクセス種であれば、アクセス種データ・アレイ14
へ、指定された優先アクセス種である最新のメモリアク
セス種を登録することは、システム性能に対して少なか
らず有益である。
If a memory access different from the memory access that caused the cache miss frequently accesses the data stored in the cache 10 at the time of the cache miss, the memory access at the time of the hit may be the designated priority access type. For example, the access type data array 14
Registering the latest memory access type, which is the designated priority access type, is not least beneficial to system performance.

【0043】追い出し対象WAY決定回路16は、キャ
ッシュ・ミスが発生したとき、LRUデータ・アレイ1
3出力データを基に、追い出し対象WAY25を決定す
るが、本実施例では、追い出し対象WAY決定時におい
て、アドレス・タグ・アレイ12出力データの中の、各
WAYの有効フラグ20と、追い出し対象外WAY決定
回路17出力である追い出し対象外WAY31により、
追い出し対象WAY25を決定することを特徴とする。
When a cache miss occurs, the eviction target way determination circuit 16 determines whether the LRU data array 1
The WAY 25 to be evicted is determined based on the three output data. In the present embodiment, when the WAY to be evicted is determined, the valid flag 20 for each WAY in the output data of the address tag array 12 and the non-eviction target are determined. The non-eviction target way 31 output from the way determination circuit 17 outputs
The method is characterized in that an ejection target way 25 is determined.

【0044】つまり、各WAYの有効フラグ20をすべ
てANDし、そのAND結果が論理値‘1’である場
合、当該キャッシュラインのWAYは満杯であるので、
追い出し対象外WAY信号31により指示されたWAY
を追い出し対象として選択しない制約条件のもと、LR
Uデータ・アレイ13出力データにより、追い出し対象
WAY25を決定する。
That is, all the valid flags 20 of each way are ANDed, and if the result of the AND is a logical value "1", the WAY of the cache line is full.
WAY specified by WAY signal 31 not to be kicked out
LR under the constraint that the
The eviction target way 25 is determined based on the output data of the U data array 13.

【0045】逆に、当該AND結果が論理値‘0’であ
る場合、当該キャッシュラインのWAYは空きがあり、
追い出し対象外WAY信号31により指示されたWAY
に関係なく、LRUデータ・アレイ13出力データによ
り示された追い出し対象WAY25は、必ず空きWAY
を指示するように制御する。
Conversely, when the AND result is a logical value “0”, the WAY of the cache line has a vacancy,
WAY specified by WAY signal 31 not to be kicked out
, The eviction target way 25 indicated by the LRU data array 13 output data is always a free way.
Is controlled to instruct.

【0046】本実施例では、追い出し対象外WAY決定
回路17にその特徴がある。
The present embodiment has a feature in the non-eviction target way determination circuit 17.

【0047】以下、追い出し対象外WAY決定回路17
について詳細に説明を行う。図3は当該追い出し対象外
WAY31決定までを流れ図で示しており、優先メモリ
アクセス種の指定の有無や当該メモリアクセスとの一致
不一致などの条件により、追い出し対象WAY信号25
の生成条件が(1)〜(9)の9ケースに分かれる様を
示している。また図4は図3で示した(1)〜(9)の
ケースにおいて追い出し対象WAY信号25を生成する
条件を示している。
Hereinafter, the non-eviction target way determination circuit 17 will be described.
Will be described in detail. FIG. 3 is a flowchart showing the process up to the determination of the WAY 31 not to be evicted, and the WAY signal 25 to be evicted is determined by conditions such as whether or not a priority memory access type is specified and whether or not the memory access matches.
Are divided into nine cases (1) to (9). FIG. 4 shows the conditions for generating the eviction target way signal 25 in the cases (1) to (9) shown in FIG.

【0048】本発明においては、優先メモリアクセス種
情報30により、優先メモリアクセス種の指定および優
先WAY数の指定がなされている場合は、以下の動作を
行う(ステップ100)。
In the present invention, if the priority memory access type and the number of priority ways are specified by the priority memory access type information 30, the following operation is performed (step 100).

【0049】先ず、キャッシュミス発生時に、当該キャ
ッシュラインのアクセス種データ・アレイ14の出力デ
ータをもとに、追い出しWAY決定回路16において、
当該キャッシュラインに、現在データが格納されている
WAYの個数を求める(ステップ101)。
First, at the time of occurrence of a cache miss, the eviction WAY determining circuit 16 performs the following based on the output data of the access type data array 14 of the cache line.
The number of ways that data is currently stored in the cache line is determined (step 101).

【0050】その結果、まだWAYに空きがあると、当
該キャッシュラインのLRUデータ・アレイ13の出力
データのみにより、当該キャッシュラインの追い出しW
AY信号25を決定する。これは、当該メモリアクセス
が優先アクセス種と一致するケース(ケース(1))お
よび不一致のケース(ケース(5))を問わない。ま
た、このときLRUデータ・アレイ13の出力データを
用いるのは、空きWAYがある場合は、LRUアルゴリ
ズムによりLRUデータが必ず空きWAYを指定するか
らである。
As a result, if there is still a vacancy in the way, the eviction of the cache line is performed only by the output data of the LRU data array 13 of the cache line.
The AY signal 25 is determined. This does not matter whether the memory access matches the priority access type (case (1)) or does not match (case (5)). The reason why the output data of the LRU data array 13 is used at this time is that when there is a free way, the LRU algorithm always specifies the free way by the LRU algorithm.

【0051】次に、キャッシュミス発生時に、前記手段
により当該キャッシュラインに、現在データが格納され
ているWAYの個数を求めた結果、WAYがすべて使用
中であり空きがない場合、現在格納されているデータの
うち、指定された優先メモリアクセス種によりキャッシ
ュ10に格納されたデータのWAYを占める個数と、指
定された優先メモリアクセス種の個数との比較を行う
(ステップ102)。
Next, when a cache miss occurs, the number of ways in which data is currently stored in the cache line is obtained by the means. As a result, if all the ways are in use and there is no free space, the cache line is currently stored. The number of occupying the WAY of the data stored in the cache 10 by the specified priority memory access type among the data stored in the cache 10 is compared with the number of the specified priority memory access type (step 102).

【0052】比較の結果、現在データが格納されている
WAYの個数が、指定された優先メモリアクセス種の個
数よりも多い場合(ケース(2)(6))、当該メモリ
アクセスが、指定された優先メモリアクセス種と一致し
ても一致していなくても、当該キャッシュラインのどの
WAYに書き込まれても、指定された優先メモリアクセ
ス種の個数を下回ることはないため、当該キャッシュラ
インのLRUデータ・アレイ13の出力データのみによ
り、当該キャッシュラインの追い出しWAY25を決定
する。
As a result of the comparison, if the number of ways in which data is currently stored is larger than the number of specified priority memory access types (cases (2) and (6)), the specified memory access is specified. Even if it matches or does not match the priority memory access type, no matter how much is written to any WAY of the cache line, the number of the specified priority memory access type does not become less than the number of the specified priority memory access type. The flush WAY 25 of the cache line is determined only by the output data of the array 13.

【0053】次に、キャッシュミス発生時に、前記手段
により当該キャッシュラインに、現在データが格納され
ているWAYの個数を求めた結果、WAYがすべて使用
中であり空きがない場合で、現在格納されているデータ
のうち、指定された優先メモリアクセス種によりキャッ
シュ10に格納されたデータのWAYを占める個数と、
指定された優先メモリアクセス種の個数との比較を行っ
た結果、両者の個数が等しい場合は、以下のように当該
キャッシュラインの追い出しWAY信号25を決定する
(ステップ103)。
Next, when a cache miss occurs, the number of ways in which data is currently stored in the cache line is obtained by the means. As a result, if all the ways are in use and there is no free space, the cache line is currently stored. Of the data stored in the cache 10 according to the designated priority memory access type, and
As a result of comparison with the number of designated priority memory access types, if the numbers are equal, the eviction WAY signal 25 for the cache line is determined as follows (step 103).

【0054】当該メモリアクセスと、指定された優先メ
モリアクセス種の比較を行い(ステップ104)、両者
のメモリアクセス種が一致している場合は(ケース
(3))、当該キャッシュラインのどのWAYに書き込
まれても、指定された優先メモリアクセス種の個数を下
回ることはないため、当該キャッシュラインのLRUデ
ータ・アレイ13の出力データのみにより、当該キャッ
シュラインの追い出しWAY25を決定する。
The memory access is compared with the specified priority memory access type (step 104). If the two memory access types match (case (3)), which WAY of the cache line is Even if written, the number of designated priority memory access types does not fall below the specified number. Therefore, the eviction WAY 25 of the cache line is determined only by the output data of the LRU data array 13 of the cache line.

【0055】一方、当該メモリアクセスと、指定された
優先メモリアクセス種が不一致の場合は(ケース
(7))、指定されたメモリアクセスによりデータが格
納されているWAYを、指定された優先メモリアクセス
以外のメモリアクセスにより追い出してしまうと、優先
されるべきメモリアクセスによるデータの登録数が一つ
減少し、指定された優先メモリアクセスの個数を下回っ
てしまうため、優先されるべきメモリアクセスによるデ
ータが登録されているWAYを追い出し対象から除外
し、残りのWAYの中からLRUデータ・アレイ13の
出力データを用いて、最も追い出しプライオリティが高
いWAYを、当該キャッシュラインの追い出しWAY信
号25に指定する。
On the other hand, if the memory access does not match the specified priority memory access type (case (7)), the way in which the data is stored by the specified memory access is changed to the specified priority memory access. If a memory access other than, the number of registered data by the priority memory access is reduced by one, and it becomes less than the specified number of priority memory accesses. The registered WAY is excluded from the eviction targets, and the WAY having the highest eviction priority is designated as the eviction WAY signal 25 of the cache line using the output data of the LRU data array 13 from the remaining WAYs.

【0056】次に、キャッシュミス発生時に、前記手段
により当該キャッシュラインに、現在データが格納され
ているWAYの個数を求めた結果、WAYがすべて使用
中であり空きがない場合で、現在格納されているデータ
のうち、指定された優先メモリアクセス種によりキャッ
シュ10に格納されたデータのWAYを占める個数と、
指定された優先メモリアクセス種の個数との比較を行っ
た結果、現在データが格納されているWAYの個数が、
指定された優先メモリアクセス種の個数よりも少ない場
合(ケース(4)(8))、指定されたメモリアクセス
によりデータが格納されているWAYを、指定された優
先メモリアクセス以外のメモリアクセスにより追い出し
てしまうと、他のメモリアクセスに優先して格納すべき
データ登録数が更に一つ減少してしまうため、優先され
るべきメモリアクセスによるデータが登録されているW
AYを追い出し対象から除外し、残りのWAYの中から
LRUデータ・アレイ13の出力データを用いて、最も
追い出しプライオリティが高いWAYを、当該キャッシ
ュラインの追い出しWAY信号25に指定する(ステッ
プ103)。
Next, when a cache miss occurs, the number of ways in which data is currently stored in the cache line is determined by the above-described means. Of the data stored in the cache 10 according to the designated priority memory access type, and
As a result of comparison with the number of designated priority memory access types, the number of ways in which data is currently stored is
When the number is smaller than the number of the specified priority memory access types (cases (4) and (8)), the WAY in which data is stored by the specified memory access is evicted by a memory access other than the specified priority memory access. If this happens, the number of data registrations to be stored prior to other memory accesses is further reduced by one.
The AY is excluded from the eviction target, and the WAY with the highest eviction priority is designated as the eviction WAY signal 25 for the cache line using the output data of the LRU data array 13 from the remaining WAYs (step 103).

【0057】最後に、優先メモリアクセス種の指定およ
び優先WAY数の指定がない場合は(ケース(9))、
当該キャッシュラインのLRUデータ・アレイ13の出
力データのみにより、当該キャッシュラインの追い出し
WAY信号25を決定する。
Finally, when the priority memory access type is not specified and the priority way number is not specified (case (9)),
Only the output data of the LRU data array 13 of the cache line determines the eviction WAY signal 25 of the cache line.

【0058】以上、本発明を実施例に基づき具体的に説
明したが、本発明は前記実施例に限定されるものではな
く、その要旨を逸脱しない範囲で種々変更しうることは
言うまでもない。
As described above, the present invention has been specifically described based on the embodiments. However, it is needless to say that the present invention is not limited to the above-described embodiments and can be variously changed without departing from the gist of the present invention.

【0059】[0059]

【発明の効果】本願において開示される発明により得ら
れる効果を簡単に説明すれば、下記の通りである。
The effects obtained by the invention disclosed in the present application will be briefly described as follows.

【0060】(1)アクセス履歴情報に基づいてキャッ
シュラインの追い出し制御を行うセット・アソシアティ
ブ方式のキャッシュ記憶装置において、指定された優先
メモリアクセス情報と、当該キャッシュラインのメモリ
アクセス状況および、プロセッサからのメモリアクセス
種情報とに基づいて、アクセスされたキャッシュライン
の追い出しWAYを決定するので、追い出したくないメモ
リアクセス種により格納されたデータが追い出されるこ
とはない。
(1) In a set associative cache storage device which performs cache line eviction control based on access history information, a specified priority memory access information, a memory access status of the cache line, and a memory Since the eviction WAY of the accessed cache line is determined based on the memory access type information, the data stored by the memory access type that is not desired to be evicted is not evicted.

【0061】これにより、大規模データ転送処理などに
おいて、キャッシュミスの回数を削減することが可能と
なるため、データ処理システムとしての性能の向上が図
れる。
As a result, the number of cache misses can be reduced in large-scale data transfer processing and the like, so that the performance of the data processing system can be improved.

【0062】(2)優先メモリアクセス情報の指定を、
OSなどのソフトウェアで操作できるようにすることに
より、アプリケーション・レベルで、キャッシュの追い
出し制御を行うことが可能となる。
(2) Specifying the priority memory access information
By enabling operation by software such as an OS, it is possible to control cache eviction at the application level.

【図面の簡単な説明】[Brief description of the drawings]

【図1】従来例のセット・アソシアティブ・キャッシュ
メモリの概略構成を示すブロック図であると同時に、本
発明の特徴である、アクセス種データ・アレイの概略構
成図を示している。
FIG. 1 is a block diagram showing a schematic configuration of a conventional set associative cache memory, and also shows a schematic configuration diagram of an access type data array which is a feature of the present invention.

【図2】本発明の一実施例であるキャッシュ記憶装置の
概略構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a schematic configuration of a cache storage device according to an embodiment of the present invention.

【図3】本発明において、追い出し対象外WAY信号決
定までの流れ図である。
FIG. 3 is a flowchart showing a process up to the determination of a WAY signal not to be evicted in the present invention.

【図4】前記図3で示した(1)〜(9)のケースにお
いて追い出し対象WAY信号を生成する条件を示してい
る。
FIG. 4 shows conditions for generating a WAY signal to be expelled in the cases (1) to (9) shown in FIG.

【符号の説明】[Explanation of symbols]

10…キャッシュ記憶装置、11…アドレス・タグ・ア
レイ、12…データ・アレイ、13… LRUデータ・アレ
イ、14…アクセス種データ・アレイ、15…ヒット/
ミス判定回路、16…追い出し対象WAY決定回路、1
7…追い出し対象外WAY決定回路、18… LRU/
アクセス種アレイ制御回路、19…各ブロックのアドレ
ス情報、20…各ブロックの有効フラグ、21… LR
U/アクセス種データ更新信号、22…入力アドレス、
23…ヒット信号、24…ヒットWAY信号、25…追
い出し対象WAY信号、26…更新LRUデータ、27
…LRUデータ/アクセス種データ更新指示信号、28
…当該メモリアクセス種情報、29…更新アクセス種デ
ータ、30…優先メモリアクセス種情報、31…追い出
し対象外WAY
10 cache storage device, 11 address tag array, 12 data array, 13 LRU data array, 14 access data array, 15 hit /
Miss determination circuit, 16 ... WAY determination circuit for eviction target, 1
7 ... WAY decision circuit not to be evicted, 18 ... LRU /
Access type array control circuit, 19: address information of each block, 20: valid flag of each block, 21: LR
U / access type data update signal, 22 ... input address,
23 ... hit signal, 24 ... hit way signal, 25 ... way signal to be expelled, 26 ... updated LRU data, 27
... LRU data / access type data update instruction signal, 28
... the relevant memory access type information, 29 ... updated access type data, 30 ... priority memory access type information, 31 ... WAY not subject to eviction

───────────────────────────────────────────────────── フロントページの続き (72)発明者 川内 大城 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 Fターム(参考) 5B005 JJ13 KK12 LL01 LL11 MM01 NN01 NN31 QQ02 QQ04 SS12 VV04  ──────────────────────────────────────────────────の Continuing from the front page (72) Inventor Ouchi Kawauchi 1 Horiyamashita, Hadano-shi, Kanagawa F-term, General-purpose Computer Division, Hitachi, Ltd. 5B005 JJ13 KK12 LL01 LL11 LL11 MM01 NN01 NN31 QQ02 QQ04 SS12 VV04

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】データとタグを保持するメモリアレイ部
と、アクセスデータのヒット/ミス判定手段と、キャッ
シュの各登録エントリ毎のアクセス履歴情報を保持・更
新する手段を少なくとも具備し、前記アクセス履歴情報
に基づいてキャッシュエントリの追い出し制御を行い、
用途が異なるメモリアクセスが複数個存在することを特
徴とするキャッシュ記憶装置において、メモリアクセス
種間の優先順位情報と、前記アクセス履歴情報と、メモ
リアクセスの種類を示すメモリアクセス情報とに基づい
て、追い出しエントリを決定する制御回路を具備するこ
とを特徴とするキャッシュ記憶装置。
A memory array unit for storing data and tags, a hit / miss determination unit for access data, and a unit for storing and updating access history information for each registered entry in a cache; Performs cache entry eviction control based on information,
In a cache storage device characterized by the presence of a plurality of memory accesses having different uses, based on priority information between memory access types, the access history information, and memory access information indicating the type of memory access, A cache storage device comprising a control circuit for determining an eviction entry.
【請求項2】請求項1に記載されたキャッシュ記憶装置
において、前記メモリアクセス種間の優先順位情報によ
り、優先してキャッシュに格納すべきメモリアクセス種
が指定され、さらに当該優先順位情報が、プロセッサも
しくは外部からの指定手段により、キャッシュミスが発
生する前に予め指定されていることを特徴とするキャッ
シュ記憶装置。
2. The cache storage device according to claim 1, wherein a memory access type to be preferentially stored in a cache is specified by the priority information between the memory access types, and the priority information further includes: A cache storage device which is designated beforehand by a processor or an external designation unit before a cache miss occurs.
【請求項3】請求項1に記載されたキャッシュ記憶装置
において、前記メモリアクセス状況情報が、当該キャッ
シュのエントリ毎に、メモリセルにより保持されたビッ
トもしくは複数のビット列により、キャッシュの各エン
トリに、データを格納した際のメモリアクセス種を示す
ことを特徴とするキャッシュ記憶装置。
3. The cache storage device according to claim 1, wherein the memory access status information is stored in each entry of the cache by a bit or a plurality of bit strings held by a memory cell for each entry of the cache. A cache storage device indicating a memory access type when data is stored.
【請求項4】請求項1に記載されたキャッシュ記憶装置
において、 前記キャッシュの追い出しエントリを決定する方法が、
プロセッサもしくは外部からの指定手段により指定し
た、メモリアクセス種間の優先順位情報と、 当該キャッシュのエントリごとに、メモリ・セルにより
保持されたメモリアクセス状況情報と、当該メモリアク
セスの種類を示すメモリアクセス情報とに基づいて、ア
クセスされたキャッシュのエントリが満杯か否かを判断
し、満杯の場合については、当該キャッシュに登録され
ている、優先してキャッシュに格納すべきメモリアクセ
ス種により格納されたエントリの個数を求め、当該登録
数が、メモリアクセス種間の優先順位情報により指定さ
れた優先メモリアクセス種のエントリ数よりも少ない場
合は、指定された優先メモリアクセス種が登録されてい
るエントリを、追い出し対象から除外することを特徴と
する追い出しエントリ決定方法。
4. The cache storage device according to claim 1, wherein the method for determining the eviction entry of the cache includes:
Priority information between memory access types specified by a processor or an external specification unit, memory access status information held by a memory cell for each cache entry, and memory access indicating the type of memory access Based on the information, it is determined whether or not the accessed cache entry is full, and if full, the cache entry is stored according to the memory access type registered in the cache and to be stored in the cache with priority. The number of entries is determined, and if the number of registrations is smaller than the number of entries of the priority memory access type specified by the priority information between the memory access types, the entry in which the specified priority memory access type is registered is deleted. Exclusion entry exclusion method characterized by being excluded from the eviction target .
【請求項5】請求項4に記載された追い出しエントリ決
定方法において、プロセッサもしくは外部からの指定手
段によるメモリアクセス種間の優先順位情報により指定
した、優先メモリアクセス種情報と、当該メモリアクセ
スの種類を示すメモリアクセス情報が異なり、かつ、キ
ャッシュに格納されている優先メモリアクセス種の登録
エントリ数が、メモリアクセス種間の優先順位情報によ
り指定された、優先メモリアクセス種のエントリ数と同
一の場合は、指定された優先メモリアクセス種が登録さ
れているエントリを、追い出し対象から除外することを
特徴とする追い出しエントリ決定方法。
5. A method according to claim 4, wherein priority information of memory access type specified by priority information between memory access types by a processor or an external specification means, and a type of the memory access. The number of entries of the priority memory access type stored in the cache is the same as the number of entries of the priority memory access type specified by the priority order information between the memory access types A method of determining an entry to be evicted, characterized in that an entry in which a specified priority memory access type is registered is excluded from an object to be evicted.
【請求項6】請求項4および請求項5に記載されたエン
トリ決定方法において、前記請求項4および請求項5で
記載された場合以外においては、追い出し対象外エント
リを指定しないで、当該キャッシュのすべてのエントリ
が、追い出し対象エントリになりうることを特徴とする
追い出しエントリ決定方法。
6. An entry determination method according to claim 4 or claim 5, except that the entry to be evicted is not specified except for the case described in claim 4 or claim 5. A eviction entry determination method, wherein all entries can be eviction target entries.
JP11069572A 1999-03-16 1999-03-16 Cache storage Pending JP2000267938A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11069572A JP2000267938A (en) 1999-03-16 1999-03-16 Cache storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11069572A JP2000267938A (en) 1999-03-16 1999-03-16 Cache storage

Publications (1)

Publication Number Publication Date
JP2000267938A true JP2000267938A (en) 2000-09-29

Family

ID=13406648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11069572A Pending JP2000267938A (en) 1999-03-16 1999-03-16 Cache storage

Country Status (1)

Country Link
JP (1) JP2000267938A (en)

Similar Documents

Publication Publication Date Title
JP4486750B2 (en) Shared cache structure for temporary and non-temporary instructions
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US6772316B2 (en) Method and apparatus for updating and invalidating store data
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
EP1654660B1 (en) A method of data caching
US5465342A (en) Dynamically adaptive set associativity for cache memories
US5235697A (en) Set prediction cache memory system using bits of the main memory address
US5802572A (en) Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache
US20080168236A1 (en) Performance of a cache by detecting cache lines that have been reused
US7237067B2 (en) Managing a multi-way associative cache
US20100217937A1 (en) Data processing apparatus and method
JPH0364893B2 (en)
KR930022222A (en) Apparatus and method for providing multiple outstanding operations in a multiprocessor computer system with a consistent cache
EP2866148B1 (en) Storage system having tag storage device with multiple tag entries associated with same data storage line for data recycling and related tag storage device
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
JP3262519B2 (en) Method and system for enhancing processor memory performance by removing old lines in second level cache
JPS638848A (en) Cache tag look-aside
US6959363B2 (en) Cache memory operation
KR100851738B1 (en) Reverse directory for facilitating accesses involving a lower-level cache
US7577793B2 (en) Patrol snooping for higher level cache eviction candidate identification
US6049849A (en) Imprecise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests
US6976130B2 (en) Cache controller unit architecture and applied method
EP0741356A1 (en) Cache architecture and method of operation
US6397298B1 (en) Cache memory having a programmable cache replacement scheme