JPS6019810B2 - Buffer memory control method - Google Patents

Buffer memory control method

Info

Publication number
JPS6019810B2
JPS6019810B2 JP55171717A JP17171780A JPS6019810B2 JP S6019810 B2 JPS6019810 B2 JP S6019810B2 JP 55171717 A JP55171717 A JP 55171717A JP 17171780 A JP17171780 A JP 17171780A JP S6019810 B2 JPS6019810 B2 JP S6019810B2
Authority
JP
Japan
Prior art keywords
buffer memory
data
address
block
dch
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
JP55171717A
Other languages
Japanese (ja)
Other versions
JPS5794974A (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 JP55171717A priority Critical patent/JPS6019810B2/en
Publication of JPS5794974A publication Critical patent/JPS5794974A/en
Publication of JPS6019810B2 publication Critical patent/JPS6019810B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はバッファメモリ制御方式に関し、特にデータチ
ャネル処理装置と主記憶装置の中間に位置し、予め定め
られた大きさのブロックを単位として主記憶から諭出さ
れたデータを格納するとともに、データチャネル処理装
置から主記憶への転送データを上記ブロックを単位とし
て一旦格納するように構成されたバッファメモリにおい
て、データチャネル処理装置から主記憶装置へのデータ
転送を効率よく行なえるようにしたバッファメモIJ制
御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a buffer memory control system, and particularly to a buffer memory control system that is located between a data channel processing device and a main memory, and is used to store data read from the main memory in blocks of a predetermined size. In a buffer memory configured to store the data transferred from the data channel processing device to the main memory in units of blocks, the data can be efficiently transferred from the data channel processing device to the main memory. The present invention relates to a buffer memory IJ control method that allows

第1図は本発明が適用されるデータ処理システムの一例
であり、中央処理装置(CPU)およびデータチャネル
処理装置(以下DCH)と略す)は記憶制御装置を介し
て主記憶(M伍M)と接続されている。
FIG. 1 shows an example of a data processing system to which the present invention is applied, in which a central processing unit (CPU) and a data channel processing unit (hereinafter abbreviated as DCH) are connected to a main memory (M5M) via a storage control device. is connected to.

DCHの下位には磁気ディスク、磁気テープ等が接続さ
れている。また、主記憶とDCHの中間の位置、例えば
記憶制御装置にはバッファメモリ(図示せず)がもうけ
られている。DCHが主記憶からのデータ転送を要求す
ると記憶制御装置は要求されたデータのアドレスが内蔵
するバッファメモリ内のタグ部に登録されているかどう
かを調べ、登録されていればバッファメモリから議出し
、登録されていなければ要求されたデータを含む塊をブ
ロックとして主記憶からロードしてDCHへ送ると共に
バッファメモ川こ登録する。DCHが要求するデータが
バッファメモリに登録されている限り、バッファメモリ
から読み出されたデータをDCHに転送し、登録されて
いないデータが要求された時のみ主記憶からブロックロ
ードするので、バッファメモリを利用しない時に比べて
主記憶からDCHへのデータの転送が速やかに行われる
。また、DCHが主記憶へデータを転送する時は記憶制
御装置は転送先のアドレスがバッファメモ川こ登録され
ているかどうかを調べ、登録されていればバッファメモ
リのそのエリアにDCHから転送されたデータを書き込
み、登録されていなければバッファメモリ内の空フ。ッ
クあるいは最適なブロックを見出して、そのタグ部に新
たにアドレスを登録しDCHから転送されたデータを書
き込む。DCHはバッファメモリにデータが書き込まれ
た時点で主記憶へのデータ転送が終了したものと判断し
て処理が次に進むので、バッファメモリを利用しない時
に比べてDCHから主記憶へのデータ転送が速やかに行
われる。DCHからバッファメモリに書き込まれたデー
タはいずれ主記憶へ転送されなければならないが、主記
憶への転送はバッファメモリのブロックを単位として行
われる。これはブロックストアと呼ぶ。フロツクストア
はあるブロックがDCHからの転送データが満たされて
から行われることを基本としており、DCHからデータ
を転送するエリアがバッファメモリ上に存在しなくなっ
たり、DCHへデータを転送するために主記憶からフロ
ックロードすべきエリアがバッファメモリ上に存在しな
くなった時などは止むを得ずDCHからのデータで満さ
れていないブロックが主記憶へフロックストアされるこ
とがありうる。この場合は主記憶に対してはパーシャル
ラィトとなり、その時までにDCHから転送されていた
データが主記憶に書き込まれ、ブロック内のそれ以外の
部分は古いデータのままである。ここで、OCHと主記
憶との間にもうけられるバッファメモリについて考察す
ると、主言己億と磁気ディスク、磁気テープ等の間のデ
ータ転送において、いったん主記憶からのブロックロー
ド、DCHからのブロックストアで使用されたバッファ
メモリのブロック内のデータは、長時間バッファメモリ
内にとどめておくことはせずに、速やかに磁気ディスク
、磁気テープ等へあるいは主記憶へ転送することが必要
である。
A magnetic disk, magnetic tape, etc. are connected below the DCH. Further, a buffer memory (not shown) is provided at an intermediate location between the main memory and the DCH, for example, in the storage control device. When the DCH requests data transfer from the main memory, the storage control device checks whether the address of the requested data is registered in the tag part of the built-in buffer memory, and if it is registered, transfers it from the buffer memory. If it is not registered, the block containing the requested data is loaded from the main memory as a block, sent to the DCH, and registered in the buffer memory. As long as the data requested by DCH is registered in the buffer memory, the data read from the buffer memory is transferred to the DCH, and only when unregistered data is requested, a block is loaded from the main memory. Data is transferred from the main memory to the DCH more quickly than when the DCH is not used. Also, when the DCH transfers data to the main memory, the storage control device checks whether the transfer destination address is registered in the buffer memory, and if it is registered, the data is transferred from the DCH to that area of the buffer memory. Write data, and if it is not registered, it will be an empty space in the buffer memory. A block or an optimal block is found, a new address is registered in the tag section, and the data transferred from the DCH is written. The DCH determines that the data transfer to the main memory is complete when the data is written to the buffer memory, and the process proceeds to the next step, so the data transfer from the DCH to the main memory is faster than when the buffer memory is not used. This will be done promptly. Data written from the DCH to the buffer memory must be transferred to the main memory at some point, and the transfer to the main memory is performed in blocks of the buffer memory. This is called a block store. Float store is basically performed after a certain block is filled with data to be transferred from DCH, and if there is no longer an area in the buffer memory to transfer data from DCH, or if the main memory is used to transfer data to DCH. When there is no longer an area on the buffer memory to which a block should be loaded from the DCH, a block that is not filled with data from the DCH may inevitably be flock-stored to the main memory. In this case, the main memory is partially written, and the data that had been transferred from the DCH up to that point is written to the main memory, and the other parts of the block remain the old data. Now, considering the buffer memory created between OCH and main memory, in data transfer between main memory and magnetic disk, magnetic tape, etc., block load from main memory, block store from DCH, etc. The data in the blocks of the buffer memory used in the above must not be kept in the buffer memory for a long time, but must be quickly transferred to a magnetic disk, magnetic tape, etc., or to the main memory.

本発明は、DCHから書き込まれたバッファメ3モリ内
のデータを効率よく、主記憶へ転送できるようにするこ
とを目的とし、そしてそのため本発明は、データチャネ
ル処理装置と主記憶装置の中間に位置し、予め定められ
た大きさのブロックを単位として主記憶から謙出された
データを格納す4るとともに、データチャネル処理装置
から主記憶への転送データを上記ブロックを単位として
一日格納するように構成されたバッファメモ川こおいて
、該バッファメモリ上の各ブロックに対応してそのブロ
ックがデータチャネル処理装置によって謙出されまたは
格納され尽したことを示すフラグをもうけるとともに、
格納動作によって該フラグを付与されたブロックのバッ
ファメモリ内でのアドレスを順に保持してゆくアドレス
キューをもうけ、該アドレスキューに保持されているア
ドレスにより上記バッファメモリのブ。
SUMMARY OF THE INVENTION An object of the present invention is to make it possible to efficiently transfer data in a buffer memory written from a DCH to a main memory. The data extracted from the main memory is stored in blocks of a predetermined size, and the data transferred from the data channel processing device to the main memory is stored in blocks for one day. In the buffer memory configured in the buffer memory, a flag is provided corresponding to each block on the buffer memory to indicate that the block has been retrieved or stored by the data channel processing device, and
An address queue is provided which sequentially holds the addresses in the buffer memory of the blocks to which the flag has been given by the storage operation, and the blocks in the buffer memory are stored in accordance with the addresses held in the address queue.

