Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS5914826B2 - Buffer memory control method - Google Patents
[go: Go Back, main page]

JPS5914826B2 - Buffer memory control method - Google Patents

Buffer memory control method

Info

Publication number
JPS5914826B2
JPS5914826B2 JP54152712A JP15271279A JPS5914826B2 JP S5914826 B2 JPS5914826 B2 JP S5914826B2 JP 54152712 A JP54152712 A JP 54152712A JP 15271279 A JP15271279 A JP 15271279A JP S5914826 B2 JPS5914826 B2 JP S5914826B2
Authority
JP
Japan
Prior art keywords
block
data
memory
buffer memory
replacement
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
Application number
JP54152712A
Other languages
Japanese (ja)
Other versions
JPS5677964A (en
Inventor
明寿 梶山
和之 清水
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP54152712A priority Critical patent/JPS5914826B2/en
Publication of JPS5677964A publication Critical patent/JPS5677964A/en
Publication of JPS5914826B2 publication Critical patent/JPS5914826B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はバッファメモリ制(財)方式に関し、特に、デ
ータのリプレースを行なう際に直前に主記憶からフェッ
チされたブロックデータがリプレースの対象とならない
ようにしたバッファメモリ制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a buffer memory system, and more particularly, to a buffer memory control method that prevents block data fetched from main memory immediately before being replaced when data is replaced. Regarding the method.

バッファメモリのアドレスを、アクセスアドレスの下位
部分に対応する「セットアドレス」と、アクセスアドレ
スとは無関係な「ブロックアドレス」とに分けて制(財
)するのが従来のセットアソシアティブ方式のバッファ
メモリであり、リプレース部が行うのはこの「ブロック
アドレス」の制御部である。主メモリよりバッファメモ
リにデータのコピーを入れる時(これをブロックフェッ
チと呼ぶ)アクセスアドレスに対応する1つのセットア
ドレスが決定される。
Conventional set-associative buffer memory controls the buffer memory address by dividing it into a "set address," which corresponds to the lower part of the access address, and a "block address," which is unrelated to the access address. The replacement unit controls this "block address". When copying data from the main memory to the buffer memory (this is called a block fetch), one set address corresponding to the access address is determined.

1つのセットアドレスには複数のブロックがありこのう
ちの1つのブロックが1回のブロックフェッチで入れ替
えの対象となる部分である。
One set address has a plurality of blocks, and one block among these blocks is the part to be replaced in one block fetch.

リプレース部はこの複数のブロックのうちから1つを選
択しデータの入れ替えの場所を指定する。
The replace unit selects one of the plurality of blocks and specifies the location where the data is to be replaced.

今ブロックフェッチが行われ対応するセットアドレスに
ある複数のブロックには全てデータがすでに入つており
空のブロックが1つもないとするとリプレース部ではそ
の複数のブロックに入つているデータの全てについて過
去にアクセスがあつた時の古さを調べ、最も古いデータ
の入つているブロックを入れ替えの対象ブロックとして
そのブ頭ノクアドレスを指定する。これをLRU法と言
うのは周知のことである。リプレースの入れ替え制御ビ
ット、すをよりちリプレースメモリアレイに書込まれた
ビットをバッファメモリにアクセスがあるたびにどの様
に制(財)するかは、すでに知られている。
If a block fetch is now being performed and all the blocks at the corresponding set address already contain data and there is no empty block, then the replacement part will retrieve all the data in the blocks in the past. Check the oldness of the access, and specify the head address of the block containing the oldest data as the block to be replaced. It is well known that this is called the LRU method. It is already known how to control the replacement switching control bits and the bits written to the replacement memory array each time the buffer memory is accessed.

完全なLRU法によつて制御する場合、1つのセツトア
ドレス部に対応するn個のデータプロツクがあるとすれ
ばリプレース部は1つのセツトアドレスに対し(n−1
)。
In the case of control using the complete LRU method, if there are n data blocks corresponding to one set address part, the replace part has (n-1) data blocks for one set address part.
).

/2ビツトの制抑ビツトをりフレーズメモリに持つ。こ
のうちの1ビツトはn個のプロツクの中の2つのデータ
プロツクの順序づけを示しており、1セツト分の全体の
ビツトはn個のデータプロツクの配列、すなわち順序づ
けを完全に示している。
/2 suppression bits are held in the phrase memory. One bit of these indicates the ordering of two data blocks among the n blocks, and one set of all bits completely indicates the arrangement, or ordering, of the n data blocks. .

今バツフアメモリにアクセスがあつたとするとそのアク
セスアドレスよりセツトアドレスが決められ、そのセツ
トに対応するりフレーズメモリの(n−1)n/2ビツ
トが制倒の対称として選択される。このうちどこのデー
タプロツクにアクセスがあつたかという通知によりその
中の(n−1)ビツトが選択されてそのデータプロツク
のアクセス順序が最新となる様に書き書えられる。これ
がリプレースの更新である。この操作をくり返すことに
より、りフレーズメモリは常に全てのセツトアドレスに
対してn個のデータプロツクのアクセスの新しさ即ち古
さの順序を記憶している。
If the buffer memory is now accessed, a set address is determined from the access address, and (n-1)n/2 bits of the phrase memory corresponding to the set are selected as targets for suppression. Upon notification of which data block has been accessed, (n-1) bits are selected and written so that the access order of that data block is the latest. This is a replacement update. By repeating this operation, the phrase memory always stores the order of recentness, ie, oldest, of the accesses of the n data blocks for all set addresses.

プロツクフエツチの際のアクセスアドレスよりセツトア
ドレスは決定されるのでりフレーズメモリよりこの(n
−1)n/2ビツトの情報、即ちn個のデータプロツク
全部のアクセスの古さの順序を示す情報が読み出される
Since the set address is determined from the access address at the time of block fetch, this (n
-1) n/2 bits of information, ie information indicating the order of staleness of accesses of all n data blocks, are read.

この中から最もアクセスの古いデータプロツクのプロツ
クアドレスを取り出す論理は更新とは逆の論理である。
各プロツクアドレスに対応して、(n−1)n/2ビツ
トのリプレース情報のうちn−1ビツトの情報が割り当
てられており、更新の時の書込みパターンと全く逆即ち
全ビツトを反転させたパターンの場合そのプロツクが最
もアクセスの古いデータプロツクである。従つて各プロ
ツクごとに自分に割り当てられたn−1ビツトがこの最
古のパターンであるかどうかという論理を取ればかなら
ずどれか1つのプロツクが該当する。
The logic for extracting the block address of the oldest accessed data block from among these is the opposite logic to that for updating.
Corresponding to each block address, information of n-1 bits out of (n-1)n/2 bits of replacement information is assigned, and the write pattern at the time of update is completely reversed, that is, all bits are inverted. If the pattern is the oldest one, that block is the oldest accessed data block. Therefore, if we use the logic to determine whether or not the n-1 bits assigned to each block correspond to this oldest pattern, one of the blocks is bound to correspond.

以上が従来からのリプレース制闘ビツトの働きである。
さてプロツクフエツチの際、従来の方式ではプロツクフ
エツチしたr−タをバツフアメモリに書込む過程で、り
フレーズメモリアレーの内容も同時に書き変え、そのプ
ロツクアドレスが最も新しくアクセスされた事を登録す
るようになつている。
The above is the function of the conventional replacement control bit.
Now, when performing a block fetch, in the conventional method, in the process of writing the program fetched r-data into the buffer memory, the contents of the phrase memory array are also rewritten at the same time, thereby registering that the block address was the most recently accessed. ing.

この登録をリプレースの更新と言うがこれはプロツクフ
エツチのアクセスの終りの方のタイミングである。にも
かかわらずリプレースの読出しはプロツクフエツチのア
クセスが開始されるとすぐに行われ、あらかじめデータ
を入わ替えるべきプロツクの位置を記憶しておくように
なつている。
This registration is called a replace update, and this is the timing towards the end of the block fetch access. In spite of this, replacement reading is performed as soon as block fetch access is started, and the position of the block in which data should be replaced is stored in advance.

