JPH02204847A - Cache memory device - Google Patents

Cache memory device

Info

Publication number
JPH02204847A
JPH02204847A JP1024605A JP2460589A JPH02204847A JP H02204847 A JPH02204847 A JP H02204847A JP 1024605 A JP1024605 A JP 1024605A JP 2460589 A JP2460589 A JP 2460589A JP H02204847 A JPH02204847 A JP H02204847A
Authority
JP
Japan
Prior art keywords
address
tlb
array
virtual
bits
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
JP1024605A
Other languages
Japanese (ja)
Inventor
Hitoshi Takagi
均 高木
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 JP1024605A priority Critical patent/JPH02204847A/en
Publication of JPH02204847A publication Critical patent/JPH02204847A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To contrive the decrease of a delay time, a hardware quantity and an electric power quantity by storing the information for specifying an entry of an address conversion buffer in an address array of a cache memory instead of an address. CONSTITUTION:An address array AA 4 is brought to addressing by the upper 6 bits of a part of an in-page address of a virtual address stored in a virtual address register VAR 2. Data of two levels selected by an address of a signal line 105 are compared with the lower 9 bits of a virtual page number which brings an address conversion buffer TLB of a signal line 103 to addressing by comparing circuits 14, 15. In the AA 4, a TLB address for specifying one of entries of the TLB, and a level of the TLB are stored. Accordingly, the comparing circuits 14, 15 input a part (signal line 103) corresponding to the TLB address, two information in the AA 4, and hit signals 115, 116 of each level of the TLB, into the given virtual address. In such a way, the reduction of a delay time of the circuit can be contrived.

Description

【発明の詳細な説明】 皮翫欠1 本発明は情報処理装置に関し、特にキャッシュメモリ装
置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an information processing device, and more particularly to a cache memory device.

良圭盈韮 今日、多くの情報処理装置は仮想記憶方式を採用してい
る。この方式は、実際に情報処理装置に備わっている主
記憶のアドレス空間(実アドレス空間という)よりも大
きなアドレス空間(仮想アドレス空間)を想定して、こ
の仮想アドレスと実アドレスの変換には、アドレス変換
表を用いるものである。仮想アドレスと実アドレスとの
対応はrベージ」と呼ばれる単位で行われ、最も頻繁に
アクセスされるページを実アドレス空間に置き、他のペ
ージはディスクなどの二次記憶に置かれる。
Today, many information processing devices use virtual memory. This method assumes an address space (virtual address space) that is larger than the address space (real address space) of the main memory actually provided in the information processing device, and converts the virtual address and real address using the following steps: This uses an address conversion table. The correspondence between virtual addresses and real addresses is done in units called "r pages," and the most frequently accessed pages are placed in the real address space, and other pages are placed in secondary storage such as a disk.

通常、変換表は主記憶に置かれている。毎回のメモリア
クセスの度に、この変換表をアクセスするのは性能を@
端に落とすことになる。何故なら、主記憶は通常情報処
理装置内の演算処理部のサイクルタイムに比べて2〜3
0倍遅いサイクルタイムを持つからである。このため、
演算処理部内に、アドレス変換バッファと呼ばれる小数
であるが、演算処理部のサイクルタイムと同じ程度のス
ピードのデープルを備えている。
Conversion tables are usually placed in main memory. Accessing this conversion table every time memory access improves performance.
It will fall on the edge. This is because the main memory usually takes 2 to 3 times longer than the cycle time of the arithmetic processing unit in the information processing device.
This is because the cycle time is 0 times slower. For this reason,
The arithmetic processing section is equipped with a decimal number called an address translation buffer, but the speed is about the same as the cycle time of the arithmetic processing section.