ツクの内容を講出して主記憶装置に転送せしめるように
したことを特徴とする。以下に、まず本発明の概要を説
明する。
The present invention is characterized in that the contents of the message are read and transferred to the main memory. First, an overview of the present invention will be explained below.

DCHから主記憶へ転送するデー外ま磁気ディスクパッ
ク装置、磁気テープ装置からのデータであり、これらの
データは主記憶の連続したエリアヘアドレスの昇日頃あ
るし、は降順に連続して行われることが多いので、バッ
ファメモリのブロックがDCHからの転送データで満さ
れたかどうかはDCHからの書き込み要求がブロック内
のの最後のデータに対して行われたことを検出すること
によって行われる。DCHからの書き込み要求のアドレ
スがブロック内のアドレスの最初か最後のアドレスを示
し、かつそのブロックがすでに登録されていたとすれば
、DCHからの転送データでそのブロックは満たされる
と判断し、後述するタグ部のEフラグをオンにするとと
もに本発明で設けたアドレスキューにバッファメモリ内
でのアドレスを書き込む。アドレスキュに書き込まれた
バッファメモリ内アドレスは、主記憶への転送をを必要
とするバッファメモリのブロックを示しており、アドレ
スキューに書き込まれた順に読み出されて、そのアドレ
スの示すバッファメモリのブロックが主記憶へ転送され
る。バッファメモリから主記憶へのデータ転送は他の主
記憶アクセスより優先度を低く設定してあるので主記憶
の空時間を利用して転送が行われる。主記憶への転送が
終了するとバッファメモリ上からそのブロックは消滅し
、その記憶位置は別のブロックが登録されうる。上記の
アドレスキューはバッファメモリ内のブロック数と同じ
段数あれば最良であるが、物量との関係でブロック数以
下の段数となりうる。この時は上記Eフラグが付与され
たブロックでもアドレスキューに入れないブロックが生
じるかもしれないが、DCHからデータ転送が終了した
ことを示す割込みが生じた時に未転送のブロックを主記
憶に転送するので論理上の問題は生じない。なおEフラ
グは主記憶からDCHにデータを転送する時はDCHの
要求アドレスがブロック内の最後のアドレスを示し、か
つそのブロックがすでに登録されていたら付与される。
Eフラグはバッファメモリ内のブロックのリプレースに
使用されうる。以下、本発明を図面により説明する。第
2図は本発明による実施例のバッファメモリ制御回路、
第3図は実施例におけるアドレス構成を説明する図、第
4図は実施例におけるバッファメモリの構成を示す図で
ある。
The data transferred from the DCH to the main memory is data from the magnetic disk pack device or magnetic tape device, and these data are transferred to consecutive areas of the main memory in ascending or descending order. In many cases, whether a block of the buffer memory is filled with data transferred from the DCH is determined by detecting that a write request from the DCH is made for the last data in the block. If the address of the write request from DCH indicates the first or last address in the block, and that block has already been registered, it is determined that the block is filled with the data transferred from DCH, and will be described later. The E flag of the tag section is turned on and the address in the buffer memory is written into the address queue provided in the present invention. Addresses in the buffer memory written to the address queue indicate blocks of buffer memory that require transfer to main memory, and are read out in the order written to the address queue, and the buffer memory indicated by the address is The block is transferred to main memory. Data transfer from the buffer memory to the main memory is given a lower priority than other main memory accesses, so the data transfer is performed using free time in the main memory. When the transfer to the main memory is completed, the block disappears from the buffer memory, and another block can be registered in its storage location. It is best if the address queue has the same number of stages as the number of blocks in the buffer memory, but the number of stages may be less than the number of blocks depending on the quantity. At this time, there may be blocks that cannot be placed in the address queue even if the E flag is attached, but when an interrupt occurs from the DCH indicating that the data transfer has ended, the untransferred blocks will be transferred to the main memory. Therefore, no logical problem arises. Note that when data is transferred from the main memory to the DCH, the E flag is assigned if the requested address of the DCH indicates the last address in the block and the block has already been registered.
The E flag can be used to replace blocks in buffer memory. Hereinafter, the present invention will be explained with reference to the drawings. FIG. 2 shows a buffer memory control circuit according to an embodiment of the present invention.
FIG. 3 is a diagram for explaining the address configuration in the embodiment, and FIG. 4 is a diagram showing the configuration of the buffer memory in the embodiment.

