JPS607302B2 - buffer memory device - Google Patents
buffer memory deviceInfo
- Publication number
- JPS607302B2 JPS607302B2 JP55092202A JP9220280A JPS607302B2 JP S607302 B2 JPS607302 B2 JP S607302B2 JP 55092202 A JP55092202 A JP 55092202A JP 9220280 A JP9220280 A JP 9220280A JP S607302 B2 JPS607302 B2 JP S607302B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- information
- write
- data
- address
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
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
【発明の詳細な説明】
本発明はデータ処理装置に於けるバッファメモリ装置に
関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a buffer memory device in a data processing device.
最近のハードウェア技術の進歩に伴い、データ処理シス
テムの中央処理装置の処理能力が向上するにつれて、シ
ステムの処理能力のなかで演算時間に比して主記憶装置
をアクセスするための時間の占める比率が増え、全体の
処理能力が主記憶装置のアクセス時間により抑えられる
という問題が生じている。With recent advances in hardware technology, the processing power of central processing units in data processing systems has improved, and as a result, the proportion of time spent accessing main memory compared to calculation time in system processing power has increased. The problem is that the overall processing capacity is limited by the access time of the main memory.
この問題を解決する手段として小容量で高速にアクセス
できるメモリを持ち主記憶装置上のデータの写しを記憶
するキャッシュメモリ(CacheMemoひまたはバ
ッファメモリ)が採用されている。As a means to solve this problem, a cache memory (cache memory or buffer memory), which has a small capacity and can be accessed at high speed and stores a copy of the data on the main storage device, has been adopted.
キャッシュメモリを使用する場合、中央処理装置が主記
憶装置から新たなデータを読出す際に、その情報も含め
て前後の情報を読出し、それを上記キャッシュメモ川こ
保持しておき、その後のアクセスで必要とする情報がキ
ャッシュメモリ内に保持されている場合には、キャッシ
ュメモリからデータを読出すことにより、主記憶装置ま
でアクセスする必要をなくし、実質的な主記憶アクセス
タイムをキャッシュメモリアクセスの速さまで高速化す
るという方法が探られている。この場合、主記憶装置へ
のデータの書込みが必要なときには、この主記憶装置に
対するデータの書込みと同時に、キャッシュメモ川こそ
のアドレス上のデータが記憶されていると、そのキャッ
シュメモリの内容も書き換えている。When using a cache memory, when the central processing unit reads new data from the main memory, it reads the preceding and succeeding information including that information, retains it in the cache memo, and uses it for subsequent access. If the information required by the system is held in the cache memory, reading the data from the cache memory eliminates the need to access the main memory, reducing the actual main memory access time to the cache memory access. A method to increase the speed is being explored. In this case, when it is necessary to write data to the main memory, at the same time as writing the data to the main memory, if the data at the address in the cache memo is stored, the contents of the cache memory are also rewritten. ing.
また主記憶装層に対する他の中央処理装置または入出力
転送制御装置からのアクセス要求とのふくつかりもこよ
りアクセス要求が主記憶装置でただちに受付けられず、
待合わせさせられる場合があり、これにより性能低下を
まね〈ことになる。これを解決する方法として、中央処
理装置の性能は主に主記憶装置に対する書込みアクセス
タイムには依存せず議出しアクセスタイムに影響される
ことから、書込みアクセス情報を一時的に保持する書込
みバッファを用意し、書込みアクセス要求が主記憶装置
に受付けられずに待合わせごせられている時に、中央処
理装置から主記憶装置に謙出しアクセス要求が発生する
と、読出しアクセス要求を、書込みバッファ上の書込み
アクセス要求に優先して処理する方法が採られている。Furthermore, due to the combination of access requests to the main memory layer from other central processing units or input/output transfer control units, access requests are not immediately accepted by the main memory.
There may be cases where you are forced to wait for a meeting, which can lead to performance degradation. As a way to solve this problem, since the performance of the central processing unit does not depend mainly on the write access time to the main memory, but is affected by the read access time, a write buffer that temporarily holds write access information is used. If a read access request is issued from the central processing unit to the main memory while the write access request is not accepted by the main memory and is waiting, the read access request is transferred to the write buffer. A method is adopted in which access requests are given priority.
ところがこのとき、あとで発生した読出しアクセス要求
は上記書込みバッファに保持されている書込みアクセス
要求と同じ主記憶エリアに対して行なわれる可能性があ
り、その読出しアクセスは書込みアクセスが終り、主記
憶装置内が新しい内容に書換えられたのちに行なわなけ
ればならない。However, at this time, there is a possibility that a read access request that occurs later will be made to the same main memory area as the write access request held in the write buffer, and the read access will be performed after the write access is completed and the main memory This must be done after the content inside has been rewritten with new content.
これを処理するために従来用いられていた方法は、書込
みバッファの各ワードのアドレスと読出しアクセスのア
ドレスの一致を調べるための特別な比較回路を持つか、
または特別な連想記憶により書込みバッファのアドレス
格納部を構成することにより書込みバッファに保持され
ているアドレスと議出しアクセスによるアドレスの一致
を調べ、もし読出しアクセスが保留中の書込みアクセス
と同一のデー外こ対して行なわれたことを検出すると書
込みバッファ内の書込みアクセスを先に処理し、そのあ
とで議出しアクセスを行なっている。Traditionally, the methods used to handle this have been to have special comparison circuits to check for a match between the address of each word in the write buffer and the address of the read access;
Or, by configuring the write buffer's address storage with a special associative memory, we check for a match between the address held in the write buffer and the address by the proposed access, and if a read access is outside the same data as a pending write access. When this is detected, the write access in the write buffer is processed first, and then the proposed access is performed.
しかしながら、上述のごとき、主記憶装置に対する議出
しアクセスと書込みバッファ内の書込みアクセスとが主
記憶装置の同一エリアをアクセスしているか杏かを検出
するための回路は書込みバッファのワード数が増えるに
伴い、多大なハードウェア量を必要とし、書込みバッフ
ァ制御方式における大きな欠点となっていた。However, as mentioned above, as the number of words in the write buffer increases, the circuit for detecting whether the proposed access to the main memory and the write access in the write buffer are accessing the same area of the main memory is difficult. Accordingly, a large amount of hardware is required, which is a major drawback in the write buffer control method.
本発明の目的は、書込みバッファ上に登録されている書
込みアクセス情報の管理をも、キャッシュメモリに具備
されているアドレス情報格納用のメモリを使用して行な
うことにより、上記欠点を解決し、書込みバッファ内の
書込みアクセスと主記憶装置への議出しアクセスとのぶ
つかりを検出する手段と、連想記憶等の特別なハードウ
ェアを持つことなしに実現した書込みバッファを持った
データバッファ装置を提供することにある。An object of the present invention is to solve the above-mentioned drawbacks by also managing write access information registered on the write buffer using a memory for storing address information provided in the cache memory. To provide a means for detecting a collision between a write access in a buffer and a proposed access to a main memory device, and a data buffer device having a write buffer realized without having special hardware such as an associative memory. It is in.
本発明によれば、命令制御部からアクセスされ、ブロッ
ク単位で主記憶装置上のデータを記憶するデータ記憶手
段と、前記主記憶装置への書込みアクセス情報を保持す
る書込みバッファ手段と、前記データ記憶手段の各ブロ
ックに対応して〜ブロックデータの主記憶装置上のアド
レス情報を示す第1の情報と、該ブロックデータが前記
データ記憶手段に格納されている場合を示す第2の情報
と、該ブロックデータが前記書込みバッファ手段に登録
されているアクセス情報に対応している場合を示す第3
の情報とを「記憶するアドレス情報記憶手段と、前記書
込みバッファ手段への書込みアクセス情報登録時に前記
データ記憶手段内に書込みデータを含むブロックデータ
が登録されていない場合に前記アドレス情報記憶手段に
そのブロックデー外こ対応する前記第1の情報と前記第
3の情報とを登録する手段と、前記書込みバッファ手段
の内容により前記主記憶装置への書込みアクセスを行な
う書込みアクセス手段と、該書込みアクセス手段の動作
時に前記アドレス情報記憶手段の対応する前記第3の情
報をリセットする手段と、前記命令制御部からの議出し
アクセス時「議出しアドレスに対応する前記アドレス情
報記憶手段の前記第3の情報がセットされていると「そ
の第3の情報がリセットされるのを待合わせて前記主記
憶装置への読出しアクセスを行なう手段とから構成され
ることを特徴とするバッファメモリ装置が得られる。次
に本発明について図面を参照して詳細に説明する。According to the present invention, the data storage means is accessed by an instruction control unit and stores data on the main memory in units of blocks, the write buffer means holds write access information to the main memory, and the data storage means Corresponding to each block of the means ~ first information indicating address information on the main storage device of the block data; second information indicating the case where the block data is stored in the data storage means; A third block data indicating a case where the block data corresponds to the access information registered in the write buffer means.
and an address information storage means for storing the information, and when block data including write data is not registered in the data storage means at the time of registering write access information to the write buffer means, the address information storage means stores the information. means for registering the first information and the third information corresponding to the block data; write access means for performing write access to the main storage device according to the contents of the write buffer means; and the write access means means for resetting the corresponding third information of the address information storage means during the operation of the address information storage means; is set, a buffer memory device is obtained which is characterized by comprising means for waiting for the third information to be reset and performing read access to the main storage device.Next. The present invention will now be described in detail with reference to the drawings.
第1図に示した本発明の一実施例であるキャッシュメモ
リ装置2は、主記憶装置3上のデータの写しをブロック
単位で記憶するデータ記憶手段であるデータ格納用メモ
リ(以下キャッシュメモリと記述する)とその周辺回路
とからなるデータ格納部21と、上記キャッシュメモリ
の各ブロックに対応して、そのブロックデータの有効性
(すなわちブロックデータがキャッシュメモ川こ格納さ
れているかどうか)を示すビットA、該ブロックデータ
の主記憶装置3上のアドレス、および該ブロックデータ
が書込みバッファ上に登録されているアクセス情報に対
応しているかどうかを示す有効ビットBを記憶するアド
レス情報記憶手段であるメモリ(以下アドレスアレイと
記述する)とその周辺回路とからなるアドレス情報格納
制御部20と、主記憶装置3に対する書込みアクセス情
報を保持する書込みバッファを含む書込みバッファ制御
部23と、主記憶装置3に対するアクセス制御を行なう
主記憶アクセス制御部24と、命令制御部1からの議出
しアクセス時にキャッシュメモリか主記憶装置3かのい
ずれかのデータを切換えて命令制御部1に送る選択回路
22とから構成される。A cache memory device 2, which is an embodiment of the present invention shown in FIG. A data storage unit 21 consisting of a data storage section 21 (which is configured by the cache memory) and its peripheral circuits, and a bit corresponding to each block of the cache memory that indicates the validity of the block data (that is, whether or not the block data is stored in the cache memory). A, a memory serving as an address information storage means for storing the address of the block data on the main storage device 3 and a valid bit B indicating whether the block data corresponds to the access information registered on the write buffer; (hereinafter referred to as an address array) and its peripheral circuit; a write buffer control unit 23 including a write buffer that holds write access information for the main memory 3; It is composed of a main memory access control section 24 that performs access control, and a selection circuit 22 that switches data from either the cache memory or the main memory device 3 and sends it to the instruction control section 1 upon a proposed access from the instruction control section 1. be done.
命令制御部1は主記憶装置3に記憶されている命令を読
出し、実行するものであり、命令またはオペランドの主
記憶装置3からのアクセスが必要になるとパス100お
よび101にアクセス情報を載せてアクセス要求を行な
う。The instruction control unit 1 reads and executes instructions stored in the main storage device 3, and when an instruction or operand needs to be accessed from the main storage device 3, access information is placed on paths 100 and 101 and accessed. make a request.
読出しアクセスの場合、パス1001こより送られてく
る主記憶装置3のアドレス情報によりアドレス情報格納
制御部20のアドレスアレイを検索し、もしアドレスが
登録されており、かつ有効ビットAが論理“1”だと目
的とするデータがキャッシュメモリ上に格納されている
ことを示し(キャッシュヒットと言う)、キャッシュメ
モリからの読出しデータを選択回路22を介して命令制
御部1に送る。In the case of read access, the address array of the address information storage control unit 20 is searched based on the address information of the main memory device 3 sent from the path 1001, and if the address is registered and the valid bit A is logic "1". If so, it indicates that the target data is stored on the cache memory (referred to as a cache hit), and the read data from the cache memory is sent to the instruction control unit 1 via the selection circuit 22.
アドレスアレイ上にアドレスが登録され、かつ、有効ビ
ットBが論理“1”の場合には書込みバッファ上に書込
みアクセスが登録されていることを示し、書込みバッフ
ァ制御部23からの有効ビットBのリセット動作により
対応する有効ビットBがリセットされるのを待合わせて
アクセス制御部24に対して主記憶装置3の議出しアク
セスを要求する。When an address is registered on the address array and the valid bit B is logic “1”, it indicates that a write access is registered on the write buffer, and the valid bit B is reset from the write buffer control unit 23. After waiting for the corresponding valid bit B to be reset by the operation, it requests the access control unit 24 to request access to the main storage device 3.
またアドレスアレイ上にアドレスが登録されていない場
合は直ちにアクセス制御部24に対して読出しアクセス
を要求する。If no address is registered on the address array, it immediately requests read access to the access control unit 24.
上記読出しアクセスにより主記憶装置3からパス107
による議出しデータが送られると選択回路22を介して
命令制御部1にデータを送ると共にキャッシュメモリに
データを格納し、かつアドレスアレィ上のアドレスの設
定および有効ビットAをセットする。The path 107 is accessed from the main storage device 3 by the above read access.
When the proposal data is sent, the data is sent to the instruction control unit 1 via the selection circuit 22, the data is stored in the cache memory, and the address on the address array is set and the valid bit A is set.
命令制御部1からの書込みアクセスの場合、パス10川
こよりアドレス情報、パス101により書込みデータが
送られてくる。In the case of write access from the instruction control unit 1, address information is sent from the path 10 and write data is sent from the path 101.
アドレス情報による議出しアクセスの場合と同様にアド
レスアレイの検索を行ない、もしキャッシュヒットであ
ると、書込みデータによりキャッシュメモリ上に記憶さ
れているデータを更新すると共に書込みバッファ上に書
込みアクセス情報を登録する。The address array is searched in the same way as in the case of proposed access using address information, and if there is a cache hit, the data stored in the cache memory is updated with the write data and the write access information is registered on the write buffer. do.
キャッシュメモリ上にデータが登録されていない(キャ
ッシュミスヒットという)場合には、アドレスアレイ上
にアドレス情報を登録し、その有効ビットBを論理“1
”にセットすると共に、書込みバッファにアクセス情報
を登録する。このとき、そのアクセスのアドレスがアド
レスアレイ上に登録されていることを示す書込みバッフ
ァ上のビットEを論理“1”にセットすると共に、アド
レスアレイ上の位置を示す情報をビットLOCに登録す
る。If data is not registered on the cache memory (referred to as a cache miss), address information is registered on the address array and its valid bit B is set to logic “1”.
” and registers the access information in the write buffer. At this time, bit E on the write buffer indicating that the address of the access is registered on the address array is set to logic “1”, and Information indicating a position on the address array is registered in bit LOC.
書込みバッファ上に登録された書込みアクセス情報はF
IF○(FirstlnF船tOut)方式により読出
され、アクセス制御部24に送り主記憶装置の書込みア
クセスを送る。The write access information registered on the write buffer is F.
It is read using the IF○ (FirstInFshiptOut) method, and sends write access to the sender storage device to the access control unit 24.
書込みバッファから読出判された上記ビットEが論理“
1”の場合、書込みアクセスを行なうと同時に、バス1
04によりアドレスアレイ上の位置情報を送り、それに
より示されるアドレスアレイ上の有効ビットBを論理“
0”にリセットする。次に第2図〜第4図を参照しなが
ら本実施例の動作を詳細に説明する。The bit E read from the write buffer is logic “
1”, the write access and the bus 1
04 sends position information on the address array, and the valid bit B on the address array indicated by it is set to logic “
0''.Next, the operation of this embodiment will be explained in detail with reference to FIGS. 2 to 4.
第2図はアドレスアレイ30とキャッシュメモリ50の
構成を示しており、本キャッシュメモリは4レベルのセ
ットアソシェィティブ方式の場合について示している。FIG. 2 shows the configuration of the address array 30 and cache memory 50, and this cache memory is shown in the case of a four-level set associative system.
各メモリは256セット×4個のェントリからなり、ア
ドレスアレイ30は各ェントリに対して有効ビットA、
有効ビットBおよびアドレスを格納するビットから構成
され、キャッシュメモリ50はデータを記憶する。有効
ビットAが論理‘‘1”のときは、アドレスとデータ部
が有効であり、有効ビットBが論理“1”のときはアド
レス部のみが有効である。有効ビットAと有効ビットB
とは排他的にセットして使用する。第3図は書込みバッ
ファ60の構成を示しており、本バッファはFIFOで
制御される8ワードの構成である。Each memory consists of 256 sets x 4 entries, and the address array 30 has a valid bit A for each entry.
The cache memory 50 is composed of a valid bit B and a bit for storing an address, and stores data. When valid bit A is logic ``1'', the address and data part are valid, and when valid bit B is logical ``1'', only the address part is valid.Valid bit A and valid bit B
is used by setting it exclusively. FIG. 3 shows the structure of the write buffer 60, which has an 8-word structure controlled by a FIFO.
各ワードには主記憶装置3に対するアクセスコマンド、
主記憶アドレス〜書込みデー夕および部分書込み指定時
の書込みバイト位置を示すマークビットからなるアクセ
ス情報とアドレスアレイ3川こそのアドレスが登録され
ていることを示すビットEとビットEが論理“1”のと
き4個のブロックのどの位置かを示すビットLOCとを
持つ。アドレスアレイ30の有効ビットBが論理“1”
のとき、書込みバッファ60のビットEが論理“1”と
なっている。第4図は第1図に示す本実施例の構成をさ
らに詳細に示すブロック図である。Each word contains an access command for the main memory 3,
Access information consisting of main memory address - write data and a mark bit indicating the write byte position when specifying partial write, and bit E indicating that the address of the address array 3 is registered is logic "1" It has a bit LOC that indicates which position among the four blocks when . Valid bit B of address array 30 is logic “1”
At this time, bit E of the write buffer 60 is at logic "1". FIG. 4 is a block diagram showing the configuration of this embodiment shown in FIG. 1 in more detail.
第4図において、命令制御部1は議出しアクセス要求時
には主記憶アドレスをレジスタ13に、アクセスコマン
ドをレジスタ11に設定し、書込みアクセス時にはアド
レスをレジスタ13に、アクセスコマンドとマークビッ
ト情報をレジスター1に、さらに書込みデータをレジス
ター2に設定してアクセスを要求してくる。議出しアク
セスの場合、レジス夕13のアドレス情報の下位ビット
1002を選択回路31で選択し、パス201によりア
ドレスアレイ30の読出しアクセスを行なう。In FIG. 4, the instruction control unit 1 sets the main memory address in register 13 and the access command in register 11 when requesting access, and sets the address in register 13 and the access command and mark bit information in register 1 during write access. Then, it also sets the write data in register 2 and requests access. In the case of a read access, the selection circuit 31 selects the lower bit 1002 of the address information in the register 13, and a read access to the address array 30 is performed via the path 201.
アドレスアレイ30からの4個の各ブロックの議出しデ
ータ206,207,208よび209の各々はヒット
検出回路36においてアドレスの上位ビット1001と
比較される。ヒット検出回路36においてアドレスアレ
イ30からの4個のデータ各々について、その有効ビッ
トAが論理“1”で、かつ、そのアドレスとデータ10
01が一致しているか、有効ビットBが論理“1”で、
かつ、そのアドレスとデ−夕1001が一致しているか
、または全てのデータについて上記一致が取れなかった
かについてチェックしている。Each of the four blocks of input data 206, 207, 208 and 209 from address array 30 is compared with the upper bits 1001 of the address in hit detection circuit 36. In the hit detection circuit 36, for each of the four pieces of data from the address array 30, the valid bit A is logic "1" and the address and data 10
01 match, or valid bit B is logic “1”,
Also, it is checked whether the address and data 1001 match or whether the above-mentioned match cannot be obtained for all the data.
本動作と並行してアドレス1002によりキャッシュメ
モリ50と新規にデータを登録する時に4個のブロック
のうち、どのブロックデータを追い出すかを制御するり
プレ−スメント制御用のビットを記憶しているメモリ4
0の読出しアクセスを行なっている。もし、有効ビット
Aが論理“1”で、かつ、両アドレスデータが一致する
とキャッシュヒットを意味しており、キャッシュメモリ
50から講出した4個のブロツクデ−夕221,222
,223および224のうちヒットしたブロックデータ
を選択回路53で選択し、レジスタ54にセットしたの
ち選択回路22を通してパス109により命令制御部1
に送る。有効ビットBが論理“1’’で、かつ、両アド
レスデータが一致すると、そのブロックデー外こ対する
書込みアクセス要求が書込みバッファ6川こ登録されて
いることを意味し、パス231のアドレスにより書込み
バッファ制御部23からアドレスアレイの書換えアクセ
スが行なわれるまで命令制御部1の動作を停止する。In parallel with this operation, address 1002 is used to control which block data is to be evicted among the four blocks when registering new data with the cache memory 50, and a memory that stores bits for placement control. 4
0 read access is being performed. If the valid bit A is logical "1" and both address data match, it means a cache hit, and the four block data 221, 222 extracted from the cache memory 50
, 223 and 224 is selected by the selection circuit 53, set in the register 54, and then passed through the selection circuit 22 and passed through the path 109 to the instruction control unit 1.
send to If the valid bit B is logic "1" and both address data match, it means that a write access request for the outside of the block data has been registered in the write buffer 6, and the write is performed using the address of path 231. The operation of the instruction control section 1 is stopped until the buffer control section 23 performs a rewrite access to the address array.
書込みバッファ制御部23からのアクセスが発生すると
、それによりアドレスアレイが書換えられた次のサイク
ルで命令制御部1からのアドレス情報により前記同機に
アドレスアレイ30のアクセスおよびヒット検出回路3
6でのチェックを行なう。When an access from the write buffer control section 23 occurs, in the next cycle after the address array is rewritten, the address information from the instruction control section 1 causes access to the address array 30 and the hit detection circuit 3 to the same machine.
Perform the check in step 6.
このチェックで再度有効ビットBが論理“1”の一致を
検出すると書込みバッファ制御部23からのアクセスを
再度待合わせ、同様の動作を繰り返す。In this check, if a match of the valid bit B being logic "1" is detected again, an access from the write buffer control section 23 is awaited again, and the same operation is repeated.
書込みバッファ制御部23の書換えにより有効ビットB
が論理“1”の一致が無くなると、命令制御部1からの
主記憶装置3のアクセスコマンドとアドレスを主記憶ア
クセス制御部24の選択回路75と72でそれぞれ選択
し、レジスタ74および73にセットしたのち主記憶装
置3にアクセス要求を行なう。本要求に対して主記憶装
置3からの議出しデータがパス107により送られてく
ると、本データを選択回路22を介して命令制御部1に
送ると共に、選択回路51からしジス夕52にセットし
、キャッシュメモリ50内にも書込む。このとき、書込
むべきブロック位置は命令制御部1からのアドレスと、
メモリ40内のIJプレースメント制御ビットの内容と
により追い出すべきブロックを決定してそのブロック位
置のキャッシュメモリ50に前記主記憶装置からのデー
タを、アドレスアレイ30‘こ主記憶アドレスの上位ビ
ット1001と有効ビットAを論理“1”および有効ビ
ットBを論理“0”に設定する。このときメモリ40の
内容も書換えるが、その動作については本発明と関係が
無いため省略する。命令制御部1からのアクセス時にい
ずれのブロックでも一致が検出されなかった時は、ただ
ちに上記同様主記憶装置3の議出しアクセスを行ない、
命令制御部1へのデータの送出およびキャッシュメモリ
への登録を行なう。命令制御部1からの書込みアクセス
の場合、パス110,101および100のアクセス情
報は書込みバッファ6川こ送られ、本バッファの入力ワ
ード位置を示す十1の加算器付きのレジスタ61で示さ
れるワード位置に書込むと同時に、パス1002のアド
レスにより議出しアクセスの場合と同様にアドレスアレ
イ30の議出しを行ない、ヒット検出回路36での一致
チェックを行なう。Effective bit B by rewriting the write buffer control unit 23
When the logic "1" no longer matches, the access command and address of the main memory device 3 from the instruction control unit 1 are selected by the selection circuits 75 and 72 of the main memory access control unit 24, respectively, and set in the registers 74 and 73. Thereafter, an access request is made to the main storage device 3. When the request data from the main storage device 3 is sent via the path 107 in response to this request, the data is sent to the instruction control unit 1 via the selection circuit 22 and sent from the selection circuit 51 to the register 52. and also writes it into the cache memory 50. At this time, the block position to be written is the address from the instruction control unit 1,
The block to be evicted is determined based on the contents of the IJ placement control bit in the memory 40, and the data from the main memory device is transferred to the cache memory 50 at the location of the block, and the address array 30' stores the data from the upper bits 1001 of the main memory address. Set valid bit A to logic "1" and valid bit B to logic "0". At this time, the contents of the memory 40 are also rewritten, but their operation is not related to the present invention and will therefore be omitted. If no match is detected in any block during access from the instruction control unit 1, the main storage device 3 is immediately accessed in the same way as described above.
Data is sent to the instruction control unit 1 and registered in the cache memory. In the case of a write access from the instruction control unit 1, the access information on paths 110, 101 and 100 is sent to the write buffer 6, and the word indicated by the register 61 with an adder indicating the input word position of this buffer is At the same time as writing to the location, the address array 30 is accessed using the address on path 1002 in the same way as in the access access, and the hit detection circuit 36 performs a match check.
有効ビットAによる一致を検出すると、パス101の書
込みデータをキャッシュメモリ50のヒットしたブロッ
ク位置にも書込みパス212により書込みバッファのビ
ットEには論理“0”を書込む。上記以外の場合はキャ
ッシュメモリ50への書込みは行なわず、パス110,
101,100および212の内容をレジスタ61で示
される書込みバッファ601こ書込む。When a match based on valid bit A is detected, the write data of pass 101 is also written to the hit block position of cache memory 50, and logic "0" is written to bit E of the write buffer by write pass 212. In cases other than the above, writing to the cache memory 50 is not performed, and the path 110,
The contents of 101, 100 and 212 are written to the write buffer 601 indicated by register 61.
このときパス212には書込みバッファ60のビットE
に対しては論理“1”データが、ビットLOCに対して
は追い出しブロック決定回路42により決定したブロッ
クの位置を示すビットが回路37により発生されている
。またアドレスアレイ30の上記ブロック位置にはアド
レス情報、有効ビットAには論理“0”データ、有効ビ
ットBには論理“1”データをそれぞれ書込む。At this time, path 212 has bit E of write buffer 60.
A logic "1" data is generated for the bit LOC, and a bit indicating the position of the block determined by the eviction block determining circuit 42 is generated by the circuit 37. Further, address information is written to the above-mentioned block position of the address array 30, logic "0" data is written to the valid bit A, and logic "1" data is written to the valid bit B.
書込みバッファ60にアクセス情報を書込むとしジス夕
61の内容は十1加算する。レジスタ62はバッファ6
0の謙出し用のワード位置を保持するレジスタで、本レ
ジスタも十1の加算機能がつている。両レジスタの内容
235と236との内容によりバッファ制御回路63は
書込みバッファ60ヘアクセス情報が保持されているこ
とを検出し、命令制御部1とは非同期に主記憶アクセス
制御部24へのアクセス要求を行なう。When writing access information to the write buffer 60, the contents of the register 61 are incremented by 11. Register 62 is buffer 6
This register holds the word position for subtracting 0, and this register also has a 11 addition function. Based on the contents of the contents 235 and 236 of both registers, the buffer control circuit 63 detects that access information is held in the write buffer 60, and issues an access request to the main memory access control unit 24 asynchronously with the instruction control unit 1. Do the following.
アクセス制御部24は、主記憶装置3への読出しアクセ
ス要求が有れば、それを優先して処理し、もし無ければ
書込みバッファ制御部23からの要求によりそのアクセ
ス情報をレジス夕74,71および73に設定して主記
憶装置3への書込みアクセスを行なう。If there is a read access request to the main storage device 3, the access control unit 24 processes it with priority, and if there is no request, the access control unit 24 stores the access information in the registers 74, 71 and 73 to perform write access to the main storage device 3.
書込みバッファ制御部23が書込みアクセス要求を行な
うとき、そのワ−ドのビットEが論理“1”であると、
主記憶アドレスの下位ビット231を選択回路31を介
してアドレスアレイ30のアドレス201を指定し、バ
ス230のビットDOCの内容を有効ビットB制御回路
34に送り、その内容で示されるアドレスアレイ30の
ブロックの有効ビットBを論理“0”にリセットする。When the write buffer control unit 23 makes a write access request, if bit E of the word is logic "1",
The lower bit 231 of the main memory address is designated as the address 201 of the address array 30 via the selection circuit 31, the contents of the bit DOC of the bus 230 are sent to the valid bit B control circuit 34, and the address array 30 indicated by the contents is Reset the valid bit B of the block to logic "0".
上記動作によりキャッシュメモリ50に登録されていな
いブロックデー外こ対する書込みアクセスが書込みバッ
ファ60内に登録されているとき、そのデータに対する
命令制御部1からの論出し要求がくると、その主記憶装
置3に対する論出しアクセスは、書込みバッファ60の
書込みアクセスが終ったのちに行なうことになる。本発
明は以上説明したように、書込みバッファに登録されて
いるアクセス情報をアドレス情報記憶手段(アドレスア
レイ)上に登録するように構成することにより、論出し
アクセス時のアドレス情報記憶手段のアクセス動作だけ
により主記憶装置の同一データに対する書込みと論出し
のアクセスの順序性を保証する機能を少ないハードウェ
アで容易に実現できるという効果がある。When a write access to block data outside the block data not registered in the cache memory 50 is registered in the write buffer 60 due to the above operation, when an argument request for that data is received from the instruction control unit 1, the main memory The logical access to 3 will be performed after the write access to the write buffer 60 is completed. As explained above, the present invention is configured so that the access information registered in the write buffer is registered on the address information storage means (address array), so that the access operation of the address information storage means at the time of a logical access is achieved. This has the effect that the function of guaranteeing the order of write and logical access to the same data in the main memory can be easily realized with a small amount of hardware.
第1図は本発明の一実施例を示すブロック図、第2図は
本実施例で用いるアドレスアレイ30とキャッシュメモ
リ50の構成を示す図、第3図は本実施例で用いる書込
みバッファ60の構成を示す図、第4図は第1図の詳細
な構成を示すブロック図である。
第1図〜第4図において、1・・・…命令制御部、2…
…キャッシュメモリ装置、3・・・…主記憶装置、20
・・・・・・アドレス情報格納制御部、21・…・・デ
ータ格納部、22・・・・・・選択回路、23…・・・
書込みバッファ制御部、24・・・・・・主記憶アクセ
ス制御部、30……アドレスアレイ、40……メモリ、
50・…・・キャッシュメモリ、60…・・・書込みバ
ツフア、11,12,13,33,35,52,54,
61,62,71,73,74……レジスタ、31,5
1,53,72,75…・・・選択回路、32・・・・
・・有効ビットA制御部、35・・・・・・有効ビット
B制御部、36・・・・・・ビット検出回路、37・…
・・フロック位置作成回路、41・・・・・・リブレー
スメントメモリ制御回路、42・・・・・・追い出しブ
ロック決定回路、63・…・・書込みバッファ制御回路
、101〜110,1001,1002,201〜21
2,214〜217,219〜226,230〜236
,239,241,242,1060〜1062・・・
・・・接続ライン。
第1図
第2図
籍3図
斧ム図FIG. 1 is a block diagram showing one embodiment of the present invention, FIG. 2 is a diagram showing the configuration of an address array 30 and cache memory 50 used in this embodiment, and FIG. 3 is a diagram showing the structure of a write buffer 60 used in this embodiment. FIG. 4 is a block diagram showing the detailed configuration of FIG. 1. In FIGS. 1 to 4, 1... command control unit, 2...
...Cache memory device, 3...Main storage device, 20
...Address information storage control unit, 21...Data storage section, 22...Selection circuit, 23...
Write buffer control unit, 24...Main memory access control unit, 30...Address array, 40...Memory,
50... Cache memory, 60... Write buffer, 11, 12, 13, 33, 35, 52, 54,
61, 62, 71, 73, 74...Register, 31, 5
1, 53, 72, 75...selection circuit, 32...
... Valid bit A control section, 35... Valid bit B control section, 36... Bit detection circuit, 37...
...Flock position creation circuit, 41...Rebracement memory control circuit, 42...Evicted block determination circuit, 63...Write buffer control circuit, 101-110, 1001, 1002 , 201-21
2,214~217,219~226,230~236
, 239, 241, 242, 1060-1062...
...Connection line. Figure 1 Figure 2 Figure 3 Ax diagram
Claims (1)
憶装置上のデータを記憶するデータ記憶手段と、前記主
記憶装置への書込みアクセス情報を保持する書込みバツ
フア手段と、前記データ記憶手段の各ブロツクに対応し
て、ブロツクデータの主記憶装置上のアドレス情報を示
す第1の情報と、該ブロツクデータが前記データ記憶手
段に格納されている場合を示す第2の情報と、該ブロツ
クデータが前記書込みバツフア手段に登録されているア
クセス情報に対応している場合を示す第3の情報とを、
記憶するアドレス情報記憶手段と、前記書込みバツフア
手段への書込みアクセス情報登録時に前記データ記憶手
段内に書込みデータを含むブロツクデータが登録されて
いない場合に前記アドレス情報記憶手段にそのブロツク
データに対応する前記第1の情報と前記第3の情報とを
登録する手段と、前記書込みバツフア手段の内容により
前記主記憶装置への書込みアクセスを行なう書込みアク
セス手段と、該書込みアクセス手段の動作時に前記アド
レス情報記憶手段の対応する前記第3の情報をリセツト
する手段と、前記命令制御部からの読出しアクセス時、
読出しアドレスに対応する前記アドレス情報記憶手段の
前記第3の情報がセツトされていると、その第3の情報
がリセツトされるのを待合わせて前記主記憶装置への読
出しアクセスを行なう手段とから構成されることを特徴
とするバツフアメモリ装置。1. A data storage means that is accessed from the instruction control unit and stores data on the main memory in units of blocks, a write buffer means that retains write access information to the main memory, and each block of the data storage means. Correspondingly, first information indicating the address information of the block data on the main storage device, second information indicating the case where the block data is stored in the data storage means, and whether the block data is stored in the write address. and third information indicating that it corresponds to the access information registered in the buffer means.
address information storage means for storing, and when block data including write data is not registered in the data storage means at the time of registering write access information in the write buffer means, the address information storage means corresponds to the block data. means for registering the first information and the third information; write access means for performing write access to the main storage device according to the contents of the write buffer means; and write access means for registering the address information when the write access means operates. means for resetting the corresponding third information of the storage means; upon read access from the instruction control unit;
If the third information of the address information storage means corresponding to the read address is set, means for waiting for the third information to be reset and performing read access to the main storage device; A buffer memory device comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP55092202A JPS607302B2 (en) | 1980-07-08 | 1980-07-08 | buffer memory device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP55092202A JPS607302B2 (en) | 1980-07-08 | 1980-07-08 | buffer memory device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5718072A JPS5718072A (en) | 1982-01-29 |
| JPS607302B2 true JPS607302B2 (en) | 1985-02-23 |
Family
ID=14047854
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP55092202A Expired JPS607302B2 (en) | 1980-07-08 | 1980-07-08 | buffer memory device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS607302B2 (en) |
-
1980
- 1980-07-08 JP JP55092202A patent/JPS607302B2/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5718072A (en) | 1982-01-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5371870A (en) | Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching | |
| US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
| US5461718A (en) | System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory | |
| JP3289661B2 (en) | Cache memory system | |
| JPH0345407B2 (en) | ||
| JPH0250237A (en) | Multi-processor data processing system and cache device using the same | |
| JPH0630075B2 (en) | Data processing device having cache memory | |
| US5452418A (en) | Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation | |
| US4920536A (en) | Error recovery scheme for destaging cache data in a multi-memory system | |
| JPH04336641A (en) | Data cache and method for use in processing system | |
| JPS607302B2 (en) | buffer memory device | |
| JPH07234819A (en) | Cache memory | |
| JPS60701B2 (en) | data processing equipment | |
| JPS59112479A (en) | High speed access system of cache memory | |
| JP3757768B2 (en) | Issuing control system for scalar memory access instruction during vector memory access | |
| JP3081635B2 (en) | Cache memory invalidation processing apparatus and invalidation control method | |
| JP3221409B2 (en) | Cache control system, readout method therefor, and recording medium recording control program therefor | |
| JP3564343B2 (en) | Data transfer device and method during cache bypass | |
| JP2703255B2 (en) | Cache memory writing device | |
| EP0335113A2 (en) | Single chip cache memory, and cache memory apparatus including a plurality of parallel connected single chip cache memories | |
| JPS602704B2 (en) | buffer memory device | |
| JP3047992B2 (en) | Main memory key control method | |
| JP3219810B2 (en) | Data processing device | |
| JPH02259945A (en) | Storing processing system | |
| JP2564377B2 (en) | Information processing device with cache memory |