同様に、主記憶中のテーブルについても、演算処理部内
に高速なバッファを備えている情報処理装置が多い、こ
れは、キャッシュメモリと呼ばれる。主記憶はブロック
と呼ばれる単位に分割され、そのブロック単位でキャッ
シュメモリにロードされる。
Similarly, regarding tables in main memory, many information processing devices are equipped with a high-speed buffer within the arithmetic processing unit, which is called a cache memory. Main memory is divided into units called blocks, and each block is loaded into cache memory.

キャッシュメモリは通常主記憶の内容のコピーを保持す
るデータ部(データアレイDA>と、DAに保持されて
いるデータのアドレスをDAの各ブロックに対応して保
持するアドレス部(アドレスアレイAA)とからなる、
キャッシュメモリに対するアクセスは次のように行われ
る。まず、アクセスしたいアドレスとAAの各ブロック
に対する内容とを比較し、AA中に同じアドレスのエン
トリが存在したら、それに対応するDAのブロックを読
出す、AAのエントリには多くの場合実アドレスが、希
に仮想アドレスが格納される。
Cache memory usually has a data section (data array DA) that holds a copy of the contents of main memory, and an address section (address array AA) that holds the addresses of data held in DA corresponding to each block of DA. Consisting of
Access to the cache memory is performed as follows. First, compare the address you want to access with the contents of each block in AA, and if an entry with the same address exists in AA, read out the corresponding block in DA.In most cases, the AA entry has a real address, Virtual addresses are rarely stored.

一方、今回の情報処理システムの大規模化に伴い、情報
処理装置の仮想アドレスを実アドレスは大幅に拡大され
ている。このため、両アドレスを表現するビット数は3
0ビット以上になっている。
On the other hand, with the recent increase in the scale of information processing systems, the virtual addresses and real addresses of information processing devices have been significantly expanded. Therefore, the number of bits representing both addresses is 3.
It is 0 bit or more.

キャッシュメモリのAAに納められるアドレスも少なく
とも、ブロックを表わす3〜4ビツトとアドレス範囲に
よるグループ化で取除けるビットを除いても、二十数ビ
ット必要となる。さらに、大きなアドレス空間を効率よ
く運用するために、キャッシュメモリの容量も増加の一
途をたどついている。
The address stored in the AA of the cache memory also requires at least 20 bits, excluding 3 to 4 bits representing a block and bits that can be removed by grouping by address range. Furthermore, in order to efficiently manage large address spaces, the capacity of cache memory continues to increase.

この様に、AAの容量は同じ傾向から発生した二つの要
求のため、各エントリの幅、各エントリの数とも増加す
る傾向がある。AAのエントリに含まれるビット数〈幅
)が増加すると、AAを構成するR A M (Ran
dQII Access Memory)が増加し、こ
れらをドライブするために多大なゲート数、および電力
を必要とする。また、キャッシュメモリのアクセスの度
に比較するビット数が増えることにより、回路の遅延時
間が増し情報処理装置の処理能力を決定するクロックサ
イクルはこの部分で決定されてしまう。
In this way, the capacity of AA tends to increase in both the width of each entry and the number of entries because of the two requests arising from the same trend. As the number of bits (width) included in an AA entry increases, the RAM (Ran
dQII Access Memory) increases, and driving them requires a large number of gates and a large amount of power. Furthermore, as the number of bits compared each time the cache memory is accessed increases, the delay time of the circuit increases, and the clock cycle that determines the processing capacity of the information processing device is determined at this portion.

1肌立亘躬 本発明の目的は、AAのエントリに含まれるビット数(
幅)を少なくして、回路の遅延時間の縮小を図ったキャ
ッシュメモリ装置を提供することである。
1. The purpose of the present invention is to reduce the number of bits (
It is an object of the present invention to provide a cache memory device in which the delay time of a circuit is reduced by reducing the width).

