JP2595753B2 - Invalidation method of cache memory - Google Patents

Invalidation method of cache memory

Info

Publication number
JP2595753B2
JP2595753B2 JP2081270A JP8127090A JP2595753B2 JP 2595753 B2 JP2595753 B2 JP 2595753B2 JP 2081270 A JP2081270 A JP 2081270A JP 8127090 A JP8127090 A JP 8127090A JP 2595753 B2 JP2595753 B2 JP 2595753B2
Authority
JP
Japan
Prior art keywords
array
address
arithmetic processing
valid bit
processing unit
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.)
Expired - Fee Related
Application number
JP2081270A
Other languages
Japanese (ja)
Other versions
JPH03282753A (en
Inventor
一之 藤原
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 JP2081270A priority Critical patent/JP2595753B2/en
Publication of JPH03282753A publication Critical patent/JPH03282753A/en
Application granted granted Critical
Publication of JP2595753B2 publication Critical patent/JP2595753B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキャッシュメモリ装置に関し、特にアドレス
・アレイのバリッドビットの処理に関する。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache memory device, and more particularly, to processing of a valid bit of an address array.

〔従来の技術〕[Conventional technology]

一般に、キャッシュメモリはブロック単位で管理され
ていて、例えば、1ブロックを64バイトの大きさにとる
と、キャッシュ容量64kバイトのキャッシュメモリでは1
kのアドレスを保持するためのアドレス・アレイが必要
になる。複数の演算処理装置が主記憶装置を共有する場
合、このアドレス・アレイによって指定されるブロック
アドレスをもつキャッシュメモリの有効性を示すバリッ
ドビット・アレイがある。
Generally, a cache memory is managed in units of blocks. For example, if one block is 64 bytes in size, a cache memory with a cache capacity of 64 kbytes has a capacity of 1 block.
An address array is needed to hold k addresses. When a plurality of processing units share the main memory, there is a valid bit array indicating the validity of the cache memory having the block address specified by the address array.

従来のこの種のバリッドビット・アレイの構成が第3
図のブロック図に示す。演算処理装置がキャッシュメモ
リをアクセスする場合、アクセスするメモリブロックが
有効であるかどうかを調べるために、バリッドビット・
アレイ21の記憶内容を読み出すことが行われる。同図
(a)は読み出し動作を説明するもので、バリッドビッ
ト・アレイ21の各記憶素子の記憶内容をそれぞれm0、m
1、……、mnで示す。このとき、書き込みイネーブル端
子23が「0」になっているので、カラムアドレスポート
25によって指定されたブロックアドレスの記憶素子21a
の内容m4が、読み出しデータポート24に出力される。次
に、他の演算処理装置が主記憶装置を書き換えると、書
き換えられた主記憶装置の内容がキャッシュされている
ときは対応するブロックアドレスのバリッドビットをリ
セットする必要がある。同図(b)は書き込み動作を説
明するもので、書き込みイネーブル端子23が「1」にな
っているので、カラムアドレスポート25によって指定さ
れたブロックアドレスの記憶素子21bの内容m1が「0」
に書き換えられる。このように、バリッドビットの読み
出しをするか、「0」書き込みをするかの指定は、書き
込みイネーブル端子23を「0」にするか「1」にするか
によって行っている。
The configuration of this type of conventional valid bit array is the third.
This is shown in the block diagram of FIG. When an arithmetic processing unit accesses a cache memory, a valid bit is used to check whether a memory block to be accessed is valid.
Reading out the stored contents of the array 21 is performed. FIG. 7A illustrates a read operation, in which the storage contents of each storage element of the valid bit array 21 are respectively m0 and m.
Shown by 1, ..., mn. At this time, since the write enable terminal 23 is "0", the column address port
Storage element 21a of the block address specified by 25
Is output to the read data port 24. Next, when another arithmetic processing unit rewrites the main storage device, if the rewritten contents of the main storage device are cached, it is necessary to reset the valid bit of the corresponding block address. FIG. 8B illustrates the write operation. Since the write enable terminal 23 is “1”, the content m1 of the storage element 21b at the block address specified by the column address port 25 is “0”.
Is rewritten as As described above, whether to read a valid bit or write "0" is determined by setting the write enable terminal 23 to "0" or "1".

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

しかしながら、上記従来のキャッシュメモリの無効化
方式では書き込みイネーブル端子の信号切り替えによっ
てバリッドビットの読み出し、書き込みを切り替えてい
るので、これらを同時に実行することはできなかった。
すなわち、一つの演算処理装置が主記憶装置をアクセス
するためにバリッドビットを読み出すのとほとんど同じ
タイミングで他の演算処理装置からバリッドビット無効
化のための「0」書き込みの要求があった場合、この二
つの動作を同一のマシンサイクルで実行することはでき
なかった。したがって、どちらかの動作を1マシンサイ
クルだけ遅らせて実行することになり、処理時間の無駄
があった。
However, in the above-described conventional invalidation method of the cache memory, reading and writing of the valid bit are switched by switching the signal of the write enable terminal, and therefore, these cannot be executed simultaneously.
That is, when there is a request to write “0” for invalidation of a valid bit from another arithmetic processing device at almost the same timing as one arithmetic processing device reads a valid bit to access the main storage device, These two operations could not be executed in the same machine cycle. Therefore, one of the operations is executed with a delay of one machine cycle, and the processing time is wasted.

本発明はこのような従来の問題を解決するものであ
り、前記の二つの動作を同一のマシンサイクルで実行で
きるようにして処理時間の短縮をすることができるキャ
ッシュメモリの無効化方式を提供することを目的とする
ものである。
The present invention solves such a conventional problem, and provides a cache memory invalidation method capable of reducing the processing time by enabling the two operations to be executed in the same machine cycle. The purpose is to do so.

〔課題を解決するための手段〕[Means for solving the problem]

上記の目的を達接するために、本発明においては、複
数の演算処理装置に共有される主記憶装置と、キャッシ
ュメモリを備えるコンピュータシステムにおいて、書き
込みカラム・アドレスポートと、読み出しカラム・アド
レスポートとを備えて、ある一つの演算処理装置からの
キャッシュメモリをアクセスするためのアドレス・アレ
イの索引動作と、前記演算処理装置以外の他の演算処理
装置からのキャッシュ一致処理によるアドレス・アレイ
への「0」書き込み動作とを同一マシンサイクルで実行
する構成である。
In order to achieve the above object, according to the present invention, in a computer system having a main storage device shared by a plurality of arithmetic processing units and a cache memory, a write column address port and a read column address port are provided. In addition, an address array indexing operation for accessing a cache memory from a certain arithmetic processing unit, and "0" to the address array by a cache matching process from another arithmetic processing unit other than the arithmetic processing unit are provided. The write operation is executed in the same machine cycle.

〔作 用〕(Operation)

本発明はこのように構成されているので、読み出しカ
ラム・アドレスポートから入力された演算処理装置から
のブロックアドレスのバリッドビットの読み出しと、書
き込みカラム・アドレスポートから入力された他の演算
処理装置からのブロックアドレスのバリッドビットへの
書き込みとを同一のマシンサイクルで実行することがで
きる。
Since the present invention is configured as described above, the valid bit read of the block address from the arithmetic processing device input from the read column address port and the read from the other arithmetic processing device input from the write column address port are performed. And writing of the block address to the valid bit can be executed in the same machine cycle.

〔実施例〕〔Example〕

以下本発明の実施例を図面によって説明する。第1図
は本発明の方式の一実施例における構成を示すブロック
図である。第1図において、Aは主記憶装置へアクセス
を要求した演算処理装置、Bは主記憶装置を書き換えた
他の演算処理装置、Cは他の演算処理装置Bが書き換え
たメモリブロックと同じブロックがキャッシュメモリに
存在するかどうかを調べるフラッシュ・アレイ部で、D
は演算処理装置Aからアクセス要求があったメモリブロ
ックを索引するアドレス・アレイ部である。Dは演算処
理装置Aからアクセス要求があったメモリブロックのア
ドレスを保持するレジスタD1と、データアレイ部Eに保
持されているメモリブロックのアドレスを128カラム、
4レベルで保持するアドレス・アレイD2と、メモリブロ
ックの有効状態を示す128カラム、4レベルのバリット
ビット・アレイD6と、演算処理装置Aからアクセス要求
があったメモリブロックがデータアレイ部Eに存在する
かどうかを調べる比較器D3と、この比較器D3の出力とバ
リッドビット・アレイD6の出力との理論積をとるアンド
ゲートD5と、このアンドゲートD5の出力を保持するレジ
スタD4とから構成される。フラッシュ・アレイ部Cは他
の演算処理装置が書き換えたメモリブロックのアドレス
を保持するレジスタC1と、アドレス・アレイD2と同一の
構成で同一の内容をもつフラッシュ・アレイC2と、無効
メモリブロックが存在するレベルを調べる比較器C3と、
このレベルを保持するレジスタC4と、無効メモリブロッ
クのカラムアドレスを保持するレジスタD7とから構成さ
れる。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration in one embodiment of the system of the present invention. In FIG. 1, A is an arithmetic processing unit that has requested access to the main storage device, B is another arithmetic processing device that has rewritten the main storage device, and C is the same block as the memory block that has been rewritten by the other processing device B. In the flash array unit for checking whether or not it exists in the cache memory, D
Reference numeral denotes an address array unit for indexing a memory block requested to be accessed by the arithmetic processing unit A. D is a register D1 for holding an address of a memory block requested to be accessed by the arithmetic processing unit A, and a 128-column address of the memory block held in the data array unit E
An address array D2 held at four levels, 128 columns indicating the valid state of the memory block, a four-level valid bit array D6, and a memory block requested to be accessed by the processing unit A are present in the data array unit E. A comparator D3 for determining whether or not to perform the operation, an AND gate D5 for calculating the logical product of the output of the comparator D3 and the output of the valid bit array D6, and a register D4 for holding the output of the AND gate D5. You. The flash array section C includes a register C1 for holding the address of a memory block rewritten by another processing unit, a flash array C2 having the same configuration and the same contents as the address array D2, and an invalid memory block. A comparator C3 for examining the level to be performed,
It comprises a register C4 for holding this level and a register D7 for holding the column address of the invalid memory block.

次に、上記実施例の動作について説明する。演算処理
装置Aがアクセス要求したメモリブロックのアドレスが
レジスタD1に保持され、次のマシンサイクルでレジスタ
D1に保持されているブロックアドレスがデータアレイ部
Eに存在するかどうかアドレス・アレイD2を索引する。
同時に、アクセス要求したブロックアドレスのメモリブ
ロックがキャッシュ一致処理によって無効化されていな
いかを調べるために、バリッドビット・アレイD6の読み
出しを行い、この読み出された記憶内容とレジスタD1に
保持されているブロックアドレスとの理論積をアンドゲ
ートD5でとり、レジスタD4に格納する。他の演算処理装
置Bが主記憶装置の内容を書き換えると、書き換えられ
たメモリブロックのアドレスがフラッシュ・アレイ部C
のレジスタC1に通知される。フラッシュ・アレイ部Cで
はフラッシュ・アレイC2を索引し、レジスタC1に保持さ
れているメモリブロックがデータアレイ部Eに存在して
いるかを調べ、存在していれば無効メモリブロックのレ
ベルを保持するレジスタC4を介してアドレス・アレイ部
Dのバリッドビット・アレイD6の書き込みイネーブル端
子D63を「1」にする。また、無効メモリブロックのカ
ラムアドレスを保持するレジスタD7によって指定される
カラムアドレスに対応するブロクアドレスのバリッドビ
ットを「0」に書き換える。この時のタイミングが前記
バリッドビット・アレイD6の読み出しのタイミングと重
なった場合には、同一マシンサイクルで実行することが
できる。
Next, the operation of the above embodiment will be described. The address of the memory block requested to be accessed by the arithmetic processing unit A is held in the register D1, and the register is registered in the next machine cycle.
The address array D2 is indexed to see if the block address held in D1 exists in the data array section E.
At the same time, the valid bit array D6 is read to check whether the memory block of the block address requested for access has been invalidated by the cache matching process, and the read memory contents and the data stored in the register D1 are stored. The logical product with the block address is taken by the AND gate D5 and stored in the register D4. When another arithmetic processing unit B rewrites the contents of the main storage device, the address of the rewritten memory block is changed to the flash array unit C.
To the register C1. In the flash array section C, the flash array C2 is indexed to check whether the memory block held in the register C1 exists in the data array section E, and if it exists, the register holding the level of the invalid memory block The write enable terminal D63 of the valid bit array D6 of the address array unit D is set to "1" via C4. Further, the valid bit of the block address corresponding to the column address specified by the register D7 holding the column address of the invalid memory block is rewritten to “0”. If the timing at this time coincides with the timing of reading the valid bit array D6, it can be executed in the same machine cycle.

次に、第2図に示したバリッドビット・アレイD6の詳
細の構成を参照して同一マシンサイクルで実行できるこ
とを説明する。レジスタC4からの出力で対応するレベル
のバリッドビット・アレイD6の書き込みイネーブル端子
D63が「1」になる。この時、読み出しカラム・アドレ
スポートD66における演算処理装置Aからのアクセス要
求に基づく読み出しのためのカラムアドレスの指定と、
書き込むカラム・アドレスポートD65における他の演算
処理装置Bからの無効化処理のためのカラムアドレスの
指定とが、たとえ、同時に発生していても、読み出しカ
ラム・アドレスポートD66によって指定された記憶素子D
61bが読み出しデータポートD64に出力される動作と、書
き込みカラム・アドレスポートD65によって指定された
記憶素子D61aに「0」を書き込まれる動作とが同一のマ
シンサイクルで実行される。
Next, with reference to the detailed configuration of the valid bit array D6 shown in FIG. 2, it will be described that it can be executed in the same machine cycle. Write enable pin of valid bit array D6 at the corresponding level with the output from register C4
D63 becomes “1”. At this time, designation of a column address for reading based on an access request from the arithmetic processing unit A at the reading column address port D66,
Even if the column address specification for invalidation processing from another arithmetic processing unit B at the write column address port D65 is simultaneously occurring, the storage element D specified by the read column address port D66
The operation of outputting 61b to the read data port D64 and the operation of writing “0” to the storage element D61a specified by the write column address port D65 are executed in the same machine cycle.

したがって、以上のような方式によれば、読み出しカ
ラム・アドレスポートD66と、書き込みカラム・アドレ
スポートD65とを独立して備えているため、メモリブロ
ックのアクセス要求を中断することなく、バリッドビッ
トのリセット動作を同時に実行することができる。
Therefore, according to the above-described method, since the read column address port D66 and the write column address port D65 are independently provided, the reset of the valid bit can be performed without interrupting the memory block access request. Operations can be performed simultaneously.

〔発明の効果〕〔The invention's effect〕

本発明によれば、上記実施例から明らかなように、同
一のマシンサイクル内でアドレス・アレイのバリッドビ
ットの読み出しと書き込みを実行することができるの
で、演算処理装置のキャッシュメモリのアクセス動作を
中断することなく、キャッシュ一致処理を実行すること
ができるという効果がある。
According to the present invention, as is apparent from the above embodiment, the reading and writing of the valid bit of the address array can be executed within the same machine cycle, so that the access operation of the cache memory of the arithmetic processing unit is interrupted. There is an effect that the cache matching process can be executed without performing.

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

第1図および第2図は本発明の方式の一実施例における
構成を示すブロック図、第3図は従来の方式のブロック
図である。 A……演算処理装置、B……他の演算処理装置、C……
フラッシュ・アレイ部、C1、C4……レジスタ、C2……フ
ラッシュ・アレイ、C3……比較器、D……アドレス・ア
レイ部、D1、D4、D7……レジスタ、D2……アドレス・ア
レイ、D3……比較器、D5……アンドゲート、D6……バリ
ッドビット・アレイ、D61……記憶素子、D62……書き込
みデータポート、D63……書き込みイネーブル端子、D64
……読み出しデータポート、D65……書き込みカラム・
アドレスポート、D66……読み出しカラム・アドレスポ
ート、E……データアレイ部。
1 and 2 are block diagrams showing the configuration of an embodiment of the system of the present invention, and FIG. 3 is a block diagram of a conventional system. A: arithmetic processing unit, B: other arithmetic processing unit, C:
Flash array section, C1, C4 ... register, C2 ... flash array, C3 ... comparator, D ... address array section, D1, D4, D7 ... register, D2 ... address array, D3 ...... Comparator, D5 ... And gate, D6 ... Valid bit array, D61 ... Storage element, D62 ... Write data port, D63 ... Write enable terminal, D64
…… Read data port, D65 …… Write column
Address port, D66: Read column address port, E: Data array section.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の演算処理装置に共有される主記憶装
置と、他の演算処理装置からのキャシュ一致処理のため
のフラッシュアレイを備える演算処理装置において、 書き込みカラム・アドレスポートと、読み出しカラム・
アドレスポートとを備え、書き込みと読み出しが同一マ
シンサイクルでできるレジスタで構成されたバリッドビ
ットアレイと、 アドレスアレイ部に設けられたアドレスアレイと、 前記バリッドビットアレイの無効化処理のため、前記ア
ドレスアレイとは独立にフラッシュアレイ部内に設けら
れ、前記アドレスアレイと同一内容を格納するフラッシ
ュアレイと、 前記フラッシュアレイに格納されているキャッシュメモ
リの無効化アドレスの検索結果により、前記バリッドビ
ットアレイのライトイネーブル端子を接続する手段と、
を有し、 ある一つの演算処理装置からのキャッシュメモリをアク
セスするためのアドレス・アレイの索引動作と、 前記演算処理装置以外の他の演算処理装置からのキャッ
シュ一致処理によるアドレス・アレイのバリッドビッド
部への無効情報の書き込み動作とを、同一マシンサイク
ルで実行することを特徴とするキャッシュメモリの無効
化方式。
An arithmetic processing device comprising a main storage device shared by a plurality of arithmetic processing devices and a flash array for cache matching processing from another arithmetic processing device, comprising: a write column / address port;・
A valid bit array comprising an address port and a register capable of writing and reading in the same machine cycle; an address array provided in an address array unit; and an address array for invalidating the valid bit array. A flash array that is provided in the flash array unit independently of the address array and stores the same contents as the address array; and a write enable of the valid bit array based on a search result of an invalid address of a cache memory stored in the flash array. Means for connecting the terminals,
An address array indexing operation for accessing a cache memory from a certain arithmetic processing unit, and a valid bid of the address array by a cache matching process from another arithmetic processing unit other than the arithmetic processing unit. A write operation of invalid information to a section in a same machine cycle.
JP2081270A 1990-03-30 1990-03-30 Invalidation method of cache memory Expired - Fee Related JP2595753B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2081270A JP2595753B2 (en) 1990-03-30 1990-03-30 Invalidation method of cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2081270A JP2595753B2 (en) 1990-03-30 1990-03-30 Invalidation method of cache memory

Publications (2)

Publication Number Publication Date
JPH03282753A JPH03282753A (en) 1991-12-12
JP2595753B2 true JP2595753B2 (en) 1997-04-02

Family

ID=13741673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2081270A Expired - Fee Related JP2595753B2 (en) 1990-03-30 1990-03-30 Invalidation method of cache memory

Country Status (1)

Country Link
JP (1) JP2595753B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63253448A (en) * 1987-04-10 1988-10-20 Hitachi Ltd Multi-computer device
JPH01280860A (en) * 1988-05-06 1989-11-13 Hitachi Ltd Multiprocessor system with multiport cache memory

Also Published As

Publication number Publication date
JPH03282753A (en) 1991-12-12

Similar Documents

Publication Publication Date Title
US3761881A (en) Translation storage scheme for virtual memory system
KR880000299B1 (en) Cash apparatus
KR920005280B1 (en) High speed cache system
US5319763A (en) Data processor with concurrent static and dynamic masking of operand information and method therefor
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US7082491B2 (en) Memory device having different burst order addressing for read and write operations
JPH01146187A (en) Semiconductor memory device built-in cache memory
US10672445B2 (en) Memory device including local support for target data searching and methods of operating the same
US7398362B1 (en) Programmable interleaving in multiple-bank memories
EP0264912A2 (en) Storage control system and logic-in memory device therefor
JPH07120312B2 (en) Buffer memory controller
JPS59188764A (en) Memory device
JP2595753B2 (en) Invalidation method of cache memory
JP2580263B2 (en) Buffer storage device
US10684779B2 (en) Memory access unit for providing access to an item from an arbitrary location in physical memory
JPS6261135A (en) Cache memory
JPS58201157A (en) Control circuit of bank memory
JPH07153257A (en) Semiconductor memory
JPS5841584B2 (en) Multi-access memory method and memory chip for multi-access
JPH02176839A (en) Information processor
JP3074897B2 (en) Memory circuit
JPS59218692A (en) Control system of logical buffer memory
JPH02101552A (en) Address conversion buffer processing system
JPH02122344A (en) Buffer memory

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees