JPS5928285A - Cache buffer controller - Google Patents

Cache buffer controller

Info

Publication number
JPS5928285A
JPS5928285A JP57135313A JP13531382A JPS5928285A JP S5928285 A JPS5928285 A JP S5928285A JP 57135313 A JP57135313 A JP 57135313A JP 13531382 A JP13531382 A JP 13531382A JP S5928285 A JPS5928285 A JP S5928285A
Authority
JP
Japan
Prior art keywords
circuit
cache buffer
tag memory
column
level
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
JP57135313A
Other languages
Japanese (ja)
Other versions
JPS629943B2 (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 JP57135313A priority Critical patent/JPS5928285A/en
Publication of JPS5928285A publication Critical patent/JPS5928285A/en
Publication of JPS629943B2 publication Critical patent/JPS629943B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 both cache hit factor and tag memory use efficiency, by providing a tag memory control circuit which informs the level information to a clearing circuit in order to dissolve a significant display flag which causes the invalidity. CONSTITUTION:A tag memory control circuit 8 performs an update of a tag memory 2 owing to loading during a mishit as well as the control of invalidity of the memory 2 to an invalidity request K given from another data processor. Either one of levels of an invalidated stack circuit 5 contains a significant display flag P with no access request H nor invalidity request K. In such a case, the control of invalidity is carried out. An access is given to the level of the circuit 5 from a certain level of the flag P in accordance with a prescribed procedure. Then a validated address C and an invalidated column R are delivered to the memory 2 to designate the position to be invalidated, and ''0'' is written to a V bit S at the designated position of invalidation. At the same time, the dissolved level information T is delivered to a clearing circuit 6 for the invalidated level of the circuit 5.

Description

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

特に1主記憶装置(以下メインメモリと称する)を共有
する複数データ処理装置を備えこれらデータ処理装置の
少なくとも1台が前記メインメモリの複数データブロッ
クの写しを1番地あたり少なくとも1カラムにわたって
保持するキャッシュバッファとキャッシュバッファ制御
装置とを備えたデータ処理システムにおけるキャッシュ
バッファ制御装置に関する。
In particular, a cache comprising a plurality of data processing devices sharing one main memory (hereinafter referred to as main memory), at least one of these data processing devices holding copies of a plurality of data blocks of 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 buffer and a cache buffer control device.

データ処理装置とメインメモリとの動作スピードギャッ
プを埋めるため、周知のように、両者の間に高速・小容
量のメモリで構成されるキャッシュバッファを設ける方
策がよく採用される。メインメモリを定まった容量のブ
ロックに分割し、このブロックのうちの複数個のブロッ
クのデータをキャッシュバッファに保持し、メインメモ
リのどのデータブロックがキャッシュバッファに保持さ
れているかを示すブロックアドレス情報をキャッシュバ
ッファの番地とカラムとで定まる位置に対応したタグメ
モリの位置に書き込んでおく。
In order to bridge the operational speed gap between a data processing device and a main memory, a method is often adopted in which a cache buffer consisting of a high-speed, small-capacity memory is provided between the two, as is well known. 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.

当該キャッシュバッファを使用するデータ処理装置(以
下当該データ処理装置と称する)はキャッシュバッファ
をアクセスする場合に、まずタグメモリをアクセスして
アクセスアドレスを含むデータブロックがキャッシュバ
ッファに保持されているか否かを調べる。もし保持して
いないこと(ミスヒツト)がわかると、尚該データ処理
装置はメインメモリからデータを読み出し、このデータ
を含むデータブロックを予め定められた手順によりキャ
ッシュバッファの指定される位置に書き込むとともに、
新しくロードされたデータブロックに対するブロックア
ドレス情報をキャッシュバッファの書替え位置に対応し
たタグメモリの位置に誓き込む必要がある。ミスヒツト
の確率は通常ハ数パーセントのオーダーになるように設
計されるO 一方、キャッシュバッファ付中央処理装置の他に入出力
制御装置を備えたデータ処理システムや、キャッジ、バ
ッファ付プロセッサを少なくとも1台は含むマルチプロ
セッサシステムのように、複数のデータ処理がメインメ
モリを共有するデータ処理システムにおいては、上述の
タグメモリ更新に他のデータ処理装置(当該データ処理
装置以外のデータ処理装置)のメモリアクセス動作を反
映させる必要がある。すなわち、他のデータ処理装5− 置がメインメモリをストアアクセスした場合、当該キャ
ッシュバッファに対するタグメモリの内容は、事実に反
するものになるため、タグメモリの当該位置に保持され
ているブロックアドレス情報を無効化することが必要に
なってくる。
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. Find out. If it is determined that the data is not held (a miss), the data processing device reads the data from the main memory, writes the data block containing this data to the specified position of the cache buffer according to a predetermined procedure, and
It is necessary to commit the block address information for the newly loaded data block to the tag memory location corresponding to the rewrite location in the cache buffer. The probability of a miss is usually designed to be on the order of a few percent.On the other hand, in addition to a central processing unit with a cache buffer, a data processing system equipped with an input/output control unit, a cache, and at least one processor with a buffer are designed. In a data processing system where multiple data processes share the main memory, such as a multiprocessor system that includes It is necessary to reflect the behavior. In other words, if another data processing device performs store access to the main memory, the contents of the tag memory for the relevant cache buffer will be incorrect, so the block address information held at the relevant location in the tag memory will be It becomes necessary to disable it.

この無効化要求はメインメモリを共有するデータ処理装
置が多くなるほど頻発し、当該データ処理装置からのア
クセス要求と競合する確率が高くなってくる。
This invalidation request occurs more frequently as the number of data processing devices that share the main memory increases, and the probability that it will conflict with an access request from the data processing device increases.

従来のこの種のキャッシュバッファ制御装置は、キャッ
ジJL バッファが保持するデータブロックに対するブ
ロックアドレス情報ヲキャッシュバッファの番地とカラ
ムとで定まる位置に対応した位置に保持するタグメモリ
と、前記キャッジ−バッファがミスヒツトしたときにメ
インメモリから新しいデータブロックをロードすべきキ
ャッシュバッファのカラムを予め定められた手順によ)
指定する置換カラム指定回路と、他のデータ処理装置か
らのメインメモリへのストアアクセス実行に伴いキャッ
シュバタファP効化するための要求があっ6− たと色にこの要求の対象となるデータブロックに対する
有効なブロックアドレス情報がタグメモリに保持されて
いるとこのタグメモリの保持位置に関する位置情報とこ
れの有意性表示フラグと少なくともルベルにわた)、た
とえば先入東先出し法(FIFO)の手順にしたがい格
納するアドレス指定可能なスタック回路と、データブロ
ックロード(以下ロードと略称する)に伴うタグメモリ
の更新を行ないまたスタック回路のいずれかのレベルに
有意性表示フラグのある位置情報が格納されていると前
記FIFOの手順によシこの位置情報に対応するタグメ
モリのブロックアドレス情報を無効化するタグメモリ制
御回路とを備えている。
A conventional cache buffer control device of this type includes a tag memory that stores block address information for a data block held by a cache JL buffer at a position determined by an address and column of the cache buffer, and a tag memory that stores block address information for a data block held by the cache JL buffer. (by a predetermined procedure) which column of the cache buffer should be loaded with a new data block from main memory when there is a miss.
There is a request to enable the cache butterf P due to the specified replacement column designation circuit and the execution of store access to the main memory from another data processing device. If valid block address information is held in the tag memory, positional information regarding the holding position of this tag memory and its significance indicating flag (at least across the blocks) are stored, for example, according to a first-in, first-out (FIFO) procedure. The addressable stack circuit is used to update the tag memory along with the data block load (hereinafter referred to as load). and a tag memory control circuit that invalidates the block address information of the tag memory corresponding to the position information according to the FIFO procedure.