従つてプロツクフエツチのアクセスが連続して出された
場合、1番目のアクセスによつて指定された入れ替えデ
ータプロ゛ンクのアドレスと2番目のアクセスlこよつ
て指定されるプロツクアドレスとは、〜りフレーズメモ
リの内容が更新されない限り同じアドレスが指定されて
しまう。つまり全く同じ場所が入れ替えの対象となるこ
とになりl番目に主メモリより持つて来られたプロック
データは、後で又使われる可能性力塙いにもかかわらず
2番目のプロ゛ソクデータによりすぐに上ぬりされ、消
されてしまうことになる。
Therefore, when block fetch accesses are issued consecutively, the address of the replacement data block specified by the first access and the block address specified by the second access are... The same address will be specified unless the contents of the phrase memory are updated. In other words, the exact same location is subject to swapping, and the first block data brought from main memory will be immediately replaced by the second block data, even though there is a strong possibility that it will be used again later. It will be overprinted and erased.

すなわち従来の制却方式では同一のセツトアドレスを示
すアクセスアドレスを持つプロツクフエツチが連続して
出された場合、1番目のプロツクデータはバツフアメモ
リ上からすぐに消されてしまうという欠点があつた。又
、これをさけるために同一セツトアドレスに対するプロ
ツクフエツチは、前のプロツクフエツチが完了するまで
、即ちリプレースメモリの内容が更新されて正しく次の
リプレースすべきプロツクを決定できるようになるまで
待たすような方法もあつたが、この場合待たせる分だけ
性能が低下することはさけられなかつた。
That is, the conventional control system has a drawback in that when block fetches having access addresses indicating the same set address are issued consecutively, the first block data is immediately erased from the buffer memory. In addition, to avoid this, there is a method of waiting for a block fetch to the same set address until the previous block fetch is completed, that is, until the contents of the replace memory are updated and the next block to be replaced can be correctly determined. However, in this case, it was unavoidable that the performance would deteriorate due to the waiting time.

本発明の目的は同一のセツトアドレスを持つプロツクフ
エツチの連続アクセスの場合リプレースが最も古いデー
タプロツクのみでなく、2番目のアクセスの場合には2
番目、あるいはn番目に古いデータプロツクのアドレス
を入れ替え対象として指定することにより、1番目のア
クセスが完了するまで2番目以降のアクセスを待たせた
り、先にフエツチしたプロツクデータが重復書込みによ
つて消されるという欠点を解決し、性能を向上させるこ
とにある。
The purpose of the present invention is to replace not only the oldest data block in the case of consecutive accesses of block fetches with the same set address, but also the replacement of the oldest data block in the case of the second access.
By specifying the address of the oldest or nth data block as the replacement target, you can make the second and subsequent accesses wait until the first access is completed, or cause the previously fetched block data to be written repeatedly. The purpose is to solve the disadvantage of being erased by twisting and to improve performance.

即ち或るプロツクフエツチの結果としてりフレーズメモ
リの内容を更新する以前に、同一セツトアドレスに対し
て次のプロツクフエツチが必要となつた場合に現在プロ
ツクフエツチが進行中でその結果主メモリのデータを書
き込もうとしているプロツク位置を、次のプロツクフエ
ツチの書き込み先プロツクとして指定しないようにする
ことにより性能改善を図ることを目的としている。
In other words, if a next block fetch is required for the same set address before the contents of the phrase memory are updated as a result of a block fetch, if a block fetch is currently in progress and as a result an attempt is made to write the data in main memory. The purpose of this method is to improve performance by not specifying the current block position as the write destination block for the next block fetch.

そして、上記目的を達成するために、本発明は、バツフ
アメモリをアクセスするごとにりフレーズメモリの内容
を更新してアクセスされたデータを含むプロツクが最新
であることを記録し、必要とするデータがバツフアメモ
リに存在しなかつた場合はリプレースメモリの読出しデ
ータにもとづいて追い出すべきプロツク番号を決定し、
新たなデータを当該プロツク番号のプロツク位置へ主記
憶からプロツク転送するバツフアメモリ制御方式におい
て、プロツク転送の処理中当該プロツクデータをロード
すべきバツフアメモリのプロツク番号を記憶するプロツ
ク番号記憶手段と、該プロツク番号記憶手段の内容にも
とづいてリプレースメモリからの読出しデータを修飾す
るリプレース情報修飾手段をもうけ、主記憶からバツフ
アメモリへのプロツク転送が重複した場合、後続のプロ
ツク転送におけるロード先プロツク番号は先行処理中の
プロツク転送におけるロード先プロツク番号とは異なる
プロツク番号に決定されるようにしたことを特徴とする
。本発明によるバツフアメモリ制(財)方式の考え方を
以下に説明する。
In order to achieve the above object, the present invention updates the contents of the phrase memory every time the buffer memory is accessed to record that the program containing the accessed data is the latest, and to update the contents of the phrase memory every time the buffer memory is accessed. If it does not exist in the buffer memory, determine the program number to be evicted based on the read data of the replacement memory,
A buffer memory control method for transferring new data from the main memory to a block position corresponding to the block number includes block number storage means for storing the block number of the buffer memory into which the block data is to be loaded during the process of block transfer; A replacement information modification means is provided for modifying the data read from the replacement memory based on the contents of the number storage means, so that when block transfers from the main memory to the buffer memory overlap, the load destination program number in the subsequent block transfer is being processed in advance. The present invention is characterized in that the block number is determined to be different from the load destination block number in block transfer. The concept of the buffer memory system according to the present invention will be explained below.