魚浬ぎ211威 本発明によれば、入力された主記憶へのアクセス仮想ア
ドレスを実アドレスへ変換ずべく複数のエントリを有す
るアドレス変換バッファと、前記主記憶の格納データの
コピーを所定大きさのブロック単位で管理すべくブロッ
ク単位で保持するデータアレイと、前記ブロックに夫々
対応した前記主記憶のアドレスを特定する情報を保持す
るアドレスアレイと、前記アドレス変換バッファと前記
アドレスアレイとを前記アクセス仮想アドレスによる索
引結果によりキャツシュヒツトの有無を判定するキャツ
シュヒツト判定手段とを含むキャッシュメモリ装置であ
って、前記アドレスアレイは、前記アドレス変換バッフ
ァのエントリを特定する索引アドレス情報を保持してお
り、また前記アドレス変換バッファ及び前記アドレスア
レイの各エントリは、前記アドレス変換バッファの対応
エントリの世代を表示する世代情報を保持しており、前
記キャツシュヒツト判定手段は前記アドレス変換バッフ
ァの索引アドレス情報と、前記アドレスアレイの索引結
果の他に、更にこれ等索引された対応エントリの世代情
報をも用いてキャツシュヒツトの判定をなすように構成
されていることを特徴とするキャッシュメモリ装置が得
られる。
According to the present invention, there is provided an address translation buffer having a plurality of entries for converting an input access virtual address to the main memory into a real address, and a copy of data stored in the main memory to a predetermined size. a data array held in block units to be managed in block units; an address array holding information specifying the addresses of the main memory corresponding to each block; and the address conversion buffer and the address array a cache hit determining means for determining the presence or absence of a cache hit based on an index result based on a virtual address, wherein the address array holds index address information for specifying an entry of the address translation buffer; Each entry of the address translation buffer and the address array holds generation information indicating the generation of the corresponding entry of the address translation buffer, and the cash hit determination means uses the index address information of the address translation buffer and the address array. There is obtained a cache memory device characterized in that it is configured to make a cache hit determination using not only the index result but also the generation information of the corresponding indexed entries.

に止贋 次に、本発明について図面を参照して説明する。counterfeit Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例のブロック図である。FIG. 1 is a block diagram of one embodiment of the present invention.

なお、本実施例では、仮想アドレス(VA)、実アドレ
ス(PA)共に32ビツト、仮想記憶管理におけるペー
ジはIKバイト(I K = 1024)とする、アド
レス変換バッファ(TLB)およびキャッシュメモリは
2レベル(コンパートメント、ウェイともいう)のセッ
トアソシアティブ構成とする。TLBのアドレスは51
2とし、ページ番号(32ビツトの仮想アドレスからペ
ージ内アドレス分10ビットを引いた22ビツト)の下
位9ビツトでアドレッシングするとする。この条件では
、TLBのキ一部(要求された仮想アドレスと比較する
部分でTLBKと称す)の各エントリは13ビツトの幅
をもつ、TLBKと対応して、実ページ番号を持つTL
Bのデータ部(TLBD)は22ビツトである。
In this embodiment, both the virtual address (VA) and real address (PA) are 32 bits, the page in virtual memory management is IK bytes (I K = 1024), and the address translation buffer (TLB) and cache memory are 2 bits. It has a set-associative structure of levels (also called compartments and ways). TLB address is 51
2, and addressing is performed using the lower 9 bits of the page number (22 bits obtained by subtracting 10 bits for the intra-page address from the 32-bit virtual address). Under this condition, each entry in the key part of the TLB (the part compared with the requested virtual address is called TLBK) has a width of 13 bits, and corresponds to the TLBK and has a real page number.
The data part (TLBD) of B is 22 bits.

キャッシュメモリはブロックサイズ16バイトで、ペー
ジ内アドレスの上位6ビツトでアドレスアレイAAをア
ドレッシングする。即ちカラム数は64である0通常で
あればアドレスアレイAAの各エントリにはTLBDと
同じ22ビツトが格納されるはずであるが、本発明では
、TLBをアドレッシングする9ビツトのみで良いこと
になる。
The cache memory has a block size of 16 bytes, and the address array AA is addressed using the upper 6 bits of the address within the page. In other words, the number of columns is 64.0 Normally, each entry in address array AA should store 22 bits, the same as TLBD, but in the present invention, only 9 bits for addressing TLB are required. .

