JPH0520192A - Cache memory store system - Google Patents

Cache memory store system

Info

Publication number
JPH0520192A
JPH0520192A JP3176436A JP17643691A JPH0520192A JP H0520192 A JPH0520192 A JP H0520192A JP 3176436 A JP3176436 A JP 3176436A JP 17643691 A JP17643691 A JP 17643691A JP H0520192 A JPH0520192 A JP H0520192A
Authority
JP
Japan
Prior art keywords
address
store
cache
flash
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
JP3176436A
Other languages
Japanese (ja)
Other versions
JP3130569B2 (en
Inventor
Eiji Oi
映史 大井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP03176436A priority Critical patent/JP3130569B2/en
Publication of JPH0520192A publication Critical patent/JPH0520192A/en
Application granted granted Critical
Publication of JP3130569B2 publication Critical patent/JP3130569B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To perform the store reflection processing at a high speed to a cache memory in preparation for the following read processing without increasing the cache busy probability. CONSTITUTION:A comparator group 108 compares the address included in a store address buffer 102 with a read request address after a cache coincidence processing request address received from a normal cache queue 105 referred to a flash address array 113 in preference to the store address received from the buffer 102. Then the coincidence is secured between both addresses, the array 113 is referred to with the preference given to the store address received from the buffer 102.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はストアスルー方式のキャ
ッシュメモリを有する複数の演算処理装置からなるパイ
プライン方式の情報処理装置に関し、特にキャッシュメ
モリのストア方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pipeline type information processing apparatus comprising a plurality of arithmetic processing units having a store-through type cache memory, and more particularly to a cache memory store method.

【0002】[0002]

【従来の技術】従来、この種の情報処理装置は、ある演
算処理装置および入出力処理装置が主記憶のデータを書
換えると、このデータの書換え(ストア)を他の演算処
理装置のキャッシュメモリに反映させるためにキャッシ
ュ一致処理が行なわれる。すなわちシステム制御装置が
全演算処理装置に対して主記憶上の書換えられたデータ
のアドレスを送り、それを受け取った演算処理装置は、
そのアドレスの示すデータを含むブロックがキャッシュ
メモリ上に存在するか否かをアドレスアレイの写しであ
るフラッシュアドレスアレイで検索し、存在すればその
ブロックを消している。しかし、システム制御装置から
のキャッシュ一致処理要求がすぐに処理できない場合に
備えてリクエストアドレスはフラッシュキュー(以下F
LQと略す)と呼ばれるバッファに貯えられる。一方、
自演算処理装置がストアを行なった場合、自キャッシュ
メモリにも自演算処理装置によるストアを反映させるた
めに、ストアアドレスで示されるデータのブロックが自
キャッシュメモリ上に存在するか否かを検索する必要が
ある。検索にはアドレスアレイで行なう方法が考えられ
るが、アドレスアレイはアクセス頻度が高く、また、デ
ータ読出しのための検索が優先されるため、ストアによ
る検索処理がなかなか選択されない。そのためアドレス
アレイよりアクセス頻度が少ないフラッシュアドレスア
レイで検索する方法を採用している。このフラッシュア
ドレスアレイで検索することの利点は、キャッシュメモ
リの一ブロックは物理的には、ある大きさの複数のサブ
ブロックに分割し、このサブブロック単位で読出し,書
込みできるようにすることにより、データのリードとス
トアが別ブロックに対するものであれば、この2つの処
理は逆行して行なえる点である。パイプライン方式の情
報処理装置ではストアアドレスとストアデータが得られ
るタイミングが異なるため、この時間差を吸収する必要
がある。そのためストアアドレスおよびストアデータは
それそれストアアドレスバッファ(以下SABとい
う),ストアデータバッファ(以下SDBという)に貯
えられる。もし、キャッシュに対するリードアドレスと
SAB内のアドレスが一致した場合、一致したアドレス
に対するデータがキャッシュへ掃出されるまで上述の自
演算処理装置によるストア反映処理が続けられる。その
後、再び同じリードアドレスでキャッシュメモリをアク
セスすることにより最新のデータを取り出している。
2. Description of the Related Art Conventionally, when an arithmetic processing unit and an input / output processing unit rewrite data in a main memory, an information processing device of this type is rewritten (stored) in the cache memory of another arithmetic processing device. A cache matching process is performed in order to reflect in the. That is, the system control unit sends the address of the rewritten data in the main memory to all the arithmetic processing units, and the arithmetic processing unit which receives the address,
The flash address array, which is a copy of the address array, is searched for whether or not the block containing the data indicated by the address exists in the cache memory, and if there is, the block is erased. However, in case the cache match processing request from the system control unit cannot be processed immediately, the request address is stored in the flash queue (hereinafter referred to as F
It is stored in a buffer called LQ). on the other hand,
When the self-processing unit stores, in order to reflect the store by the self-processing unit in the self-cache memory as well, it is searched whether the block of data indicated by the store address exists in the self-cache memory. There is a need. Although it is conceivable to use an address array for the search, the address array has a high access frequency, and the search for reading data is prioritized, so that the search process by the store is difficult to select. Therefore, the method of searching with the flash address array, which is less frequently accessed than the address array, is adopted. The advantage of searching with this flash address array is that one block of the cache memory is physically divided into a plurality of sub-blocks of a certain size, and reading and writing can be performed in units of this sub-block. If data read and store are for different blocks, these two processes can be performed in reverse. In the pipeline type information processing device, the timing at which the store address and the store data are obtained are different, so it is necessary to absorb this time difference. Therefore, the store address and the store data are stored respectively in the store address buffer (hereinafter referred to as SAB) and the store data buffer (hereinafter referred to as SDB). If the read address for the cache and the address in the SAB match, the above store reflection processing by the self-processing unit is continued until the data for the matched address is flushed to the cache. After that, the latest data is taken out by accessing the cache memory again with the same read address.

【0003】キャッシュ一致処理要求と自演算装置によ
るストア反映処理要求とが競合する場合が考えられる
が、キャッシュ一致処理要求を待たせると、FLQ内に
キャッシュ一致処理要求アドレスがいっぱいになり(フ
ラッシュビジーという)、後続のキャッシュ一致処理要
求が受付けられなくなって、システム制御装置はこれに
接続されている全ての演算処理装置,入出力処理装置の
処理を止めてしまう確率が高くなる。そのため、従来で
は、FLQからのキャッシュ一致処理アドレスによるフ
ラッシュアドレスアレイの索引を優先している。
There is a possibility that the cache coincidence processing request and the store reflection processing request by the self arithmetic unit may conflict with each other. However, if the cache coincidence processing request is made to wait, the cache coincidence processing request address becomes full in the FLQ (flash busy). That is, there is a high probability that the subsequent cache coincidence processing request will not be accepted and the system control device will stop the processing of all arithmetic processing devices and input / output processing devices connected thereto. Therefore, conventionally, the index of the flash address array by the cache coincidence processing address from FLQ is prioritized.

【0004】[0004]

【発明が解決しようとする課題】上述した従来のキャッ
シュメモリのストア方式は、FLQからのキャッシュ一
致処理がストア反映処理要求に優先してフラッシュアド
レスアレイを使うため、ストアによるフラッシュアドレ
スアレイの索引が遅れ、キャッシュメモリに対するスト
アが遅れる。
In the conventional cache memory store method described above, since the cache match process from the FLQ uses the flash address array in preference to the store reflection process request, the index of the flash address array by the store is set. Delay, store to cache memory is delayed.

【0005】本発明の目的は、キャッシュビジーになる
確率を高くすることなく、後続のリード処理に備えて、
キャッシュメモリへのストア反映処理を高速に行なうこ
とにある。
An object of the present invention is to prepare for a subsequent read process without increasing the probability of cache busy.
The purpose is to perform store reflection processing to the cache memory at high speed.

【0006】[0006]

【課題を解決するための手段】第1の発明のキャッシュ
メモリのストア方式は、複数の演算処理装置,主記憶装
置,入出力処理装置およびシステム制御装置からなる情
報処理装置において、前記演算処理装置内に前記主記憶
のデータの一部のコピーであるキャッシュメモリを持
ち、自演算処理装置で前記主記憶に対してデータの書込
みがあった場合、書き込みアドレスを格納するストアア
ドレスバッファと、書き込みデータを格納するストアデ
ータバッファと、キャッシュメモリへの書き込みおよび
キャッシュメモリからのデータの読出しのために参照さ
れるキャッシュメモリに記憶されたデータの主記憶上の
アドレスを記憶するアドレスアレイと、前記アドレスア
レイとは別に他演算処理装置から主記憶への書込みに対
し、キャッシュ一致処理を行なうために参照される前記
アドレスアレイの写しであるフラッシュアドレスアレイ
と、前記システム制御装置からの前記キャッシュ一致処
理要求アドレスを格納するバッファであるフラッシュキ
ューとを備え、前記ストアアドレスバッファに格納され
ているストアアドレスがキャッシュメモリに登録済であ
るかを調べるためにフラッシュアドレスアレイを参照
し、通常キャッシュキューからのキャッシュ一致処理要
求アドレスはストアアドレスバッファからのストアアド
レスより優先してフラッシュアドレスアレイを参照し、
ストアアドレスバッファ内のアドレスとキャッシュに対
するリード要求アドレスを比較する手段を設け、前記比
較手段が一致を示した場合、前記優先を反転してストア
アドレスバッファからのストアアドレスを優先してフラ
ッシュアドレスアレイを参照する。
A cache memory storing method according to a first aspect of the present invention is an information processing apparatus comprising a plurality of arithmetic processing units, a main storage unit, an input / output processing unit, and a system control unit. A cache memory, which is a copy of a part of the data in the main memory, is stored in the main memory when a data is written to the main memory in the self-processing unit, and a write address and a write address. A store data buffer for storing the address, an address array for storing an address on the main memory of the data stored in the cache memory which is referred to for writing to the cache memory and reading of the data from the cache memory, and the address array Separately from the other processing units, the cache match for writing to the main memory A flash address array, which is a copy of the address array referred to for processing, and a flash queue, which is a buffer for storing the cache match processing request address from the system controller, are stored in the store address buffer. The flash address array is referenced to check if the stored store address is already registered in the cache memory, and the cache match processing request address from the normal cache queue has priority over the store address from the store address buffer. See
A means for comparing the address in the store address buffer with the read request address for the cache is provided, and when the comparing means indicates a match, the priority is inverted to give priority to the store address from the store address buffer to set the flash address array. refer.

【0007】第2の発明のキャッシュメモリのストア方
式は、フラッシュアドレスアレイの参照を、前記フラッ
シュキュー内の前記キャッシュ一致処理アドレスのエン
トリ数を予め定めた数とを比較する手段を設け前記比較
手段が予め定めた数より大きいと検出した場合は、前記
フラッシュキューからの前記キャッシュ一致処理アドレ
スが前記ストアアドレスバッファからの前記ストアアド
レスより優先してフラッシュアドレスを参照し、前記比
較手段が予め定めた数より小さいと検出した場合は前記
ストアアドレスバッファからの前記ストアアドレスが前
記キャッシュキューからの前記キャッシュ一致処理要求
アドレスより優先して前記フラッシュアドレスを参照す
る。
According to a second aspect of the present invention, in the cache memory store method, means for comparing the reference of the flash address array with a predetermined number of entries of the cache coincidence processing address in the flash queue is provided, and the comparing means is provided. Is greater than a predetermined number, the cache match processing address from the flash queue is prioritized over the store address from the store address buffer to refer to the flash address, and the comparison means sets a predetermined value. When it is detected that it is smaller than the number, the store address from the store address buffer is prioritized over the cache match processing request address from the cache queue to refer to the flash address.

【0008】第3の発明のキャッシュメモリのストア方
式は、フラッシュアドレスアレイの参照を、前記ストア
アドレスバッファおよびストアデータバッファ内のリク
エストの数を検出する手段を設け、第2の発明の比較手
段内の予め定めた数を該検出手段の結果に応じて変更す
るようにする。
The cache memory store system of the third invention is provided with a means for detecting the number of requests in the store address buffer and the store data buffer by referring to the flash address array, and in the comparison means of the second invention. The predetermined number of is changed according to the result of the detecting means.

【0009】[0009]

【実施例】次に、本発明の実施例について図面を参照し
て説明する。図1は第1の発明のキャッシュメモリのス
トア方式の一実施例を示すブロック図である。ここでは
演算処理装置として主記憶とのデータのリプレースメン
トをブロック単位で行なうキャッシュメモリをもち、こ
の演算処理装置がストアを行った際、同時に、自演算処
理装置によるストアのキャッシュメモリへの反映を行な
うストアスルー方式を採用していることを想定してい
る。
Embodiments of the present invention will now be described with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a store system of a cache memory of the first invention. Here, the arithmetic processing unit has a cache memory that performs data replacement with the main memory in block units, and when this arithmetic processing unit performs a store, at the same time, the store by the own arithmetic processing unit is reflected in the cache memory. It is assumed that the store-through method is adopted.

【0010】まずキャッシュへのストア動作について説
明する。キャッシュメモリはデータを登録してあるデー
タアレイ(DA)122,それらのデータのアドレスを
登録してあるアドレスアレイ(AA)114からなる。
自演算処理装置によるストアの反映処理とは、自演算処
理装置が主記憶のデータに対して書換えを行なった場
合、それを主記憶のデータの一部のコピーであるキャッ
シュメモリに反映させるために行なうものである。従っ
てストアアドレスで示されるブロックがキャッシュ上に
存在するか否かを検索する必要があるが、本実施例では
AA114のコピーでキャッシュ一致処理の際、フラッ
シュアドレスが参照するフラッシュアドレスアレイ(F
AA)113によって検索している。アドレスレジスタ
(FAAR)111に格納されたストアアドレスは、F
AAR111の下位でFAA113を索引し、読出しデ
ータをFAAR111の残り上位とを比較器115で比
較し、ヒットなら比較器115は1を出力し、ビット信
号用レジスタ(FHR)118に1が格納される。ま
た、ストアデータはFAARにストアアドレスが格納さ
れると同時にストアデータ用レジスタ(SDBR)11
0に格納される。選択回路120には、アドレスレジス
タ(AAR)112からのリクエストとFAAR111
からのリクエストが競合する場合、FAAR111から
のリクエストを選択し、そうでない場合、AAR112
からのリクエストを選択する。FHR118に1がセッ
トされると同時にFAAR111のストアリクエストは
アドレスレジスタ(DAR)121に、SDBR110
のストアデータは書込データレジスタ(DWR)117
に格納される。DA122はライトイネーブル信号が1
になることでデータ書込可となるRAMで、この場合、
FHR118が1になると、DAR122で示されるア
ドレスにDWR117のストアデータが書込まれること
になる。ストアアドレスおよびストアデータは自演算処
理装置内の演算ユニットより送られて来、それを蓄えて
おくストアアドレスバッファ(SAB)102,ストア
データバッファ(SDB)101に蓄えられる。SAB
102とSDB101は同ワード数で演算ユニットから
のストアアドレス,ストアデータは書込みポインタ(S
IR)103で示されるアドレスに格納される。比較器
群108は命令処理ユニットからのリードアドレスとS
AB102内の各ストアアドレスとを比較し、1アドレ
スとでも一致を示したなら信号線150に1を出力する
回路である。SAB102とSDB101内のストアア
ドレスとストアデータは、通常、読出しポインタ(SO
R)104で示されるストアアドレス,ストアデータが
掃出されるが、信号線150が1の時は、SAB102
からリードアドレスと一致を示したアドレスが掃出さ
れ、SDB101から、そのアドレスに対応したデータ
が掃出されるまでキャッシュに対して自演算処理装置に
ストアの反映処理が続けられる。フラッシュキュー(F
LQ)105は、システム制御装置からのフラッシュア
ドレスを蓄えておくバッファで、書込ポインタ(FI
R)106で示されるアドレスに格納されて、読出しは
読出しポインタ(FOR)107で示されるフラッシュ
アドレスが読出される。優先回路109は、信号線15
0が0のときSAB102からのストア要求とFLQ1
05からのフラッシュ要求がFAA113に対して競合
した場合、FLQ105からのフラッシュ要求を優先し
てフラッシュアドレスをアドレスレジスタ(FAAR)
111に送り出し、信号線150が1の時は、SAB1
02からのストアアドレスを優先してFAAR111に
送り出す回路である。
First, the store operation in the cache will be described. The cache memory comprises a data array (DA) 122 in which data is registered and an address array (AA) 114 in which addresses of those data are registered.
The reflection processing of the store by the self-processing unit means that when the self-processing unit rewrites the data in the main memory, it is reflected in the cache memory, which is a copy of a part of the data in the main memory. It is something to do. Therefore, it is necessary to search whether or not the block indicated by the store address exists in the cache, but in the present embodiment, the flash address array (F
AA) 113 is searched. The store address stored in the address register (FAAR) 111 is F
The FAA 113 is indexed below the AAR 111, the read data is compared with the rest of the FAAR 111 by the comparator 115, and if hit, the comparator 115 outputs 1 and 1 is stored in the bit signal register (FHR) 118. . Further, as for store data, the store address is stored in the FAAR and at the same time the store data register (SDBR) 11
Stored in 0. The selection circuit 120 includes a request from the address register (AAR) 112 and FAAR 111.
If the requests from FAAR 111 conflict, select the request from FAAR 111; otherwise, AAR 112
Select a request from. At the same time when 1 is set in the FHR 118, the store request of the FAAR 111 is sent to the address register (DAR) 121 in the SDBR 110.
Is stored in the write data register (DWR) 117.
Stored in. DA122 has a write enable signal of 1
In this case, the RAM becomes data writable. In this case,
When FHR 118 becomes 1, the store data of DWR 117 will be written at the address indicated by DAR 122. The store address and the store data are sent from the arithmetic unit in the own arithmetic processing unit, and are stored in the store address buffer (SAB) 102 and the store data buffer (SDB) 101 for storing them. SAB
102 and SDB 101 have the same number of words as the store address and store data from the arithmetic unit and the write pointer (S
(IR) 103 is stored in the address. The comparator group 108 receives the read address from the instruction processing unit and S
This is a circuit that compares each store address in the AB 102 and outputs 1 to the signal line 150 if a match with even one address is shown. The store address and store data in the SAB 102 and SDB 101 are usually read pointers (SO
The store address and store data indicated by R) 104 are swept out, but when the signal line 150 is 1, the SAB 102
The address showing the match with the read address is swept out from the SDB 101, and the reflection processing of the store is continued to the cache until the data corresponding to the address is swept out from the SDB 101. Flash cue (F
LQ) 105 is a buffer for storing the flash address from the system controller, and is a write pointer (FI).
R) is stored in the address indicated by 106 and the flash address indicated by the read pointer (FOR) 107 is read out. The priority circuit 109 uses the signal line 15
When 0 is 0, store request from SAB 102 and FLQ1
When the flash request from the 05 conflicts with the FAA 113, the flash request from the FLQ 105 is given priority and the flash address is set to the address register (FAAR).
111, and when the signal line 150 is 1, SAB1
This is a circuit for giving priority to the store address from 02 and sending it to the FAAR 111.

【0011】次にリード動作について説明する。命令処
理ユニットからのリードアドレスは、AAR112に格
納され、そのアドレスで示されるデータがDA122に
存在するかどうかを検索するためにAAR112の下位
で示されるAA114の内容とAAR112の上位とを
比較器116で比較し、ヒットすれば比較器116は1
を出力し、ヒット信号用レジスタ(AHR)119に1
がセットされる。それと同時にAAR112のアドレス
は選択回路120を通りDAR121に格納され、それ
で示されるDA122の内容が出力される。読出しデー
タ用レジスタ(CRR)123は、ストローブ信号が1
になると、DA122の出力データを格納するレジスタ
であり、AHR119が1になるとCRR123にDA
R122で示されるデータが格納される。しかし、比較
器群108によりSAB102内のアドレスのいずれか
と一致を示した場合、前述のように信号線150が1に
なり、一致したアドレス、すなわち、リードアドレスと
それに対応するデータがそれぞれSAB102,SBB
101より掃出されるまで自演算処理装置によるストア
の反映処理が続けられる。すなわち、優先回路109を
通りストアアドレスがFAAR111に格納されそれと
同時にAAR112にも同じアドレスが格納されれが選
択回路120によりFAAR111側のストアアドレス
がDAR121に格納され、同時に比較器115の出力
がFHR118にストアデータがSDBR110からD
WR117に格納されDA122にデータが書込まれ
る。その後、AAR112内の先程のストアアドレスと
同じアドレスでDA122をリードする。
Next, the read operation will be described. The read address from the instruction processing unit is stored in the AAR 112, and the contents of the AA 114 shown in the lower part of the AAR 112 and the upper part of the AAR 112 are compared with each other in order to search whether the data indicated by the address exists in the DA 122. Comparing with, if there is a hit, the comparator 116 is 1
Is output to the hit signal register (AHR) 119.
Is set. At the same time, the address of the AAR 112 passes through the selection circuit 120 and is stored in the DAR 121, and the content of the DA 122 indicated by it is output. The read data register (CRR) 123 has a strobe signal of 1
Is a register for storing the output data of DA122, and when AHR119 becomes 1, DA is stored in CRR123.
The data indicated by R122 is stored. However, when the comparator group 108 indicates a match with any of the addresses in the SAB 102, the signal line 150 becomes 1 as described above, and the matched address, that is, the read address and the data corresponding thereto are SAB 102 and SBB, respectively.
The store reflection process by the self-processing unit is continued until it is swept from 101. That is, the store address is stored in the FAAR 111 through the priority circuit 109, and at the same time the same address is stored in the AAR 112, but the store address on the FAAR 111 side is stored in the DAR 121 by the selection circuit 120, and at the same time, the output of the comparator 115 is stored in the FHR 118. Store data from SDBR110 to D
The data is stored in the WR 117 and the data is written in the DA 122. After that, the DA 122 is read at the same address as the previous store address in the AAR 112.

【0012】図2は第2の発明のキャッシュメモリのス
トア方式の一実施例を示すブロック図である。ここで図
2の201〜207,209〜223は図1の101〜
107,109〜123に対応し、FLQ205として
総容量16ワードでFLQ205内のキャッシュ一致処
理リクエストアドレスが8ワードになったらフラッシュ
ビジーとなるものを想定している。第2の発明の特徴
は、通常、キャッシュ一致処理リクエストアドレスの方
がストアアドレスより優先してFAA213を索引する
が、後続のリードに備えて、SDB201内の最新デー
タを早くキャッシュに反映する必要もあるため、FLQ
205内のキャッシュ一致処理リクエストアドレスがF
LQ205の容量の1/4以下である4ワード以下な
ら、ストアアドレスが優先してFAA213を索引する
ようにしたところである。比較回路208はFLQ20
5内のフラッシュアドレスのエントリ数をFIR206
とFOR207とから求め、その数が4以下なら信号線
250に1を出力する回路である。従ってFLQ205
内のキャッシュ一致処理リクエストアドレスが少なくて
フラッシュビジーになる可能性が少ない時、FAA21
3を自演算処理装置のストアの反映処理のための索引に
優先して使え、早くキャッシュメモリにストアデータが
掃き出せる。
FIG. 2 is a block diagram showing an embodiment of a cache memory store system of the second invention. Here, 201 to 207 and 209 to 223 in FIG.
Corresponding to 107, 109 to 123, it is assumed that the FLQ 205 has a total capacity of 16 words and the flash coincidence processing request address in the FLQ 205 becomes 8 words and the flash busy occurs. The feature of the second invention is that the cache match processing request address normally indexes the FAA 213 in preference to the store address, but it is also necessary to reflect the latest data in the SDB 201 to the cache early in preparation for the subsequent read. FLQ because there is
The cache match processing request address in 205 is F
If it is 4 words or less, which is 1/4 or less of the capacity of the LQ 205, the FAA 213 is indexed with priority on the store address. The comparison circuit 208 is FLQ20.
FIR206 the number of entries of the flash address in 5
And the FOR 207, and if the number is 4 or less, 1 is output to the signal line 250. Therefore FLQ205
When the cache match processing request address in the cache is few and there is little possibility of flash busy, FAA21
3 can be used with priority over the index for the store reflection processing of the self-processing unit, and the store data can be swept out to the cache memory quickly.

【0013】図3は、第3の発明のキャッシュメモリの
ストア方式の一実施例を示すブロック図である。ここで
図3の301〜323は図2の201〜223に対応す
る。
FIG. 3 is a block diagram showing an embodiment of the cache memory store system of the third invention. Here, 301 to 323 of FIG. 3 correspond to 201 to 223 of FIG.

【0014】第2の発明の実施例においても、キャッシ
ュ一致処理と自演算処理によるストア反映処理とはやは
り競合するが、ストアデータをより早くキャッシュに反
映させるために、キャッシュ一致処理との優先順位変更
の基準となるFLQ305内のキャッシュ一致処理リク
エスト数を4ワードより大きくしようとすると、今度は
フラッシュビジーになる確率が高くなる。それを改善す
るために第3の発明の実施例ではSAB302,SDB
301内のストアアドレス,ストアデータが一杯になっ
たら、上記優先順位変更基準を4ワードから8ワードに
変更する。検出回路330は、SIR303とSOR3
04とからSAB302,SDB310内のストアアド
レス,ストアデータのエントリ数を求めSAB302,
SDB301の容量一杯なら信号線351に1を出力す
る。比較回路308は、信号線351が0の時、FLQ
内のキャッシュ一致処理リクエストアドレスのエントリ
数が容量の1/4の4ワード以下の時、信号線350に
1を出力し、信号線351が1の時、FLQ内のキャッ
シュ一致処理アドレスのエントリ数が容量の半分の8ワ
ード以下の時、信号線351に1を出力する回路であ
る。従ってSAB102,SDB101がビジーになり
そうで、FLQがビジーになる可能性が比較的低い時、
ストアアドレスが優先してFAA313を索引する。
Also in the embodiment of the second invention, the cache matching process and the store reflection process by the self-calculation process still conflict with each other, but in order to reflect the store data in the cache earlier, the priority order of the cache matching process is higher. If an attempt is made to make the number of cache matching processing requests in the FLQ 305, which is a reference for change, larger than 4 words, then the probability of flash busy increases. In order to improve it, in the embodiment of the third invention, SAB302, SDB
When the store address and the store data in 301 become full, the priority change criterion is changed from 4 words to 8 words. The detection circuit 330 includes SIR 303 and SOR3.
04, the SAB 302, the store address in the SDB 310, and the number of entries of store data are calculated.
If the capacity of the SDB 301 is full, 1 is output to the signal line 351. When the signal line 351 is 0, the comparison circuit 308 outputs FLQ.
When the number of entries of the cache match processing request address in is less than or equal to 4 words of 1/4 of the capacity, 1 is output to the signal line 350, and when the signal line 351 is 1, the number of cache match processing address entries in the FLQ Is a circuit that outputs 1 to the signal line 351 when is less than 8 words, which is half the capacity. Therefore, when SAB102 and SDB101 are likely to be busy and FLQ is less likely to be busy,
The store address has priority and the FAA 313 is indexed.

【0015】上記3実施例において、ストア反映処理の
直後、ストアアドレスと同一アドレスに対してFLQよ
りキャッシュ一致処理が行なわれた場合、キャッシュメ
モリ上のデータは無効化されるが、リード処理が行なわ
れても、ミスヒットし、必要なデータは主記憶より得ら
れ、同時にキャッシュメモリにも登録されるので、キャ
ッシュメモリ上のデータは、常に保証されている。ま
た、ミスヒットし、主記憶よりデータを得るとなると、
それだけリード処理に時間がかかることになるが、上述
のようなことでミスヒットになる頻度は、フラッシュビ
ジーになる頻度やストア反映処理の頻度に比べればかな
り低く、演算処理装置の処理能力への影響は少ないと考
えられる。
In the above-described three embodiments, when the cache matching process is performed by the FLQ for the same address as the store address immediately after the store reflection process, the data in the cache memory is invalidated, but the read process is performed. Even if there is a miss, the necessary data is obtained from the main memory and is simultaneously registered in the cache memory, so the data in the cache memory is always guaranteed. Also, if you get a mishit and get data from the main memory,
Although the read processing will take a lot of time, the frequency of miss hits due to the above is much lower than the frequency of flash busy and the frequency of store reflection processing. The impact is considered to be small.

【0016】[0016]

【発明の効果】以上、説明したように、第1の発明によ
れば、最新のデータを読出したい時に、第2の発明によ
れば、FLQがビジーになる可能性が低い時に、第3の
発明によればFLQがビジーになる可能性が比較的低く
SABおよびSDBがビジーになる可能性が高い時にそ
れぞれFLQからのキャッシュ一致処理より優先させて
ストアアドレクフラッシュアドレスを索引させるので、
高速にキャッシュへのストア処理ができる。
As described above, according to the first aspect of the invention, when the latest data is desired to be read, and according to the second aspect of the invention, when the FLQ is unlikely to be busy, the third aspect of the invention is used. According to the invention, when the FLQ is less likely to be busy and the SAB and the SDB are more likely to be busy, the store address flush address is indexed with priority over the cache matching process from the FLQ.
Can store data in cache at high speed.

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

【図1】第1の発明のキャッシュメモリのストア方式の
一実施例を示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of a store system of a cache memory of the first invention.

【図2】第2の発明のキャッシュメモリのストア方式の
一実施例を示すブロック図である。
FIG. 2 is a block diagram showing one embodiment of a cache memory store system of the second invention.

【図3】第3の発明のキャッシュメモリのストア方式の
一実施例を示すブロック図である。
FIG. 3 is a block diagram showing an embodiment of a store system of a cache memory of a third invention.

【符号の説明】[Explanation of symbols]

101,201,301 ストアデータバッファ(S
DB) 102,202,302 ストアドレスバッファ(S
AB) 103,203,303 書込ポインタ(SIR) 104,204,304 読出ポインタ(SOR) 105,205,305 フラッシュキュー(FL
Q) 106,206,306 書込ポインタ(FIR) 107,207,307 読出ポインタ(FOR) 108 比較器群 208,308 比較回路 109,209,309 優先回路 110,210,310 ストアデータ用レジスタ
(SDBR) 111,211,311 アドレスレジスタ(FAA
R) 112,212,312 アドレスレジスタ(AA
R) 113,213,313 フラッシュアドレスアレイ
(FAA) 114,214,314 アドレスアレイ(AA) 115,215,315,116,216,316
比較器 117,217,317 書込データレジスタ(DW
R) 118,218,318 ヒット信号用レジスタ(F
HR) 119,219,319 ヒット信号用レジスタ(A
HR) 120,220,320 選択回路 121,221,321 アドレスレジスタ(DA
R) 122,222,322 データアレイ(DA) 123,223,323 読出しデータ用レジスタ
(CRR) 330 検出回路 150,250,350,351 信号線
101, 201, 301 Store data buffer (S
DB) 102, 202, 302 strike address buffer (S
AB) 103, 203, 303 Write pointer (SIR) 104, 204, 304 Read pointer (SOR) 105, 205, 305 Flash queue (FL)
Q) 106, 206, 306 Write pointer (FIR) 107, 207, 307 Read pointer (FOR) 108 Comparator group 208, 308 Comparison circuit 109, 209, 309 Priority circuit 110, 210, 310 Store data register (SDBR) ) 111, 211, 311 address register (FAA
R) 112, 212, 312 Address Register (AA
R) 113, 213, 313 Flash address array (FAA) 114, 214, 314 Address array (AA) 115, 215, 315, 116, 216, 316
Comparator 117, 217, 317 Write data register (DW
R) 118, 218, 318 Hit signal register (F
HR) 119, 219, 319 Hit signal register (A
HR) 120, 220, 320 Selection circuit 121, 221, 321 Address register (DA
R) 122, 222, 322 Data array (DA) 123, 223, 323 Read data register (CRR) 330 Detection circuit 150, 250, 350, 351 Signal line

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数の演算処理装置,主記憶装置,入出
力処理装置およびシステム制御装置からなる情報処理装
置において、前記演算処理装置内に前記主記憶のデータ
の一部のコピーであるキャッシュメモリを持ち、自演算
処理装置で前記主記憶に対してデータの書込みがあった
場合、書き込みアドレスを格納するストアアドレスバッ
ファと、書き込みデータを格納するストアデータバッフ
ァと、キャッシュメモリへの書き込みおよびキャッシュ
メモリからのデータの読出しのために参照されるキャッ
シュメモリに記憶されたデータの主記憶上のアドレスを
記憶するアドレスアレイと、前記アドレスアレイとは別
に他演算処理装置から主記憶への書込みに対し、キャッ
シュ一致処理を行なうために参照される前記アドレスア
レイの写しであるフラッシュアドレスアレイと、前記シ
ステム制御装置からの前記キャッシュ一致処理要求アド
レスを格納するバッファであるフラッシュキューとを備
え、前記ストアアドレスバッファに格納されているスト
アアドレスがキャッシュメモリに登録済であるかを調べ
るためにフラッシュアドレスアレイを参照し、通常キャ
ッシュキューからのキャッシュ一致処理要求アドレスは
ストアアドレスバッファからのストアアドレスより優先
してフラッシュアドレスアレイを参照し、ストアアドレ
スバッファ内のアドレスとキャッシュに対するリード要
求アドレスを比較する手段を設け、前記比較手段が一致
を示した場合、前記優先を反転してストアアドレスバッ
ファからのストアアドレスを優先してフラッシュアドレ
スアレイを参照することを特徴とするキャッシュメモリ
のストア方式。
1. An information processing device comprising a plurality of arithmetic processing devices, a main memory device, an input / output processing device and a system control device, wherein a cache memory is a copy of a part of the data of the main memory in the arithmetic processing device. In the case where data is written to the main memory by the self-processing device, a store address buffer for storing a write address, a store data buffer for storing write data, writing to a cache memory and a cache memory An address array for storing the address on the main memory of the data stored in the cache memory that is referred to for reading the data from, and for writing to the main memory from another arithmetic processing device separately from the address array, A copy of the address array referenced to perform cache match processing. A rush address array and a flash queue that is a buffer for storing the cache match processing request address from the system controller, and checks whether the store address stored in the store address buffer is already registered in the cache memory. The flash address array is referenced for checking, and the cache match processing request address from the normal cache queue has priority over the store address from the store address buffer, and the flash address array is referenced, and the read request for the address in the store address buffer and the cache is requested. A means for comparing addresses is provided, and when the comparing means indicates a match, the priority is inverted and the store address from the store address buffer is prioritized to refer to the flash address array. Store method of Yasshumemori.
【請求項2】 フラッシュアドレスアレイの参照を、前
記フラッシュキュー内の前記キャッシュ一致処理アドレ
スのエントリ数を予め定めた数とを比較する手段を設け
前記比較手段が予め定めた数より大きいと検出した場合
は、前記フラッシュキューからの前記キャッシュ一致処
理アドレスが前記ストアアドレスバッファからの前記ス
トアアドレスより優先してフラッシュアドレスを参照
し、前記比較手段が予め定めた数より小さいと検出した
場合は前記ストアアドレスバッファからの前記ストアア
ドレスが前記キャッシュキューからの前記キャッシュ一
致処理要求アドレスより優先して前記フラッシュアドレ
スを参照することを特徴とする請求項1記載のキャッシ
ュメモリのストア方式。
2. A reference to the flash address array is provided with means for comparing the number of entries of the cache coincidence processing address in the flash queue with a predetermined number, and it is detected that the comparison means is larger than the predetermined number. In this case, the cache match processing address from the flash queue is prioritized over the store address from the store address buffer to refer to the flash address, and the store is performed if the comparing unit detects that it is smaller than a predetermined number. 2. The cache memory store system according to claim 1, wherein the store address from the address buffer refers to the flash address in preference to the cache match processing request address from the cache queue.
【請求項3】 フラッシュアドレスアレイの参照を、前
記ストアアドレスバッファおよびストアデータバッファ
内のリクエストの数を検出する手段を設け、請求項2記
載の比較手段内の予め定めた数を該検出手段の結果に応
じて変更するようにした請求項2記載のキャッシュメモ
リのストア方式。
3. A means for detecting the number of requests in the store address buffer and the store data buffer is provided by referring to the flash address array, and a predetermined number in the comparing means according to claim 2 is set in the detecting means. 3. The cache memory store method according to claim 2, wherein the cache memory store method is changed according to a result.
JP03176436A 1991-07-17 1991-07-17 Cache memory store method Expired - Fee Related JP3130569B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03176436A JP3130569B2 (en) 1991-07-17 1991-07-17 Cache memory store method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03176436A JP3130569B2 (en) 1991-07-17 1991-07-17 Cache memory store method