バツフアメモリに誤動作があつた様な場合、そのデータ
プロツクを使用不可にしてしまおうという考え方が従来
よりある。
There has been a conventional idea that if a buffer memory malfunctions, the data block should be made unusable.

これをデリートと呼ぶ。リプレース情報としても、プロ
ツクフエツチの際、使用不可となつたプロツクアドレス
、即ちデリートされたプロツクアドレスを入れ替えの対
象エリアとして指定してはいけないので、各プロツクの
デリート情報を別にもらい、デリートされた場合は各プ
ロツクに割当てられたリプレース情報のビツトパターン
をそのプロツクが最新又は最新に近くアクセスされた様
にあたかも見えるように固定し、最も古いプロツクを決
定する回路(これをLRU回路と呼ぶ)からは決してデ
リートされたプロツクが指定されない様にしてある。こ
のデリートの為のリプレース情報ビツト固定回路(これ
をデリート回路と呼ぶ)は、リプレースメモリの書込み
回路に入れて、記憶された情報に台んでしまうこともで
きるが、読出し回路に入れて、その後にLRU回路をつ
なぐこともできる。
This is called delete. As for replacement information, when performing a block fetch, block addresses that have become unusable (in other words, deleted block addresses) should not be specified as the area to be replaced. In this case, the bit pattern of the replacement information assigned to each proc is fixed so that it appears as if that proc has been accessed the latest or near the latest, and a circuit that determines the oldest proc (this is called an LRU circuit) is configured so that deleted blocks are never specified. The replacement information bit fixing circuit for this deletion (this is called a delete circuit) can be placed in the write circuit of the replacement memory and fixed to the stored information, but it can also be placed in the read circuit and then It is also possible to connect an LRU circuit.

デリート回路がリプレースメモリの読出し部にあり、L
RU回路に続いている場合、特別に2番目に古いデータ
プロツクを決定する論理回路を作らなくても、同じLR
U回路、デリート回路を使用して2番目に古いデータプ
ロツクを決定することが出来る。なぜならば一度、最古
のプロツクを決定して、プロツクフエツチを開始したの
ちプロツクフエツチが完了して、リプレースメモリの内
容を書き換えるまでの間そのプロツクをデリートしたよ
うに見せかける、即ち最新又は最新近くのプロツクとし
て見えるように固定してしまえば、LRU回路から出力
されるのは2番目に古いプロツクだからである。
The delete circuit is located in the read section of the replacement memory, and the L
If the RU circuit is followed by the same LR circuit, there is no need to create a special logic circuit to determine the second oldest data block.
The second oldest data block can be determined using the U circuit and the delete circuit. This is because once the oldest block is determined and a block fetch is started, the block is made to appear to have been deleted until the block fetch is completed and the contents of the replace memory are rewritten. This is because if it is fixed so that it can be seen, it is the second oldest block that is output from the LRU circuit.

LRU回路の出力に結果を保持しておくレジスタをいく
つを設けておけば同様にn番目に古いものまで結果とし
て出す事が可能である。
By providing a number of registers for holding results at the output of the LRU circuit, it is possible to similarly output results up to the nth oldest result.