このような従来構成においては、スタック回路に位置情
報が有意に格納されていればタグメモリの当該位置は必
ず無効化されてしまうため、ξスヒットが発生してスタ
ック回路に位置情報が格納されているタグメモリの位置
に対応するキャッシェバッファの位置へのロードとタグ
メモリの更新とが行なわれても、その後でタグメモリの
当該位置が無効化されることになり、上記ロードされた
データブロックはキャッシュバッファに保持されていな
いと見做されてしまいヒツト率が低下するという第1の
欠点がある。
In such a conventional configuration, if positional information is meaningfully stored in the stack circuit, the corresponding location in the tag memory is always invalidated, so a ξ hit occurs and the positional information is stored in the stack circuit. Even if the cache buffer location corresponding to the tag memory location is loaded and the tag memory is updated, that location in the tag memory will be invalidated afterwards, and the loaded data block will be invalidated. The first drawback is that it is assumed that the data is not held in the cache buffer, reducing the hit rate.

また、上記ロード後のタグメモリ当該位置の無効化は不
必要な動作であシ、このような不必要な無効化要求のた
めタグメモリの使用効率が低下するという第2の欠点が
ある。
In addition, invalidating the relevant location in the tag memory after the load is an unnecessary operation, and there is a second drawback that the use efficiency of the tag memory decreases due to such an unnecessary invalidation request.

本発明の目的はヒツト率とタグメモリ使用効率とを向上
させるキャッシュバッファ制御装置を提供することにあ
る。
An object of the present invention is to provide a cache buffer control device that improves hit rate and tag memory usage efficiency.

本発明の装置はメインメモリを共有する複数データ処理
装置を備えこれらデータ処理装置の少なくとも1台が前
記メインメモリの複数データブロックの写しを1番地あ
たり少なくとも1カラムにわたって保持するキャッシュ
バッファとキャッシュバッファ制御装置とを備えたデー
タ処理システムにおける前記キャッシュバッファ制御装
置において、前記キャッジ−バッファが保持するデータ
ブロックに対するブロックアドレス情報と前記キャッシ
ュバッファの番地とカラムとで定まる位置に対志した位
置に保持するタグメモリと、 前記キャッシュバッファが建スヒットしたときに前記メ
インメモリから新しいデータブロックをロードすべき前
記キャッシュバッファのカラムを予め定められた手1願
により指定する置換カラム指定回路と、 他の前記データ処理装置からの前記メインメモ該要求の
対象となるデータブロックに対する有効なブロックアド
レス情報が前記タグメモリに保持されていると該タグメ
モリの保持位置に関する位置情報とこれの有意性表示フ
ラグとを少なくともルベルにわたシ格納するアドレス指
定可能なスタック回路と、 該スタック回路のうちの別途通知されるレベルに格納さ
れている的記有意性表示フラグを解消するクリア回路と
、 紡記キャッジ瓢バッファがξスヒットしたとき9− に該キャッシ二バッファへのアクセスアドレスおよび前
記置換カラム指定回路が指定するカラムを前記スタック
回路に前記有意性フラグとともに格納されているすべて
の前記位置情報と比較し一致すると当該レベルに格納さ
れている前記有意性表示フラグを解消させるべく該レベ
ルの情報を前記クリア回路に通知する比較回路と、 前記ロードに伴う前記タグメモリの更新を行ないまた前
記スタック回路のいずれかのレベルに前記有意性表示フ
ラグがあると予め定められた手順によシ該有意性表示フ
ラグのある前記位置情報に対応する前記タグメモリのブ
ロックアドレス情報を無効化しかつ該無効化起因となっ
た前記有意性表示フラグを解消させるべく当該レベル情
報を前記クリア回路に通知するタグメモリ制御回路とを
設けたことを特徴とする。
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. and a tag held at a position relative to a position determined by block address information for a data block held by the cache buffer and an address and column of the cache buffer. a memory; a replacement column designation circuit that designates, in a predetermined manner, a column of the cache buffer into which a new data block is to be loaded from the main memory when the cache buffer is hit; and the other data processing. If valid block address information for the data block that is the target of the main memo request from the device is held in the tag memory, the position information regarding the holding position of the tag memory and the significance display flag thereof are stored at least in the label. An addressable stack circuit for storing data, a clearing circuit for clearing the marking significance display flag stored in a separately notified level of the stack circuit, and a spinning cage gourd buffer when the thread is hit. When 9-, the access address to the cache buffer and the column specified by the replacement column designation circuit are compared with all the position information stored in the stack circuit together with the significance flag, and if they match, the level is changed to the corresponding level. a comparison circuit that notifies the clearing circuit of information on the level in order to clear the stored significance display flag; and a comparison circuit that updates the tag memory in conjunction with the loading, and also updates the tag memory at any level of the stack circuit. If there is a significance display flag, the block address information of the tag memory corresponding to the position information with the significance display flag is invalidated according to a predetermined procedure, and the significance display that caused the invalidation is performed. The present invention is characterized by further comprising a tag memory control circuit that notifies the clearing circuit of the level information in order to clear the flag.

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

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

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

本実施例は切替回路lと、タグメモリ2と、第1比較回
路3と、置換カラム指定回路4と、スタック回路5と、
クリア回路6と、第2比較回路7と、タグメモリ制御回
路8とから構成されている。
This embodiment includes a switching circuit 1, a tag memory 2, a first comparison circuit 3, a replacement column designation circuit 4, a stack circuit 5,
It is composed of a clear circuit 6, a second comparison circuit 7, and a tag memory control circuit 8.

切替回路lは当該データ処理装置からのアクセスアドレ
スAと他のデータ処理装置からの無効化要求アドレスB
と内部発生する無効化アドレスCとを切り替えて、これ
ら3つのアドレスのうちから1つのみを選出し、そのう
ちのブロックアドレスを第1ブロツクアドレスDおよび
第2ブロツクアドレスEとに分割して出力する。第1ブ
ロツクアドレスDと第2ブロツクアドレスEはそれぞれ
16ビツトと6ビツト構成であり、計22ビットにより
前記4.096 Kケのデータブロックのうちの1つを
指定する。第2ブロツクアドレスEは以下に述べるタグ
メモリ2および置換カラム指定回路4と、キャッシュバ
ッファ9とに対するアクセスアドレスとなる。
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.
and an internally generated invalidation address C, select only one of these three addresses, divide the block address among them into a first block address D and a second block address E, and output them. . The first block address D and the second block address E are respectively composed of 16 bits and 6 bits, and a total of 22 bits specify one of the 4.096K data blocks. The second block address E becomes an access address for the tag memory 2, replacement column specifying circuit 4, and cache buffer 9, which will be described below.

タグメモリ2はキャッシュバッファ9が保持スる256
ケのデータブロックに対する第1ブロツクアドレスDと
これの有効性を表示する1ビツトとを、当該第2ブロツ
クアドレスEによシ指定される64ケの各番地に4組ず
つ保持する。
Tag memory 2 is held by cache buffer 9 256
Four sets of the first block address D for each data block and one bit indicating its validity are held at each of the 64 addresses specified by the second block address E.