第2図において、1はバッファメモリのデータ部、2は
バッファメモリのタグ部、3はアドレス比較回路、4は
Eフラグ設定回路、5はアドレスキュー、6はアドレス
キュー制御回路、7〜11はゲート、12はDCHから
のアドレス線、13はDCHからのデータ線、14は主
記憶装置(MEM)からのデータ線、15は後述するV
フラグ、Cフラグの書込み線、16はEフラグ書込み線
、1 7はDCHへのデータ線、18はMEMへのデー
タ線、19はアドレスキュー書込制御線、20はアドレ
スキュー謙出制御線、21はキュー書込要求線、22は
M頂Mへのアドレス線、各線上の0〜28、BO〜BI
は第3図にて後述するビット位置を示すものである。実
施例においては、バッファメモリはセットアソシァティ
ブ方式を孫っており、そのアドレス構成は第3図に図示
するように割当てられている。
In FIG. 2, 1 is a data section of the buffer memory, 2 is a tag section of the buffer memory, 3 is an address comparison circuit, 4 is an E flag setting circuit, 5 is an address queue, 6 is an address queue control circuit, and 7 to 11 are gate, 12 is an address line from DCH, 13 is a data line from DCH, 14 is a data line from main memory (MEM), 15 is V which will be described later.
Flag, C flag write line, 16 is E flag write line, 17 is data line to DCH, 18 is data line to MEM, 19 is address queue write control line, 20 is address queue output control line, 21 is a queue write request line, 22 is an address line to M top M, 0 to 28 on each line, BO to BI
indicates a bit position which will be described later in FIG. In the preferred embodiment, the buffer memory is set-associative, and its address structure is allocated as shown in FIG.

すなわち、アドレスのビツド0〜20がタグアドレス、
ビツド21〜25がバッファメモリ内セット(Set)
アドレス、ピツド26〜28がブロック(BhOCK)
内8バイトBアドレス、ビツド29〜31がバイト(B
yに)アドレスとされている。また、バッファメモリ内
アドレスとしては、ビツドBO〜BIがバッファメモリ
内ブ。ツク(BLLOCK)アドレス、ビット21〜2
5がバッファメモリ内セット(Set)アドレス、ビッ
ト、26〜28がブロック(BLOCK)内8バイト(
B)アドレスとされている。バッファメモリは第4図に
図示するように、0〜31のセット(Set)に区分さ
れ、各セットはそれぞれ4ブロック(BLOCK)から
なっている。
In other words, bits 0 to 20 of the address are the tag address,
Bits 21 to 25 are set in the buffer memory.
Address, pits 26-28 are blocked (BhOCK)
Of these, 8 bytes B address, bits 29 to 31 are bytes (B
y) address. Further, as addresses within the buffer memory, bits BO to BI are addresses within the buffer memory. BLLOCK address, bits 21-2
5 is the set address and bit in the buffer memory, 26 to 28 are the 8 bytes in the block (BLOCK) (
B) It is considered an address. As shown in FIG. 4, the buffer memory is divided into sets 0 to 31, and each set consists of four blocks (BLOCK).