(ここでいうn番目に古いとはりフレーズピットが表わ
すものを意味し、完全LRUでない場合かならずしも真
にn番目ではない)例えばLRU回路の結果を保持して
プロツクフエツチされたデータの入れ替え位置を示すレ
ジスタが3個設けられた場合、通常のプロツクフエツチ
では最も古いプロツクが選択され一つのレジスタに保持
される。
(The nth oldest here means what the phrase pit represents, and if it is not a complete LRU, it is not necessarily the true nth.) For example, a register that holds the result of the LRU circuit and indicates the replacement position of the block fetched data. When three blocks are provided, in a normal block fetch, the oldest block is selected and held in one register.

このプロツクフエツチが完了してリプレースメモリが更
新されるまでの間に次のプロツクフエツチがなければ他
の2つのレジスタは使われない。
The other two registers will not be used unless there is another block fetch after this block fetch is completed and the replacement memory is updated.

もし最初のプロツクフエツチが完了しないうちに同一の
セツトアドレスを持つ次のプロツクフエツチが出された
場合リプレースメモリから読出された情報はデリート回
路により最初のプロツクフエツチの入れ替え場所として
保持された最も古いデータプロツクの位置をデリート情
報として修飾されLRU回路の出力から除かれる。した
がつて他にデリートされるべきプロツクがない場合、L
RU回路の出力には2番目に古いデータのプロツクが出
力され2番目のレジスタに保持される。
If the next block fetch with the same set address is issued before the first block fetch is completed, the information read from the replacement memory will be transferred to the oldest data block retained by the delete circuit as the replacement location for the first block fetch. The position is qualified as delete information and removed from the output of the LRU circuit. Therefore, if there are no other blocks to be deleted, L
The second oldest data block is output from the RU circuit and held in the second register.

最初のプロツクフエツチが完了する以前にさらに同様の
プロツクフエツチが起きた場合、全く同様に最も古いプ
ロツク及び2番目に古いプロツクがデリートされLRU
回路の出力には3番目に古いプロツクの位置が出力され
、3番目のレジスタに保持される。
If a similar block fetch occurs before the first block fetch completes, the oldest and second oldest blocks are deleted and LRUed in exactly the same way.
The output of the circuit is the position of the third oldest block, which is held in the third register.

以上が3個の場合であるが原理的には2つ以上、バツフ
アメモリの1セツトのプロツクの数まで、あるいは1つ
のプロツクフエツチの開始から完了までの間に出すこと
のできるプロツクフエツチの数まで何個レジスタを設け
てもよい。
The above is a case of three registers, but in principle there are two or more registers, up to the number of programs in one set of buffer memory, or the number of program fetches that can be issued between the start and completion of one program fetch. may be provided.

ところでここで問題となるのは、プロツクフエツチが連
続して起きたとき、先のプロツクフエツチでリプレース
回路より得られたプロツク位置をデリートするかしない
かという切り換え信号が必要かという問題である。
By the way, the problem here is whether a switching signal is required to determine whether or not to delete the block position obtained from the replace circuit in the previous block fetch when block fetches occur consecutively.

本発明の目的からすれば同一セツトアドレスを持つ連続
プロツクフエツチによるデータの消失を防止する為のも
のであるから連続したプロツクフエツチが同一のセツト
アドレスを持つているかどうかを比較する回路からの一
致出力信号によつて擬似的にデリートするのが最も望ま
しいと思われるが、バツフアメモリの1セツトのプロツ
ク数即ち連想メモリとして同時に読めるプロツクの数が
比較的たくさんある場合、最も古いデータを入れ替える
か、2番目に古いデータを入れ替えるかによつて性能に
さほど影響があるとは思われない。
Since the purpose of the present invention is to prevent data loss due to successive block fetches having the same set address, a match output signal from a circuit that compares whether consecutive block fetches have the same set address is used. Therefore, pseudo-delete seems to be the most desirable method, but if there is a relatively large number of blocks in one set of buffer memory, that is, a relatively large number of blocks that can be read simultaneously as associative memory, the oldest data should be replaced, or the second oldest data should be replaced. It does not seem that there is much effect on performance depending on whether data is replaced.