第1比較回路3は切替回路lが出力する第1ブロツクア
ドレスDを、これとの組になっている第2ブロツクアド
レスEによυ指定され読み出される有効表示のあるタグ
メモリ2の保持内容(第1ブロツクアドレス)のすべて
と比較する。比較の結果によシタグメモリ2のいずれか
の保持内容と一致すればヒツト信号Flおよびヒツトカ
ラム情報F2を、またタグメモリ2のいずれの保持内容
とも一致しなければミスヒツト信号Gをそれぞれ出力す
る。
The first comparator circuit 3 converts the first block address D output from the switching circuit l into the content held in the tag memory 2 with a valid indication (which is specified by the second block address E that is paired with it) and read out ( 1st block address). As a result of the comparison, if the contents match any of the contents held in the tag memory 2, a hit signal Fl and hit column information F2 are output, and if the contents do not match any of the contents held in the tag memory 2, a miss signal G is output.

置換カラム指定回路4は当該データ処理装置からのアク
セス要求Hと読出しコマンドUとがありかつ第1比較回
路3がξスヒット信号Gを出力したときに、メインメモ
リlOから新しいデータブロックをロードすべきキャッ
シュバッファ9のカラムを指定するための置換カラム情
報Jを予め定められた手順によ多出力する。
The replacement column designation circuit 4 should load a new data block from the main memory IO when there is an access request H and a read command U from the data processing device and the first comparison circuit 3 outputs the ξ hit signal G. Replacement column information J for specifying a column in the cache buffer 9 is outputted in accordance with a predetermined procedure.

スタック回路5は、他のデータ処理装置からのメインメ
モリ10へのストアアクセス実行に伴いキャッシュバッ
ファ9B効化するための無効化要求Kが他データ処理装
置からあるときに、この無効化要求にの対象となるデー
タブロックに対する有効な第1ブロツクアドレスがタグ
メモリ2に保持されていると、第2ブロツクアドレスE
とヒツトカラム情報F2とこれらの有意性表示フラグP
とを前記保持位置に関する位置情報として格納する。
When there is an invalidation request K for validating the cache buffer 9B from another data processing device in response to execution of a store access to the main memory 10 from another data processing device, the stack circuit 5 responds to this invalidation request. If a valid first block address for the target data block is held in the tag memory 2, the second block address E
and human column information F2 and their significance display flag P
is stored as position information regarding the holding position.

13− 無効化要求にの対象となるデータブロックに対する第1
ブロツクアドレスDのタグメモリ2における保持有無の
チェックは、切替回路lがこの場合に出力する無効化要
求アドレスBのうちの第1ブロツクアドレスDと、無効
化要求アドレスBのうちの第2ブロツクアドレスEβに
よシアクセスされ読み出されるタグメモリ2の有効性表
示のある保持内容とが、第1比較回路3において比較さ
れることによシ行なわれる。スタック回路5の格納スペ
ース(レベル)は4つでアル。
13- The first request for the data block subject to the invalidation request
Checking whether the block address D is retained in the tag memory 2 is performed by checking the first block address D of the invalidation request addresses B and the second block address of the invalidation request addresses B output by the switching circuit 1 in this case. This is done by comparing the content stored in the tag memory 2 with validity indication, which is accessed and read by Eβ, in the first comparison circuit 3. The stack circuit 5 has four storage spaces (levels).

クリア回路6はスタック回路5の4つのレベルのうちの
別途通知されるレベルに格納されている上記     
−−有意性表示フラグケPを解消するためのクリア信号
りを出力する。
The clear circuit 6 stores the above information stored in a separately notified level of the four levels of the stack circuit 5.
--Output a clear signal to eliminate the significance display flag P.

第2比較回路7はキャッシュバッファ9がミスヒツトし
たときに、尚該第2ブロツクアドレスEおよびこのとき
の置換カラム情報Jを、スタック回路5が格納する有意
性表示フラグP付のすべての無効化ブロック情報Mおよ
び無効化カラム情報Nとそれぞれ比較し、一致するレベ
ルがあると当14− 該レベルを通知するために一致しベル情報Qをクリア回
路6に出力する。
When the cache buffer 9 misses, the second comparison circuit 7 transfers the second block address E and the replacement column information J at this time to all the invalidated blocks with the significance display flag P stored in the stack circuit 5. It compares the information M and the invalidation column information N, and if there is a matching level, it outputs matching bell information Q to the clear circuit 6 in order to notify the level.

タグメモリ制御回路8はミスヒツト時のロードに伴うタ
グメモリ2の更新、および他データ処理装置からの無効
化要求Kに対するタグメモリ2の無効化制御を行なう。
The tag memory control circuit 8 updates the tag memory 2 upon loading in the event of a miss, and controls the invalidation of the tag memory 2 in response to an invalidation request K from another data processing device.

無効化輛はスタック回路5のいずれかのレベルに有意性
表示フラグPがあシ、かつアクセス要求Hも無効化要求
にもないときに行なわれる。有意性表示フラグPのおる
レベルのうちから予め定められた。・チ噴によシ、スタ
ック回路5のレベルをアクセスし、無効化アドレスCと
無効化カラムRとをタグメモリ2に出力してタック回路
5の無効化したレベルについては有意性表示フラグPを
解消するために、解消レベル情@Tをクリア回路6に出
力する。
Invalidation is performed when the significance display flag P is on at any level of the stack circuit 5 and there is neither an access request H nor an invalidation request. It is predetermined from among the levels of the significance display flag P.・Access the level of the stack circuit 5, output the invalidation address C and invalidation column R to the tag memory 2, and set the significance display flag P for the invalidated level of the stack circuit 5. In order to resolve the problem, the resolution level information @T is output to the clear circuit 6.

第2図は第1図に示した切替回路1と、タグメモリ2と
、第1比較回路3と、置換カラム指定回路4の詳細回路
図を示す。
FIG. 2 shows a detailed circuit diagram of the switching circuit 1, tag memory 2, first comparison circuit 3, and replacement column designation circuit 4 shown in FIG.

切換回路1は2つの切替器llおよび12と、レジスタ
13とから構成され、タグメモリ2は64語×68ビッ
ト/語のランダムアクセスメモリ21で構成される。
The switching circuit 1 is composed of two switches 11 and 12 and a register 13, and the tag memory 2 is composed of a random access memory 21 of 64 words x 68 bits/word.

ランダムアクセスメモリ21の64語のうちの1語の選
択は第2ブロツクアドレスEまたは無効化アドレスCに
よシ行なわれる。l@あたシの64ビツトは17ビツト
ずつの4カラムに分割され、さらに1カラムあたυの1
7ビツトは第1ブロツクアドレスDを表現する16ビツ
トと、この16ビツトの有効性を表示する1ビツトのV
ビットSとから構成される。
Selection of one word out of 64 words in random access memory 21 is made by second block address E or invalidation address C. The 64 bits of l@atashi are divided into 4 columns of 17 bits each, and 1 column of υ is further divided into 4 columns of 17 bits each.
The 7 bits are 16 bits representing the first block address D and 1 bit V representing the validity of these 16 bits.
It consists of bit S.

