JPS5928286A - Cache buffer controller - Google Patents

Cache buffer controller

Info

Publication number
JPS5928286A
JPS5928286A JP57135315A JP13531582A JPS5928286A JP S5928286 A JPS5928286 A JP S5928286A JP 57135315 A JP57135315 A JP 57135315A JP 13531582 A JP13531582 A JP 13531582A JP S5928286 A JPS5928286 A JP S5928286A
Authority
JP
Japan
Prior art keywords
column
memory
hit
signal
cache buffer
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
Application number
JP57135315A
Other languages
Japanese (ja)
Other versions
JPS629944B2 (en
Inventor
Hiroyuki Nishimura
西村 弘行
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
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP57135315A priority Critical patent/JPS5928286A/en
Publication of JPS5928286A publication Critical patent/JPS5928286A/en
Publication of JPS629944B2 publication Critical patent/JPS629944B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve the performance of a titled device, by increasing chances for acceptance of access requests to a cache buffer, while resetting the bit corresponding to a column and at the same time regarding the hit decision of a comparator as a mishit decision. CONSTITUTION:A cache control circuit 6 is designated and read out with the 2nd block address E of an access address A when an access request H is given and a comparator 3 delivers a hit signal F1 and a hit column information F2. Then the contents L held in a column memory 5 are compared with the hit column information as well as the set information for each pot. When a bit of the coincident set state is detected from the comparison, the signal F1 is converted into a signal equivalent to a mishit signal G. When this signal or the mishit G delivered from the comparator 3 exists, a mishit signal Q is delivered as a real mishit signal. At the same time, the reset column information M is delivered to the memory 5 to reset the coincident bit to ''0''.

Description

【発明の詳細な説明】 本発明はキャッシュバッファ制御装置に関する。[Detailed description of the invention] The present invention relates to a cache buffer control device.

特に、主記憶装置(以下メインメモリと称する)を共有
する複数データ処理装置を備えこれらデータ処理装置の
少なくとも1台が前記メインメモリの複数データブロッ
クの写しを1番地あたp少なくとも1カラムにわたって
保持するキャッシュバッファとキャッシュバッファ制御
装置とを備えたデータ処理システムにおける前記キャッ
シュバッファ制御装置に関する。
In particular, it includes a plurality of data processing devices that share a main memory (hereinafter referred to as main memory), and at least one of these data processing devices holds copies of a plurality of data blocks in the main memory over at least one column per address. The present invention relates to a cache buffer control device in a data processing system including a cache buffer and a cache buffer control device.

データ処理装置とメインメモリとの動作スピードギヤ、
ブを埋めるため、周知のように、両者の間に高速・小容
量のメモリで構成されるキャッシェバッファを設ける方
策がよく採用される。メインメモリを定まった容量のブ
ロックに分割し、このブロックのうちの複数個のブロッ
クのデータをキャッシュバッファに保持し、メインメモ
リのどのデータブロックがキャッシュバッファに保持さ
れているかを示すブロックアドレス情報をキャッシュバ
ッファの番地とカラムとで定まる位置に対応したタグメ
モリの位置に書き込んでおく。
operating speed gear between data processing device and main memory;
As is well known, in order to fill the gap between the two, a cache buffer consisting of a high-speed, small-capacity memory is often provided between the two. The main memory is divided into blocks of a fixed capacity, the data of multiple blocks among these blocks are held in a cache buffer, and the block address information indicating which data block of the main memory is held in the cache buffer is stored. Write to the tag memory location corresponding to the location determined by the address and column of the cache buffer.

当該キャッシュバッファを使用するデータ処理装置(以
下当該データ処理装置と称する)はキャッシュバッファ
をアクセスする場合に、まずタグメモリをアクセスして
アクセスアドレスを含むデータブロックがキャッジ−バ
ッファに保持されているか否かを、タグメモリが保持し
ているブロックアドレス情報を参照することにより調べ
る。もし保持していないこと(ミスヒツト)がわかると
、当該データ処理装置はメインメモリからデータを読み
出し、このデータを富むデータブロックを予め定められ
た手順によりキャッシュバッファの指定される位置に書
き込み、かつ新しくロードされたデータブロックに対す
るブロックアドレス情報をキャッシュバッファの曹替り
装置に対応したタグメモリの位置に書き込む必要がある
。ミスヒツトの確率は通常は数パーセントのオーダーに
なるように設計される。
When a data processing device that uses the cache buffer (hereinafter referred to as the data processing device) accesses the cache buffer, it first accesses the tag memory and checks whether the data block containing the access address is held in the cache buffer. This is checked by referring to the block address information held in the tag memory. If it is found that the data is not retained (miss), the data processing device reads the data from the main memory, writes the data block rich in this data to the specified position of the cache buffer according to a predetermined procedure, and writes the new data block to the cache buffer. It is necessary to write the block address information for the loaded data block to the tag memory location corresponding to the cache buffer replacement device. The probability of a miss is usually designed to be on the order of a few percent.

一方、キャッシュバッファ付中央処理装置の他に入出力
制御装置を備えたデータ処理システムや、キャッシュバ
ッファ付プロセッサを少なくとも1台ハ含むマルチプロ
セッサシステムのように、複数のデータ処理装置がメイ
ンメモリを共有するデータ処理システムにおいては、上
述のタグメモリの更新に他のデータ処理装置(当該デー
タ処理装置以外のデータ処理装置)のメモリアクセス動
作を反映する必要がある。すなわち、他のデータ処理装
置がメインメモリをストアアクセスした場合に、当該キ
ャッシュバッファに対するタグメモリの自答は、事実に
反するものになるため、タグメモリの当該位置に保持さ
れているブロックアドレス情報を無効化することが必要
になってくる。
On the other hand, multiple data processing devices share the main memory, such as a data processing system equipped with an input/output control device in addition to a central processing unit with a cache buffer, or a multiprocessor system that includes at least one processor with a cache buffer. In a data processing system, it is necessary to reflect the memory access operations of other data processing devices (data processing devices other than the data processing device) in updating the tag memory described above. In other words, if another data processing device performs a store access to the main memory, the tag memory's self-identification for the cache buffer will be incorrect, so the block address information held at the location in the tag memory will be You will need to disable it.

上述のようなキャッシュバッファの部分的無効化を行な
うときには、まず当該データブロックがキャッシュバッ
ファに保持されているか否かを調べるためのタグメモリ
への第1ステツプのアクセスが必要である。もし当該デ
ータブロックをキャッシュバッファが保持していること
がわかると、これの無効化実行としてのタグメモリへの
誓込みを行なうためのタグメモリへの第2ステツプのア
クセスが付随することになる。
When partially invalidating a cache buffer as described above, a first step of accessing the tag memory is required to check whether the data block in question is held in the cache buffer. If it is found that the data block is held in the cache buffer, a second step of access to the tag memory is followed to perform a commitment to the tag memory as an invalidation of the data block.

当然データ処理装置からのキャッシュバッファ 5− ヘのアクセスを行なうときには、消熱ヒツト・ミスヒツ
トを調べるために、無効化のときと同じくタグメモリへ
の第1ステツプアクセスが必要であり、メインメモリを
共有するデータ処理装置が多くなると、タグメモリへの
アクセス権獲得をめぐって、アクセス要求と無効化要求
との間の競合が問題化してくる。
Naturally, when accessing the cache buffer 5- from the data processing device, a first step access to the tag memory is required in order to check for heat dissipation hits and misses, just like when invalidating, and the main memory is shared. As the number of data processing devices increases, competition between access requests and invalidation requests becomes a problem for acquiring access rights to the tag memory.

従来のこの種のキャッシュバッファ制御装置は、キャッ
シュバッファが保持するデータブロックに対するブロッ
クアドレス情報をキャッシュバッファの番地とカラムと
で定まる位置に対応した位置に保持するタグメモリと、
前記キャッシュバッファがアクセス要求または他のデー
タ処理装置から前記メインメモリへのストアアクセス実
行に伴う静置 一1効化要求をされたときに前記タグメモリから読み出
される前記ブロックアドレス情報に基づいて時に前記比
較回路がヒツト判定をすると前記タグメモリのこのとき
の位置に関する位置情報を少な6− くともルベルにわたり、予め定められた手順、たとえば
先入れ先出し法(F’IFO)にしたがい格納するアド
レス指定可能なスタック回路と、スタック回路のいずれ
かのレベルに位置情報が格納されていると予め定められ
た手順、たとえばF I FOにしたがいこの位置情報
によp指定されるタグメモリのブロックアドレス情報を
無効化するタグメモリ制御回路とを備えている。
A conventional cache buffer control device of this type includes a tag memory that holds block address information for a data block held by a cache buffer at a position corresponding to a position determined by an address and a column of the cache buffer;
When the cache buffer receives an access request or a standstill/validation request from another data processing device in conjunction with execution of a store access to the main memory, the cache buffer may perform the above operations based on the block address information read from the tag memory. When the comparator circuit makes a hit determination, the addressable stack stores positional information regarding the current location of the tag memory over at least six levels according to a predetermined procedure, e.g., first-in-first-out (F'IFO). If positional information is stored in either level of the circuit or stack circuit, the block address information of the tag memory specified by this positional information is invalidated according to a predetermined procedure, for example, FIFO. and a tag memory control circuit.

このような従来構成においては、たとえば当該データ処
理装置からのアクセス要求受入れに対する優先順位を、
他データ処理装置からJ1効化要求受入れの優先順位よ
シ高くする方式の採用等によp1前述のタグメモリへの
第1ステツプアクセスに対する競合問題は解決できるが
、通常片滅効化実行時の第1ステツプアクセスに連続し
て処理される第2ステツプアクセスに対する解決手段が
無いため、この第2ステツプアクセスによりアクセス要
求に対するタグメモリアクセスが阻害されることになり
、尚該データ処理装置の性能を低下させるという欠点が
ある。
In such a conventional configuration, for example, the priority for accepting access requests from the data processing device is set as follows:
The contention problem for the first step access to the tag memory described above can be solved by adopting a method that gives a higher priority to accepting J1 validation requests from other data processing devices, but normally when executing unilateral validation, Since there is no solution for the second step access that is processed consecutively to the first step access, this second step access will inhibit the tag memory access in response to the access request, and will further reduce the performance of the data processing device. It has the disadvantage of lowering

本発明の目的は当該データ処理装置の性能を向上させる
キャッシュバッファ制御装置を提供することにある。
An object of the present invention is to provide a cache buffer control device that improves the performance of the data processing device.

本発明の装置はメインメモリを共有する複数データ処理
装置を備えこれらデータ処理装置の少なくとも1台が前
記メインメモリの複数データブロックの写しを1番地あ
たり少なくとも1カラムにわたって保持するキャッシュ
バッファとキャッシュバッファ制御装置とを備えたデー
タ処理システムにおける前記キャッシュバッファ制御装
置において、 前記キャッシュバッファが保持するデータブロックに関
するブロックアドレス情報を前記キャッシュバッファの
番地とカラムとで定まる位置に対応した位置に保持する
タグメモリと、 ドアアクセス実行に伴す蕪効化要求をされたときに前記
タグメモリから読み出される前記ブロックアドレス情報
を調べてヒツト・ミスヒツトの判定ヒツト判定をすると
前記タグメモリのヒツトした位置に対応する位置のビッ
トをセット状態にして保持するカラムメモリと、 前記アクセス要求受付は時に前記比較回路がヒツト判定
をすると該ヒツトしたカラムとこのときの前記タグメモ
リへの読出しアドレスに基づいて読み出される前記カラ
ムメモリの保持内容とをカラム単位に比較し一致するカ
ラムがあれば該カラに対応するビットをリセットしかつ
前記比較回路におけるヒツト判定を前記ミスヒツト判定
と同じ判定にするキャッシュ制御回路 とを設けたことを特徴とする。
The device of the present invention includes a plurality of data processing devices that share a main memory, and at least one of these data processing devices has a cache buffer and cache buffer control for holding copies of a plurality of data blocks in the main memory over at least one column per address. The cache buffer control device in the data processing system includes: a tag memory that holds block address information regarding the data block held by the cache buffer at a position corresponding to a position determined by an address and a column of the cache buffer; , Check the block address information read from the tag memory when a validation request is made in conjunction with door access execution to determine whether there is a hit or miss. A column memory that holds a bit in a set state, and a column memory that is read out based on the hit column and the read address to the tag memory at this time when the comparison circuit judges that the access request is hit. A cache control circuit is provided, which compares the stored content column by column and, if there is a column that matches, resets the bit corresponding to the column and makes the hit determination in the comparison circuit the same as the miss determination. shall be.

次に本発明について図面を参照して詳細に説明する。Next, the present invention will be explained in detail with reference to the drawings.

第1図は本発明の一実施例をキャッシュメモリ8とメイ
ンメモリ9とともに示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of the present invention together with a cache memory 8 and a main memory 9. As shown in FIG.

メインメモリ9は各々が16ケの番地を有する 9− 4.09611L(K=1024)ケのブロックに分割
されておハこの4,096にケのブロック(データブロ
ック)のうちの256ケのブロックのデータがキャッシ
ュバッフ78に保持されている。キャッシュバッファ8
は各々が4ケのカラムからなる64ケの番地を有し、番
地とカラムとで定まる256ケの各位置に上記データブ
ロック1ケのデータの写しを保持するようになっている
The main memory 9 is divided into 9-4.09611L (K=1024) blocks, each having 16 addresses, and 256 of these 4,096 blocks (data blocks). data is held in the cache buffer 78. cache buffer 8
has 64 addresses each consisting of 4 columns, and holds a copy of the data of one data block at each of the 256 positions determined by the address and column.

本実施例は切替回路1と、タグメモリ2と、比較回路3
と、置換カラム指定回路4と、カラムメモリ5と、キャ
ッシュ制御回路6と、タグメモリ制御回路7とから構成
されている。
This embodiment includes a switching circuit 1, a tag memory 2, and a comparison circuit 3.
, a replacement column designation circuit 4, a column memory 5, a cache control circuit 6, and a tag memory control circuit 7.

切替回路lは当該データ処理装置からのアクセスアドレ
スAと他のデータ処理装置からの無効化要求アドレスB
とを切り替えて、これら2つのアドレスのうちから1つ
のみを選出し、そのうちのブロックアドレスを第1ブロ
ツクアドレスDと第2ブロツクアドレスEとに分割して
出力する。第1ブロツクアドレスDと第2ブロツクアド
レスEはそれぞれ16ビツトと6ビツト構成でるり、計
10− 22ビツトにより前記4o9mのデータブロックのうち
の1つを指定する。第2ブロツクアドレスEは以下に述
べるタグメモリ′2+置換カラム指定回路4およびカラ
ムメモリ5と、キャッジユバ。
The switching circuit 1 selects the access address A from the data processing device concerned and the invalidation request address B from another data processing device.
Then, only one of these two addresses is selected, and the block address is divided into a first block address D and a second block address E and output. The first block address D and the second block address E are respectively composed of 16 bits and 6 bits, and a total of 10 to 22 bits specify one of the 4o9m data blocks. The second block address E is a tag memory '2+replacement column specifying circuit 4, column memory 5, and carriage Yuba, which will be described below.

フプ8とに対するアクセスアドレスとなる。This is the access address for FPU8.

タグメモリ2はキャッシュバッファ8が保持する256
ケのデータブロックに対する第1プ四ツクアドレスDを
、これとの組になっている第2ブロツクアドレスEによ
り指定される64ケの各番地に4つづつ保持する。
The tag memory 2 is 256 which is held by the cache buffer 8.
Four first block addresses D for each data block are held at each of the 64 addresses specified by the second block address E that is paired with the first block address D.

比較回路3は切替回路1が出力する第1ブロツクアドレ
スDを、これとの組になっている第2ブロツクアドレス
Eによシ指定され読み出されるタグメモリ2の保持内容
(第1ブロツクアドレス)のすべてと比較する。比較の
結賽によりタグメモリ2のいずれかの保持内容と一致す
ればヒツト信号Flおよびヒツトカラム情報F2を、ま
たタグメそす2のいずれの保持内容とも一致しなけれは
要求Kがあ郵かつこのときの無効化要求アドレスBに対
して比較回路3がヒツト信号F1とヒツトカラム情報p
 2を出力するときに、このヒツトカラム情報F2に対
応するビットをセット状a (” 1” )にして、無
効化要求アドレスBの第2ブロツクアドレスEにより指
定される番地に書き込んで保持する。この保持内容はタ
グメモリ2およびキャッシュバッファ8がアクセスされ
たときにアクセスアドレスAの第2ブロツクアドレスE
により指定される番地から読み出される。カラムメモリ
5はシステム立上げ時等に当該データ処理装置から供給
されるリセット信号Cに応答してリセット状態(” O
” )にされる。
The comparator circuit 3 converts the first block address D output from the switching circuit 1 into the content held in the tag memory 2 (first block address) that is specified and read by the second block address E that is paired with the first block address D. Compare everything. As a result of the comparison, if the contents match any of the contents held in the tag memory 2, the hit signal Fl and the hit column information F2 are sent, and if the contents do not match any of the contents held in the tag memory 2, the request K is sent. The comparison circuit 3 outputs the hit signal F1 and the hit column information p for the invalidation request address B.
2, the bit corresponding to this hit column information F2 is set to a ("1"), and is written to the address specified by the second block address E of the invalidation request address B and held. This retained content is stored at the second block address E of access address A when tag memory 2 and cache buffer 8 are accessed.
The data is read from the address specified by . The column memory 5 enters the reset state ("O
” ).

キャッシュ制御回路6はアクセス要求Hがありかつ比較
回路3がヒツト信号F1とヒツトカラム情報F2とを出
力するときに、アクセスアドレスAの第2ブロツクアド
レスEにより指定され読み出されるカラムメモリ5の保
持内容りをヒツトカラム情報とビット単位にセット状態
を比較する。
When there is an access request H and the comparator circuit 3 outputs the hit signal F1 and the hit column information F2, the cache control circuit 6 outputs the contents held in the column memory 5 specified by the second block address E of the access address A and read out. Compares the hit column information and the set state bit by bit.

比較の結果により一致するセット状態のビットがあると
ヒツト信号F1をミスヒツト信号Gと同等の信号に変え
て、この信号または比較回路3から出力されるミスヒ・
シト信号Gがあるときに不適生信号Qを出力し、この不
適生信号Qを真のミスヒツト信号とする。同時に、一致
したビットを′”O”にリセットするためのリセットカ
ラム情報Mをカラムメモリ5に出力する。また、一致す
るビットが無いときには、ヒツト信号F1をそのまま連
中信号Pとして出力する。
If there is a matched set bit as a result of the comparison, the hit signal F1 is changed to a signal equivalent to the miss signal G, and this signal or the miss signal output from the comparator circuit 3 is
When there is a mishit signal G, an unsuitable signal Q is output, and this unsuitable signal Q is used as a true mishit signal. At the same time, reset column information M for resetting the matching bit to ``O'' is output to the column memory 5. Furthermore, when there is no matching bit, the hit signal F1 is output as is as the consecutive signal P.

置換カラム指定回路4はアクセス要求Hと読出しコマン
ドUと不適生信号Qの入力があるときに、アクセスアド
レスAの第2ブロツクアドレスEにより指定される番地
から置換カラム情報Jを読み出す。この置換カラム情報
Jは連中信号Pの入力ごとにヒツトカラム情報F2によ
り、また上記読出しごとに1ビツトづつシフトして書き
込まれるように“なっており、メインメモリ9からロー
ドすべきキャッシュバッファ8と、このロードに伴い更
新すべきタグメモリ2とのカラムを指定するためのもの
である。
The replacement column designation circuit 4 reads the replacement column information J from the address designated by the second block address E of the access address A when the access request H, read command U, and unqualified signal Q are input. This replacement column information J is written in accordance with the hit column information F2 each time the serial signal P is input, and is shifted by one bit each time the above reading is performed. This is for specifying the column of the tag memory 2 to be updated with this loading.

13− タグメモリ制御回路7は読出しコマンドUと不適生信号
Qの入力があるときに置換カラム情報Jをカラム指定几
としてタグメモリ2に出力する。
13- The tag memory control circuit 7 outputs replacement column information J to the tag memory 2 as a column designation box when the read command U and unsuitable signal Q are input.

第2図は第1図に示した切替回路lと、タグメモリ2と
、比較回路3とカラムメモリ5と、キャッシュ制御回路
6の詳細回路図を示す。
FIG. 2 shows a detailed circuit diagram of the switching circuit 1, tag memory 2, comparison circuit 3, column memory 5, and cache control circuit 6 shown in FIG.

切替回路lけ切替器11とレジスタ12(22ビツト構
成)とから、−1’たタグメモリ2は64@×64ビッ
ト/語のランダムアクセスメモリ21で構成される。ラ
ンダムアクセスメモリ21064語のうちの1語の選択
は第2ブロツクアドレスEにより行なわれる。1@を構
成する64ビツトは16ビツトづつの4カラムに分割さ
れ、この16ビツトで第1ブロツクアドレスDを表現す
る。
The -1' tag memory 2 is constituted by a random access memory 21 of 64@×64 bits/word from the switching circuit 11 and the register 12 (22 bit configuration). Selection of one word out of the 21064 words of the random access memory is performed by the second block address E. The 64 bits that make up 1@ are divided into four columns of 16 bits each, and the first block address D is expressed by these 16 bits.

比較回路3は4つの比較431−32*33および34
とゲート35とから、またカラムメモリ5は64語×4
ビット/語のランダムアクセスメモリ51と、14ケの
ゲート52〜5Fとから構成され、各ビットはタグメモ
リ2と置換カラム指定回路40ランダムアクセスメモリ
43との各カ14− ラムに対応している。
Comparison circuit 3 has four comparisons 431-32*33 and 34
and gate 35, and column memory 5 has 64 words x 4
It is composed of a bit/word random access memory 51 and 14 gates 52 to 5F, and each bit corresponds to each column 14 of the tag memory 2, replacement column designation circuit 40, and random access memory 43. .

キャッシュ制御回路6は7ケのゲート61〜67で構成
されている。
The cache control circuit 6 is composed of seven gates 61-67.

さて、切替回路lの切替器11はアクセス要求Hがある
ときにはアクセスアドレスAの、また無効化要求Bがあ
るときには無効化アドレスBのそれぞれのうちから第1
ブ目ツクアドレスDと第2ブロツクアドレスEとをレジ
スタ12に入力させる。
Now, the switch 11 of the switching circuit 1 selects the first address from among the access address A when there is an access request H, and from the invalidation address B when there is an invalidation request B.
The block address D and the second block address E are input into the register 12.

第2ブロツクアドレスEにより指定されるタグメモリ2
のランダムアクセスメモリの番地の4ケの各カラムから
、比較回路3の比較器31〜34に保持内容が読み出さ
れ、このときの第1ブロツクアドレスDと比較される。
Tag memory 2 specified by second block address E
The contents held in the comparators 31 to 34 of the comparator circuit 3 are read out from each of the four columns of addresses of the random access memory, and compared with the first block address D at this time.

比較の結果により、いずれかの比較器において一致が検
出されると、ゲート35(論理積回路)からヒツト信号
PI(1”)とヒツトカラム情報1i’ 2とが出力さ
れる。ヒツトカラム情報F2は1ビツトのみがul”で
、残り3ビツトは”0”の4ビツトデータである。もし
、いずれの比較器ににおいても一致が検出されないとき
には、ゲート35はミスヒツト信号Gを出力し、ヒツト
カラム情報F2はオール゛′o′″になる。
When a match is detected in any of the comparators as a result of the comparison, a hit signal PI (1'') and hit column information 1i'2 are output from the gate 35 (AND circuit).Hit column information F2 is 1. Only the bit is ``ul'' and the remaining 3 bits are ``0'', which is 4-bit data. If no match is detected in any of the comparators, the gate 35 outputs a miss signal G and the hit column information F2 becomes all "'o'".

(1)無効化要求時 無効化要求Kがu lj7に、アクセス要求Hがat 
omの場合である。ゲート35がヒツト信号Flを11
1”にするときには、上述のようにヒツトカラム情報F
2のいずれかの1ビツトが1”であるため、カラムメモ
リ5のゲート54〜57(論理積回路)の対応する1つ
のゲートにおいてAND条件が成立する。このAND条
件が成立したゲートの出方ul”はランダムアクセスメ
モリ51のデータ入力端子DAに入力するとともに、グ
ー)50〜5F(論理和回路)のうちの対応するゲート
を経て、ランダムアクセスメモリ51のライトイネーブ
ル端子WEにも入力する。この結果により、このときの
第2ブロツクアドレスEと、ヒツトカラム情報F2によ
り”1″′指定されたカラムとで定まる位置にul”が
書き込まれる。u 011である残93ビットに対応す
るランダムアクセスメモリ51のカラムのライトイネー
ブル端子WEにはtt onが入力されるため、書込み
は行なわれない。すなわち、それまでの保持内容をその
まま保持する。
(1) At the time of invalidation request, invalidation request K is sent to u lj7, access request H is sent to at
This is the case of om. The gate 35 outputs the hit signal Fl to 11
1", the hit column information F as described above.
Since one bit of 2 is 1'', the AND condition is satisfied in the corresponding one of the gates 54 to 57 (AND circuit) of the column memory 5. ul'' is input to the data input terminal DA of the random access memory 51, and is also input to the write enable terminal WE of the random access memory 51 through the corresponding gate of 50 to 5F (OR circuit). As a result, "ul" is written in the position determined by the second block address E at this time and the column specified by "1"'' by the hit column information F2.The random access memory corresponding to the remaining 93 bits, which is u011, is written. Since tt on is input to the write enable terminal WE of column 51, no writing is performed.In other words, the contents held up to that point are held as they are.

また、ゲート35がミスヒツト信号Gを出力するときに
は、ヒツトカラム情報F2はオールtt onであるた
め、上述と同じ理由によシ書込みは行なわれない。無効
化要求Kが入力されているときには、アクセス要求Hの
入力はされないようになっているため、キャッシュ制御
回路6のゲート61〜64(論理積回路)のすべては0
″を出力する。これにより、ゲート65(論理積回路)
においてAND条件が成立すゐようになり、ヒツト信号
Flはゲート66(論理積回路)を経てそのまま出力さ
れる。
Furthermore, when the gate 35 outputs the miss signal G, the hit column information F2 is all tton, so writing is not performed for the same reason as described above. Since the access request H is not input when the invalidation request K is input, all of the gates 61 to 64 (AND circuit) of the cache control circuit 6 are set to 0.
'' is output. As a result, gate 65 (AND circuit)
The AND condition is now satisfied, and the hit signal Fl is output as is through the gate 66 (AND circuit).

(2)アクセス要求時 アクセス要求Hがul”に、無効化要求Kが“0″にな
る場合である。
(2) At the time of access request, the access request H becomes "ul" and the invalidation request K becomes "0".

この場合にはゲート35がヒツト信号Flを′l”にし
ても、ゲート54〜57のすべてにおいてAND条件が
成立せず0″を出方しているため、17− ランダムアクセスメモリ51への書込みは行なわれない
In this case, even if the gate 35 sets the hit signal Fl to ``l'', the AND condition is not satisfied in all of the gates 54 to 57 and 0'' is output. is not carried out.

ランダムアクセスメモリ51からは、ヒツト信号F1の
内容とは無関係に、第2ブロツクアドレスEにより指定
される番地から読出しが行なわれこのカラムメモリ5の
保持内容りがキャッシュ制御回路6のグー)61〜64
においてヒツトカラム情報F2と比較される。
The random access memory 51 is read from the address specified by the second block address E, regardless of the contents of the hit signal F1, and the contents held in the column memory 5 are read out from the cache control circuit 6 (61 to 61). 64
It is compared with the hit column information F2.