Publications (2)

Publication Number Publication Date
JPH0520192A true JPH0520192A (en) 1993-01-29
JP3130569B2 JP3130569B2 (en) 2001-01-31

Family

ID=16013676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03176436A Expired - Fee Related JP3130569B2 (en) 1991-07-17 1991-07-17 Cache memory store method

Country Status (1)

Country Link
JP (1) JP3130569B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374334B1 (en) 1994-07-04 2002-04-16 Fujitsu Limited Data processing apparatus with a cache controlling device
JP2010160544A (en) * 2009-01-06 2010-07-22 Core Micro Systems Inc Cache memory system and method for controlling cache memory

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146330A (en) * 1993-11-22 1995-06-06 Nec Corp Burn-in testing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374334B1 (en) 1994-07-04 2002-04-16 Fujitsu Limited Data processing apparatus with a cache controlling device
JP2010160544A (en) * 2009-01-06 2010-07-22 Core Micro Systems Inc Cache memory system and method for controlling cache memory

Also Published As

Publication number Publication date
JP3130569B2 (en) 2001-01-31

Similar Documents

Publication Publication Date Title
KR100278328B1 (en) Cache miss buffer
US4493026A (en) Set associative sector cache
EP0072179A2 (en) Clearing invalid addresses in cache memory
US6493791B1 (en) Prioritized content addressable memory
KR20010007007A (en) Bus utilization optimization with read/write coherence
EP0675443A1 (en) Apparatus and method for accessing direct mapped cache
JPH0532775B2 (en)
US4658356A (en) Control system for updating a change bit
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
JPH0520192A (en) Cache memory store system
US20080244153A1 (en) Cache systems, computer systems and operating methods thereof
JPH09218823A (en) Cache memory controller
GB2037466A (en) Computer with cache memory
JPS60701B2 (en) data processing equipment
JPH06139147A (en) Cache memory system
EP0335113A2 (en) Single chip cache memory, and cache memory apparatus including a plurality of parallel connected single chip cache memories
JPH05342101A (en) Hierarchical cache memory
JPH04353949A (en) Cache memory control system
JPH0612331A (en) Cache memory controller
JP2703255B2 (en) Cache memory writing device
JPH06301600A (en) Storage device
JPH0991199A (en) Device access method in hierarchical storage system
JPH0693230B2 (en) Buffer storage way control circuit
EP0400851A2 (en) Efficient cache utilizing a store buffer
JPH01279342A (en) Cache control system

Legal Events

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