第1比較回路3は4つの比較器31,32.33および
34とゲート35とから構成され、置換カラム指定回路
4は2ケのレジスタ4t、42(各ビット構成)と、6
4語×4ビット/語のランダムアクセスメモリ43と、
10ケのゲート44〜4D。
The first comparison circuit 3 is composed of four comparators 31, 32, 33 and 34 and a gate 35, and the replacement column designation circuit 4 is composed of two registers 4t, 42 (each bit configuration), and a gate 35.
4 words x 4 bits/word random access memory 43;
10 gates 44-4D.

と、書込みパルス発生器4Eと、フリップ70ツブ4F
とから構成され、周知のラウントロピン方式のシフト機
能を有する。
, write pulse generator 4E, flip 70 tube 4F
It has a well-known round-tropin shift function.

第3図は第1図に示したスタック回路5と、クリア回路
6と、第2比較回路7とタグメモリ制御回路8の詳細回
路図を示す。
FIG. 3 shows a detailed circuit diagram of the stack circuit 5, clear circuit 6, second comparison circuit 7, and tag memory control circuit 8 shown in FIG.

スタック回路5は、各々が6ビツト構成の4ケのレジス
タ54,55.56および57と、各々が各4ビツトの
4ケのレジスタ58,59,5Aおよび5Bと、4ケの
フリップフロップ5c、5I)、5Bおよび5Fと、ゲ
ート51と、カウンタ52と、デコーダ53とから構成
されている。同じ横位置にある各1ケずつの6ビツトレ
ジスタと、4ビツトレジスタと、フリップフロップから
なる組、たとえばレジスタ54と、レジスタ58と、7
リツプフロツプ5Cとで1つのレベルを構成する。
The stack circuit 5 includes four registers 54, 55, 56 and 57 each having a 6-bit configuration, four registers 58, 59, 5A and 5B each having a 4-bit configuration, four flip-flops 5c, 5I), 5B, and 5F, a gate 51, a counter 52, and a decoder 53. A set consisting of a 6-bit register, a 4-bit register, and a flip-flop, for example, register 54, register 58, and register 7, located in the same horizontal position.
One level is constituted by the lip-flop 5C.

クリア回路6はスタック回路5の4レベルそれぞれに対
応する4ケのグー)61〜64、第2比較回路7は8ケ
の比較器71〜78とタケのゲート74〜7Eとでそれ
ぞれ構成されている。
The clear circuit 6 is composed of four gates 61 to 64 corresponding to each of the four levels of the stack circuit 5, and the second comparison circuit 7 is composed of eight comparators 71 to 78 and bamboo gates 74 to 7E. There is.

タグメモリ制御回路8は4ケの切替器81〜84と、4
ビツトのレジスタ85と、9ケのゲート86〜8Eど、
書込みパルス発生器8Hと、デコーダ17− 8Fと、カウンタ8Gとから構成されている。
The tag memory control circuit 8 includes four switchers 81 to 84, and four switchers 81 to 84.
A bit register 85, nine gates 86 to 8E, etc.
It consists of a write pulse generator 8H, a decoder 17-8F, and a counter 8G.

なおすべてのレジスタはクロックに同期して作動するよ
うになっているが、図面の繁雑化を回避するため、クロ
ックの入力表示は省略した。
All registers operate in synchronization with the clock, but the clock input display has been omitted to avoid complicating the drawing.

次に、本実施例の動作を動作モード別に説明する。Next, the operation of this embodiment will be explained for each operation mode.

(11読出しアクセス要求時 尚該データ処理装置から当キャッシュバッファ制御装置
に対する読出し要求があった場合である。
(At the time of 11 read access request, this is a case where there is a read request from the data processing device to the cache buffer control device.

前述したような他データ処理装置の定義から明らかのよ
うに、キャッシュバッファ制御装置が他データ処理装置
からアクセスされることはおり得ない0 切替回路lの切替器11はアクセス要求Hに応答して、
アクセスアドレスAのうちの第1ブロツクアドレスDと
第2ブロツクアドレスEとをレジスタ13に出力する。
As is clear from the above-mentioned definition of other data processing devices, it is impossible for the cache buffer control device to be accessed by another data processing device. ,
The first block address D and the second block address E of the access address A are output to the register 13.

この場合には、アクセス要求Hがおるためタグメモリ制
御回路8から切替回路1に供給されるゲート8Aの出力
■はuO″′となり、切替器12はレジスタ13が保持
する第2ブ18− ロックアドレスEを出力する。この第2ブロツクアドレ
スEによシ指定されるタグメモリ2の番地がアクセスさ
れ、4ケすべての保持内容のそれぞれをVビットSとと
もに第1比較回路3の比較器31〜34に出力する。比
較器31〜34においては、タグメモリ2からの保持内
容のうちの■ピッ)8が1”である保持内容を、レジス
タ13からの第1ブロツクアドレスDと比較してその一
致性有無を調べる。
In this case, since there is an access request H, the output of the gate 8A supplied from the tag memory control circuit 8 to the switching circuit 1 becomes uO"', and the switching circuit 12 switches to the second block 18-lock held by the register 13. Address E is output.The address of the tag memory 2 specified by this second block address E is accessed, and the contents of all four digits are outputted together with the V bit S to the comparators 31 to 31 of the first comparator circuit 3. 34. In the comparators 31 to 34, among the contents held from the tag memory 2, the contents held in which pip 8 is 1'' are compared with the first block address D from the register 13, and the Check for consistency.

(1,1)  ヒツトした場合 比較器31〜34のいずれかにおいて上記−散性を検出
した場合であシ、ゲート35(論理積回路)はヒツト信
号F1とヒツトカラム情報F2とを出力する。ヒツトカ
ラム情報F2は1ビツトのみが11″で、残)3ビツト
は10″′の4ビツトデータであるO アクセスアドレスAにより指定されるキャッジ具バッフ
ァ9の番地から当該データ処理装置へ、図示を省略した
手段によシ、データが読み出される。
(1,1) In the case of a hit If the above-mentioned -dispersion is detected in any of the comparators 31 to 34, the gate 35 (AND circuit) outputs a hit signal F1 and hit column information F2. The hit column information F2 is 4-bit data in which only 1 bit is 11'' and the remaining 3 bits are 10''. The data is read out by the means.

グー)4C(論理和回路)を経たヒツト信号Flはグー
)4D(論理積回路)においてアクセス要求Hおよび読
出しコマンドUとの論理積をとシ、書込みパルス発生器
4Eを励起し、レジスタ41に入力しているヒツトカラ
ム情報F2をゲート44〜47(否定論理積回路)によ
り、1ビツト右シフトシて、ランダムアクセスメモリ4
3に書き込む。このときのランダムアクセスメモリ43
のストアアドレスは上述のタグメモリ2へのアクセスア
ドレスと同一の第2ブロツクアドレスEである。
The hit signal Fl that has passed through 4C (logical sum circuit) is logically ANDed with the access request H and read command U in 4D (logical product circuit), excites the write pulse generator 4E, and writes it to the register 41. The input hit column information F2 is shifted to the right by 1 bit by gates 44 to 47 (NAND circuits), and then transferred to the random access memory 4.
Write in 3. Random access memory 43 at this time
The store address is the second block address E, which is the same as the access address to the tag memory 2 described above.

