JPS6342301B2 - - Google Patents
Info
- Publication number
- JPS6342301B2 JPS6342301B2 JP58118779A JP11877983A JPS6342301B2 JP S6342301 B2 JPS6342301 B2 JP S6342301B2 JP 58118779 A JP58118779 A JP 58118779A JP 11877983 A JP11877983 A JP 11877983A JP S6342301 B2 JPS6342301 B2 JP S6342301B2
- Authority
- JP
- Japan
- Prior art keywords
- replacement
- block
- bits
- blocks
- log
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 238000000034 method Methods 0.000 claims description 10
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 102100024342 Contactin-2 Human genes 0.000 description 3
- 101000690440 Solanum lycopersicum Floral homeotic protein AGAMOUS Proteins 0.000 description 3
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
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)
Description
〔発明の技術分野〕
本発明は、計算機のバツフア記憶装置の制御方
式に関し、特にセツト・アソシアテイブ方式等の
バツフア記憶装置におけるブロツクのLRU
(Least Recently Used)管理による置き換え制
御方式に関する。
〔技術の背景〕
最近の大型計算機の多くは、CPUからの主記
憶アクセス時間を短縮するためにCPU内にセツ
トアソシアテイブ方式のキヤツシユを設けてい
る。VU(ベクトル ユニツト)の接続されたシ
ステムにおいては、VUは、直接主記憶をアクセ
スするので、CPUのキヤツシユと主記憶との間
で一致制御が必要となる。
第1図はその1例を示したもので、1は主記憶
装置MSU、2は主記憶制御装置MCU、3は中央
処理装置CPU、4はベクトル処理装置VU、5は
TAG1とデータバツフアより構成されているキヤ
ツシユ、6はTAG2、7はTAG2制御回路を示
す。CPUが主記憶よりBLOCK FETCHを行な
うと、キヤツシユのTAG1およびデータバツフア
にアドレスおよびデータを登録すると同時に、
TAG2へBLOCK FETCHアドレスを登録する。
VUが主記憶にストアすると、ストアアドレスが
TAG2へ送られてきて、CPUのキヤツシユのア
ドレスと一致するかどうかチエツクを行なう。一
致するとCPUへ対してキヤツシユのTAG1へ一
致したアドレスを送つてバツフアインバリデーシ
ヨン(BI)を行なう。一致しない場合はバツフ
アインバリデーシヨンは行なわない。TAG2は
BLK0、BLK1の2つのBLOCKより構成されて
いて、常に最近使用のもので占められるようにデ
ータの置き換え制御を行なう。その置き換えアル
ゴリズムは、LRUである。TAG2のBLK0、
BLK1両方にすでに登録済であると、さらに
BLOCK FETCHアドレスを登録する場合には、
リプレースメントビツトの内容によつて最新でな
いアドレスを決定しそのアドレスをCPUへ転送
してキヤツシユにバツフアインバリデーシヨンを
行ない、その置き換えたTAG2のBLOCKに対し
てBLOCK FETCHアドレスを登録する。
〔発明の目的および構成〕
本発明の目的は、バツフア記憶装置における
LRU管理のための制御回路を、簡単でかつ少い
ハードウエア量により実現することにあり、その
ための構成として、Nを4よりも大きい2のべき
乗数としてN個のブロツクからなるバツフアと、
各ブロツクのデータ置き換えをリプレイスビツト
にもとづいて制御する置き換え制御回路とをそな
えたセツトアソシアテイブ方式のバツフア記憶装
置において、上記置き換え制御回路は、各ブロツ
クごとにlog2N個のリプレイスビツトをそなえ、
かつ上記各ブロツクのlog2N個のリプレイスビツ
ト中の各1個ずつを使用して各ブロツクを2個ず
つ組み合わせたlog2N段のトーナメント形式の論
理を組み立てた使用順位判定論理回路をそなえる
ことにより、置き換えブロツクを決定することを
特徴とするものである。
〔発明の実施例〕
以下に、本発明の詳細を実施例にしたがつて説
明する。バツフアをN個のブロツクに分割して使
用する場合、ブロツクごとに、リプレイスビツト
を〔log2N〕個持つ必要がある。
はじめにブロツク数が2個の場合、および4個
の場合について説明し、最後にN個に一般化した
場合について説明する。
なお、新ブロツクのうち使用歴の新しい方を
HOT、古い方をCOLDと表わす。
(1) ブロツク数が2個の場合
第2図に示すように、各ブロツクBLK0、
BLK1に各1個のリプレイスビツトをR0、R1
を設ける。置き換えのアルゴリズムは、次の通
りである。
R0、R1の値が0、0または1、1の場合
は、BLK1がHOTであり、BLK0を置き換え
る。
R0、R1の値が0、1または1、0の場合
は、BLK0がHOTであり、BLK1を置き換え
る。
置き換えた場合は、そのブロツクへ新たなデ
ータを登録するが、そのとき以前のリプレイス
ビツトを反転させて登録する。それにより置き
換えたブロツクがHOTとなる。
第3図に置き換えブロツクを判定する回路の
1例を示す。図中、8は排他的論理和EORゲ
ート、9はインバータ、10はバツフアであ
る。
ブロツクを参照した場合は、参照したブロツ
クがHOTになるようにリプレイスビツトを設
定する。ただし、連続して参照される場合など
必ずしも反転する必要がない場合もある。ここ
で、新たに設定するリプレイスビツトを
NewR0、NewR1とすると、論理は次のように
なる。
NewR0=(BLK0の置き換え)R0
NewR1=(BLK1の置き換え)R1
さらに整理すると、
NewR0=(01)R0=1
NewR1=(R0R1)R1=R0
と表わすことができる。なお、式中のは、排
他的論理和EORを示す。これは、第4図に示
すインバータ11およびANDゲート12の簡
単な回路により実現される。
第5図は、第3図および第4図の回路を用い
て実行された置き換え制御の動作例を示したも
ので、動作順番号P1,P2,…,P10の順番に、
動作内容の行に示す登録あるいは参照の動作が
行なわれた場合の、R0およびR1の値、HOTブ
ロツク、置き換えブロツクを示している。
なおP0のINITIAL状態では、BLK0および
BLK1はクリアされている。そのため、P1およ
びP3の登録では置き換えは起らず、次のP6,
P7,P9の登録になつて置き換えが行なわれる。
(2) ブロツク数が4個の場合
第6図に示すように、各ブロツクBLK0乃至
BLK3に、各2個のリプレイスビツト(R00、
R10)、(R01、R11)、(R02、R12)、(R03、
R13)を設ける。
各リプレイスビツトの役割とHOT、COLD
の判定条件は次の通りである。
BLK0とBLK1の間のHOT、COLDの判定
は、R00とR01のビツトによつて行なう。判
定条件は、前項(1)の場合と同じである。すな
わち、(0、0)または(1、1)の場合は、
BLK0がCOLDと判定する。(1、0)また
は(0、1)の場合は、BLK1がCOLDと判
定する。
BLK2とBLK3との間のHOT、COLDの判
定も同様に行なう。
BLK0、1とBLK2、3との間のHOT、
COLDの判定については、R10、R11、R12、
R13ビツトのすべてのEORが0の場合に、
BLK0、1がCOLDと判定する。
上記3つの判定結果から、もつとも古いブ
ロツクを置き換える。
置き換えたブロツクへ新らたなデータを登録
する場合、リプレイスビツト(R0X、R1X)
以前のリプレイスビツトの内容を反転させて登
録する。これにより、置き換えたブロツクは、
もつともHOTなブロツクとなる。
ブロツクを参照した場合も、ブロツクをもつ
ともHOTとなるように設定する。NewR00、
NewR01、NewR02、NewR03は、ブロツク数
が2個の場合と同様に、次のように更新され
る。
NewR00=01
NewR01=R00
NewR02=03
NewR03=R02
NewR10、NewR11、NewR12、NewR13に
ついても、同様に
NewR10=R10(BLK0、1の置き換え)
NewR11=R11(BLK0、1の置き換え)
NewR12=R12(BLK2、3の置き換え)
NewR13=R13(BLK2、3の置き換え)
となる。論理的には、さらに簡略にできるが、
実際の設計では、(BLK0、1の置き換え)、
(BLK2、3の置き換え)は、置き換えブロツ
クを作成する上でつくられるので、これ以上は
簡略にしない。
第7図は、上記した置き換えブロツクを決定
するための判定回路の1例である。図中、13
乃至17はEORゲート、18乃至20はイン
バータ、21乃至24はANDゲートである。
第8図は、上記した新しいリプレイスビツト
の作成回路の1例である。図中、25乃至28
はEORゲートである。
第9図は、第7図および第8図の回路を用い
て実行された置き換え制御の動作例であり、第
5図に対応するものである。動作順番号P0の
INITIAL状態ではすべてのブロツクはクリア
されている。したがつて、P1からP4までの登
録動作では、置き換えが生じない。
(3) ビツト数がN個の場合
Nは、1、2、4、8、16、32、…つまり正
の整数でかつ2のべき乗の数である。このとき
リプレイスビツトは〔log2N〕個とする。その
結果、全リフアレンスビツト数は、〔N×
log2N〕となる。
第10図は、このようなN個のブロツクにつ
いて置き換えブロツクを決定するために使用さ
れるリプレイスビツトの判定処理アルゴリズム
の説明図であり、2を単位として〔log2N〕段
で順位を判定するトーナメント構造(あるいは
トリー構造)をとつている。
たとえばBLK0には、リプレイスビツト
R00、R10、…R((logN)−1、0)が与えら
れ、最後のBLK(N−1)には、R0(N−1)、
R1(N−1)、…R((logN)−1・N−1)が
与えられる。
各ブロツクの第1番目のリフアレンスビツト
R00、R01、…、R0・N−1は、全ブロツクを
2個ずつのグループに区切つたとき、各2個の
ブロツク間でのHOT、COLDを判定するため
に使用される。これらのグループは(R00、
R01)、(R02、R03)、…、(R0・N−2、R0・
N−1)で表わされる。
各ブロツクの第2番目のリフアレンスビツト
R10、R11、…、R1・N−1は、順次の2個ず
つのブロツクの2グループ間でのHOT、
COLDを判定するために使用される。
このようにして、各ブロツクの最後のリフア
レンスビツトR((logN)−1・0)、R
((logN)−1・1)、…、R((logN)−1・N
−1)は、N/2個ずつのブロツクのグループ
間でのHOT、COLDを判定するために使用さ
れる。
以上の各判定段階での判定結果にもとづいて、
各判定のAND論理をとり、もつともCOLDなブ
ロツクを置き換ブロツクと判定する。
たとえばブロツクXを置き換えた場合は、その
リプレイスビツトR0X、R1X、…、R((logN)−
1・X)のすべてを反転させて登録する。
これによりそのブロツクは、もつともHOTな
ブロツクとなる。また参照した場合は、その参照
されたブロツクがもつともHOTとなるように、
次の条件にしたがつてR0X、R1X、…、R
((logN)−1、X)を設定する。
NewROX=0・+1
(ただしX=0、2、4、6、8、…)
NewR0・X+1=R0X
NewR1X=R1X(BLKX、X+1の置き換え)
NewR1・X+1=R1・X+1(BLKX、X+1の
置き換え)
NewR2X=R2X(BLKX、X+1、X+2、X+3
の置き換え)
NewR2・X+1=R2・X+1(BLKX、X+1、
X+2、X+3の置き換え)
NewR2・X+2=R2・X+2(BLKX、X+1、
X+2、X+3の置き換え)
NewR2・X+3=R2・X+3(BLKX、X+1、
X+2、X+3の置き換え)
以下同様である。
次に、本発明方式の1実施例装置について説明
する。
第11図は、第1図に示す計算機システムにお
ける記憶制御装置内のTAG2を中心とする回路に
本発明方式を適用した実施例構成を示す。
第11図において、6はTAG2であり、2つの
ブロツクBLK0およびBLK1からなるキヤツシユ
のアドレスコピーが格納される。7はTAG2制御
回路、29はTAG2INレジスタ、30はBFAレ
ジスタ、31はセレクタSEL、32は
TAG2OUTレジスタ、33および34は一致回
路、35はU.L.P.R制御回路を示す。
TAG2(6)のブロツクは、512ラインから成る。
ブロツクサイズは、128バイトである。他方、
CPUキヤツシユのブロツクサイズは、64バイト
である。
TAG2にはU、L、P、Rなどの補助制御ビツ
トが一緒に含まれている。U、LビツトはTAG2
のブロツクサイズ128バイトの上位(U)64バイ
ト、下位(L)64バイトを指示するビツトである。ま
たPはパリテイビツト、Rはリプレイスビツトで
ある。なお、パリテイビツトPは、U、L、Rの
ビツトに対するパリテイビツトである。
TAG2INレジスタ29およびBFAレジスタ3
0へは、入力されたアドレスデータが同時に加え
られるが、TAG2INレジスタは、これを1T(Tは
クロツクサイクル)だけ保持し、BFAレジスタ
30はある一定時間保持する。それにより、VU
STOREアドレスが入力されないタイミングにお
いて、セレクタ31を開き、TAG INレジスタ
29を通して、TAG2へアドレスデータを書き込
むことも可能にする。
次にTAG2の登録時の動作について述べる。こ
の場合TAG2INレジスタ29へ入力される登録
データは、CPUのブロツクフエツチアドレスで
ある。またTAG2(6)のブロツクBLK0のVALID
(有効性)を表示するVビツトをV0、同様に
BLK1のVALIDを表示するVビツトをV1とし、
それぞれTAG2制御回路7へ入力(図示省略)し
て、
V=V0・V1
を演算する。
さらに、一致回路33が、TAG2のBLK0の内
容と入力登録データとを比較した結果のマツチ信
号をM0、一致回路34によるBLK1のマツチ信
号をM1とし、それぞれTAG2制御回路7へ入力
して、
M=M0+M1
を演算する。
TAG2制御回路7は、以上のV、Mの値に応じ
て、さらに次のような制御動作を行なう。
[Technical Field of the Invention] The present invention relates to a control method for a buffer storage device of a computer, and in particular to a control method for LRU of a block in a buffer storage device such as a set associative method.
(Least Recently Used) Management Replacement Control Method. [Technical background] Many of the latest large-scale computers have set-associative caches installed in the CPU in order to shorten the main memory access time from the CPU. In a system in which VUs (vector units) are connected, the VUs directly access the main memory, so consistent control is required between the CPU's cache and the main memory. Figure 1 shows an example of this. 1 is the main storage unit MSU, 2 is the main storage control unit MCU, 3 is the central processing unit CPU, 4 is the vector processing unit VU, and 5 is the main storage unit MCU.
The cache is composed of TAG1 and a data buffer, 6 is TAG2, and 7 is a TAG2 control circuit. When the CPU performs a BLOCK FETCH from main memory, the address and data are registered in TAG1 and data buffer of the cache, and at the same time,
Register BLOCK FETCH address to TAG2.
When VU stores to main memory, the store address is
The address is sent to TAG2 and checked to see if it matches the address of the CPU's cache. If there is a match, the CPU sends the matching address to TAG1 of the cache and performs buffer invalidation (BI). If they do not match, buffer invalidation is not performed. TAG2 is
It consists of two BLOCKs, BLK0 and BLK1, and performs data replacement control so that it is always occupied by the most recently used block. The replacement algorithm is LRU. BLK0 of TAG2,
If you have already registered on both BLK1, you will receive additional
To register a BLOCK FETCH address,
It determines the address that is not the latest based on the contents of the replacement bit, transfers that address to the CPU, performs buffer invalidation on the cache, and registers the BLOCK FETCH address for the replaced BLOCK of TAG2. [Object and Structure of the Invention] An object of the present invention is to
The purpose is to realize a control circuit for LRU management easily and with a small amount of hardware, and the configuration for this purpose includes a buffer consisting of N blocks, where N is a power of 2 greater than 4;
In a set associative buffer storage device equipped with a replacement control circuit that controls data replacement of each block based on the replace bits, the replacement control circuit has log 2 N replace bits for each block. ,
Furthermore, it is provided with a usage order determination logic circuit that assembles a log 2 N stage tournament style logic in which two of each block are combined using one of each of the log 2 N replacement bits of each of the blocks. This method is characterized in that a replacement block is determined by the following. [Examples of the Invention] The details of the present invention will be described below with reference to Examples. When the buffer is divided into N blocks and used, each block needs to have [log 2 N] replacement bits. First, the cases where the number of blocks is 2 and 4 will be explained, and finally the case where the number of blocks is generalized to N will be explained. In addition, among the new blocks, the one with the most recent usage history
The older one is expressed as HOT and the older one as COLD. (1) When the number of blocks is 2 As shown in Figure 2, each block BLK0,
Add one replacement bit each to BLK1 R 0 and R 1
will be established. The replacement algorithm is as follows. If the values of R 0 and R 1 are 0, 0 or 1, 1, BLK1 is HOT and replaces BLK0. If the values of R 0 and R 1 are 0, 1 or 1, 0, BLK0 is HOT and replaces BLK1. When replacing, new data is registered in that block, but at that time, the previous replacement bit is inverted and registered. As a result, the replaced block becomes HOT. FIG. 3 shows an example of a circuit for determining a replacement block. In the figure, 8 is an exclusive OR EOR gate, 9 is an inverter, and 10 is a buffer. When a block is referenced, set the replace bit so that the referenced block becomes HOT. However, there are cases where it is not necessary to invert, such as when it is referenced continuously. Here, set the new replacement bit.
Assuming NewR0 and NewR1, the logic is as follows. NewR0 = (Replacement of BLK0) R0 NewR1 = (Replacement of BLK1) R1 Further arrangement can be expressed as NewR0 = (01) R0 = 1 NewR1 = (R0R1) R1 = R0. Note that the symbol in the formula indicates exclusive OR EOR. This is realized by a simple circuit of an inverter 11 and an AND gate 12 shown in FIG. FIG. 5 shows an example of the operation of replacement control executed using the circuits of FIGS. 3 and 4. In the order of operation order numbers P 1 , P 2 , ..., P 10 ,
It shows the values of R0 and R1, HOT block, and replacement block when the registration or reference operation shown in the operation content line is performed. In addition, in the INITIAL state of P 0 , BLK0 and
BLK1 is cleared. Therefore, no substitution occurs in the registration of P 1 and P 3 , and the next P 6 ,
Replacement occurs when P 7 and P 9 are registered. (2) When the number of blocks is 4 As shown in Figure 6, each block BLK0 to
BLK3 has two replacement bits (R00,
R10), (R01, R11), (R02, R12), (R03,
R13). Role of each replacement bit and HOT and COLD
The judgment conditions are as follows. HOT or COLD determination between BLK0 and BLK1 is made using the R00 and R01 bits. The judgment conditions are the same as in the previous section (1). That is, in the case of (0, 0) or (1, 1),
BLK0 is determined to be COLD. In the case of (1, 0) or (0, 1), BLK1 is determined to be COLD. The determination of HOT and COLD between BLK2 and BLK3 is performed in the same way. HOT between BLK0, 1 and BLK2, 3,
For determination of COLD, R10, R11, R12,
If all EORs of R13 bits are 0,
BLK0 and 1 are determined to be COLD. Based on the above three judgment results, the oldest block is replaced. When registering new data to the replaced block, use the replace bit (R0X, R1X)
The contents of the previous replacement bit are reversed and registered. As a result, the replaced block becomes
It will always be a HOT block. Even if a block is referenced, set it to be HOT even if it has a block. NewR00,
NewR01, NewR02, and NewR03 are updated as follows in the same way as when the number of blocks is two. NewR00=01 NewR01=R00 NewR02=03 NewR03=R02 Similarly for NewR10, NewR11, NewR12, and NewR13, NewR10=R10 (replacement of BLK0, 1) NewR11=R11 (replacement of BLK0, 1) NewR12=R12 (replacement of BLK2, 3 replacement) NewR13=R13 (BLK2, 3 replacement). Logically, it can be made even simpler, but
In the actual design, (replacement of BLK0 and 1),
(Replacement of BLK2 and 3) is created when creating the replacement block, so it will not be simplified any further. FIG. 7 shows an example of a determination circuit for determining the above-mentioned replacement block. In the figure, 13
17 to 17 are EOR gates, 18 to 20 are inverters, and 21 to 24 are AND gates. FIG. 8 shows an example of the above-mentioned new replacement bit creation circuit. In the figure, 25 to 28
is an EOR gate. FIG. 9 is an operation example of replacement control executed using the circuits of FIGS. 7 and 8, and corresponds to FIG. 5. Operation sequence number P 0
In the INITIAL state, all blocks are cleared. Therefore, no replacement occurs in the registration operations from P 1 to P 4 . (3) When the number of bits is N: N is a positive integer and a power of 2, such as 1, 2, 4, 8, 16, 32, etc. At this time, the number of replacement bits is [log 2 N]. As a result, the total number of reference bits is [N×
log 2 N]. FIG. 10 is an explanatory diagram of a replacement bit judgment processing algorithm used to determine a replacement block for such N blocks, and the ranking is judged in [log 2 N] stages with 2 as a unit. It has a tournament structure (or tree structure). For example, BLK0 has a replacement bit.
R00, R10,...R ((logN)-1, 0) are given, and the last BLK (N-1) is given R0 (N-1),
R1(N-1),...R((logN)-1·N-1) are given. 1st reference bit of each block
R00, R01, . . . , R0·N-1 are used to determine HOT and COLD between each two blocks when all blocks are divided into groups of two. These groups are (R00,
R01), (R02, R03), ..., (R0・N−2, R0・
N-1). Second reference bit for each block
R10, R11,..., R1・N-1 are HOT between two groups of two blocks in sequence,
Used to determine COLD. In this way, the last reference bits R((logN)-1.0), R
((logN)-1・1), ..., R((logN)-1・N
-1) is used to determine HOT and COLD between groups of N/2 blocks. Based on the judgment results at each judgment stage above,
The AND logic of each determination is taken, and the block that is the coldest is determined to be the replacement block. For example, if block X is replaced, its replacement bits R0X, R1X,..., R((logN)-
1.Reverse all of X) and register. This makes the block a HOT block. Also, when referenced, the referenced block will always be HOT.
R0X, R1X, ..., R according to the following conditions
Set ((logN)-1,X). NewROX=0・+1 (X=0, 2, 4, 6, 8,...) NewR0・X+1=R0X NewR1X=R1X (replacement of BLKX, X+1) NewR1・X+1=R1・X+1 (replacement of BLKX, X+1) NewR2X=R2X (BLKX, X+1, X+2, X+3
) NewR2・X+1=R2・X+1 (BLKX, X+1,
Replacement of X+2, X+3) NewR2・X+2=R2・X+2 (BLKX, X+1,
Replacement of X+2, X+3) NewR2・X+3=R2・X+3 (BLKX, X+1,
(Replacement of X+2, X+3) The same applies hereafter. Next, a device according to an embodiment of the present invention will be described. FIG. 11 shows the configuration of an embodiment in which the method of the present invention is applied to a circuit centered on TAG2 in the storage control device in the computer system shown in FIG. In FIG. 11, 6 is TAG2, in which an address copy of a cache consisting of two blocks BLK0 and BLK1 is stored. 7 is TAG2 control circuit, 29 is TAG2IN register, 30 is BFA register, 31 is selector SEL, 32 is
TAG2OUT register, 33 and 34 are matching circuits, and 35 is a ULPR control circuit. The TAG2(6) block consists of 512 lines.
Block size is 128 bytes. On the other hand,
The CPU cache block size is 64 bytes. TAG2 also includes auxiliary control bits such as U, L, P, and R. U and L bits are TAG2
These bits indicate the upper (U) 64 bytes and lower (L) 64 bytes of the block size of 128 bytes. Further, P is a parity bit, and R is a replacement bit. Note that the parity bit P is the parity bit for the U, L, and R bits. TAG2IN register 29 and BFA register 3
The input address data is added to 0 at the same time, but the TAG2IN register holds this for 1T (T is a clock cycle), and the BFA register 30 holds it for a certain period of time. Thereby, VU
At a timing when a STORE address is not input, the selector 31 is opened and address data can be written to TAG2 through the TAG IN register 29. Next, we will discuss the operation when registering TAG2. In this case, the registration data input to the TAG2IN register 29 is the block fetch address of the CPU. Also, the VALID of block BLK0 of TAG2(6)
The V bit indicating (validity) is V 0 , similarly
The V bit that displays the VALID of BLK1 is V1 ,
Each is input to the TAG2 control circuit 7 (not shown) and V=V 0 ·V 1 is calculated. Further, the matching circuit 33 sets the match signal as a result of comparing the contents of BLK0 of TAG2 and the input registration data as M0 , and the match signal of BLK1 from the matching circuit 34 as M1 , and inputs them to the TAG2 control circuit 7. , calculate M=M 0 +M 1 . The TAG2 control circuit 7 further performs the following control operation according to the above values of V and M.
本発明によれば、N個のブロツクに対して必要
とされるリプレイスビツト数は、〔N×log2N〕
個である。しかし、従来方式では、ブロツク数が
多くなるほど本発明方式にくらべてリプレイスビ
ツト数の増加率が大きくなり、たとえばブロツク
数16の場合、ある従来方式では120ビツトを必要
とするが本発明方式では64ビツトで済ますことが
できる。また周辺回路が少なくて済み制御も簡単
化される。
According to the present invention, the number of replacement bits required for N blocks is [N×log 2 N]
It is individual. However, in the conventional method, as the number of blocks increases, the rate of increase in the number of replaced bits increases compared to the method of the present invention.For example, when the number of blocks is 16, a conventional method requires 120 bits, but the method of the present invention requires 64 bits. You can get away with bits. In addition, fewer peripheral circuits are required and control is simplified.
第1図はバツフア記憶装置の概要図、第2図は
リフアレンスビツトの説明図、第3図はブロツク
数2の場合の置き換えブロツク判定回路の実施例
図、第4図は同じくリプレイスビツト作成回路の
実施例図、第5図はその動作例の説明図、第6図
はブロツク数が4個の場合のリプレイスビツトの
説明図、第7図はその置き換えブロツク判定回路
の実施例図、第8図は同じくリプレイスビツト作
成回路の実施例図、第9図はその動作例説明図、
第10図はブロツク数Nの場合のリプレイスビツ
トの説明図、第11図は記憶制御装置の1実施例
の要部構成図、第12図はパリテイビツトの説明
図である。
図中、1は主記憶装置MSU、2は記憶制御装
置MCU、3は中央処理装置CPU、4はベクトル
処理装置VU、5はキヤツシユメモリ、6は
TAG2、7はTAG2制御回路を示す。
Figure 1 is a schematic diagram of a buffer storage device, Figure 2 is an explanatory diagram of reference bits, Figure 3 is an example diagram of a replacement block determination circuit when the number of blocks is 2, and Figure 4 is a replacement bit creation circuit. FIG. 5 is an explanatory diagram of its operation example, FIG. 6 is an explanatory diagram of the replacement bit when the number of blocks is four, FIG. 7 is an embodiment diagram of the replacement block determination circuit, and FIG. The figure also shows an example of the replace bit creation circuit, and FIG. 9 is an explanatory diagram of an example of its operation.
FIG. 10 is an explanatory diagram of the replacement bit when the number of blocks is N, FIG. 11 is a diagram of the main part of one embodiment of the storage control device, and FIG. 12 is an explanatory diagram of the parity bit. In the figure, 1 is the main storage unit MSU, 2 is the storage control unit MCU, 3 is the central processing unit CPU, 4 is the vector processing unit VU, 5 is the cache memory, and 6 is the
TAG2 and 7 indicate TAG2 control circuits.
Claims (1)
のブロツクからなるバツフアと、各ブロツクのデ
ータ置き換えをリプレイスビツトにもとづいて制
御する置き換え制御回路とをそなえたセツトアソ
シアテイブ方式のバツフア記憶装置において、上
記置き換え制御回路は、各ブロツクごとにlog2N
個のリプレイスビツトをそなえ、かつ上記各ブロ
ツクのlog2N個のリプレイスビツト中の各1個ず
つを使用して各ブロツクを2個ずつ組み合わせた
log2N段のトーナメント形式の論理を組み立てた
使用順位判定論理回路をそなえることにより、置
き換えブロツクを決定することを特徴とする置き
換え制御方式。 2 Nを4よりも大きい2のべき乗数としてN個
のブロツクからなるバツフアと、各ブロツクのデ
ータ置き換えをリプレイスビツトにもとづいて制
御する置き換え制御回路とをそなえたセツトアソ
シアテイブ方式のバツフア記憶装置において、上
記置き換え制御回路は、各ブロツクごとにlog2N
個のリプレイスビツトをそなえ、かつ上記各ブロ
ツクのlog2N個のリプレイスビツト中の各1個ず
つを使用して各ブロツクを2個ずつ組み合わせた
log2N段のトーナメント形式の論理を組み立てた
使用順位判定論理回路をそなえることにより、置
き換えブロツクを決定するように構成され、さら
に、上記各ブロツクごとのリプレイスビツトは、
当該ブロツクの他の制御ビツトと一緒にパリテイ
をとつてチエツクされることを特徴とする置き換
え制御方式。[Scope of Claims] A set associate comprising a buffer consisting of N blocks, where N is a power of 2 greater than 4, and a replacement control circuit that controls data replacement of each block based on a replace bit. In the buffer storage device using the buffer storage system, the above-mentioned replacement control circuit performs log 2 N for each block.
Each block has two replacement bits, and one of each of the log 2 N replacement bits of each of the above blocks is used to combine two of each block.
A replacement control method is characterized in that a replacement block is determined by providing a usage ranking determination logic circuit that has a log 2 N-stage tournament style logic. 2. A set associative type buffer storage device comprising a buffer consisting of N blocks, where N is a power of 2 greater than 4, and a replacement control circuit that controls data replacement of each block based on replace bits. In this case, the above replacement control circuit calculates log 2 N for each block.
Each block has two replacement bits, and one of each of the log 2 N replacement bits of each of the above blocks is used to combine two of each block.
It is configured to determine the replacement block by providing a usage order determination logic circuit that has a log 2 N-stage tournament style logic, and furthermore, the replacement bit for each block is as follows:
A replacement control method characterized in that parity is checked together with other control bits of the block.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58118779A JPS6010370A (en) | 1983-06-30 | 1983-06-30 | Replacement control system in buffer storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58118779A JPS6010370A (en) | 1983-06-30 | 1983-06-30 | Replacement control system in buffer storage device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61313524A Division JPS62162153A (en) | 1986-12-27 | 1986-12-27 | Data-replace control system for buffer memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6010370A JPS6010370A (en) | 1985-01-19 |
JPS6342301B2 true JPS6342301B2 (en) | 1988-08-23 |
Family
ID=14744866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58118779A Granted JPS6010370A (en) | 1983-06-30 | 1983-06-30 | Replacement control system in buffer storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6010370A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5693167A (en) * | 1979-12-26 | 1981-07-28 | Fujitsu Ltd | Memory replacement control system |
JPS5696337A (en) * | 1979-12-28 | 1981-08-04 | Fujitsu Ltd | Resource control system |
-
1983
- 1983-06-30 JP JP58118779A patent/JPS6010370A/en active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5693167A (en) * | 1979-12-26 | 1981-07-28 | Fujitsu Ltd | Memory replacement control system |
JPS5696337A (en) * | 1979-12-28 | 1981-08-04 | Fujitsu Ltd | Resource control system |
Also Published As
Publication number | Publication date |
---|---|
JPS6010370A (en) | 1985-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4905141A (en) | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification | |
JP2618175B2 (en) | History table of virtual address translation prediction for cache access | |
EP0084114B1 (en) | Instruction prefetching data processing apparatus including a conditional branch instruction predictor | |
EP0036110B1 (en) | Cache addressing mechanism | |
US4831520A (en) | Bus interface circuit for digital data processor | |
CN101470670B (en) | Cache memory having sector function | |
US6006311A (en) | Dynamic updating of repair mask used for cache defect avoidance | |
EP0303661B1 (en) | Central processor unit for digital data processing system including write buffer management mechanism | |
JPH1074166A (en) | Multilevel dynamic set predicting method and its device | |
US6745291B1 (en) | High speed LRU line replacement system for cache memories | |
JPH07311711A (en) | Data processor and its operating method as well as operatingmethod of memory cache | |
US5636354A (en) | Data processor with serially accessed set associative memory cache interface and method | |
EP0284751B1 (en) | Cache memory | |
Liptay | Design of the IBM Enterprise System/9000 high-end processor | |
US4658356A (en) | Control system for updating a change bit | |
AU628458B2 (en) | Apparatus and method for address translation of non-aligned double word virtual addresses | |
US6212616B1 (en) | Even/odd cache directory mechanism | |
JPS6342301B2 (en) | ||
US5636365A (en) | Hierarchical buffer memories for selectively controlling data coherence including coherence control request means | |
JP2685455B2 (en) | Data processing device | |
JPH0551933B2 (en) | ||
JPS6194159A (en) | Memory | |
JPH05158793A (en) | Parallel cache memory | |
JPS617959A (en) | Control system of tag storage device | |
EP0302926B1 (en) | Control signal generation circuit for arithmetic and logic unit for digital processor |