JPH0290348A - Cache memory system with variable data invalidation size - Google Patents
Cache memory system with variable data invalidation sizeInfo
- Publication number
- JPH0290348A JPH0290348A JP63245021A JP24502188A JPH0290348A JP H0290348 A JPH0290348 A JP H0290348A JP 63245021 A JP63245021 A JP 63245021A JP 24502188 A JP24502188 A JP 24502188A JP H0290348 A JPH0290348 A JP H0290348A
- Authority
- JP
- Japan
- Prior art keywords
- valid bit
- valid
- circuit
- address
- data
- 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
Links
- 230000006870 function Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はデータ無効化サイズ可変なキャッシュメモリシ
ステムに関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a cache memory system with variable data invalidation size.
従来のキャッシュメモリシステムは、格納しているデー
タの有効性の管理に、あるデータのサイズ毎にバリッド
ビットを設け、そのバリッドビットが“1″′のときは
データが有効、“0°”のときは無効とする方法を取っ
ている。バリッドビットを1″に立てる場合は、CPU
からの要求に応じてメインメモリからデータをキャッシ
ュメモリに格納した時であり、又は0°′にクリアする
場合は、初期設定以外には、格納していたデータの元で
あるメインメモリが、他のプロセッサあるいはコントロ
ーラによって書き替えられた時である。Conventional cache memory systems manage the validity of stored data by setting a valid bit for each size of data, and when the valid bit is "1", the data is valid, and when it is "0°". In some cases, the method is to invalidate it. When setting the valid bit to 1″, set the CPU
This is when data is stored from the main memory into the cache memory in response to a request from the main memory, or when cleared to 0°'. This is when it is rewritten by a processor or controller.
この“0”にクリアする場合は、コマンドによって全部
のバリッドビットをクリアする方法と、ブロックサイズ
と呼ばれる、メインメモリからキャッシュメモリへデー
タを格納する単位毎にクリアする方法などがある。When clearing to "0", there are two methods: clearing all valid bits with a command, and clearing each unit of data stored from the main memory to the cache memory, called block size.
上述した従来のキャッシュメモリは、例えばヒツト率を
上昇させる為にブロックサイズを16バイトにしている
と、−挙に16バイトがクリアされてしまうことになる
。しかし、“0″クリアする原因となったメインメモリ
の書き替えは、メインメモリのバスサイズが4バイトだ
とすると、プロセッサからはおそらく1回の書き替えは
4バイトであろうし、DMAコントローラからの書き替
えもバースト転送による16バイト転送などだけとは限
らず、1バイトのシングル転送もあり得る。In the conventional cache memory described above, for example, if the block size is set to 16 bytes in order to increase the hit rate, 16 bytes will be cleared all at once. However, if the main memory bus size is 4 bytes, the main memory rewrite that caused the clearing of "0" is probably 4 bytes per rewrite from the processor, and the rewrite from the DMA controller. However, it is not limited to 16-byte transfer by burst transfer, and single-byte transfer is also possible.
したがって、従来のように一回のメインメモリ書き替え
で16バイトを一挙にクリアしてしまうのは、4バイト
が1バイトのクリアで済む場合には大変効率が悪い。何
故なら、−度キャッシュメモリに格納したデータは幾度
とな(CPUから読み出しアクセスする確率が高いので
、クリアされてしまうと再びメインメモリからキャッシ
ュメモリへデータを取りに行かなければならないからで
ある。これはシステムの性能を低下させるという欠点が
ある。Therefore, it is very inefficient to clear all 16 bytes at once by rewriting the main memory once, as in the past, when clearing 1 byte out of 4 bytes is sufficient. This is because data stored in the cache memory has a high probability of being read and accessed by the CPU many times, so once it is cleared, the data must be retrieved from the main memory to the cache memory again. This has the disadvantage of reducing system performance.
本発明の目的は、メインメモリの書き替えられたデータ
・サイズに応じてクリアするバリッドビットの数の指示
を受は入れる機能を持ち、バリッドビットを単数もしく
は複数個のクリアが選択可能なキャッシュメモリシステ
ムを提供することにある。An object of the present invention is to provide a cache memory that has a function of accepting instructions for the number of valid bits to be cleared according to the rewritten data size of the main memory, and that allows selection of clearing of a single valid bit or a plurality of valid bits. The goal is to provide a system.
本発明のデータ無効化サイズ可変なキャッシュメモリシ
ステムは、データメモリを任意のサイズにバイト毎に用
意したバリッドビットを含んだバリッドピットメモリと
、外部からデータ無効化の為のアドレスを一時格納する
ラッチ又はカウンタと、該ラッチ又はカウンタからのア
ドレス信号の一部をデコードするデコーダと、バリッド
ビットクリアを起動するバリッドビットクリア指示回路
と、前記バリッドビットクリアの為のパルスを発生する
回路と、単一のバリッドビットをクリアするか複数のバ
リッドビットをクリアするか選択する回路とを含んで構
成される。The data invalidation size variable cache memory system of the present invention includes a valid pit memory containing valid bits prepared for each byte of data memory of an arbitrary size, and a latch that temporarily stores an address for data invalidation from the outside. or a counter, a decoder that decodes a part of the address signal from the latch or counter, a valid bit clear instruction circuit that starts valid bit clearing, and a circuit that generates a pulse for valid bit clearing; and a circuit for selecting whether to clear a valid bit or to clear a plurality of valid bits.
次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.
第1図は本発明の第1の実施例を示すブロック図で、本
発明に関係する部分のみを表わしている。バリッドビッ
トメモリ1およびデータメモリ2は、アドレスラッチ5
の一部であるセットアドレスからの信号群501がデコ
ーダ3によってデコードされたセットアドレスデコード
信号群301、・・・30n、・・・30mによってワ
ードが選択される。このバリッドピットメモリ1の各ワ
ードには4ビツトのバリッドビット、データメモリ2に
は4バイトのデータから成り、バリッドビット■0、V
l、V2.V3は各々データDo、Di。FIG. 1 is a block diagram showing a first embodiment of the present invention, showing only the parts related to the present invention. Valid bit memory 1 and data memory 2 are connected to address latch 5.
A word is selected by a set address decode signal group 301, . . . 30n, . Each word in valid pit memory 1 consists of 4 valid bits, data memory 2 consists of 4 bytes of data, and valid bits 0, V
l, V2. V3 is data Do and Di, respectively.
D2.D3と対応する。バリッドピットメモリ1のバリ
ッドビットクリアはラッチ5の一部であるバリッドアド
レス1と0からの信号502.503がデコーダ4によ
ってデコードされたバリッドビット信号群I401.4
02,403,404を基に行なわれる。D2. Corresponds to D3. Valid bit clearing of valid pit memory 1 is performed by valid bit signal group I401.4, which is obtained by decoding signals 502.503 from valid addresses 1 and 0, which are part of latch 5, by decoder 4.
02,403,404.
例えば、バリッドアドレス0,1が“00′′の場合に
は信号群I401,402,403,404はそれぞれ
°゛0°゛、“1”II I II、“1′′になる。For example, when valid addresses 0 and 1 are "00", the signal groups I401, 402, 403, and 404 become "0", "1" II I II, and "1", respectively.
NANDゲート11,12,13.14は4ビツトバリ
ッドビットクリア選択信号801によってバリッドビッ
ト信号群11111,121゜131.141を制御さ
れる。NAND gates 11, 12, 13, and 14 are controlled by valid bit signal groups 11111, 121, 131, and 141 by a 4-bit valid bit clear selection signal 801.
例えば、信号801がO″のとき信号群■111.12
1,131,141はo、o、o、。For example, when the signal 801 is O'', the signal group ■111.12
1,131,141 is o, o, o.
になり、信号801が“1″のとき、信号群I401.
402,403,404によって決定し、信号群工と■
はそれぞれ401,402,403゜404と111,
121,131,141が対応して同じ値になる。When the signal 801 is "1", the signal group I401.
Determined by 402, 403, 404, signal group engineer and ■
are 401, 402, 403°404 and 111, respectively.
121, 131, and 141 correspond to the same value.
バリッドビットメモリ1の書込みパルスは、パルス発生
回路7からのパルス信号701である。The write pulse for the valid bit memory 1 is a pulse signal 701 from the pulse generation circuit 7.
パルス発生回路7はパスクロック信号171と、バリッ
ドビットクリア指示回路6からの指示信号601を入力
して行なわれる。指示回路6は外部からのアドレスとキ
ャッシュメモリのタグ・アドレスとを比較し、一致した
ときに該当データのバリッドビットクリアを指示する回
路である。アドレスラッチ5はアドレス信号群端子15
から全アドレス信号群151を入力する。4ビツト・バ
リッドビットクリア選択信号801はインバータ8を通
って、4ビツト・バリッドビットクリア選択端子16が
“1″のとき“0′”になる。パスクロック信号171
はパスクロック端子17からパスクロックを入力する。The pulse generation circuit 7 is operated by inputting the pass clock signal 171 and the instruction signal 601 from the valid bit clear instruction circuit 6. The instruction circuit 6 is a circuit that compares the address from the outside with the tag address of the cache memory, and when they match, instructs to clear the valid bit of the corresponding data. Address latch 5 is address signal group terminal 15
The entire address signal group 151 is input from. The 4-bit/valid bit clear selection signal 801 passes through the inverter 8 and becomes "0'" when the 4-bit/valid bit clear selection terminal 16 is "1". Pass clock signal 171
inputs the pass clock from the pass clock terminal 17.
第2図は、選択信号801が” o ”の場合で、アド
レスラッチ5からの信号502,503によってバリッ
ドビットがクリアされるタイミングチャートである。信
号502,503が00の例で、デコーダ4により信号
群11111,121゜131.141は0.1,1.
1になる。クリア指示信号601が′″11パると、パ
ルス信号701の後縁のタイミングでバリッドビットv
O2Vl、V2.V3は前の状態がオール“1″だとす
ると、0,1,1.1になる。FIG. 2 is a timing chart in which the valid bit is cleared by the signals 502 and 503 from the address latch 5 when the selection signal 801 is "o". In the example where the signals 502 and 503 are 00, the decoder 4 converts the signal groups 11111, 121°131.141 into 0.1, 1, .
Becomes 1. When the clear instruction signal 601 reaches ``11'', the valid bit v is cleared at the timing of the trailing edge of the pulse signal 701.
O2Vl, V2. If the previous state of V3 is all "1", it becomes 0, 1, 1.1.
第3図は、選択信号801が゛′11パ合のタイミング
チャートで、アドレスラッチ5からの信号502,50
3に関係なく、信号群■はオール“0″となり、クリア
指示信号601が°“1”′で、パルス信号701の後
縁のタイミングで、バリッドビットはオール゛′0°′
になる。したがって、例えば、1バイトのキャッシュメ
モリ内のデータをクリアしたい時は4バイトバリッドピ
ットクリア選択端子16を“0°′にセットすればよい
し、4バイトのキャッシュメモリ内のデータをクリアし
たい時はクリア選択端子16を“1″にセットすればよ
い。FIG. 3 is a timing chart when the selection signal 801 matches '11' and the signals 502 and 50 from the address latch 5.
3, the signal group (2) is all "0", the clear instruction signal 601 is "1"', and the valid bits are all "0" at the timing of the trailing edge of the pulse signal 701.
become. Therefore, for example, if you want to clear the data in 1 byte of cache memory, you can set the 4 byte valid pit clear selection terminal 16 to "0°', and if you want to clear the data in 4 bytes of cache memory, The clear selection terminal 16 may be set to "1".
第4図は本発明の第2の実施例を示す回路図で、本発明
に関係する部分のみを表わしている。FIG. 4 is a circuit diagram showing a second embodiment of the present invention, showing only the parts related to the present invention.
第1の実施例との違いは、4ビツトクリアする場合に、
アドレスカウンタと、4回分のパルスを発生する回路を
有している点である。つまり、第1の実施例では4ビッ
ト同時にバリッドビットクリアを行なっているが、本実
施例ではアドレスをパスクロックに同期させてカウント
アツプ(ラップアラウンド)させて、4回のパルスによ
って順番にバリッドピットクリアを行なっている。この
実施例では、クリアによる同時動作による電源ノイズが
緩和されるという利点がある。The difference from the first embodiment is that when clearing 4 bits,
It has an address counter and a circuit that generates four pulses. In other words, in the first embodiment, four valid bits are cleared at the same time, but in this embodiment, the addresses are counted up (wraparound) in synchronization with the pass clock, and the valid bits are cleared in order by four pulses. Clearing is in progress. This embodiment has the advantage that power supply noise caused by simultaneous clear operations is alleviated.
以上説明したように本発明は、外部から与えられたデー
タ無効化の為のアドレスをアドレス・タグと照合を行な
い、もし一致すれば、該当するデータをそのデータに付
随したバリッドビットをクリアすることによって無効化
する機能を有するキャッシュシステムにおいて、データ
メモリを任意のサイズにバイト毎に用意したバリッドビ
ットを含んだバリッドピットメモリと、外部からデータ
無効化の為のアドレスを一時格納するラッチ又はカウン
タと、該ラッチ又はカウンタからのアドレス信号の一部
をデコードするデコーダと、バリッドビットクリアを起
動するバリッドビットクリア指示回路と、バリッドビッ
トクリアの為のパルスを発生する回路と、単一のバリッ
ドビットをクリアするか複数のバリッドビットをクリア
するか選択する回路とから構成することにより、メイン
メモリの書替えバイトに応じて、バイト毎単位のバリッ
ドピットクリアができ、キャッシュメモリシステムの性
能を向上させることができる。As explained above, the present invention compares an address for invalidating data given from the outside with an address tag, and if they match, clears the valid bit associated with the corresponding data. In a cache system that has a function to invalidate data, the data memory has a valid pit memory containing valid bits prepared for each byte of an arbitrary size, and a latch or counter that temporarily stores an address for invalidating data from the outside. , a decoder that decodes a part of the address signal from the latch or counter, a valid bit clear instruction circuit that starts valid bit clearing, a circuit that generates a pulse for valid bit clearing, and a single valid bit. By configuring it with a circuit that selects whether to clear or clear multiple valid bits, valid pits can be cleared for each byte according to the rewritten byte of the main memory, improving the performance of the cache memory system. can.
第1図は本発明の第1の実施例のブロック図、第2図は
同じく1バイト単位のクリア時のタイミングチャート、
第3図は同じく4バイト同時にクリア時のタイミングチ
ャート、第4図は本発明の第2の実施例のブロック図、
第5図は同じく4バイトを4パルスでクリアする時のタ
イミングチャートである。
1・・・バリッドピットメモリ、2・・・データメモリ
、3,4・・・デコーダ、5・・・ラッチ、6・・・指
示回路、7・・・パルス発生回路、8・・・インバータ
、11,12,13.14・・・ANDゲート、15,
16.17・・・端子、21・・・パルス発生回路、2
2・・・セレクタ、23・・・カウンタ、31..32
,33゜34・・・ANDゲート、311,321,3
31゜341・・・パーシャルライトパルス信号、30
1゜・・・30n、・・・30m・・・セットアドレス
デコード信号群、401,402,403,404・・
・バリッドピット信号群工、501・・・セットアドレ
ス信号群、502,503・・・バリッドアドレス信号
群、111.121,131,141・・・バリッドビ
ット信号群■、601・・・バリッドピットクリア指示
信号、701・・・1回パルス信号、211・・・4回
パルス信号、161・・・パスクロック信号、171・
・・4バイトバリッドビットクリア選択信号、151・
・・アドレス信号群。FIG. 1 is a block diagram of the first embodiment of the present invention, and FIG. 2 is a timing chart when clearing in 1-byte units.
FIG. 3 is a timing chart when 4 bytes are simultaneously cleared, and FIG. 4 is a block diagram of the second embodiment of the present invention.
FIG. 5 is a timing chart for clearing 4 bytes with 4 pulses. DESCRIPTION OF SYMBOLS 1... Valid pit memory, 2... Data memory, 3, 4... Decoder, 5... Latch, 6... Instruction circuit, 7... Pulse generation circuit, 8... Inverter, 11, 12, 13. 14...AND gate, 15,
16.17...Terminal, 21...Pulse generation circuit, 2
2...Selector, 23...Counter, 31. .. 32
, 33° 34...AND gate, 311, 321, 3
31°341...Partial write pulse signal, 30
1°...30n,...30m...Set address decode signal group, 401, 402, 403, 404...
- Valid pit signal group, 501... Set address signal group, 502, 503... Valid address signal group, 111.121, 131, 141... Valid bit signal group ■, 601... Valid pit clear Instruction signal, 701...1 pulse signal, 211...4 pulse signal, 161...pass clock signal, 171.
・・4-byte valid bit clear selection signal, 151・
...address signal group.
Claims (1)
合を行ない、もし一致すれば該当するデータをそのデー
タに付随したバリッドビットをクリアすることによって
無効化する機能を有するキャッシュシステムにおいて、
データメモリを任意のサイズにバイト毎に用意したバリ
ッドビットを含んだバリッドビットメモリと、外部から
データ無効化の為のアドレスを一時格納するラッチ又は
カウンタと、該ラッチ又はカウンタからのアドレス信号
の一部をデコードするデコーダと、バリッドビットクリ
アを起動するバリッドビットクリア指示回路と、前記バ
リッドビットクリアの為のパルスを発生する回路と、単
一のバリッドビットをクリアするか複数のバリッドビッ
トをクリアするか選択する回路とを含むことを特徴とす
るデータ無効化サイズ可変なキャッシュメモリシステム
。In a cache system that has the function of checking an address tag for invalidating data given from the outside, and invalidating the corresponding data by clearing the valid bit attached to the data if there is a match,
A valid bit memory containing valid bits prepared for each byte in a data memory of an arbitrary size, a latch or counter that temporarily stores an address for invalidating data from the outside, and one address signal from the latch or counter. a decoder that decodes a valid bit, a valid bit clear instruction circuit that starts valid bit clearing, a circuit that generates a pulse for clearing the valid bit, and a circuit that clears a single valid bit or clears multiple valid bits. A data invalidation size variable cache memory system, comprising: a circuit for selecting data invalidation size.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63245021A JPH0290348A (en) | 1988-09-28 | 1988-09-28 | Cache memory system with variable data invalidation size |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63245021A JPH0290348A (en) | 1988-09-28 | 1988-09-28 | Cache memory system with variable data invalidation size |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0290348A true JPH0290348A (en) | 1990-03-29 |
Family
ID=17127398
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63245021A Pending JPH0290348A (en) | 1988-09-28 | 1988-09-28 | Cache memory system with variable data invalidation size |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0290348A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7047363B2 (en) | 2002-07-12 | 2006-05-16 | Nec Electronics Corporation | Cache memory and control method thereof |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6083156A (en) * | 1983-10-13 | 1985-05-11 | Fujitsu Ltd | Buffer storage control system |
| JPS6184753A (en) * | 1984-10-01 | 1986-04-30 | Hitachi Ltd | buffer memory |
| JPS63266560A (en) * | 1987-04-24 | 1988-11-02 | Hitachi Ltd | Buffer memory control method |
-
1988
- 1988-09-28 JP JP63245021A patent/JPH0290348A/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6083156A (en) * | 1983-10-13 | 1985-05-11 | Fujitsu Ltd | Buffer storage control system |
| JPS6184753A (en) * | 1984-10-01 | 1986-04-30 | Hitachi Ltd | buffer memory |
| JPS63266560A (en) * | 1987-04-24 | 1988-11-02 | Hitachi Ltd | Buffer memory control method |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7047363B2 (en) | 2002-07-12 | 2006-05-16 | Nec Electronics Corporation | Cache memory and control method thereof |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5493666A (en) | Memory architecture using page mode writes and single level write buffering | |
| JP3304893B2 (en) | Memory selection circuit and semiconductor memory device | |
| JPH11126486A (en) | Method for assigning priority order of coincidence signal and coincidence address signal in encoder of content addressable memory | |
| US4037213A (en) | Data processor using a four section instruction format for control of multi-operation functions by a single instruction | |
| JPH05120114A (en) | Random access memory which is operated in synchronization with microprocessor | |
| US20030005255A1 (en) | Method and system for fast data access using a memory array | |
| US5301292A (en) | Page mode comparator decode logic for variable size DRAM types and different interleave options | |
| AU619088B2 (en) | A partially storing control circuit used in a memory unit | |
| US3480917A (en) | Arrangement for transferring between program sequences in a data processor | |
| JPH0290348A (en) | Cache memory system with variable data invalidation size | |
| US6230237B1 (en) | Content addressable memory with an internally-timed write operation | |
| KR100517765B1 (en) | Cache memory and control method thereof | |
| JPH0798990A (en) | Read switching circuit for rom | |
| JPH0844621A (en) | Processing unit and method for generation of memory access cycle at inside of processing unit | |
| JPH0365727A (en) | Microprogram storage system | |
| KR950010526B1 (en) | Cache circuit to reduce cache hit time LRU setting time | |
| SU1280643A1 (en) | Interface for linking two microcomputers with common memory | |
| KR950003884B1 (en) | Personal computer bus interface circuit | |
| JPH0644786A (en) | Semiconductor memory | |
| JPH02136921A (en) | Register access method | |
| JPH08212773A (en) | Memory device access method and synchronous memory device | |
| JPH04112251A (en) | Microcomputer | |
| JPS6321276B2 (en) | ||
| JPH01128143A (en) | Microcomputer system | |
| JPS598058A (en) | microprocessor |