上述のゲート44〜47の右シフトは次のようにして行
なわれる。書込みパルス発生器4Eから書込ミパルスが
ランダムアクセスメモリ43に入力する時点には、ラン
ダムアクセスメモリ43は10″を出力するように構成
され、かつレジスタ42はヒツト信号F1によυ″′O
″′にクリアされる。このため、ゲート48〜4B(論
理積回路)の全出力は”l”にな如、レジスタ41から
1ビツトだけ右シフトして接続されているゲート44〜
47にレジスタ41の出力が入力され、ランダムアクセ
スメモリ43に書き込まれる。書き込まれたランダムア
クセスメモリ43の内容はアクセス要求Hと読出しコマ
ンドUとが与えられかつミスヒツト信号Gが発生すると
レジスタ42に出力され置換カラム情報Jとなる。
The right shifting of the gates 44-47 described above is performed as follows. When the write pulse is input from the write pulse generator 4E to the random access memory 43, the random access memory 43 is configured to output 10'', and the register 42 is set to υ'''O by the hit signal F1.
Therefore, all the outputs of the gates 48 to 4B (AND circuits) are "L", and the outputs of the connected gates 44 to 4B are shifted to the right by one bit from the register 41.
The output of the register 41 is input to 47 and written to the random access memory 43. The written contents of the random access memory 43 are outputted to the register 42 and become replacement column information J when an access request H and a read command U are given and a miss signal G is generated.

このシフト処理は次に述べるミスヒツト時にメインメモ
リlOからキャックユバッファ9に新しいデータブロッ
クをロードすべきカラムにヒツトカラムの右隣シのカラ
ムを指定するためのものでめ、スタック回路5のゲート
51(論理積回路)は作動せず%またアクセス要求Hが
′1″かつミスヒツト信号GがwO″jのためタグメモ
リ制御回路8のグー) 8 B 、(論理和回路)の出
力は10”になシ、タグメモ1り制御回路8は機能しな
い。
This shift processing is to specify the column to the right of the hit column as the column in which a new data block is to be loaded from the main memory IO to the cache buffer 9 in the event of a miss, which will be described next. Since the access request H is ``1'' and the miss signal G is wO''j, the output of the tag memory control circuit 8) is 10''. However, the tag memo 1 control circuit 8 does not function.

(1,2)  ミスヒツト−した場合 比較器31〜34のいずれにおいても一致性を検出しな
かった場合でToシ、ゲート35はミスヒツト信号Gを
出力する。
(1, 2) In the case of a mishit If no coincidence is detected in any of the comparators 31 to 34, the gate 35 outputs a mishit signal G.

21− 当該データ処理装置はアクセスアドレス人によシ指定さ
れるメインメモリ10の番地から、図示を省略した手段
によりデータを読み出す。このブータラ含むデータブロ
ックの写しが、第2ブロツクアドレスEによりアクセス
されランダムアクセスメモリ43から読み出されてレジ
スタ42にセットされる置換カラム情報Jと第2ブロツ
クアドレスEとで定まるキャックユバッファ9の位置に
メインメモリlOからロードされる。
21- The data processing device reads data from the address of the main memory 10 designated by the access address person by means not shown. A copy of the data block including this booter is accessed by the second block address E, read from the random access memory 43, and stored in the cache buffer 9 determined by the replacement column information J and the second block address E, which is read from the random access memory 43 and set in the register 42. The location is loaded from main memory lO.

ξスヒット信号Gはフリップフロップ4Fにおいてlク
ロックだけ遅延されて書込みパルス発生器4Dを作動さ
せ、タグメモリ2をアクセスしたのと同一の第2ブロツ
クアドレスによ如指定されるランダムアクセスメモリ4
3の番地に、レジスタ42の保持内容(置換カラム情報
J)をゲート48〜4Bとゲート44〜47とで1ビツ
トだけ右シフトし°C%書き込む。この右7フトは、レ
ジスタ41がミスヒツト信号Gによp @ o−tクリ
アされかつランダムアクセスメモリ43は紡速のように
′  書込みパルス発生器4Dから書込みパルスの入力
22− を受けるときにUOWが出力されることにより行なわれ
、置換すべきカラムを順送シするためのものである。
The ξ hit signal G is delayed by l clocks in the flip-flop 4F and activates the write pulse generator 4D to write the random access memory 4 specified by the same second block address that accessed the tag memory 2.
The contents held in the register 42 (replacement column information J) are shifted to the right by 1 bit using gates 48 to 4B and gates 44 to 47 and written to address 3 by °C%. This right 7ft is UOW when the register 41 is cleared by the miss signal G and the random access memory 43 receives the write pulse input 22- from the write pulse generator 4D like the spinning speed. This is done by outputting , and is used to sequentially forward columns to be replaced.

ミスヒツト信号Gと置換カラム情報Jとはそれぞれタグ
メモリ制御回路8のゲート8E(論理積回路)と切替器
82とに供給される。グー)8Eの出力はゲート8B経
由で切替器82の切替信号となって、置換カラム情報J
を切替器82からレジスタ85に入力させるとともに、
書込みパルス発生器8Hを励起し、レジスタ85に入力
した置換カラム情報Jをゲート86〜89(論理積回路
)を経由でカラム指定Rとしてタグメモリ2に供給し、
第2ブロツクアドレスEとこのカラム指定Rとによシ定
まるランダムアクセスメモリ21の位置に第1ブロツク
アドレスDを書き込む。
The mishit signal G and replacement column information J are supplied to the gate 8E (AND circuit) of the tag memory control circuit 8 and the switch 82, respectively. The output of 8E becomes the switching signal of the switch 82 via the gate 8B, and the replacement column information J
is input from the switch 82 to the register 85, and
Excite the write pulse generator 8H, supply the replacement column information J input to the register 85 to the tag memory 2 as column designation R via gates 86 to 89 (AND circuit),
The first block address D is written to the location in the random access memory 21 determined by the second block address E and this column designation R.

このとき、アクセス要求Hがあるため、ゲート8D(否
定論理和回路)、シたがってグー)8A(論理積回路)
の出力VはuO曽になシ、切替器81ハ′l″″をVビ
ット8としてタグメモリ2に供給し、上述の力ジム指定
Rによシ指定されるカラムに”1″が書き込まれる。■
ビットSがul”のときは当該カラムの保持内容(第1
ブロツクアドレスD)は有効であり、■ビットSが10
′のときKは当該カラムの保持内容は無効であシ第1比
較回路3における比較の対象にな)得ないことを表わす
At this time, since there is an access request H, gate 8D (NOR circuit), therefore gate 8A (AND circuit)
The output V is supplied to the tag memory 2 from the switch 81 as V bit 8, and "1" is written in the column specified by the above-mentioned power specification R. . ■
When bit S is “ul”, the content held in the column (first
Block address D) is valid and ■bit S is 10.
', K indicates that the content held in the column is invalid and cannot be compared in the first comparator circuit 3.

第2比較回路7における比較1671〜74および比較
器75〜78は、それぞれ第2ブロツクアドレスEとス
タック回路5のレジスタ54〜57の保持内容および置
換カラム情報Jとスタック回路5のレジスタ58〜5B
の保持内容(対応レベルの7リツプフロツプ5八〜5F
の保持内容が111であること)を比較する。両比較の
結果によシ両方とも一致するレベルがあれば、ミスヒツ
ト信号GK応答して               ゲ
ート7A〜7D(否定論理積回路)経由で一致しベル情
報Qを出力する。この一致レベル情報Qにより指定され
るレベルに対応するクリア回路6のグー)61〜64(
否定論理積回路)のうちのゲートは正”を出力し、フリ
ップフロップ50〜5Fのうちの対応するレベルのフリ
ップフロップをリセットする。
The comparators 1671 to 74 and the comparators 75 to 78 in the second comparison circuit 7 respectively compare the second block address E, the contents held in the registers 54 to 57 of the stack circuit 5, the replacement column information J, and the registers 58 to 5B of the stack circuit 5.
(corresponding level 7 lip-flops 58 to 5F)
The content held in the file is 111). If the results of both comparisons show that both levels match, a match is output via gates 7A to 7D (NAND circuits) in response to a miss signal GK, and bell information Q is output. Clear circuit 6 corresponding to the level specified by this matching level information Q) 61 to 64 (
The gate of the NAND circuit (NAND circuit) outputs a positive signal and resets the flip-flops at the corresponding level among the flip-flops 50 to 5F.

(2)書込みアクセス要求時 当該データ処理装置から当Φヤックニバッファ制御装置
に対する書込み要求があった場合である。
(2) At the time of a write access request This is a case where there is a write request from the data processing device to the Φ Yakuni buffer control device.

紡速の(1)読出しアクセス要求時と同様にして第1ブ
ロツクアドレスDの一致性有無が調べられる。
The consistency of the first block address D is checked in the same manner as in the case of (1) read access request for spinning speed.

(2,1)  ヒツトした場合 当該データ処理装置から、アクセスアドレスAによシ指
定されるキャッシュバッファ9とメインメモリ10の番
地に、図示を省略した手段によシ、データの書込みが行
なわれる。
(2,1) When a hit occurs, data is written from the data processing device to the addresses of the cache buffer 9 and main memory 10 specified by the access address A by means not shown.

この場合には読出しコマンドUは0”であるため置換カ
ラム指定回路4は作動せず、また( 1.1 )ヒツト
した場合と同じ理由によυ、スタック回路5とタグメモ
リ制御回路8も作動しない。
In this case, the read command U is 0'', so the replacement column designation circuit 4 does not operate, and for the same reason as in the case of (1.1) hit, the stack circuit 5 and tag memory control circuit 8 also operate. do not.

(2,2)  ミスヒツトした場合 当該データ処理から、アクセスアドレスAにより指定さ
れるメインメモリlOの番地に、図示を省略した手段に
よp、データの書込みが行なわれるのみである。
(2, 2) In the case of a miss, data p is simply written to the address of the main memory IO specified by the access address A from the data processing by means not shown.

(3)無効化要求時 25− 他データ処理装置がストアアクセスを実行した場合、す
なわち、メインメモリlOにデータを書き込んだ場合に
は、もし書込みが行なわれたデータブロックの書き替わ
る前のデータの写しがキャッシュメモリ9に保持されて
いればこれを無効化するために、他データ処理装置から
無効化要求Kが入力する。
(3) At the time of invalidation request 25- When another data processing device executes a store access, that is, when writing data to the main memory IO, if the data of the written data block before being rewritten is If a copy is held in the cache memory 9, an invalidation request K is input from another data processing device in order to invalidate it.

この場合には切替器llは無効化要求Kに応答して無効
化要求アドレスBをレジスタ13に出力し、この無効化
要求アドレスBのうちの第1ブロツクアドレスDと、第
2ブロツクアドレスEによシアクセスされて読み出され
るタグメモリ2の保持内容との間で、前述と同様に一致
性有無が調べられる。
In this case, the switch 11 outputs the invalidation request address B to the register 13 in response to the invalidation request K, and outputs the invalidation request address B to the first block address D and the second block address E of the invalidation request address B. The presence or absence of consistency is checked in the same manner as described above between the content held in the tag memory 2 that is accessed and read out by the user.

(3,1)  ヒツトした場合 スタック回路5のゲート51が111′を出力してデコ
ーダ53を励起してレジスタ54〜57、レジスタ58
〜5Bおよびフリップフロップ50〜5Fのうちのデコ
ーダ53によ)指定されるレベルにあるそれぞれに、第
2ブロツクアドレスE% ヒッ26− トカラム情報F2およびゲート51の出力を格納する。
(3,1) When a hit occurs, the gate 51 of the stack circuit 5 outputs 111' to excite the decoder 53 and registers 54 to 57 and register 58.
The second block address E% hit column information F2 and the output of the gate 51 are stored in each of the flip-flops 5B and 50 to 5F at a level specified by the decoder 53).

同時に、ゲート51の出力によ如カウンタ52を歩進さ
せて、次の格納レベルをデコーダ53に指示する。
At the same time, the output of the gate 51 increments the counter 52 and instructs the decoder 53 about the next storage level.

この場合にはアクセス要求HはuO″であるためグー)
4Dによシ置換カラム指定回路4への書込みは阻止され
、また前述と同様な理由によりタグメモリ制御回路8も
作動しない。
In this case, the access request H is uO'', so
Writing to the 4D replacement column designation circuit 4 is blocked, and the tag memory control circuit 8 also does not operate for the same reason as described above.

(3,2)  ミスヒツトした場合 第2比較回路7とクリア回路6以外の回路は作動しない
(3, 2) When a mishit occurs, circuits other than the second comparison circuit 7 and clear circuit 6 do not operate.

(4)  アクセス要求も無効化要求もない場合キャッ
シュ制御装置がスレーブとしては使用されない場合であ
る。
(4) Case where there is no access request or invalidation request This is a case where the cache control device is not used as a slave.

ゲート8C(論理和回路)においてフリップフロップ5
0〜5Fのいずれかがalltlを保持していることが
わかると、グー)8Aの出力■は”1″′を出力し、こ
の出力■に応答して切替81はuO″をVビット8とし
てタグメモリ2に供給する。
Flip-flop 5 in gate 8C (OR circuit)
When it is found that any one of 0 to 5F holds alltl, the output () of 8A outputs "1"', and in response to this output, the switch 81 sets uO" to V bit 8. Supplied to tag memory 2.

切替器83と84はカウンタ8Gの出力に応答して、そ
れぞれレジスタ54〜57とレジスタ58〜5Bの保持
内容である無効化ブロックM情報Mと無効化カラム情報
Nのうちから同一レベルの保持内容を1つずつ選んでい
る。切替器83の出力は無効化アドレスCとなってタグ
メモリ2の切替器12に供給されておシ、切替器12は
ゲート8Aの出力Vに応答してこの無効化アドレスCを
タグメモリ2に出力する。
In response to the output of the counter 8G, the switchers 83 and 84 select the contents held at the same level from among invalidation block M information M and invalidation column information N, which are the contents held in registers 54 to 57 and registers 58 to 5B, respectively. are selected one by one. The output of the switch 83 becomes the invalidation address C and is supplied to the switch 12 of the tag memory 2, and the switch 12 transfers this invalidation address C to the tag memory 2 in response to the output V of the gate 8A. Output.

切替器84の出力はゲート8Bの出力(この場合はグー
)8Aの出力■に等しい)に応答して切替器82から出
力し、レジスタ85に入力する。
The output of the switch 84 is output from the switch 82 in response to the output of the gate 8B (in this case, Goo is equal to the output ■ of the gate 8A), and is input to the register 85.

一方、グー)8Bの出力は書込みパルス発生器8Hを励
起してゲート86〜89に書込みパルスを出力させ、ゲ
ート86〜89においてレジスタ85の保持内容と書込
みパルスとの論理積をとって、カラム指定Rをタグメモ
リ2に出力する。
On the other hand, the output of Goo) 8B excites the write pulse generator 8H to output a write pulse to gates 86 to 89, and the gates 86 to 89 logically AND the contents held in the register 85 and the write pulse, and Output the designation R to the tag memory 2.

このようにして、無効化アドレスCとカラム指定比とに
より指定されるタグメモリ2の位置のVビット5KuO
″が書酋込まれ、同じ位置の保持内容を無効化する。
In this way, the V bit 5KuO of the tag memory 2 location specified by the invalidation address C and the column specification ratio is
” is written in, invalidating the contents held at the same position.

グー)8Aの出力■は、またデコーダ8Fを励起してゲ
ート61〜64のうちの、デコーダ8Fが指定するレベ
ル(無効化を行なったレベルに等しい)のゲートから′
I′′を出力する。フリップフロップ50〜5Fのうち
、このレベルと同じレベルにあるフリップフロップはu
O”にリセットされて、同レベルのレジスタが格納して
いる内容は無意味になったことを示す。つまシ、無効化
法の位置情報は無効化待ちからはずすのである。
The output (■) of 8A also excites the decoder 8F and outputs the signal from one of the gates 61 to 64 at a level designated by the decoder 8F (equal to the level at which the invalidation was performed).
Output I''. Among flip-flops 50 to 5F, the flip-flops at the same level as this level are u
O'', indicating that the contents stored in registers at the same level have become meaningless.In other words, the position information of the invalidation method is removed from the invalidation queue.

ゲート8Aの出力Vは同時にカウンタ8Gを歩進させて
、次の無効化対象レベルを設定しておく。
The output V of the gate 8A simultaneously increments the counter 8G to set the next invalidation target level.

以上説明した第1図に示す実施例はタグメモリを1つだ
け有しているが、同じ内容を保持するタグメモリを2つ
有し、それぞれが当該データ処理装置からのアクセス要
求Hと他データ処理装置からの無効化要求Kに対する参
照処理を分担することによシ、両要求の競合を緩和して
処理性能を向上させるようにしたキャッシュバッファ制
御装置が知られている。
The embodiment shown in FIG. 1 described above has only one tag memory, but it has two tag memories that hold the same contents, and each one receives the access request H from the data processing device and other data. A cache buffer control device is known that divides the reference processing for the invalidation request K from the processing device, thereby alleviating the conflict between the two requests and improving the processing performance.

第4図はこのような構成のキャッS/&バッファ29− 制御装置に対して本発明を実施した第2の実施例をキャ
ックユパッファ9とメインメモリ10とともに示すブロ
ック図である。
FIG. 4 is a block diagram showing, together with the cache puffer 9 and the main memory 10, a second embodiment in which the present invention is applied to the cache S/& buffer 29-control device having such a configuration.

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

第1切替回路100は第2図に示した切替回路lのうち
切替器12とレジスタγで構成され、第2切替回路11
0は無効化要求アドレスBと無効化アドレスCとをゲー
ト8Aの出力■に応答して切シ替えるように構成される
。第1タグメモリ200と第2タグメモリ210は同じ
内容を保持し、それぞれ当該データ処理装置からのアク
セス要求と他データ処理装置からの無効化要求に対する
参照処理を担う。また、第1比較回路300と第3比較
回路310はそれぞれ当該データ処理装30− 置からのアクセス要求Hと他データ処理装置からの無効
化要求Kに対するヒツト−ミスヒツト判定とヒツトカラ
ムの摘出を行なうためのものでおる。
The first switching circuit 100 is composed of a switch 12 and a register γ in the switching circuit l shown in FIG.
0 is configured to switch between the invalidation request address B and the invalidation address C in response to the output (2) of the gate 8A. The first tag memory 200 and the second tag memory 210 hold the same contents and handle reference processing for access requests from the data processing device and invalidation requests from other data processing devices, respectively. Further, the first comparison circuit 300 and the third comparison circuit 310 are used to perform hit/miss hit judgment and extraction of hit columns in response to an access request H from the data processing device 30 and an invalidation request K from another data processing device, respectively. It's from.

その他の回路は第1図に示した第1の実施例に対して第
2図と第3図に示した詳細回路図と同様である。
Other circuits are similar to the detailed circuit diagrams shown in FIGS. 2 and 3 with respect to the first embodiment shown in FIG.

本発明によれば、以上のような構成の採用によシ、スタ
ック回路に格納されている無効化待ちのタグメモリ位置
情報とロードが行なわれるキャッシュバッファ位置情報
とを比較して一致していればスタック回路が格納してい
る肖該タグメモリ位置情報を無意味化しておくことが可
能になるため、メインメモリからロードしたキャラツユ
バッファの保持内容に対する無効化実行を回避できるよ
うになシキャッンーヒット率を向上させ、また無駄な無
効化要求を無視することになるのでタグメモリの使用効
率を向上させることができる。
According to the present invention, by employing the above-described configuration, the tag memory location information that is stored in the stack circuit and is waiting to be invalidated is compared with the cache buffer location information that is to be loaded to see if they match. This makes it possible to make the portrait tag memory location information stored in the stack circuit meaningless, so it is possible to avoid invalidating the content held in the portrait buffer loaded from the main memory. This improves the hit rate and ignores unnecessary invalidation requests, making it possible to improve the efficiency of tag memory use.

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

第1図は本発明の一実施例、第2図と第3図は該実施例
の詳細および第4図は本発明の他の実施例をそれぞれ示
す。 1・・・・・・切替回路、10o・・・重篤1切替回路
、110・・・・・・第2切替回路、2・・・・・・タ
グメモリ、3,300・・・・・・第1比較回路、4.
400・・・・・・置換カラム指定回路、5,500・
・・・・・スタック回路、6,600・・・・・・クリ
ア回路、7,700・旧・・第2比較回路、8 、80
0・・・・・・タグメモリ制御回路、9・・・・・・キ
ャラツユバッファ、10・・・・・・主記憶装置(メイ
ンメモリ)、200・・・・・・第1タグメモリ、21
0・・・・・・第2タグメモリ、310・・・・・・第
3比較回路、11,12,81,82,83゜84・・
・・・・切替器、13.41 、42.54.55.5
6.57゜58.59,5A、5B、85・・・・・・
レジスタ、21.43・・・・・・ランダムアクセスメ
モリ(RAM)、31.32゜33.34,71,72
,73,74,75,76.77.78・・・・・・比
較器、  35,44,45,46,47,48,49
.4A。 4B、4C,4D、51,61,62,63.64.却
)7A。 7B、7C,7D、7E、86.87,88,89.8
A。 8B、8C,8D、8E・・・・・・ゲート、 4E 
、8H・・・・・・書込みパルス発生器、4F、50.
5D、5B、5F・・・・・・フリップフロップ、52
.8G・・・・・・カウンタ、53.8F・・・・・・
デコーダ、A・・・・・・アクセスアドレス、B・・・
・・・無効化要求アドレス、C・・・・・・無効化アド
レス、D・・・・・・第1ブロツクアドレス、E・・・
・・・第2ブロツクアドレス、Fl・・・・・・ヒツト
信号、F2・・・・・・ヒツトカラム情報、G・・・・
・貧スヒット信号、H・・・・・・アクセス要求、J・
・・・・・置換カラム情報、K・・・・・・無効化要求
、L・・・・・・クリア信号、M・・・・・・無効化ブ
ロック情報、N・・・・・・無効化カラム情報、P・・
・・・・有意性表示、Q・・・・・・一致レベル情報、
R・・・・・・カラム指定、S・・・・・・Vビット、
T・・・・・・解消レベル情報、U・・・・・・読出し
コマンド、■・・・・・・ゲート8Aの出力。 33− 策 1 図 第 ′5 図 第4 図
FIG. 1 shows one embodiment of the invention, FIGS. 2 and 3 show details of this embodiment, and FIG. 4 shows another embodiment of the invention. 1...Switching circuit, 10o...Serious 1 switching circuit, 110...2nd switching circuit, 2...Tag memory, 3,300...・First comparison circuit, 4.
400...Replacement column designation circuit, 5,500.
...Stack circuit, 6,600...Clear circuit, 7,700 Old...Second comparison circuit, 8,80
0...Tag memory control circuit, 9...Charatsuyu buffer, 10...Main memory (main memory), 200...First tag memory, 21
0...Second tag memory, 310...Third comparison circuit, 11, 12, 81, 82, 83°84...
...Switcher, 13.41, 42.54.55.5
6.57゜58.59, 5A, 5B, 85...
Register, 21.43... Random access memory (RAM), 31.32° 33.34, 71, 72
, 73, 74, 75, 76. 77. 78... Comparator, 35, 44, 45, 46, 47, 48, 49
.. 4A. 4B, 4C, 4D, 51, 61, 62, 63.64. 7A. 7B, 7C, 7D, 7E, 86.87, 88, 89.8
A. 8B, 8C, 8D, 8E...Gate, 4E
, 8H...Write pulse generator, 4F, 50.
5D, 5B, 5F...Flip-flop, 52
.. 8G...Counter, 53.8F...
Decoder, A...Access address, B...
... Invalidation request address, C ... Invalidation address, D ... First block address, E ...
...Second block address, Fl...Hit signal, F2...Hit column information, G...
・Poor hit signal, H...Access request, J.
...Replacement column information, K...Invalidation request, L...Clear signal, M...Invalidation block information, N...Invalidation column information, P...
... Significance display, Q ... Matching level information,
R...Column specification, S...V bit,
T: Elimination level information, U: Read command, ■: Output of gate 8A. 33- Measure 1 Figure '5 Figure 4

Claims (1)

【特許請求の範囲】 主記憶装置を共有する複数データ処理装置を備えこれら
データ処理装置の少なくとも1台が前記主記憶装置の複
数データブロックの写しを1番地あたり少なくとも1カ
ラムにわたって保持するキャッシュバッファとキャッン
7ッファ制N 装置とを備えたデータ処理システムにお
ける前記キャッシュバッファ制御装置において、 前記キャッシュバッファが保持するデータブロックに対
するブロックアドレス情報を前記キャッシュバッファの
番地とカラムとで定まる位置に対応した位置に保持する
タグメそりと、 16キヤツシーバツフアがミスヒツトしたときに前記主
記憶装置から新しいデータブロックをロードすべき前記
キャッシュバッファのカラムを予め定められた手順によ
シ指定する置換カラム指定回路と、 他の前記データ処理装置からの前記主記憶装置要求の対
象となるデータブロックに対する有効なブロックアドレ
ス情報が前記タグメモリに保持されていると該タグメモ
リの保持位置に関する位置情報とこれの有意性表示フラ
グとを少なくともルベルにわたり格納するアドレス指定
可能なスタック回路と、 該スタック回路のうちの別途通知されるレベルに格納さ
れている前記有意性表示フラグを解消するクリア回路と
、 前記キャッシュバッファがミスヒツトしたときに該キャ
ッシュバッファへのアクセスアドレスおよび前記置換カ
ラム指定回路が指定するカラムを前記スタック回路に前
記有意性フラグとともに格納されているすべての前記位
置情報と比較し一致すると当該レベルに格納されている
前記有意性表示フラグを解消させるべく該レベルの情報
を前記クリア回路に通知する比較回路と、 前記データブロックのロードに伴う前記タグメモリの更
新を行ないまた前記スタック回路のいずれかのレベルに
前記有意性表示フラグがあると予め定められた手順によ
シ該有意性表示フラグのある前記位置情報に対応する前
記タグメモリのブロックアドレス情報を無効化しかつ該
無効化起因となった前記有意性表示フラグを解消させる
べく当該レベル情報を前記クリア回路に通知するタグメ
モリ制御回路 とを設けたことを特徴とするキャッシュバッファ制御装
置。
[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. In the cache buffer control device in the data processing system, the cache buffer control device includes a cache buffer control device that stores block address information for a data block held by the cache buffer in a position corresponding to a position determined by an address and a column of the cache buffer. a replacement column designation circuit that designates a column of the cache buffer to which a new data block is to be loaded from the main storage device according to a predetermined procedure when a cache buffer misses; , If valid block address information for the data block that is the target of the main storage request from another data processing device is held in the tag memory, position information regarding the holding position of the tag memory and its significance. an addressable stack circuit that stores a display flag over at least one level; a clear circuit that clears the significance display flag stored in a separately notified level of the stack circuit; When this happens, the access address to the cache buffer and the column designated by the replacement column designation circuit are compared with all of the position information stored in the stack circuit together with the significance flag, and if they match, the column designated by the replacement column designation circuit is stored at the relevant level. a comparison circuit that notifies the clearing circuit of information on the level in order to clear the significance display flag that is present in the stack circuit; If there is a significance display flag, the block address information of the tag memory corresponding to the position information with the significance display flag is invalidated according to a predetermined procedure, and the significance display that caused the invalidation is performed. A cache buffer control device comprising: a tag memory control circuit that notifies the clearing circuit of the level information in order to clear the flag.
JP57135313A 1982-08-03 1982-08-03 Cache buffer controller Granted JPS5928285A (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS5928285A true JPS5928285A (en) 1984-02-14
JPS629943B2 JPS629943B2 (en) 1987-03-03

Family

ID=15148811

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS5928285A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61145905A (en) * 1984-12-19 1986-07-03 Rohm Co Ltd Fm demodulation circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61145905A (en) * 1984-12-19 1986-07-03 Rohm Co Ltd Fm demodulation circuit
JPH0216043B2 (en) * 1984-12-19 1990-04-16 Rohm Kk

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2557174B2 (en) Data set position predictor
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US5418927A (en) I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines
JPH03142644A (en) Cache memory control system
JPS58212694A (en) Memory system
JPS624745B2 (en)
JPS6043540B2 (en) data processing equipment
US11403226B2 (en) Cache with set associativity having data defined cache sets
US11734015B2 (en) Cache systems and circuits for syncing caches or cache sets
US11372648B2 (en) Extended tags for speculative and normal executions
US20220100657A1 (en) Data defined caches for speculative and normal executions
US20210263843A1 (en) Spare cache reserved during transitioning from the non-speculative execution to the speculative execution
JPS604493B2 (en) Microprogrammed data processing system
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
US11194582B2 (en) Cache systems for main and speculative threads of processors
US7493448B2 (en) Prevention of conflicting cache hits without an attendant increase in hardware
US5590310A (en) Method and structure for data integrity in a multiple level cache system
JP2010033480A (en) Cache memory and cache memory control apparatus
US5287482A (en) Input/output cache
US7523290B2 (en) Very high speed page operations in indirect accessed memory systems
US6751700B2 (en) Date processor and storage system including a set associative cache with memory aliasing
US6665787B2 (en) Very high speed page operations in indirect accessed memory systems
JP4047281B2 (en) How to synchronize cache memory with main memory
JP2846697B2 (en) Cache memory controller
JPS5928285A (en) Cache buffer controller