さらに、データ部の各ブロックは8バイト(Byte)
×8=64バイト(Byte)からなっている。夕グ部
においては、データ部の各ブロックに対応して当該ブロ
ックの上位アドレスビッド0〜20とともに、V,C,
Eの各フラグを保持している。Vフラグは“0”のとき
当該ブロックデータの無効を示し“1”のとき有効を示
すもの、Cフラグは“0”のとき当該ブロックにDCH
によって書込みが行なわれていないことを示し、“1”
のとき書込みが行なわれたことを示すもの、Eフラグは
“0”のとき当該ブロックがDCHによってまだ使用さ
れることを示し、“1’’0のときDCmこよって便し
、尽されたことを示すものである。第2図の動作は以下
の通りである。
Furthermore, each block of the data part is 8 bytes (Byte)
x8=64 bytes. In the evening part, V, C,
It holds each flag of E. The V flag indicates that the block data is invalid when it is "0" and the data is valid when it is "1", and the C flag indicates that the block data is DCH when it is "0".
“1” indicates that no writing is being performed.
The E flag indicates that writing has been performed when it is "0", indicating that the block is still used by DCH, and "1" indicates that the block has been exhausted by DCm. The operation in FIG. 2 is as follows.

DCHへのデータ転送要求が発生すると、アドレス線1
2上のアドレスの内第21〜25ビット5のセットアド
レスにより夕グ部2の内容(タグアドレス)が4ブロッ
ク分読出される。
When a data transfer request to the DCH occurs, address line 1
The contents (tag address) of the tag section 2 are read out for four blocks by the set address of the 21st to 25th bits 5 of the address above.

そしてこの謙出されたタグァドレスと、アドレス線12
上の第0〜20ビットとがアドレス比較回路3により比
較される。比較は4ブロック分同時に行なわ0れ、一致
したものがあると、アドレス比較回路3の出力によりゲ
ート10が制御されて、データ部1から同時に読出され
ている4ブロック分のデータの内、該当するブロックデ
ータのみが選択される。選択されたデータはゲート11
、データ線1夕7によりDCHへ送出される。そしてこ
のとき、アドレス線12上のブロック内8Bアドレス(
第26〜28ビット)が当該ブロックの最後のアドレス
を示しているならば、Eフラグ設定回路4はこれを検出
し、タグ部2のEフラグをオン0(“1”)にせしめる
And this exposed tagua dress and address line 12
The 0th to 20th bits above are compared by the address comparison circuit 3. Comparison is performed for four blocks at the same time, and if there is a match, the gate 10 is controlled by the output of the address comparison circuit 3, and the corresponding one of the four blocks of data read simultaneously from the data section 1 is Only block data is selected. Selected data is gate 11
, and sent to the DCH via data lines 1 and 7. At this time, the 8B address in the block on the address line 12 (
If the 26th to 28th bits) indicate the last address of the block, the E flag setting circuit 4 detects this and turns the E flag of the tag section 2 on to 0 ("1").

一方上記アドレス比較回路3の比較の結果、一致したも
のがないときは、主記憶から所望のデータをブロックロ
ードして、ブロックアドレスおよびブロックデータをそ
れぞれタグ部2およびデータ部1に登録するようにす夕
る。次に、DCHから主記憶へのデータ転送要求が発生
したとき、上記と同様にしてタグ部が読出され、アドレ
ス比較回路3による比較の結果、一致したブロックが存
在すればデータ部1の該当プロoツクデータ線13によ
り送出されてきたデータが書込まれる。
On the other hand, if there is no match as a result of the comparison by the address comparison circuit 3, the desired data is block loaded from the main memory and the block address and block data are registered in the tag section 2 and data section 1, respectively. Evening. Next, when a data transfer request from the DCH to the main memory occurs, the tag section is read in the same manner as above, and as a result of the comparison by the address comparison circuit 3, if a matching block exists, the corresponding block in the data section 1 is Data sent through the open data line 13 is written.