次にキャッシュメモリの読出し動作について説明する。Next, the read operation of the cache memory will be explained.

このキャッシュメモリにはアクセス要求仮想アドレスが
、信号線101を通じて仮想アドレスレジスタ(VAR
)2に納められる。VAR2によって、アドレス変換バ
ッファ(TLB)3とアドレスアレイ(AA>4が並列
にアクセスされる。先ず、TLB3はVAR2に納めら
れた仮想アドレスのうち、仮想ページ番号の下位9ビツ
トでアドレッシングされる。これは信号線103によっ
て行われる。これにより指定されたTLB3のキ一部(
TLBK)とTLB3のデータ部(TLBD)の各レベ
ルのエントリに納められた内容が読出される。
The access request virtual address is sent to this cache memory through a signal line 101 in a virtual address register (VAR).
)2. Address translation buffer (TLB) 3 and address array (AA>4) are accessed in parallel by VAR2.First, TLB3 is addressed by the lower 9 bits of the virtual page number among the virtual addresses stored in VAR2. This is done by the signal line 103. This causes the specified key part of TLB3 (
The contents stored in the entries of each level of the data section (TLBD) of TLBK) and TLB3 are read out.

TLBKの読出しデータは夫々VAR2の仮想ページ番
号の上位13ビツトと比較回路11および12によって
比較され、一致したときのみそれらの出力信号線115
および116が論理値1となる。
The read data of TLBK is compared with the upper 13 bits of the virtual page number of VAR2 by comparison circuits 11 and 12, and only when they match, their output signal lines 115 are compared.
and 116 have a logical value of 1.

なお、与えられた仮想アドレスに対して、2つのレベル
のうち、いずれか一方しか一致しないようにTLBの登
録方法は制御されている。
Note that the TLB registration method is controlled so that a given virtual address matches only one of the two levels.

与えられた仮想アドレスに対して、TLBKの内容が一
致したとき、これをTLBヒツトと言う。
When the contents of the TLBK match a given virtual address, this is called a TLB hit.

また、信号&1115および116に与えられている論
理的意味をヒツト信号と言う。
Further, the logical meaning given to signals &1115 and 116 is called a hit signal.

TLBDの出力は対応するTLBKによるヒツト信号に
より、実アドレスセレクタ(PX)18で選択され、実
アドレスレジスタ(PAR)5に格納される。
The output of the TLBD is selected by the real address selector (PX) 18 in response to a hit signal from the corresponding TLBK and stored in the real address register (PAR) 5.

一方、アドレスアレイ(AA)4はVAR2に納められ
た仮想アドレスのページ内アドレスの部分の上位6ビツ
トによってアドレッシングされる(信号線105 ) 
、信号線105のアドレスによって選ばれた2つのレベ
ルのデータは、比較回路14および15によって、信号
線103のTLBをアドレッシングした仮想ページ番号
の下位9ビツトと比較される。
On the other hand, address array (AA) 4 is addressed by the upper 6 bits of the intra-page address portion of the virtual address stored in VAR 2 (signal line 105).
, two levels of data selected by the address on signal line 105 are compared by comparison circuits 14 and 15 with the lower 9 bits of the virtual page number addressed to the TLB on signal line 103.

AA4内には、TLBのエントリのうち一つを特定する
TLBアドレスと、TLBのレベルが納められている。
AA4 stores a TLB address that specifies one of the TLB entries and the TLB level.

よって、比較回路14と15は与えられた仮想アドレス
のうち、TLBアドレスに当る部分(信号線103)と
、上述のAAJ内の2つの情報、そしてTLBの各レベ
ルのヒツト信号115および116を入力とする。
Therefore, the comparison circuits 14 and 15 input the portion corresponding to the TLB address (signal line 103) of the given virtual address, the two pieces of information in the AAJ described above, and the hit signals 115 and 116 of each level of the TLB. shall be.