したがつて上記の様な比較回路出力信号によらず常に連
続プロツクフエツチの時は先のプロツクフエツチの入れ
替え予定プロツク位置をデリートしてしまつてもさほど
影響はないと思われるし、制御は容易である。その場合
、?然、連続するプロツクフエツチのセツトアドレスが
同じでない場合が考えられるが先のプロツクフエツチで
用意されたプロツク位置は先のプロツクフエツチの際に
読み出されたセツトアドレスに対応するりフレーズメモ
リのビツトが示す最も古いデータの場所であり、後の場
合は別のセツトアドレスに対応する別のリプレース情報
が示す最も古いデータの場所である。
Therefore, regardless of the output signal of the comparator circuit as described above, when a continuous block fetch is performed, even if the block position to be replaced in the previous block fetch is deleted, it does not seem to have much effect, and control is easy. In that case,? Of course, it is possible that the set addresses of consecutive block fetches are not the same, but the block position prepared by the previous block fetch corresponds to the set address read out during the previous block fetch, or the oldest block position indicated by the bit in the phrase memory In the latter case, it is the location of the oldest data indicated by another replacement information corresponding to another set address.

したがつて両方が同一のプロツク位置を指定しない限り
、後のプロツクフエツチではそのセツトアドレスにおけ
る最も古いデータの場所を指定する。
Therefore, unless both specify the same block location, subsequent block fetches specify the location of the oldest data at that set address.

また、たまたま同一のプロツク位置が最も古いデータの
入つている場所であつても2番目に古いデータの場所が
指定されるだけであるからさほど影響しないであろう。
以上デリート回路を常に生かすかはケースによる。
Furthermore, even if the same block position happens to contain the oldest data, it will not have much of an effect since only the location of the second oldest data is specified.
Whether or not to always utilize the delete circuit as described above depends on the case.

また、LRU回路も完全LRUとは限らない場合も多く
、その他デリート回路をリプレース部のどこに置くかな
ど色々な組合せも考えられる。いずれにせよ本発明はあ
くまで従来のLRU回路にさらに何番目かに古いデータ
プロツクを決定する機能を付加し同一のセツトアドレス
を持つ複数のプロツクフエツチが連続して起きた場合に
、同一のバツフアメモリエリアが入れ替えエリアとして
指定される事即ちプロツクフエツチデータがすぐに消失
することを防ぎ、これによつで囲能を向上させるように
するものである。次に、本発明を図面により説明する。
Furthermore, the LRU circuit is often not necessarily a complete LRU, and various combinations can be considered, such as where in the replacement section the delete circuit is placed. In any case, the present invention merely adds a function to the conventional LRU circuit to determine the oldest data block. This prevents the memory area from being designated as a replacement area, that is, prevents the block fetch data from disappearing immediately, thereby improving coverage. Next, the present invention will be explained with reference to the drawings.

図は本発明による実施例のリプレース制(財)回路であ
り、図中、1はリプレースメモリアレイ、2はリプレー
スメモリ更新回路、3はLRU回路、4はデリート回路
、5は第1レジスタ、6は第2レジスタ、7は第nレジ
スタ、8はデリートプロツク指示情報線、9はアクセス
プロツク指示情報線、10は最初のプロツクフエツチデ
ータのバツフアメモリ書込プロツク番号を指定する情報
線、11は2番目のプロ゛ンクフエ゛ンチデータのバン
フアメモリ書込プロツク番号を指定する情報線、12は
n番目のプロツクフエツチデータのバツフアメモリ書込
プロツク番号を指定する情報線、13〜15はアンド回
路、16は最初のプロツクフエツチ中であることを指示
する制―線、17は2番目のプロツクフエツチ中である
ことを指示する制御線、18はn番目のプロツクフエツ
チ中であることを指示する制―線である。通常は、リプ
レースメモリアレイ1から読出されたリプレース情報に
もとづき、LRU回路3により最も古いデータのプロツ
クが決定されてプロツクフエツチの際のプロツクアドレ
スとなり、第1レジスタ5に記憶される。
The figure shows a replaceable circuit according to an embodiment of the present invention. In the figure, 1 is a replace memory array, 2 is a replace memory update circuit, 3 is an LRU circuit, 4 is a delete circuit, 5 is a first register, and 6 is a replace memory circuit. is the second register, 7 is the nth register, 8 is a delete block instruction information line, 9 is an access block instruction information line, 10 is an information line that specifies the buffer memory write block number of the first block fetch data, 11 is an information line that specifies the buffer memory write block number for the second block fetch data, 12 is an information line that specifies the buffer memory write block number for the nth block fetch data, and 13 to 15 are AND circuits. , 16 is a control line indicating that the first block fetch is in progress, 17 is a control line indicating that the second block fetch is in progress, and 18 is a control line indicating that the nth block fetch is in progress. be. Normally, based on the replacement information read from the replacement memory array 1, the LRU circuit 3 determines the block of the oldest data and stores it in the first register 5 as the block address at the time of block fetch.