このとき、データ線12上のブロック内8Bアドレス(
第26〜28ビット)が、そのブロック内の最初かまた
は最後を示しているとき、Eフラグ設定回路4はこれを
検出し、タグ部2のEフラグをオン ぐ1”)にせしめ
るとともに、アドレスキュー制御回路6へキュー書込要
求を送出する。これにより、アドレスキ制御回路6はア
ドレスキュー5にバッファメモリ内アドレス(BO〜B
1,ビット21〜25)を書込む。一方、上記アドレス
比較回路3の比較の結果、夕ク11部2内のアドレスと
一致しないときは、適当なブロックを見出してDCHか
らの転送データをデータ部1に書込むとともに、タグ部
2にアドレスを登録するようにする。タグ部2のCフラ
グはZDCHからバッファメモリにデータが書込まれた
時に付与され、そのブロックのデータが主記憶に転送さ
れるべきデータであることを示す。アドレスキュー5に
はこれらの主記憶へ転送されるべきデータのうちEフラ
グが付与されたブロックのバZッフアメモリ内でのアド
レスが記憶されているので、主記憶の空時間を利用して
バッファメモリ上でDCHによって埋尽されたブロック
を主記憶に転送することができる。第5図は、Eフラグ
設定回路4の具体例であ2り、図中、3川まデコーダ回
路、リ−〜34はアンドゲート、35と36はオアゲー
トである。
At this time, the 8B address in the block on the data line 12 (
When the 26th to 28th bits) indicate the beginning or end of the block, the E flag setting circuit 4 detects this and turns on the E flag of the tag section 2 (1"), and also sets the address A queue write request is sent to the queue control circuit 6. As a result, the address key control circuit 6 writes the buffer memory addresses (BO to B) to the address queue 5.
1, bits 21-25). On the other hand, as a result of the comparison by the address comparison circuit 3, if the address does not match the address in the block 11 section 2, an appropriate block is found and the transfer data from the DCH is written in the data section 1, and at the same time, it is written in the tag section 2. Make sure to register your address. The C flag of the tag section 2 is given when data is written from the ZDCH to the buffer memory, and indicates that the data in that block is data that should be transferred to the main memory. The address queue 5 stores the address in the buffer memory of the block to which the E flag has been assigned among the data to be transferred to the main memory, so the buffer memory is The block filled by the DCH above can be transferred to main memory. FIG. 5 shows a specific example of the E flag setting circuit 4. In the figure, there are three decoder circuits, 34 is an AND gate, and 35 and 36 are OR gates.

デコーダ回路3川まブロックアI レスの内、ビツド2
6〜28をデコードし‐し、値“0”(ブロック内の先
頭)と“7”(ブロック内の最後)を示す2信号を出力
する。ゲート31〜36は上記したEフラグ書込要求、
キュー書込要求を発生するための論理回路であり、その
動作は容易に理解されるので「詳細な説明は省略する。
第6図は、第2図図示のアドレスキュー5およ3びアド
レスキュー制御回路6の具体例であり、図中、21はキ
ュー書込み要求線、4川まキューメモリ、41は書込カ
ウンタ、42は読出力ウンタ、、43と44は十1回路
、45は減算器、46はSRフリツプフロツプ、47〜
50はアンド3回路、51はオア回路、52は書込入力
線、53は説出出力線、54はキュー書込みアドレス線
「55は書込指示線、56はキュー議出しアドレス線、
57は読出し指示線である。
Decoder circuit 3, block address, bit 2
6 to 28 and outputs two signals indicating the values "0" (the beginning of the block) and "7" (the end of the block). Gates 31 to 36 receive the above-mentioned E flag write request,
This is a logic circuit for generating queue write requests, and its operation is easily understood, so a detailed explanation will be omitted.
FIG. 6 shows a specific example of the address queues 5 and 3 and the address queue control circuit 6 shown in FIG. 42 is a reading output counter, 43 and 44 are eleven circuits, 45 is a subtracter, 46 is an SR flip-flop, 47 to
50 is an AND3 circuit, 51 is an OR circuit, 52 is a write input line, 53 is an output line, 54 is a queue write address line; 55 is a write instruction line; 56 is a queue output address line;
57 is a read instruction line.

アドレスキューはN段で構成されており、キュ4一への
書込みおよびキューからの論出しはそれぞれ書込みカウ
ンタ41、読み出しカウンタ42からのアドレスと書込
み指示線55、議出し指示線57によって行われる。
The address queue is composed of N stages, and writing to the queue 41 and logical output from the queue are performed by addresses from the write counter 41 and the read counter 42, a write instruction line 55, and a discussion instruction line 57, respectively.

