JPH02110752A - Cache memory control system - Google Patents
Cache memory control systemInfo
- Publication number
- JPH02110752A JPH02110752A JP63264427A JP26442788A JPH02110752A JP H02110752 A JPH02110752 A JP H02110752A JP 63264427 A JP63264427 A JP 63264427A JP 26442788 A JP26442788 A JP 26442788A JP H02110752 A JPH02110752 A JP H02110752A
- Authority
- JP
- Japan
- Prior art keywords
- read
- cache
- word
- data
- cache memory
- 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
Links
- 238000000034 method Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 101100433708 Arabidopsis thaliana AAR3 gene Proteins 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- BUADUHVXMFJVLH-UHFFFAOYSA-N 7-chloro-3-imidazol-1-yl-2H-1,2,4-benzotriazin-1-ium 1-oxide Chemical compound N1[N+](=O)C2=CC(Cl)=CC=C2N=C1N1C=CN=C1 BUADUHVXMFJVLH-UHFFFAOYSA-N 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
玖拵欠1
本発明はキャッシュメモリ制御方式に関し、特に主記憶
装置内のデータのコピーを複数ワードからなるブロック
単位で保持し、これ等ブロック内のデータの有効性を管
理するための有効ビットをワード単位で有するキャッシ
ュメモリの制御方式キャッシュメモリの制御方式として
は、キャッシュメモリ装置のディレクトリ部においてブ
ロックアドレスとこのブロックアドレスに対する1ピツ
1〜の有効ピッl〜をデータ部に登録して、ブ0 ツク
単位でデータの管理を行う方式のものがある。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a cache memory control method, and in particular to a cache memory control method that maintains a copy of data in a main memory in units of blocks each consisting of a plurality of words, and checks the validity of data within these blocks. A control method for a cache memory that has valid bits for management in word units.The control method for a cache memory is to store a block address and the valid bits for this block address in the data section in the directory section of the cache memory device. There is a method in which data is registered in a book and managed on a book-by-book basis.
この様な制御方式では、キャッシュメモリ装置に対して
読出し要求が送られてくると、ブロックアドレスと有効
ビットとの判定によりキャッシュミスが生じた場合、主
記憶装置に対してブロックの読出しを行うようになって
いる。In such a control method, when a read request is sent to the cache memory device, if a cache miss occurs by determining the block address and valid bit, the block is read from the main memory device. It has become.
一方、ある種の情報処理システムでは、キャッシュメモ
リ装置がブロックの内容と主記憶装置の内容との対応性
を、複数の有効ビットで管理しているものかある。すな
わち、キャッシュメモリ装置内のブロック内容をこのブ
ロックを構成するワード単位にて管理すべく、ワード毎
に有効ビットを設けたものがある。On the other hand, in some types of information processing systems, a cache memory device manages the correspondence between the contents of a block and the contents of a main storage device using a plurality of valid bits. That is, in order to manage the contents of a block within a cache memory device in units of words constituting this block, there are devices in which a valid bit is provided for each word.
この方式では、ストア動作や他のプロセッサのストア動
作等によって、ブロック内の部分領域であるワードに対
応する有効ビットをリセットして無効化している。従っ
て、ある瞬間においてはブロック内の1つの有効ビット
のみが無効を示している場合が生じ得る。この様な場合
にも、読出し要求によってキャッシュミスが生じたとき
、主記憶装置に対して5読読出し要求のあったブロック
の読出しを行っている。In this method, a valid bit corresponding to a word that is a partial area within a block is reset and invalidated by a store operation or a store operation by another processor. Therefore, a case may arise where only one valid bit in a block indicates invalidity at a certain moment. Even in such a case, when a cache miss occurs due to a read request, the block for which five read requests were made is read from the main memory.
この様に、従来の方式では、ブロック内の有効ビットが
複数あるにもかかわらず、ブロック内のただ1つの有効
とットが無効になっているために生じたキャッシュミス
時にも、主記憶装置に対して5読ブロックの読出しを行
うようになっているので、メモリのアクセス時間がかか
り過ぎ、動作速度の低下を招来することになる。In this way, in the conventional method, even when there is a cache miss that occurs because only one valid bit in a block is invalid even though there are multiple valid bits in the block, the main memory Since five reading blocks are read out for each block, it takes too much time to access the memory, resulting in a reduction in operating speed.
また、従来の方式では、ある瞬間においてはブロック内
の有効ビットが1つ以上(少くとも1つ)無効を示して
いる場合が生じ得る。この様な場合にも、読出し要求に
よりキャツシュヒツトが生じたとき、主記憶装置に対し
てブロック読出しは行っていない。従って、キャッシュ
ミスするまではキャッシュメモリ装置に対して有効デー
タを反映できないことになる。Furthermore, in the conventional method, there may be a case where one or more (at least one) valid bit in a block indicates invalidity at a certain moment. Even in such a case, when a cache hit occurs due to a read request, no block read is performed from the main memory. Therefore, valid data cannot be reflected in the cache memory device until a cache miss occurs.
ここで、アクセスされたブロックは以後アクセス頻度が
一般的に比較的高くなるという事実からすれば、上述の
様な場合にはキャツシュヒツト率が低下して、やはり処
理速度が低下するという欠点がある。Considering the fact that the accessed block generally has a relatively high access frequency thereafter, the cache hit rate decreases in the above-mentioned case, which again results in a decrease in processing speed.
良班座亘旬
本発明の目的は、メモリアクセスの動作時間を短縮して
処理速度を大としたキャッシュメモリ制御方式を提供す
ることである。SUMMARY OF THE INVENTION An object of the present invention is to provide a cache memory control method that shortens memory access operation time and increases processing speed.
本発明の他の目的は、有効ビットが1つのときのキャッ
シュミス時におりるメモリアクセス時間の短縮を図った
キャッシュメモリ制御方式を提供することである。Another object of the present invention is to provide a cache memory control method that reduces the memory access time that occurs when a cache miss occurs when there is one valid bit.
本発明のさらに他の目的は、有効ビットが1つ以上ある
ときのキャツシュヒツト時においてもキャッシュミスの
如く主記憶装置からブロックデータを読出してキャッシ
ュメモリへデータを反映させ、キャツシュヒツト率の向
上を図ったキャッシュメモリ制御方式を提供することで
ある。Still another object of the present invention is to improve the cache hit rate by reading block data from the main memory and reflecting the data in the cache memory even when there is a cache miss when there is one or more valid bits. An object of the present invention is to provide a cache memory control method.
良肌座■蔦
本発明によれば、主記憶装置内のデータのコピーを複数
ワードからなるブロック単位で保持し、これ等ブロック
内のデータの有効性を管理するなめの有効ビットをワー
ド単位で有するキャッシュメモリの制御方式であって、
前記キャッシュメモリへの読出し要求に応答してキャツ
シュヒツトかキャッシュミスかを判定する手段と、キャ
ッシュミスと判定されたとき、読出し対象のブロックに
おけるワード単位の有効ビットの無効化状態を検出する
手段を設け、この検出結果が1つのワードのみの無効を
示しているとき、この無効となっているワードを前記主
記憶装置から読出ずと共に他のワードは前記キャッシュ
メモリから読出し、前記検出結果が複数のワードの無効
を示しているとき、前記主記憶装置から読出し要求のブ
ロックを読出すようにしたことを特徴とするキャッシュ
メモリ制御方式が得られる。According to the present invention, a copy of data in the main memory is maintained in blocks each consisting of a plurality of words, and valid bits for managing the validity of data in these blocks are stored in units of words. A control method for a cache memory having:
Means for determining whether a cache hit or a cache miss occurs in response to a read request to the cache memory, and means for detecting an invalidation state of a valid bit in a word unit in a block to be read when a cache miss is determined. , when the detection result indicates that only one word is invalid, the invalid word is not read from the main memory and the other words are read from the cache memory, and the detection result indicates that only one word is invalid. A cache memory control method is obtained, characterized in that when the cache memory indicates invalidity, the block of the read request is read from the main storage device.
更に、本発明によれば、主記憶装置内のデータのコピー
を複数ワードからなるブロック単位で保持し、これ等ブ
ロック内のデータの有効性を管理するための有効ビット
をワード単位で有するキャッシュメモリの制御方式であ
って、前記キャッシュメモリへの読出し要求に応答して
キャツシュヒツトかキャッシュミスかを判定する手段と
、キャツシュヒツトと判定されたとき、読出し対象のブ
ロックにおけるワード単位の有効ビットの無効化状態を
検出する手段を設c1、この検出結果が少なくとも1つ
のワードの無効を示しているとき、読出し要求元に対し
てキャッシュメモリから対応するブロックを読出して送
出すると共に前記主記憶装置に対して対応するブロック
の読出しをなすようにしたことを特徴とするキャッシュ
メモリ制御方式が得られる。Further, according to the present invention, there is provided a cache memory that holds a copy of data in the main memory in units of blocks each consisting of a plurality of words, and has valid bits in units of words for managing the validity of data in these blocks. The control method includes means for determining whether a cache hit or a cache miss occurs in response to a read request to the cache memory, and when a cache hit is determined, an invalidation state of a valid bit in a word unit in a block to be read. When the detection result indicates that at least one word is invalid, the corresponding block is read out from the cache memory and sent to the read request source, and the corresponding block is sent to the main storage device. A cache memory control method is obtained, which is characterized in that reading of blocks is performed.
因」1伝
次に、本発明の実施例について図面を参照して説明する
。Example 1 Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例のブロック図であり、第2図
は続出要求アドレスとアドレスアレイ(AA)5に登録
されているアドレスとの比較ゲート群8の詳細図である
。尚、ここでは1セツトのセットアソシアティブキャッ
シュについて説明し、また各ワードごとに有効ビットが
存在していることを想定している。FIG. 1 is a block diagram of an embodiment of the present invention, and FIG. 2 is a detailed diagram of a group of gates 8 for comparing successively requested addresses and addresses registered in the address array (AA) 5. Here, one set of set associative cache will be explained, and it is assumed that a valid bit exists for each word.
先ず、図示せぬ上位装置からのリードリクエストに関す
る動作について説明する。リードリクエストとそのアド
レスは信号線51.52を通じてアドレスセレクタ(S
AX)1.ステータスセレクタ(SSX)2により選択
され、アドレスレジスタ(AAR)3とステータスレジ
スタ(SAR)4に夫々格納される。First, an operation related to a read request from a host device (not shown) will be explained. The read request and its address are sent to the address selector (S) through signal lines 51 and 52.
AX)1. It is selected by the status selector (SSX) 2 and stored in the address register (AAR) 3 and status register (SAR) 4, respectively.
当該リクエストが5AR4よってリードリクエストであ
ることが解読されると、アドレスアレイ(AA)5とA
AR3の出力の一部59によりアドレッシングされ、A
A5の出力とAAR3の出力の別の一部が比較器7によ
り比較される。AARlの下位2ビツトは信号線60を
通じてリードライトデコータ(R,WDEC)6へ入力
され、このデコーダ6により各出力がブロック内のワー
ド位置を表わす様にデコードされる。この場合は2ビツ
トが4本になる。AA5のVOから■3の各部はブロッ
ク内の各誌の有効性を表示しており、ゲート群8により
AARIに保持されているアドレスのブロック内のワー
ドに対するvOからV3において有効性が比較される。When the request is decoded by 5AR4 to be a read request, address array (AA)5 and A
Part 59 of the output of AR3 is addressed by A
The output of A5 and another part of the output of AAR3 are compared by comparator 7. The lower two bits of AARl are input to a read/write decoder (R, WDEC) 6 through a signal line 60, and each output is decoded by this decoder 6 so as to represent a word position within the block. In this case, 2 bits become 4. Each section from VO to ■3 of AA5 indicates the validity of each magazine in the block, and the validity is compared by the gate group 8 in vO to V3 with respect to the word in the block of the address held in AARI.
AAR3によるAA5のアクセスの結果は以下の3つに
分類され、ステータスレジスタ(SBR)10に格納さ
れる。The results of access to AA5 by AAR3 are classified into the following three categories and stored in the status register (SBR) 10.
a、−’rヤッシュヒット(条件+ IIIT) ;キ
ャッシュ記憶内に要求されたデータが存在する。a, -'r Yash hit (condition + IIIT); requested data exists in cache storage.
b、キャッシュミス(条件:旧S −HULTFHIS
) 。b. Cache miss (condition: old S-HULTFHIS
).
キャッシュ記憶内に要求されたデータが存在せず、それ
は、ブロック内の1語だけの有効ビットが無効になって
いる。The requested data is not in cache storage, which means that only one word in the block has its valid bit invalidated.
c、’rヤyizユミス(条件: 813− HULT
IHIS) ;キャッシュ記憶内に要求されたデータ
が存在せず、それはブロック内の2語以上の有効ビット
が無効になっている。c,'r yiz Yumis (Condition: 813- HULT
IHIS) ; The requested data is not present in cache storage, which means that the valid bits of two or more words in the block are invalid.
5BRIOの状態から次のサイクルの動作が決定する。The operation of the next cycle is determined from the state of 5BRIO.
a、旧■の場合ニアドレスレジスタ(ABR)9の一部
出力73によりデータアレイ(DA)13がアドレッシ
ングされ、その出力がデータセレクタ(SDX)14で
信号線75により選択され、データレジスタ(OCR)
15に格納され、次のサイクルで要求元へ返される。In the case of a, old ■, the data array (DA) 13 is addressed by a partial output 73 of the near address register (ABR) 9, the output is selected by the data selector (SDX) 14 by the signal line 75, and the data register (OCR) )
15 and returned to the requester in the next cycle.
b 、 Hls 、 14uLTIH1sノ場合:主記
憶ヘノデータの読出し要求が発行される。リクエストア
ドレスはABR9の出力によって指示される。同時に5
BRIOの出力80がステータスデコーダ(SDEC)
16により解読され、ブロック読出しであることが信号
線81を通して指示される。ABR9と5BRIOの内
容が信号線71.74により5AXI、5SX2を経由
して、それぞれA A R3と5AR4に格納される。b, Hls, 14uLTIH1s: A request to read data from the main memory is issued. The request address is indicated by the output of ABR9. 5 at the same time
BRIO output 80 is status decoder (SDEC)
16, and block reading is indicated through signal line 81. The contents of ABR9 and 5BRIO are stored in AAR3 and 5AR4, respectively, via signal lines 71.74 and 5AXI and 5SX2.
AA5はリードリクエストの場合と同様にAAR3によ
りアドレッシングされるが、この場合にはAA5のAA
部には信号線57によるAAR3の上位が書込まれる。AA5 is addressed by AAR3 as in the case of a read request, but in this case AA5's AA
The upper part of AAR3 is written in the signal line 57.
■0から■3には0(無効)かセットされる。■0 to ■3 are set to 0 (invalid).
C1旧s 、mの場合:主記憶へのデータの読出し要求
が発行される。リクエストアドレスはABR9の出力に
より指示される。同時に5BR10の出力80が5DE
C16により解読され、1ワード読出しであることか信
号線82を通して指示される。In the case of C1 old s, m: A request to read data to the main memory is issued. The request address is indicated by the output of ABR9. At the same time, the output 80 of 5BR10 is 5DE
It is decoded by C16 and an instruction is given through signal line 82 to read one word.
次に、主記憶からデータの読出し動作について述べる。Next, the operation of reading data from the main memory will be described.
データは信号線77によってデータレジスタ(DAR)
11に格納される。同時に対応するアドレスが信号線5
2と5AX1とを経由してAAR3に格納される。また
データ読出しである旨が5AR4に格納される。ここで
5AR4の内容により2つの状態がある。Data is transferred to the data register (DAR) via signal line 77.
11. At the same time, the corresponding address is signal line 5
It is stored in AAR3 via 2 and 5AX1. Further, information indicating that data is being read is stored in 5AR4. Here, there are two states depending on the contents of 5AR4.
a、ブロック読出しの場合:AA5はAAR3の出力5
9によりアドレッシングされる。AARl1
3の別の出力60とデコーダ6により読出されるブロッ
ク内のワード位置とによりVOから■3が選択され、“
1″ (有効)が書込まれる4次のサイクルでは、DA
RIIの内容、即ち読出しデータがデータレジスタ(D
BR)12に移動される。a. For block read: AA5 is output 5 of AAR3
Addressed by 9. 3 is selected from VO by another output 60 of AARl13 and the word position in the block read by the decoder 6, and “
In the fourth cycle when 1'' (valid) is written, DA
The contents of RII, that is, the read data is stored in the data register (D
BR) moved to 12.
またAAR3,5AR4もABR9とS B RL O
に移動する。DA13はABR9によりアドレッシング
され、5BRIOの指示によってD B R,12のデ
ータが書込まれる。データの読出しは上記動作がこの例
では4回行なわれる。主記憶からデータが到来する順番
はギヤッシュミスを起こしたアドレスから始まり、ブロ
ック内のアドレスを巡回する様に送られてくるものとす
る。最初のロード動作は、DA13にDBR12の内容
を書込む際、DCR15の入力は5DX14によってD
BR12の出カフ9が信号線76により選択され、次の
サイクルで読出しデータか上位装置に返送される。Also, AAR3 and 5AR4 are also ABR9 and S B RL O
Move to. DA13 is addressed by ABR9, and data in DBR,12 is written in accordance with the instruction from 5BRIO. In reading data, the above operation is performed four times in this example. It is assumed that the order in which data arrives from the main memory starts from the address where the gear miss occurred and is sent around the addresses within the block. In the first load operation, when writing the contents of DBR12 to DA13, the input of DCR15 is input to D by 5DX14.
The output cuff 9 of the BR 12 is selected by the signal line 76, and the read data is sent back to the host device in the next cycle.
b、1ワード読出しの場合:次のサイクルに入りDAR
IIの内容(読出しデータ)がDBR12に移動される
。同時にAAR3,5AR4もABR9と5BRIOに
移動し、次のサイクルでDCR15に5DX14におい
て信号線76により選択されたデータがDCR15に格
納される。その後、読出しデータが上位装置へ返される
。b. For 1 word read: Enter the next cycle and DAR
The contents of II (read data) are moved to DBR12. At the same time, AAR3 and 5AR4 are also moved to ABR9 and 5BRIO, and in the next cycle, the data selected by the signal line 76 in 5DX14 is stored in DCR15. Thereafter, the read data is returned to the host device.
第2図に第1図のブロックのゲート群8の具体例を示し
ており、キャツシュヒツト、ミスの判定用比較器7の出
カフ0と、リードライトデコーダ6の出力61〜64と
、更には有効ビットvO〜■3の各ビット出力66〜6
つとを用いて、AA5のアクセス結果であルtllT、
813− MULTIHIS及び旧Sを判定するための
ゲート回路である。FIG. 2 shows a specific example of the gate group 8 of the block in FIG. Each bit output 66-6 of bit vO~■3
In the access result of AA5, using
813- This is a gate circuit for determining MULTIHIS and old S.
この様に、キャッシュミス時に、無効を示す有効ヒツト
が1つのときには、有効ビットに対応するワードをキャ
ッシュメモリから読出し、無効ワードのみ主記憶装置か
ら読出すようにしているために、有効ワードについては
キャッシュメモリへ再登録する必要がないので、主記憶
装置へのアクセス時間が短くなり、その分(3ワ一ド分
)キャッシュメモリは他の処理を行うことか可能となる
のである。In this way, when a cache miss occurs and there is one valid hit indicating invalidity, the word corresponding to the valid bit is read from the cache memory, and only the invalid word is read from the main memory. Since there is no need to re-register the data in the cache memory, the time required to access the main memory is shortened, and the cache memory can be used for other processing by that amount (3 words).
第3図は本発明の他の実施例のブロック図であり、第1
図と同等部分は同−将月により示している。本実施例に
おいても、1セツトのセットアソシアティブキャッシュ
について説明し、また各ワードごとに有効ビットが存在
しているものとする。FIG. 3 is a block diagram of another embodiment of the present invention.
Portions equivalent to those in the figure are shown by Shogetsu. In this embodiment as well, one set of set associative cache will be explained, and it is assumed that each word has a valid bit.
先ず、図示せぬ上位装置からのリードリクエストに関す
る動作について説明する。リードリクエストとそのアド
レスは信号線51.53を通してアドレスセレクタ(S
AX)1.ステータスセレクタ(SSX)2により選択
され、アドレスレジスタ(AAR)3とステータスレジ
スタ(SAR)4に格納される。5AR4によってリー
ドリクエストであることが解読されると、アドレスアレ
イ(AA)5とAAR3の出力の一部59によりアドレ
ッシングされ、AA5の出力とAAR3の出力の別の一
部が比較器7により比較される。AARlの下位2ビツ
トは信号線60を通じて、リードライトデコーダ(Il
14DEC) 6により各出力がブロック内のワード位
置を表わす様にデコードされる。この場合は2ビツトが
4木となる。AA5の■0から■3の各部はブロック内
の各誌の有効を表示しており、ゲート群8によりAAR
lに保持されているアドレスのブロック内のワードに対
する■0から■3において有効性が吟味される。First, an operation related to a read request from a host device (not shown) will be explained. The read request and its address are sent to the address selector (S) through signal lines 51 and 53.
AX)1. It is selected by the status selector (SSX) 2 and stored in the address register (AAR) 3 and status register (SAR) 4. When it is decoded as a read request by 5AR4, it is addressed by address array (AA) 5 and part 59 of the output of AAR3, and the output of AA5 and another part of the output of AAR3 are compared by comparator 7. Ru. The lower two bits of AARl are sent to a read/write decoder (Il) through a signal line 60.
14DEC) 6 decodes each output to represent a word position within the block. In this case, 2 bits become 4 trees. Each part of AA5 from ■0 to ■3 displays the validity of each magazine in the block, and gate group 8 allows AAR
The validity of the words in the block of addresses held in 1 is examined from 0 to 3.
AA部3によるAA5のアクセスの結果は以下の3つに
分類することかできステータスレジスタ(SBR)1.
0に格納される。The results of access to AA5 by AA unit 3 can be classified into the following three types: status register (SBR)1.
Stored at 0.
a、キャッシュヒラ1〜(条件: IIIT ・VAI
ID) ;キャッシュ記憶内に要求されたデータが存在
し、かつブロック内の有効ビットが1つも無効になって
いない。a, Cash Hiller 1~ (Condition: IIIT/VAI
ID) ; The requested data is present in cache storage and no valid bits in the block are invalidated.
b、キャツシュヒツト(条件:旧■・血):キャッシュ
記憶内に要求されたデータが存在し、かつブロック内の
有効ビットのうち無効になっているビットが1つ以上あ
る。b. Cash hit (condition: old ■/blood): The requested data exists in the cache memory, and one or more valid bits in the block are invalid.
C,キャッシュミス(条件:旧S):キャ・ンシュ記憶
内に要求されたデータか存在しない。C. Cache miss (condition: old S): The requested data does not exist in the cache memory.
5BRIOの状態から次のサイクルの動作が決定する。The operation of the next cycle is determined from the state of 5BRIO.
a、旧■・V^11[1の場合ニアドレスレジスタ(A
BR)9の出カフ3によりデータアレイ(DA)13が
アドレッシングされ、その出力がデータセレクタ(SD
X)14で信号線75により選択され、データレジスタ
(DCR>15に格納され、次のサイクルに要求元へ返
される。a, old ■・V^11[If 1, near address register (A
The data array (DA) 13 is addressed by the output 3 of the BR) 9, and its output is sent to the data selector (SD).
X) 14 by the signal line 75, stored in the data register (DCR>15), and returned to the request source in the next cycle.
b 、 HIT −VALID )場合: 110 ・
VAIID ノ場合と同様にデータが要求元へ返される
。同時に主記憶へのデータの読出し要求が発行される。b, HIT-VALID) case: 110 ・
The data is returned to the requestor as in the VAIID case. At the same time, a request to read data to the main memory is issued.
リクエストアドレスはABR9の出カフ2によって指示
される。ABR9と5BRIOの内容が信号線71.7
4によりSAX、SSXを経由して、それぞれAA部3
と5AR4に格納される。AA5はリードリクエストの
場合と同様にAA部3によりアドレッシングされるが、
この場合にはAA5のAA部には信号線57によるAA
部3の上位が書込まれる。■0からv3には0がセット
される。The request address is indicated by output cuff 2 of ABR9. The contents of ABR9 and 5BRIO are signal lines 71.7
4 via SAX and SSX, respectively to AA section 3.
and stored in 5AR4. AA5 is addressed by the AA section 3 as in the case of a read request, but
In this case, the AA section of AA5 is connected to the signal line 57.
The upper part of part 3 is written. (2) 0 is set from 0 to v3.
C1旧Sの場合:主記憶へデータの読出し要求が発行さ
れ、以下の動作は旧■ ・VALIDの場合と同様にし
て行なわれる。In the case of C1 old S: A data read request is issued to the main memory, and the following operations are performed in the same way as in the case of old ■ VALID.
次に、主記憶からのデータ読出し動作について述べる。Next, the operation of reading data from the main memory will be described.
データは信号fl!77によってデータレジスタ(DA
R)11に格納され、対応するアドレスが信号線102
と5AX1を経由してAA部3に格納される。またデー
タの読出しである旨がSARに格納される。AA5はA
A部3の出力59によりアドレッシングされる。AA部
3の別の出力60とデコーダ(RHEC)6により読出
されるブロック内のワード位置により■0からv3が選
択され“1″が書込まれる。Data is signal fl! 77 to the data register (DA
R) 11, and the corresponding address is stored in the signal line 102.
and is stored in the AA section 3 via 5AX1. Also, information indicating that data is being read is stored in the SAR. AA5 is A
It is addressed by the output 59 of the A section 3. Based on another output 60 of the AA section 3 and the word position within the block read by the decoder (RHEC) 6, v3 is selected from 0 and "1" is written.
次のサイクルでは、DARIIの内容、即ち読出しデー
タかデータレジスタ(DBR>12に移動する。DA1
3はABR9によりアドレッシングされ、5BRIOの
指示によりDBR12のデータが書込まれる。データの
読出しは上記動作がこの例では4回行なわれる。In the next cycle, the contents of DARII, ie, read data, are moved to the data register (DBR>12.DA1
3 is addressed by ABR9, and data in DBR12 is written in accordance with an instruction from 5BRIO. In reading data, the above operation is performed four times in this example.
主記憶からデータか到来する順番はキャツシュヒツト(
HIT ・VALID)またはキャッシュミス(旧S)
をしたアドレスから始まり、ブロック内のアドレスを順
回する様に送られてくる。以下の動作はキャッシュしッ
ト(旧■・VALID)およびキャッシュミス(旧S)
と同様にして行なわれる。ただし、キャッシュミスの場
合は最初のロードの動作はDA13にDBR12の内容
を書込む際、DCRI5の入力は5DX14によってD
B F(12の出カフ9が信号線76により選択され
、次のサイクルで読出しデータが上位装置に返される。The order in which data arrives from main memory is
HIT / VALID) or cache miss (old S)
The data is sent to the addresses in the block, starting from the address where the block was created. The following operations are cache hits (old ■・VALID) and cache misses (old S)
It is done in the same way. However, in the case of a cache miss, the first load operation is when writing the contents of DBR12 to DA13, the input of DCRI5 is D by 5DX14.
B F (12 output cuffs 9 are selected by the signal line 76, and read data is returned to the host device in the next cycle.
第4図は第1図のブロックにおCするゲート群8の具体
例を示しており、先の実施例と同様にキャツシュヒツト
、ミス判定用比較器7の出カフ0と、リードライトデコ
ーダ6の出力61〜64と、更には有効ビット■0〜■
3の各ビット出力66〜69とを用いて、AA5のアク
セス結果であるIIIT、HIS及びVALIDを判定
するためゲート回路である。この様に、キャッシュしブ
ト時に少くとも1の有効ビットが無効を示すとき、キャ
ッシュミスと同じ様に主記憶装置からデータ読出しを行
い、キャッシュメモリに対して主記憶装置のデータを反
映させるようにしているので、キャッシュしブト率の向
上が期待できることになる。FIG. 4 shows a concrete example of the gate group 8 connected to the block of FIG. Outputs 61 to 64 and valid bits ■0 to ■
This is a gate circuit for determining IIIT, HIS, and VALID, which are the access results of AA5, using the respective bit outputs 66 to 69 of AA5. In this way, when at least 1 valid bit indicates invalid when caching is booted, the data is read from the main memory in the same way as a cache miss, and the data in the main memory is reflected in the cache memory. Therefore, we can expect an improvement in the cache and boot rate.
魚朋!と1果
軟土の如く、本発明によれば、キャッシュミス時に1つ
の有効ビットが無効を示すとき、無効ワードは主記憶か
ら読出してキャッシュメモリへ反映させ、有効ワードは
キャッシュメモリから読出すので、データのキャッシュ
メモリへの反映時の動作時間が短縮でき、よってメモリ
アクセスの高速化が図れるという効果がある。Fish friend! According to the present invention, when one valid bit indicates invalidity at the time of a cache miss, the invalid word is read from the main memory and reflected in the cache memory, and the valid word is read from the cache memory. This has the effect of reducing the operating time when data is reflected in the cache memory, thereby speeding up memory access.
また、キャツシュヒツト時に少くとも1つの有効ビット
が無効を示すとき、キャッシュミスと同様に主記憶装置
より対応ブロックデータを読出してキャッシュメモリノ
\無効ワードを反映させるようにしているので、キャツ
シュヒツト率が向上し、よってメモリアクセスの高速化
が図れるという効果がある。Furthermore, when at least one valid bit indicates invalid during a cache hit, the corresponding block data is read from the main memory and the invalid word is reflected in the cache memory, similar to a cache miss, improving the cache hit rate. This has the effect of speeding up memory access.
第1図は本発明の実施例のブロック図、第2図は第1図
のブロックのゲート群の具体例回路図、第3図は本発明
の他の実緒例のブロック図、第4図は第3図のブロック
のゲート群の具体例回路図である。
主要部分の符号の説明
5・・・・・・アドレスアレイ
7・・・・・・比較器
8・・・・・・ゲート群
13・・・・・・データアレイ
出願人 日本電気株式会社(外1名)FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is a specific example circuit diagram of the gate group of the block in FIG. 1, FIG. 3 is a block diagram of another practical example of the present invention, and FIG. FIG. 4 is a specific example circuit diagram of a gate group of the block of FIG. 3; Description of symbols of main parts 5 Address array 7 Comparator 8 Gate group 13 Data array Applicant: NEC Corporation 1 person)
Claims (2)
なるブロック単位で保持し、これ等ブロック内のデータ
の有効性を管理するための有効ビットをワード単位で有
するキャッシュメモリの制御方式であって、前記キャッ
シュメモリへの読出し要求に応答してキャッシュヒット
かキャッシュミスかを判定する手段と、キャッシュミス
と判定されたとき、読出し対象のブロックにおけるワー
ド単位の有効ビットの無効化状態を検出する手段を設け
、この検出結果が1つのワードのみの無効を示している
とき、この無効となっているワードを前記主記憶装置か
ら読出すと共に他のワードは前記キャッシュメモリから
読出し、前記検出結果が複数のワードの無効を示してい
るとき、前記主記憶装置から読出し要求のブロックを読
出すようにしたことを特徴とするキャッシュメモリ制御
方式。(1) A cache memory control method in which copies of data in the main memory are held in blocks consisting of multiple words, and each word has a valid bit for managing the validity of the data in these blocks. means for determining whether it is a cache hit or a cache miss in response to a read request to the cache memory; and when a cache miss is determined, detecting an invalidation state of a valid bit in a word unit in a block to be read. means is provided, and when the detection result indicates that only one word is invalid, the invalid word is read from the main memory and the other words are read from the cache memory, and the detection result is read from the cache memory. 1. A cache memory control method, characterized in that when a plurality of words are invalid, a block of a read request is read from the main storage device.
なるブロック単位で保持し、これ等ブロック内のデータ
の有効性を管理するための有効ビットをワード単位で有
するキャッシュメモリの制御方式であって、前記キャッ
シュメモリへの読出し要求に応答してキャッシュヒット
かキャッシュミスかを判定する手段と、キャッシュヒッ
トと判定されたとき、読出し対象のブロックにおけるワ
ード単位の有効ビットの無効化状態を検出する手段を設
け、この検出結果が少なくとも1つのワードの無効を示
しているとき、読出し要求元に対してキャッシュメモリ
から対応するブロックを読出して送出すると共に前記主
記憶装置に対して対応するブロックの読出しをなすよう
にしたことを特徴とするキャッシュメモリ制御方式。(2) A cache memory control method in which copies of data in the main memory are held in blocks consisting of multiple words, and each word has a valid bit for managing the validity of data within these blocks. means for determining whether it is a cache hit or a cache miss in response to a read request to the cache memory; and when a cache hit is determined, detecting an invalidation state of a valid bit in a word unit in a block to be read. means is provided, and when the detection result indicates that at least one word is invalid, the corresponding block is read and sent from the cache memory to the read request source, and the corresponding block is read from the main storage device. A cache memory control method characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63264427A JP2716163B2 (en) | 1988-10-20 | 1988-10-20 | Cache memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63264427A JP2716163B2 (en) | 1988-10-20 | 1988-10-20 | Cache memory control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02110752A true JPH02110752A (en) | 1990-04-23 |
JP2716163B2 JP2716163B2 (en) | 1998-02-18 |
Family
ID=17403030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63264427A Expired - Lifetime JP2716163B2 (en) | 1988-10-20 | 1988-10-20 | Cache memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2716163B2 (en) |
-
1988
- 1988-10-20 JP JP63264427A patent/JP2716163B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2716163B2 (en) | 1998-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5689679A (en) | Memory system and method for selective multi-level caching using a cache level code | |
EP0095033B1 (en) | Set associative sector cache | |
US5371870A (en) | Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching | |
US5940856A (en) | Cache intervention from only one of many cache lines sharing an unmodified value | |
US5946709A (en) | Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing | |
US6018791A (en) | Apparatus and method of maintaining cache coherency in a multi-processor computer system with global and local recently read states | |
JP3533355B2 (en) | Cache memory system | |
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 | |
US5940864A (en) | Shared memory-access priorization method for multiprocessors using caches and snoop responses | |
JPS629942B2 (en) | ||
JPH03142644A (en) | Cache memory control system | |
US5943685A (en) | Method of shared intervention via a single data provider among shared caches for SMP bus | |
US20040215900A1 (en) | System and method for reducing contention in a multi-sectored cache | |
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 | |
JPH06318174A (en) | Cache memory system and method for performing cache for subset of data stored in main memory | |
US5535360A (en) | Digital computer system having an improved direct-mapped cache controller (with flag modification) for a CPU with address pipelining and method therefor | |
US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
WO1998047071A1 (en) | Read operations in multiprocessor computer system | |
KR100380674B1 (en) | Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system | |
US6658536B1 (en) | Cache-coherency protocol with recently read state for extending cache horizontally | |
GB2307319A (en) | Dual-directory virtual cache | |
US6826654B2 (en) | Cache invalidation bus for a highly scalable shared cache memory hierarchy | |
US5510973A (en) | Buffer storage control system | |
US6826655B2 (en) | Apparatus for imprecisely tracking cache line inclusivity of a higher level cache | |
JPS644214B2 (en) |