比較回路14および15の詳細を第2図に示す。Details of comparison circuits 14 and 15 are shown in FIG.

TLBアドレスは比較器201によって比較される。The TLB addresses are compared by comparator 201.

信号線113は2ビツトの情報で、AA4に納められて
いるTLBアドレスがどちらのTLBのレベルかを示し
ている。アンド回路202および203は’T’ L 
Bの二つのヒツト信号115および116と信号線11
3(丁度、信号線115と116と同じ対応を示す2本
の線である)との一致を調べている。いずれかが一致し
ていれば、オア回路204の出力209は論理値1にな
り、アンド回路205で先の比較器201の比較出力2
08の有効条件を与える。
A signal line 113 is 2-bit information indicating which TLB level the TLB address stored in AA4 is at. AND circuits 202 and 203 are 'T' L
B's two hit signals 115 and 116 and signal line 11
3 (which are just two lines showing the same correspondence as signal lines 115 and 116). If either one of them matches, the output 209 of the OR circuit 204 becomes a logical value 1, and the AND circuit 205 outputs the comparison output 2 of the comparator 201.
08 validity conditions are given.

比較回路14および15の出力は2ビツトのヒットレベ
ルレジスタ(AHR)6に納められる。
The outputs of comparison circuits 14 and 15 are stored in a 2-bit hit level register (AHR) 6.

AHR6の内容によって次のサイクルの動作が決定する
The next cycle's operation is determined by the contents of AHR6.

■AHR6のいずれかのビットが論理1のとき。■When any bit of AHR6 is logic 1.

このときの状態をキャツシュヒツトという、データアレ
イ(DA)8がアクセスされ、読出しデータがリードデ
ータレジスタ(RDR)10に納められる。DA8はP
AR5の下位10ビツト、即ちページ内アドレスでアド
レッシングされる。各レベルに対応したデータが読出さ
れ、データセレクタ(DX)9で、AHR6に納められ
ているヒツトしたレベルの方が選択され、RDRIOに
格納される。RDRIOに納められたデータは信号線1
13により、要求元へ返送される。
The state at this time is called a cache hit, and the data array (DA) 8 is accessed and read data is stored in the read data register (RDR) 10. DA8 is P
Addressing is performed using the lower 10 bits of AR5, that is, the intra-page address. Data corresponding to each level is read out, and the data selector (DX) 9 selects the hit level stored in the AHR 6 and stores it in RDRIO. The data stored in RDRIO is on signal line 1
13, it is returned to the requester.

■AHR6のいずれのビットも論理0のとき。■When any bit of AHR6 is logic 0.

このときの状態をキャッシュミスという、AHRにキャ
ッシュのヒツト信号が納められたと同時に別の2つのレ
ジスタにもキャッシュミス時に必要な情報が納められる
。JICヤッシュ登録アドレスレジスタ(CAR)7に
は、キャッシュミスを引き起こした要求アドレスのTL
Bアドレスが納められ、TLBレベルレジスタ(TR)
17には、TLBヒツトしたレベルが納められる。
This state is called a cache miss, and at the same time a cache hit signal is stored in the AHR, information necessary at the time of a cache miss is stored in two other registers. The JIC Yash registered address register (CAR) 7 contains the TL of the request address that caused the cache miss.
The B address is stored in the TLB level register (TR).
17 stores the TLB hit level.

キャッシュミスが認識されると、CAR7とTR17の
内容は先ず、夫々アドレスアレイ書込みレジスタ(AW
R)20とTLBレベル書込みレジスタ(WTR)21
に納められる。そして、AHR20とWTR21はAA
4の対応する部分に書込まれる。アドレスアレイ書込み
レベルレジスタ(AWLR)19は、AA4のどちらの
レベルに書込むかを指示するものである。AWLR19
の内容は適当な方法で決定される。
When a cache miss is recognized, the contents of CAR7 and TR17 are first written to the address array write register (AW), respectively.
R) 20 and TLB level write register (WTR) 21
It can be paid in And AHR20 and WTR21 are AA
4 is written to the corresponding part. Address array write level register (AWLR) 19 instructs which level of AA4 to write to. AWLR19
The content of is determined by an appropriate method.