書込みカウンタ41、議出しカウンタ42はそれぞれキ
ューへの書込みおよび議出しが行われるたびに歩進し、
N−1まで歩進すると次の書込みまたは論出しで0にも
どる。書込カウンタ41と謙出力ウンタ42の値は初期
状態では両者とも“0”となっており、同時にSRフリ
ツプフロツプ(FULL)46も“0”となっている。
減算器45は両方のカウン夕の値を監視しており、両者
の差が“0”でないか、またはFULL=1のときで、
主記憶が空き状態の時のみキューを読み出すことができ
る。キュー書込み要求が釆た時にはFULL=0ならば
キューへの書込みが行われる。SRフリップフロツプ(
FULL)46はキューがすべて満たされていることを
示すものであり、両カウン夕の値の差が‘‘マイナス1
?’(=0)で、かつ議出し要求が主記憶待ちで禁止さ
れている時に書込み要求が来るとFULL=1にセット
される。
The write counter 41 and the issue counter 42 increment each time a write to the queue and an issue are made, respectively.
When it increments to N-1, it returns to 0 at the next write or logical logic. In the initial state, the values of the write counter 41 and the output counter 42 are both "0", and at the same time, the SR flip-flop (FULL) 46 is also "0".
The subtracter 45 monitors the values of both counters, and when the difference between the two is not "0" or FULL=1,
The queue can be read only when the main memory is free. When a queue write request is issued, if FULL=0, writing to the queue is performed. SR flip-flop (
FULL) 46 indicates that all the queues are filled, and the difference between the values of both counters is ``minus 1''.
? '(=0), and when a write request comes while a request for discussion is inhibited while waiting in the main memory, FULL=1 is set.

一日、FULL=1にセットされると書込み要求は禁止
され、読出し要求が許されるとFULL=0にリセツト
される。減算器45は(書込みカウンタの値)−(議出
しカウンタの値)を計算しており、その結果がキュー内
にたまっているアドレス情報の個数である。“一1”は
アドレス情報の個数が(N−1)個であることを表わし
ており、キュー内の空きが1個所しかないことを示す。
以上説明したように、本発明によればバッファメモリの
タグ部にEフラグを設けるとともに、DCHによってデ
ータが埋め尽されたブロックのバッファメモリ内でのア
ドレスを記憶するアドレスキューを設けるようにしたの
で、DCHから主記憶へのデータ転送を効率よく行うこ
とができる。
When FULL=1 is set for one day, write requests are prohibited, and when read requests are allowed, FULL=0 is reset. The subtracter 45 calculates (value of write counter) - (value of issue counter), and the result is the number of pieces of address information accumulated in the queue. "-1" indicates that the number of pieces of address information is (N-1), and indicates that there is only one empty space in the queue.
As explained above, according to the present invention, the E flag is provided in the tag section of the buffer memory, and an address queue is provided to store the address in the buffer memory of the block filled with data by the DCH. , it is possible to efficiently transfer data from the DCH to the main memory.

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

第1図は本発明が適用されるデータ処理システムの一例
、第2図は本発明による実施例のバッファメモリ制御回
路、第3図は実施例におけるアドレス構成を説明する図
、第4図は実施例におけるバッファメモリの構成を示す
図、第5図はEフラグ設定回路の具体例、第6図はアド
レスキューおよびアドレスキュー制御回路の具体例であ
る。 第2図においては、1はバッファメモリのデータ部、2
はバッファメモリのタグ部、3はアドレス比較回路、4
はEフラグ設定回路、5はアドレスキュー、6はアドレ
スキュー制御回路である。第1図第2図 ※3図 幕4図 鯖S図 第5図
FIG. 1 is an example of a data processing system to which the present invention is applied, FIG. 2 is a buffer memory control circuit of an embodiment according to the present invention, FIG. 3 is a diagram illustrating the address structure in the embodiment, and FIG. 4 is an implementation example. FIG. 5 shows a specific example of an E flag setting circuit, and FIG. 6 shows a specific example of an address queue and an address queue control circuit. In FIG. 2, 1 is the data section of the buffer memory, 2
is the tag part of the buffer memory, 3 is the address comparison circuit, and 4 is the tag part of the buffer memory.
1 is an E flag setting circuit, 5 is an address queue, and 6 is an address queue control circuit. Figure 1 Figure 2 *3 Figure 4 Figure S Figure 5