この比較の結果であるリセットカラム情報Mはゲート6
5において各ビットの否定論理積がとられることになり
、リセットカラム情、報MがオールuO”、すなわちヒ
ツトカラム情報F2とカラムメモリ5の保持内容りとの
間に内容が一致するビットがなければ、ゲート66はヒ
ツト信号Flをそのまま連中信号Pとして出方する。
The reset column information M, which is the result of this comparison, is
In step 5, the NAND of each bit is taken, and if the reset column information and information M are all uO'', that is, if there is no bit whose contents match between the hit column information F2 and the contents held in the column memory 5. , the gate 66 outputs the hit signal Fl as it is as a continuous signal P.

リセットカラム情報Mがオール1o”でないとき、すな
わちヒツトカラム情報F2とカラムメモリ5の保持内容
との間に内容が一致するビットが少なくとも1つはある
場合には、ゲート65の出力は0”になるため、ゲート
66はヒツト信号18− Flの内容とは無関係に連中信号PをuO″にして出力
する。つまり、この場合にはヒツト信号F1がたとえA
1″であっても真のヒツト信号である連中信号PはII
 OIIになってしまう。ゲート65の否定出力はゲー
ト67(論理和回路)においてミスヒツト信号と(LR
がとられているため、このときには不適生信号Qは(L
 IIIになり、ヒツト判定がミスヒツト判定と同じに
なる。
When the reset column information M is not all 1o'', that is, when there is at least one bit whose contents match between the hit column information F2 and the content held in the column memory 5, the output of the gate 65 becomes 0''. Therefore, the gate 66 outputs the signal P as uO'' regardless of the content of the hit signal 18-Fl.In other words, in this case, even if the hit signal F1 is
The signal P that is a true hit signal even if it is 1" is II
It becomes OII. The negative output of gate 65 is connected to the miss signal (LR) at gate 67 (OR circuit).
is taken, so at this time the unsuitable signal Q is (L
III, and the hit judgment is the same as the miss judgment.

リセットカラム情報Mがオール゛′0”でないときには
 u 1”のビットに対応するゲート58〜5B(論理
和回路)のうちのゲートからto lppが出力される
ため、ランダムアクセスメモリ51の当該カラムに対応
するライトイネーブル端子WEにl”が入力して書込み
が行なわれる。ただし、無効化要求Kが°′0#である
ため、ゲート54〜57すべての出力は4t OIIで
あり、データ入力端子DAすべてに(10IIが入力し
ている。したがって It O#が書き込まれることに
なる。すなわちこの書込みはカラムメモリ5の保持内容
りのうち111;+であり、かつヒツトカラム情報F2
においても′1′″であるビットに対してのみ有意であ
る。
When the reset column information M is not all ``0'', tolpp is output from the gate of the gates 58 to 5B (OR circuit) corresponding to the bits of u1'', so that the corresponding column of the random access memory 51 is Writing is performed by inputting l" to the corresponding write enable terminal WE. However, since the invalidation request K is °'0#, the outputs of all gates 54 to 57 are 4t OII, and the data input terminal DA (10II is input to all. Therefore, It O# is written. In other words, this writing is 111;+ among the contents held in the column memory 5, and the hit column information F2
It is also significant only for bits that are '1'.

つまり、ヒツト信号Flをミスヒツト信号G扱いにさせ
る起因となったカラムメモリ5の保持内容をuOj″に
リセットすることになる。
In other words, the content held in the column memory 5 that caused the hit signal Fl to be treated as a miss signal G is reset to uOj''.

キャッシュ制御回路6から出力される連中信号Pはキャ
ッシュバッフ78に供給されて、当該データ処理装置は
キャッシュバッファ8をアクセスする。このとき読出し
コマンドUがat O#であれば、メインメモリ9への
書込みも行表われる。また、連中信号Pは読出しコマン
ドがat 、 nのとき置換カラム指定回路4において
、このときの第2ブロツクアドレスEにより指定される
番地に対する次の置換カラムを、ヒツトカラム情報F2
に基づき作成する。
The serial signal P output from the cache control circuit 6 is supplied to the cache buffer 78, and the data processing device accesses the cache buffer 8. At this time, if the read command U is at O#, writing to the main memory 9 is also performed. Further, when the read command is at, n, the serial signal P causes the replacement column specifying circuit 4 to select the next replacement column for the address specified by the second block address E at this time, using the hit column information F2.
Created based on.

キャッシュ制御回路6から出力される不適生信号Qはメ
インメモリ9に供給されて、当該データ処理装置はメイ
ンメモリ9をアクセスする。読出しコマンドUがIt 
lIIのときには、アクセスされたメインメモリ9のデ
ータブロックの写しがキャッシュバッファ8に読み出さ
れ、このときの第2ブロツクアドレスEと置換カラム指
定回路4から出力されている置換カラム情報Jとで定ま
るキャッシュバッファ8の位置に保持される。
The unqualified signal Q output from the cache control circuit 6 is supplied to the main memory 9, and the data processing device accesses the main memory 9. Read command U is It
At time lII, a copy of the accessed data block in the main memory 9 is read into the cache buffer 8, and is determined by the second block address E at this time and the replacement column information J output from the replacement column designation circuit 4. It is held at the cache buffer 8 location.

タグメモリ制御回路7に不適生信号Qと読出しコマンド
Uの入力があると、置換カラム情報Jによpカラム指定
Rをタグメモリ2に出力して、このときの第2ブロツク
アドレスEとカラム指定几とで定まるタグメモリ2の位
置に、このときの第1ブロツクアドレスDを書き込む。
When the tag memory control circuit 7 receives the unqualified signal Q and the read command U, it outputs the p column designation R to the tag memory 2 based on the replacement column information J, and then outputs the second block address E and column designation at this time. The first block address D at this time is written in the location of the tag memory 2 determined by the method.

すなわち、上述のロードに伴うタグメモリ2の更新を行
なう。
That is, the tag memory 2 is updated in accordance with the above loading.

また、不適生信号Qと読出しコマンドUとが共に1″″
のときには、置換カラム指定回路4において次に出力す
べき置換カラム情報Jを順送pに設定する。
In addition, both the unsuitable raw signal Q and the read command U are 1″″
At this time, the replacement column information J to be output next in the replacement column designation circuit 4 is set to forward p.

以上説明した第1図に示す実施例はタグメモリを1ケだ
け有しているが、同じ内容を保持するタグメモリを2ヶ
備え、それぞれが当該データ処理装置からのアクセス要
求Hと他データ処理装置からの無効化要求Kに対する参
照処理(前述の第1ステツプアクセス)を分担するよう
にすることに21− より、前記両要求の競合を緩和して、データ処理システ
ムの処理性能を向上させるようにしたキャッシュバッフ
7制御装置が知られている。
The embodiment shown in FIG. 1 described above has only one tag memory, but it has two tag memories holding the same contents, each of which handles access requests H from the data processing device and other data processing. By sharing the reference processing (the above-mentioned first step access) for the invalidation request K from the device 21-, it is possible to alleviate the conflict between the two requests and improve the processing performance of the data processing system. A cash buffer 7 control device is known.

第3図はこのような構成のキャッシュバッファ制御装置
に対して本発明を実施した他の実施例をキャッシュバッ
ファ8とメインメモリ9とともに示すブロック図である
FIG. 3 is a block diagram showing another embodiment of the present invention in a cache buffer control device having such a configuration, together with a cache buffer 8 and a main memory 9. In FIG.

本実施例は第1切替回路100と、第2切替回路110
と、第1タグメモリ200と、第2タグメモリ210と
、第1比較回路300と、第2比較回路310と置換カ
ラム指定回路400と、カラムメモリ500と、キャッ
シュ制御回路600と、タグメモリ制御回路700とか
ら構成されている。
This embodiment includes a first switching circuit 100 and a second switching circuit 110.
, a first tag memory 200, a second tag memory 210, a first comparison circuit 300, a second comparison circuit 310, a replacement column designation circuit 400, a column memory 500, a cache control circuit 600, and a tag memory control circuit. It is composed of a circuit 700.

第1切替回路100はアクセス要求Hと無効化要求にの
それぞれに応答して、アクセスアドレスAと無効化要求
アドレスBそれぞれのうちの第2ブロツクアドレスEの
みを切、り替えてカラムメモリ500に供給する。
In response to the access request H and the invalidation request, the first switching circuit 100 switches only the second block address E of the access address A and the invalidation request address B to the column memory 500. supply

第2切替回路110はタグメモリ制御回路7か22− らのタグメモリ更新を指示する制御信号に応答して、ア
クセスアドレスA−gたけ無効化アドレスBのうちの第
2ブロツクアドレスのみを切り替え出力し、タグメモリ
更新時には第1タグメモリ200と第2タグメモリ21
0とがともにアクセスアドレスAのうちの第2ブロツク
アドレスEによりアクセスされるようにしている。
The second switching circuit 110 switches and outputs only the second block address of the access addresses A to g and the invalidated address B in response to a control signal from the tag memory control circuits 7 to 22 that instructs tag memory update. However, when updating the tag memory, the first tag memory 200 and the second tag memory 21
0 are both accessed by the second block address E of the access address A.

このため、第1タグメモリ200と第2タグメモリ21
0とは、同じ位置に同じ内容を保持することになり、そ
れぞれがアクセス要求Hと無効化要求Kに対する参照処
理を分担できるようになっている。
Therefore, the first tag memory 200 and the second tag memory 21
0 means that the same content is held in the same location, and each can share the reference processing for the access request H and invalidation request K.

第1比較回路300と第2比較回路310は、それぞれ
アクセス要求Hと無効化要求Kに対するヒツトやミスヒ
ツト判定とヒツトカラムの摘出を行なうためのものであ
る。
The first comparison circuit 300 and the second comparison circuit 310 are for determining hits and misses for the access request H and invalidation request K, and extracting hit columns, respectively.

その他の回路は第1図に示した実施例の対応する回路と
同様である。
The other circuits are similar to the corresponding circuits in the embodiment shown in FIG.

本発明によれば、以上のような構成の採用により、無効
化要求受付は時には当該データがキャッシュバッファに
保持されていることがわかっても、この保持位置をカラ
ムメモリに登録するだけで、タグメモリに対して無効化
実行のためのアクセスをする必要がなくなるため、キャ
ッシュバッファに対するアクセス要求受付は可能な機会
が多くなり、当該データ処理装置の性能を向上させるこ
とができる。
According to the present invention, by employing the above-described configuration, even if it is known that the data in question is held in the cache buffer, invalidation request reception is possible by simply registering this holding position in the column memory, and the tag is Since there is no need to access the memory for invalidation execution, there are more opportunities to accept access requests to the cache buffer, and the performance of the data processing device can be improved.

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

第1図は本発明の一実施例、第2図は該実施例に対する
詳細および第3図は本発明の他の実施例をそれぞれ示す
。 1・・・・・・切替回路、loo・・団・第1切替回路
、110・・・・・・第2切替回路、2・・・・・・タ
グメモ1ハ200・・・・・・第1タグメモlハ 21
0・旧・・第2タグメモ1ハ 3・・・・・・比較回路
、300・・印・第1比較回路、31O・・・・・・第
2比較回路、 4,400・・曲置換カラム指定回路、
  5,500・・曲カラムメモリ、  6,600・
・・・・・キャッシュ制御回路、7,700・・間タグ
メモリ制御回路、8・・・・・・キャッシュバッフ’7
s 9・・・・”メインメモリ、11・・・・・・切替
器、12・旧・・レジスタ、21+51・・・・・・ラ
ンダムアクセスメモ’i31+32.33+ 34・川
・・比較器、35I52+53+54t55+56+5
7+58+59*5A+5B+50+51−)+5g+
5F+61!62+63+64+65>66t67・・
・・・・ゲート、A・旧・・アクセスアドレス、B・・
・・・・無効化要求アドレス、C・・・・・・リセット
信号、Doooo・・第1ブ日ツクアドレス、E・・団
・第2ブロツクアドレス、Fl・・・・・・ヒツト信号
s F2 + F 21 。 F 22・・・・・・ヒツトカラム情報、G・・・・・
・ミスヒツト信号、H・・・・・・アクセス要求、J・
・・・・・置換カラム情報、K・・・・・・無効化要求
、L・・・・・・カラムメモリ5の保持内容5M・・・
・・・リセットカラム情報、P・・団・連中信号、Q・
・・・・・不適空信号。 25− A^1 Aζl 図
FIG. 1 shows one embodiment of the invention, FIG. 2 shows details of this embodiment, and FIG. 3 shows another embodiment of the invention. 1...Switching circuit, loo...Group 1st switching circuit, 110...2nd switching circuit, 2...Tag memo 1c 200...No. 1 tag memo l 21
0. Old... 2nd tag memo 1c 3... Comparison circuit, 300... Mark - 1st comparison circuit, 31O... 2nd comparison circuit, 4,400... Song replacement column designated circuit,
5,500... Song column memory, 6,600...
... Cache control circuit, 7,700 ... Tag memory control circuit, 8 ... Cache buffer '7
s 9..."Main memory, 11...Switcher, 12-Old...Register, 21+51...Random access memo 'i31+32.33+ 34-Comparator, 35I52+53+54t55+56+5
7+58+59*5A+5B+50+51-)+5g+
5F+61!62+63+64+65>66t67...
...Gate, A.Old...Access address, B...
... Invalidation request address, C ... Reset signal, Doooo ... First block address, E ... Group second block address, Fl ... Hit signal s F2 +F21. F22...Hit column information, G...
・Miss-hit signal, H...Access request, J.
... Replacement column information, K ... Invalidation request, L ... Contents held in column memory 5 5M ...
... Reset column information, P... group/group signal, Q.
...Inappropriate air signal. 25- A^1 Aζl Figure

Claims (1)

【特許請求の範囲】 主記憶装置を共有する複数データ処理装置を備えこれら
データ処理装置の少なくとも1台が前記主記憶装置の複
数データブロックの写しを1番地あたり少なくとも1カ
ラムにわたって保持するキャッシュバッファとキャッシ
ュバッファ制御装置とを備えたデータ処理システムにお
ける前記キャッシュバッファ制御装置において、前記キ
ャッシェバッフプが保持するデータブロックに関するブ
ロックアドレス情報を前記キャッシュバッファの番地と
カラムとで定まる位置に対応した位置に保持するタグメ
モリと、 きに前記タグメモリから読み出される前記ブロックアド
レス情報を調べてヒツト・ミスヒツトの判ト判定をする
と前記タグメモリのヒツトした位置に対応する位置のビ
ットをセット状態にして保持するカラムメモリと、 前記アクセス要求受付は時に前記比較回路がヒツト判定
をすると該ヒツトしたカラムとこのときの前記タグメモ
リへの読出しアドレスに基づいて読み出される前記カラ
ムメモリの保持内容とを力けるヒツト判定を前記ミスヒ
ツト判定と同じ判定にするキャッシュ制御回路 とを設けたことを特徴とするキャッシュバッファ制御装
置。
[Scope of Claims] A plurality of data processing devices sharing a main storage device are provided, and at least one of the data processing devices has a cache buffer that holds copies of a plurality of data blocks in the main storage device over at least one column per address. The cache buffer control device in the data processing system includes a cache buffer control device, in which block address information regarding a data block held by the cache buffer is placed in a position corresponding to a position determined by an address and a column of the cache buffer. When checking the block address information read from the tag memory and determining whether there is a hit or miss, a bit at a position corresponding to the hit position in the tag memory is set and held. Column memory, and the access request acceptance is a hit determination that, when the comparison circuit determines a hit, the content held in the column memory is read out based on the hit column and the read address to the tag memory at this time. A cache buffer control device comprising: a cache control circuit that makes the same judgment as the mishit judgment.
JP57135315A 1982-08-03 1982-08-03 Cache buffer controller Granted JPS5928286A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57135315A JPS5928286A (en) 1982-08-03 1982-08-03 Cache buffer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57135315A JPS5928286A (en) 1982-08-03 1982-08-03 Cache buffer controller

Publications (2)

Publication Number Publication Date
JPS5928286A true JPS5928286A (en) 1984-02-14
JPS629944B2 JPS629944B2 (en) 1987-03-03

Family

ID=15148862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57135315A Granted JPS5928286A (en) 1982-08-03 1982-08-03 Cache buffer controller

Country Status (1)

Country Link
JP (1) JPS5928286A (en)

Also Published As

Publication number Publication date
JPS629944B2 (en) 1987-03-03

Similar Documents

Publication Publication Date Title
US4500954A (en) Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
US4445174A (en) Multiprocessing system including a shared cache
JPS59165144A (en) Order extractor
US5287482A (en) Input/output cache
JPH05210593A (en) Memory partitioning device for microprocessor and method of loading segment descriptor to segment-register
JPH05216766A (en) Method and computer memory device for maintaining cache coherency between a data cache and a segment descriptor
JPS6154547A (en) Data processing system with 3-level hierarchical memory
KR860002029B1 (en) Segment table origin address (STO) stack control system
US4424564A (en) Data processing system providing dual storage of reference bits
JPS5928286A (en) Cache buffer controller
JPS6258351A (en) Optical disk cache system
JP2659007B2 (en) Information processing method and apparatus
JPS5928287A (en) Cache buffer controller
JP3078303B2 (en) Cache memory control circuit
JPH0659977A (en) Cache memory capable of executing indicative line substituting operation and its control method
JPH0795307B2 (en) Cache memory control circuit
JP3190661B2 (en) Information processing system
JPH05342101A (en) Hierarchical cache memory
JP3147236B2 (en) Cache memory device
JPH0520192A (en) Cache memory store system
EP0502206A1 (en) System equipped with processor and cache memory, and method of controlling said cache memory
JP2864548B2 (en) Instruction cache device
JPH0689228A (en) Cache memory controller
JPH04288647A (en) Substitution controller for cache memory
JPH0883213A (en) Storage device including cache memory