一方、バツフアメモリの障害等で特定プロツクの使用を
禁止するときは、デリートプロツク指示情報線8により
デリートプロツクが指示され、りフレーズメモリアレー
1から読出されたリプレース情報はデリート回路4によ
り修正されデリートされたプロツクが最新プロツクに見
えるようにされる。プロツクフエツチが連続して出され
たときには、末だ完了していない最初のプロツクフエツ
チにおけるプロツクアドレスは第1レジスタ5に記憶さ
れている。
On the other hand, when the use of a specific block is prohibited due to a buffer memory failure, etc., a delete block is instructed by the delete block instruction information line 8, and the replacement information read from the phrase memory array 1 is modified by the delete circuit 4. The deleted proc is made to appear as the latest proc. When successive block fetches are issued, the block address of the first block fetch that has not yet been completed is stored in the first register 5.

そして、2番目のプロ゛ンクフエ゛ンチにおいては、第
1レジスタ5内のプロツク番号がアンド回路13を通し
てデリート回路4に入力され、当該第1レジスタ5内の
プロツク番号は入れ替えプロツクの対象から除かれる。
したがつて、2番目に古いデータの入つているプロツク
が最古のプロツクとしてLRU回路3により決定され、
そのプロツク番号が第2レジスタ6に保持されて、2番
目のプロツクフエツチデータの書込みプロツクアドレス
となる。以下、同様にして更にプロツクフエツチが連続
するとき、末だ完了していない(1−1)番目までのプ
ロツクフエツチにおけるプロツクアドレスはデリート回
路4に入力され当該プロツクは入れ替えプロツクの対象
から除かれる。
Then, at the second block bench, the block number in the first register 5 is input to the delete circuit 4 through the AND circuit 13, and the block number in the first register 5 is excluded from the target of the replacement block. .
Therefore, the block containing the second oldest data is determined by the LRU circuit 3 as the oldest block,
The block number is held in the second register 6 and becomes the write block address for the second block fetch data. Thereafter, when further block fetches continue in the same manner, the block addresses in the (1-1)th block fetches that have not yet been completed are input to the delete circuit 4, and the blocks in question are removed from the target of the replacement block.

したがつて連続するi番目のプロツクフエツチにおいて
はi番目に古いデータの入つているプロツクが最古のプ
ロツクとしてLRU回路3により決定され、そのプロツ
ク番号が第1レジスタに保持されて、i番目のプロツク
フエツチデータの書込みプロツクアドレスとなる。
Therefore, in the i-th consecutive block fetch, the block containing the i-th oldest data is determined by the LRU circuit 3 as the oldest block, and its block number is held in the first register, and the block containing the i-th oldest data is determined by the LRU circuit 3. This is the write block address for fetch data.

これにより、重複するプロツク転送の際、バツフアメモ
リの同一のプロツク位置が主記憶からのデータを入れる
場所として連続して指定されることはない。
This prevents the same block position in the buffer memory from being designated consecutively as a location for storing data from the main memory during overlapping block transfers.