一方、要求されたデータをキャッシュメモリへ主記憶か
らロードする必要がある。そのため、PAR5のアドレ
スを主記憶へ送り、該当するブロックのデータをDA8
ヘロードする。
On the other hand, it is necessary to load the requested data into the cache memory from the main memory. Therefore, the address of PAR5 is sent to the main memory, and the data of the corresponding block is transferred to DA8.
Herod.

AA4の書込みおよびDA8へのロードの終了後、もう
−度、要求された仮想アドレスでキャッシュメモリがア
クセスされ、今度はキャツシュヒツトとなる。前述のよ
うに、TLB3には仮想アドレスと実アドレスの変換表
の一部の写しが置かれている。そして、もしキャッシュ
メモリ1に要求された仮想アドレスに対するTLB3の
エントリが無い場合には、主記憶にある変換表をTLB
にコピーする必要がある。それを行うにはいろいろな方
法がある。ここでは、その詳細については述べない。
After writing to AA4 and loading to DA8 is completed, the cache memory is accessed again using the requested virtual address, this time resulting in a cache hit. As mentioned above, a copy of a portion of the virtual address to real address conversion table is placed in TLB3. If there is no entry in TLB3 for the requested virtual address in cache memory 1, the conversion table in main memory is stored in TLB3.
need to be copied to. There are many ways to do that. I will not discuss the details here.

さて、TLB3が書換えられたとしよう、すると、書換
えられたエントリには以前とは別の仮想アドレスと実ア
ドレスの組が納められている。但し、TLBのアドレス
は同一である。もし、AA4に書換える前のTLB3の
そのエントリを指す情報が納められていると、矛盾を起
こす。
Now, suppose that TLB3 is rewritten. Then, the rewritten entry contains a different pair of virtual address and real address than before. However, the TLB addresses are the same. If AA4 contains information pointing to that entry in TLB3 before being rewritten, a contradiction will occur.

そこで、本発明のキャッシュメモリには、TLB3とA
A4の各エントリに世代(ゼネレーション)を表わす情
報を持つ、読出しなTLB3とAA4とのゼネレーショ
ンを比較し、違っていたらキャッシュミスあつかいとす
る。
Therefore, in the cache memory of the present invention, TLB3 and A
The generations of read TLB3 and AA4, each entry of A4 having information indicating the generation, are compared, and if they are different, it is assumed that there is a cache miss.

TLB3とAA4とのアクセスが行われたとき、TLB
3とAA4とのゼネレーションをTLBゼネレーション
レジスタ(TGR)13とAAゼネレーションレジスタ
(AGR)16とに夫々読出す0次のサイクルで、ゼネ
レーシラン比較回路26により両者を比較して、違って
いれば、AHR6の内容からキャッシュしットと判定で
きても、キャッシュミスあつかいとする。なぜなら、A
A4内に納められているゼネレーションのTLBエント
リは既にTLB3のゼネレーションにfi#A、えられ
ているからである。
When TLB3 and AA4 are accessed, TLB
In the 0th cycle in which the generations of 3 and AA4 are read into the TLB generation register (TGR) 13 and the AA generation register (AGR) 16, respectively, the generation run comparison circuit 26 compares them and determines whether they are different. For example, even if a cache miss can be determined from the contents of AHR6, it is treated as a cache miss. Because A
This is because the TLB entry of the generation stored in A4 has already been included in the generation of TLB3.