Claims (1)

【特許請求の範囲】[Claims] 1 データチヤネル処理装置と主記憶装置の中間に位置
し、予め定められた大きさのブロツクを単位として主記
憶から読出されたデータを格納するとともに、データチ
ヤネル処理装置から主記憶への転送データを上記ブロツ
クを単位として一旦格納するように構成されたバツフア
メモリにおいて、該バツフアメモリ上の各ブロツクに対
応してそのブロツクがデータチヤネル処理装置によつて
読出されまたは格納され尽したことを示すフラグをもう
けるとともに、格納動作によつて該フラグを付与された
ブロツクのバツフアメモリ内でのアドレスを順に保持し
てゆくアドレスキユーをもうけ、該アドレスキユーに保
持されているアドレスにより上記バツフアメモリのブロ
ツクの内容を読出して主記憶装置に転送せしめようにし
たことを特徴とするバツフアメモリ制御方式。
1 Located between the data channel processing device and the main memory, it stores data read from the main memory in blocks of a predetermined size, and also transfers data from the data channel processing device to the main memory. In the buffer memory configured to temporarily store the blocks as a unit, a flag is provided corresponding to each block on the buffer memory to indicate that the block has been read out by the data channel processing device or has been completely stored. , an address queue is created which sequentially holds the addresses in the buffer memory of the blocks to which the flag has been given by the storage operation, and the contents of the blocks in the buffer memory are read using the addresses held in the address queue. A buffer memory control method characterized in that the buffer memory is transferred to a main storage device.
JP55171717A 1980-12-05 1980-12-05 Buffer memory control method Expired JPS6019810B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55171717A JPS6019810B2 (en) 1980-12-05 1980-12-05 Buffer memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55171717A JPS6019810B2 (en) 1980-12-05 1980-12-05 Buffer memory control method

Publications (2)

Publication Number Publication Date
JPS5794974A JPS5794974A (en) 1982-06-12
JPS6019810B2 true JPS6019810B2 (en) 1985-05-18

Family

ID=15928362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55171717A Expired JPS6019810B2 (en) 1980-12-05 1980-12-05 Buffer memory control method

Country Status (1)

Country Link
JP (1) JPS6019810B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043758A (en) * 1983-08-20 1985-03-08 Hitachi Ltd Replace control system of buffer storage
JPH01109403A (en) * 1987-10-09 1989-04-26 Instron Corp Circuit for interactive control of multiple control elements

Also Published As

Publication number Publication date
JPS5794974A (en) 1982-06-12

Similar Documents

Publication Publication Date Title
US3938097A (en) Memory and buffer arrangement for digital computers
US5335334A (en) Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US6542971B1 (en) Memory access system and method employing an auxiliary buffer
US5893148A (en) System and method for allocating cache memory storage space
WO1999022302B1 (en) Buffering data that flows between buses operating at different frequencies
US7165126B2 (en) Direct memory access device
JPS6356754A (en) Input/output channel
EP0386719A2 (en) Partial store control circuit
US5928338A (en) Method for providing temporary registers in a local bus device by reusing configuration bits otherwise unused after system reset
JPS6019810B2 (en) Buffer memory control method
JPS6055911B2 (en) main storage
JP3190847B2 (en) Data transfer control device
JPS60701B2 (en) data processing equipment
JPH0291744A (en) Cache memory system
JPS6019816B2 (en) microprogram control adapter
JP2716563B2 (en) Data write control method
JP3076199B2 (en) Buffer access control circuit
JPH06301600A (en) Storage device
JP2988048B2 (en) Dictionary information resident access device
JPH09282231A (en) Write-back type cache device
JP2002050172A (en) Fifo control circuit
JPH0414373B2 (en)
JPS59231665A (en) Disk controller
JPS6242237A (en) Loading system to instruction buffer
JPS635432A (en) Microprocessor