本発明はすでに説明した様に従来の回路に2番目あるい
はn番目(こ古いデータプロ゛ンクをリプレース情報よ
り決定する回路を追加することにより同一セツトアドレ
スの連続プロツクフエツチの際同一のエリアがバツフア
書込プロツクとして指定されることを防止してプロツク
フエツチデータの消失を防ぐようにしたので、これによ
り性能の向上、制闘の簡略化を計ることができるという
すぐれた利点をもつている。
As already explained, the present invention adds a circuit to the conventional circuit to determine the second or nth (older) data block based on replacement information, so that the same area can be buffered during consecutive block fetches of the same set address. Since the block fetch data is prevented from being designated as an embedded block and the block fetch data is prevented from being lost, this has the excellent advantage of improving performance and simplifying control.

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

図は本発明による実施例のリプレース制(財)回路であ
る。
The figure shows a replacement circuit according to an embodiment of the present invention.

Claims (1)

【特許請求の範囲】[Claims] 1 バッファメモリをアクセスするごとにリプレースメ
モリの内容を更新してアクセスされたデータを含むブロ
ックが最新であることを記録し、必要とするデータがバ
ッファメモリに存在しなかつた場合はリプレースメモリ
の読出しデータにもとづいて追い出すべきブロック番号
を決定し、新たなデータを当該ブロック番号のブロック
位置へ主記憶からブロック転送するバッファメモリ制御
方式において、ブロック転送の処理中当該ブロックデー
タをロードすべきバッファメモリのブロック番号を記憶
するブロック番号記憶手段と、当該ブロック転送にもと
づく上記リプレースメモリの内容更新がされる前に次の
ブロック転送のための上記リプレースメモリが読出され
た場合に上記ブロック番号記憶手段の内容にもとづいて
リプレースメモリからの読出しデータを修飾するリプレ
ース情報修飾手段をもうけ、主記憶からバツフアメモリ
へのブロック転送が連続した場合、後続のブロック転送
におけるロード先ブロック番号は先行処理中のブロック
転送におけるロード先ブロック番号とは異なるブロック
番号に決定されるようにしたことを特徴とするバッファ
メモリ制御方式。
1 Every time the buffer memory is accessed, the contents of the replacement memory are updated to record that the block containing the accessed data is the latest, and if the required data does not exist in the buffer memory, the replacement memory is read. In a buffer memory control method that determines the block number to be evicted based on the data and transfers new data from main memory to the block position of the block number, the buffer memory to which the block data is to be loaded is Block number storage means for storing a block number; and contents of the block number storage means when the replace memory for the next block transfer is read before the contents of the replace memory are updated based on the block transfer. A replacement information modification means is provided for modifying data read from the replacement memory based on the following. When block transfers from the main memory to the buffer memory are consecutive, the load destination block number in the subsequent block transfer is the same as the load destination block number in the block transfer during the preceding processing. A buffer memory control method characterized in that a block number different from a previous block number is determined.
JP54152712A 1979-11-26 1979-11-26 Buffer memory control method Expired JPS5914826B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP54152712A JPS5914826B2 (en) 1979-11-26 1979-11-26 Buffer memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP54152712A JPS5914826B2 (en) 1979-11-26 1979-11-26 Buffer memory control method

Publications (2)

Publication Number Publication Date
JPS5677964A JPS5677964A (en) 1981-06-26
JPS5914826B2 true JPS5914826B2 (en) 1984-04-06

Family

ID=15546496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54152712A Expired JPS5914826B2 (en) 1979-11-26 1979-11-26 Buffer memory control method

Country Status (1)

Country Link
JP (1) JPS5914826B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1980945B1 (en) 2006-01-31 2011-03-09 Fujitsu Limited Memory access control apparatus and memory access control method

Also Published As

Publication number Publication date
JPS5677964A (en) 1981-06-26

Similar Documents

Publication Publication Date Title
US4466059A (en) Method and apparatus for limiting data occupancy in a cache
JP2553274B2 (en) High speed data access system
KR100278328B1 (en) Cache miss buffer
US8117395B1 (en) Multi-stage pipeline for cache access
EP0167089B1 (en) Memory access control system and method for an information processing apparatus
JPH0668736B2 (en) Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPH04336641A (en) Data cache and method for use in processing system
JPS5914826B2 (en) Buffer memory control method
JP4765249B2 (en) Information processing apparatus and cache memory control method
US5704056A (en) Cache-data transfer system
US4733367A (en) Swap control apparatus for hierarchical memory system
JP3221409B2 (en) Cache control system, readout method therefor, and recording medium recording control program therefor
EP0400851A2 (en) Efficient cache utilizing a store buffer
JPS63311548A (en) Cache memory controlling system
JPH02224158A (en) Cache memory device, data processing device, data access method, and data storage method in cache memory
JPH04288647A (en) Substitution controller for cache memory
JP2000066955A (en) Copy cache information sweeping level selection system
JPS6042971B2 (en) information processing equipment
JPS5856175B2 (en) Buffer memory control method
JPH0156411B2 (en)
JPH08328960A (en) Cache memory device
JPH0683707A (en) Cache memory control device
JPH04242431A (en) Information processor
JPH0498550A (en) Diagnostic system for cache coincidence processing unit