キャッシュミス時のAA書込み処理時に、TGR13の
内容はAAゼネレーション書込みレジスタ(AGWR)
23を経由して、AA4の該当フィールドに書込まれる
。ゼネレーションに関する情報は通常数ビットの情報で
ある。TLB3のエントリの書換えが行われた時、その
エントリのゼネレーションは、TGR13に古いゼネレ
ーションを読出してTLB書込み時に+1加算器24に
よって1つゼネレーションを増やして、TLBゼネレー
ション書込みレジスタ(TGWR)22を逆じて書換え
られる。
During AA write processing at the time of a cache miss, the contents of TGR13 are changed to the AA generation write register (AGWR).
23, and is written to the corresponding field of AA4. Information regarding generation is usually several bits of information. When an entry in TLB3 is rewritten, the generation of that entry is determined by reading the old generation into TGR13, incrementing the generation by one by +1 adder 24 when writing TLB, and writing to the TLB generation write register (TGWR). 22 can be rewritten in reverse.

ゼネレーションの数が予め用意したゼネレーションを表
わすビット数で表わせる範囲を越えた場合(ゼネレーシ
ョンオーバフロー)には、ゼネレーションオーバフロー
検出回路(GOC)25によってそれが検出される。ゼ
ネレーションオーバフローの時には、AA4の全てのエ
ントリを無効化する(WTRを論理0にして書込む)か
、AA4をスキャンしてゼネレーションオーバフローを
起したTLB3のエントリと同じTLBアドレスを持つ
AAJ内のエントリを無効化する。
If the number of generations exceeds the range that can be represented by the number of bits representing the generations prepared in advance (generation overflow), this is detected by the generation overflow detection circuit (GOC) 25. In the event of a generation overflow, either invalidate all entries in AA4 (write WTR to logic 0) or scan AA4 to find the entry in AAJ that has the same TLB address as the entry in TLB3 that caused the generation overflow. Disable an entry.

i匪A皇1 この様に、本発明によれば、キャッシュメモリのアドレ
スアレイ(AA)にアドレスの代りにTLBのエントリ
を特定する情報を格納するようにしたので、AAを構成
するに必要なビット数が削減され、もって遅延時間、ハ
ードウェア量、電力量の減少が可能となるという効果が
ある。
In this way, according to the present invention, information that specifies TLB entries is stored in the address array (AA) of the cache memory instead of addresses. This has the effect that the number of bits is reduced, thereby making it possible to reduce delay time, amount of hardware, and amount of power.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の実施例のシステムブロック図、第2図
は第1図のブロックの比較回路14の具体例を示す図で
ある。 主要部分の符号の説明 2・・・・・・仮想アドレスレジスタ 3・・・・・・アドレス変換バッファ 4・・・・・・アドレスアレイ 5・・・・・・実アドレスレジスタ 8・・・・・・データアレイ 11.12,14.1 5・・・・・・比較器
FIG. 1 is a system block diagram of an embodiment of the present invention, and FIG. 2 is a diagram showing a specific example of the comparison circuit 14 of the block in FIG. 1. Explanation of symbols of main parts 2...Virtual address register 3...Address translation buffer 4...Address array 5...Real address register 8... ...Data array 11.12, 14.1 5...Comparator

Claims (1)

【特許請求の範囲】[Claims] (1)入力された主記憶へのアクセス仮想アドレスを実
アドレスへ変換すべく複数のエントリを有するアドレス
変換バッファと、前記主記憶の格納データのコピーを所
定大きさのブロック単位で管理すべくブロック単位で保
持するデータアレイと、前記ブロックに夫々対応した前
記主記憶のアドレスを特定する情報を保持するアドレス
アレイと、前記アドレス変換バッファと前記アドレスア
レイとを前記アクセス仮想アドレスによる索引結果によ
りキャッシュヒットの有無を判定するキャッシュヒット
判定手段とを含むキャッシュメモリ装置であって、前記
アドレスアレイは、前記アドレス変換バッファのエント
リを特定する索引アドレス情報を保持しており、また前
記アドレス変換バッファ及び前記アドレスアレイの各エ
ントリは、前記アドレス変換バッファの対応エントリの
世代を表示する世代情報を保持しており、前記キャッシ
ュヒット判定手段は前記アドレス変換バッファの索引ア
ドレス情報と、前記アドレスアレイの索引結果の他に、
更にこれ等索引された対応エントリの世代情報をも用い
てキャッシュヒットの判定をなすように構成されている
ことを特徴とするキャッシュメモリ装置。
(1) Access to main memory An address conversion buffer having multiple entries for converting input virtual addresses into real addresses, and a block for managing copies of data stored in the main memory in units of blocks of a predetermined size. A data array held in units, an address array holding information specifying the address of the main memory corresponding to each block, the address translation buffer, and the address array are cache hit based on the index result using the access virtual address. cache hit determination means for determining whether or not a Each entry in the array holds generation information indicating the generation of the corresponding entry in the address translation buffer, and the cache hit determination means uses the index address information of the address translation buffer, the index result of the address array, etc. To,
A cache memory device characterized in that it is configured to further use generation information of corresponding indexed entries to determine a cache hit.
JP1024605A 1989-02-02 1989-02-02 Cache memory device Pending JPH02204847A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1024605A JPH02204847A (en) 1989-02-02 1989-02-02 Cache memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1024605A JPH02204847A (en) 1989-02-02 1989-02-02 Cache memory device

Publications (1)

Publication Number Publication Date
JPH02204847A true JPH02204847A (en) 1990-08-14

Family

ID=12142783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1024605A Pending JPH02204847A (en) 1989-02-02 1989-02-02 Cache memory device

Country Status (1)

Country Link
JP (1) JPH02204847A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04216150A (en) * 1990-12-17 1992-08-06 Matsushita Electric Ind Co Ltd Physical cache device
JPH04227553A (en) * 1990-04-11 1992-08-17 Digital Equip Corp <Dec> Array architecture of high-speed cache memory
JPH08503553A (en) * 1992-11-24 1996-04-16 ダイアメトリクス メディカル インコーポレイテッド Reference electrode

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04227553A (en) * 1990-04-11 1992-08-17 Digital Equip Corp <Dec> Array architecture of high-speed cache memory
JPH04216150A (en) * 1990-12-17 1992-08-06 Matsushita Electric Ind Co Ltd Physical cache device
JPH08503553A (en) * 1992-11-24 1996-04-16 ダイアメトリクス メディカル インコーポレイテッド Reference electrode
JP2625034B2 (en) * 1992-11-24 1997-06-25 ダイアメトリクス メディカル インコーポレイテッド Reference electrode

Similar Documents

Publication Publication Date Title
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
KR100372293B1 (en) Cacheable Properties for Virtual Addresses in Virtual and Physical Index Caches
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
JP3821644B2 (en) Device that invalidates and removes old cache lines
US5109496A (en) Most recently used address translation system with least recently used (LRU) replacement
US5461718A (en) System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
US5956752A (en) Method and apparatus for accessing a cache using index prediction
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
JP3666689B2 (en) Virtual address translation method
EP0407119A2 (en) Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access
CA2057494A1 (en) Translation lookaside buffer
US7472227B2 (en) Invalidating multiple address cache entries
US5530823A (en) Hit enhancement circuit for page-table-look-aside-buffer
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
EP0365117B1 (en) Data-processing apparatus including a cache memory
US5860097A (en) Associative cache memory with improved hit time
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
US5276829A (en) Data processing system including cache memory for rapidly converting a logical address into a physical address using shared memory flag
CN111124954B (en) Management device and method for two-stage conversion bypass buffering
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US5386530A (en) Address translation device capable of obtaining a real address from a virtual address in a shorter time
JPH02204847A (en) Cache memory device
GB2307319A (en) Dual-directory virtual cache
US4424564A (en) Data processing system providing dual storage of reference bits
JPH02202651A (en) Cache memory