JPH0784875A - Write buffer control mechanism - Google Patents
Write buffer control mechanismInfo
- Publication number
- JPH0784875A JPH0784875A JP5253735A JP25373593A JPH0784875A JP H0784875 A JPH0784875 A JP H0784875A JP 5253735 A JP5253735 A JP 5253735A JP 25373593 A JP25373593 A JP 25373593A JP H0784875 A JPH0784875 A JP H0784875A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write buffer
- memory
- address
- entry
- 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.)
- Pending
Links
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、計算機のプロセッサに
おけるライトバッファ制御機構に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a write buffer control mechanism in a computer processor.
【0002】[0002]
【従来の技術】従来、計算機において、プロセッサがデ
ータをメモリに格納する際には、以下の理由によりライ
トバッファを介して格納するようにしていた。一般に、
プロセッサのサイクル時間とメモリのサイクル時間で
は、後者の方が長い。このため、プロセッサはメモリに
データを格納する際、その実行を止めてメモリへのデー
タの格納が終るまで待たなければならない。従って、プ
ロセッサはメモリへのデータの格納時に長時間待たさ
れ、実行効率が落ちる。これを防止するために、サイク
ル時間がプロセッサのサイクル時間に近いライトバッフ
ァを設ける。そして、プロセッサはデータを直接メモリ
に格納するのではなく、ライトバッファに一時的に格納
した後、ライトバッファからメモリにデータを格納する
ようにする。これにより、プロセッサはメモリへのデー
タの格納が終ることを待つことなく、次の処理を行なう
ことが可能となる。2. Description of the Related Art Conventionally, in a computer, when a processor stores data in a memory, the data is stored via a write buffer for the following reasons. In general,
The latter is longer in terms of processor cycle time and memory cycle time. Therefore, when storing data in the memory, the processor must stop its execution and wait until the storage of data in the memory is completed. Therefore, the processor waits for a long time when storing the data in the memory, and the execution efficiency decreases. To prevent this, a write buffer whose cycle time is close to that of the processor is provided. Then, the processor does not store the data directly in the memory but temporarily stores the data in the write buffer and then stores the data in the memory from the write buffer. This allows the processor to perform the next processing without waiting for the end of storing the data in the memory.
【0003】図2に、従来のライトバッファ制御機構の
構成を示す。プロセッサ制御部31は、制御線32、3
3でライトバッファ制御部35に接続されており、ま
た、セレクタ37にデータ線34で接続されている。一
方、ライトバッファ制御部35は、制御線36でセレク
タ37に接続されている。セレクタ37に接続されたラ
イトバッファ38は、データ線39に接続されている。
プロセッサ制御部31はデータをライトバッファ38に
出力する際は制御線32でライトバッファ制御部35に
データの書き込みを要求する。ライトバッファ制御部3
5はライトバッファ38がFIFO(First In First O
ut)バッファを構成するように制御する。即ち、ライト
バッファ制御部35は、ヘッドポインタ51、テイルポ
インタ52、カウンタ53を備えている。ヘッドポイン
タ51は、ライトバッファ38内の先頭データを指す。
テイルポインタ52は、ライトバッファ38内の最後の
データを指す。これらの状態を図3(a)に示す。カウ
ンタ53は、ライトバッファ38内に現在保持されてい
るデータの数(エントリ数)を示す。FIG. 2 shows the configuration of a conventional write buffer control mechanism. The processor control unit 31 controls the control lines 32, 3
3 is connected to the write buffer controller 35, and the selector 37 is connected to the data line 34. On the other hand, the write buffer control unit 35 is connected to the selector 37 via a control line 36. The write buffer 38 connected to the selector 37 is connected to the data line 39.
When outputting data to the write buffer 38, the processor control unit 31 requests the write buffer control unit 35 to write data via the control line 32. Write buffer controller 3
5, the write buffer 38 is a FIFO (First In First O
ut) Control to configure the buffer. That is, the write buffer control unit 35 includes a head pointer 51, a tail pointer 52, and a counter 53. The head pointer 51 points to the head data in the write buffer 38.
The tail pointer 52 points to the last data in the write buffer 38. These states are shown in FIG. The counter 53 indicates the number of data (number of entries) currently held in the write buffer 38.
【0004】プロセッサ制御部31からライトバッファ
38にデータ書き込み要求があると、ライトバッファ制
御部35は、まず、カウンタ53の示す値を調べる。こ
れにより、ライトバッファ38が満杯か否かを調べる。
ライトバッファ38が満杯でなければ、ライトバッファ
制御部35は、制御線33を通じてプロセッサ制御部3
1に書き込みを許可する。同時に、ライトバッファ制御
部35はカウンタ53を“1”増加し、図3(b)に示
すように、テイルポインタ52を“1”進める。そし
て、テイルポインタ52の値を制御線36を通じてセレ
クタ37に通知する。セレクタ37は、制御線36を通
じて入力される信号で制御され、プロセッサ制御部31
からデータ線34を通じて送られてくるメモリ40の書
き込みアドレスとデータをライトバッファ38内のテイ
ルポインタ52の指すエントリに格納する。When there is a data write request from the processor controller 31 to the write buffer 38, the write buffer controller 35 first checks the value indicated by the counter 53. As a result, it is checked whether the write buffer 38 is full.
If the write buffer 38 is not full, the write buffer controller 35 sends the processor controller 3 through the control line 33.
Allow writing to 1. At the same time, the write buffer controller 35 increments the counter 53 by "1" and advances the tail pointer 52 by "1" as shown in FIG. Then, the value of the tail pointer 52 is notified to the selector 37 through the control line 36. The selector 37 is controlled by a signal input through the control line 36, and the processor control unit 31
The write address and data of the memory 40 sent from the data line 34 to the data buffer 34 are stored in the entry pointed to by the tail pointer 52 in the write buffer 38.
【0005】一方、ライトバッファ38からメモリ40
にデータを書き込む際には、ライトバッファ制御部35
がカウンタ53を“1”減少させ、図3(c)に示すよ
うに、ヘッドポインタを“1”進め、そのヘッドポイン
タの値を制御線36を通じてセレクタ37に通知する。
そして、データ線39を通じてメモリ40にアドレス及
びデータを出力する。On the other hand, from the write buffer 38 to the memory 40
When writing data to the write buffer controller 35,
Decrements the counter 53 by "1", advances the head pointer by "1" as shown in FIG. 3C, and notifies the selector 37 of the value of the head pointer through the control line 36.
Then, the address and the data are output to the memory 40 through the data line 39.
【0006】[0006]
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような問題があった。即ち、上
述した従来の機構においては、データがライトバッファ
38に入力された順にメモリ40にアドレスが出力さ
れ、データが書き込まれる。従って、アドレスが連続す
るデータを格納する場合にも、ライトバッファ38から
メモリ40へのデータ転送単位毎にアドレスが出力され
る。このため、DRAM等の高速アクセスモードを使用
することができず、データ転送効率が悪くなるという問
題があった。However, the above-mentioned conventional technique has the following problems. That is, in the conventional mechanism described above, the addresses are output to the memory 40 and the data are written in the order in which the data is input to the write buffer 38. Therefore, even when data with consecutive addresses is stored, the address is output for each data transfer unit from the write buffer 38 to the memory 40. Therefore, there is a problem that the high-speed access mode such as DRAM cannot be used and the data transfer efficiency is deteriorated.
【0007】本発明は、以上の点に着目してなされたも
ので、ライトバッファに格納されているデータが連続し
ている場合にそれらを連続して出力して高速アクセスモ
ードを使用することを可能としたライトバッファ制御機
構を提供することを目的とするものである。The present invention has been made by paying attention to the above points, and when the data stored in the write buffer is continuous, it is possible to output them continuously and use the high speed access mode. It is an object of the present invention to provide a write buffer control mechanism that is enabled.
【0008】[0008]
【課題を解決するための手段】本発明のライトバッファ
制御機構は、メモリ内の複数の領域に格納される予定の
データを一時的に格納するライトバッファと、当該ライ
トバッファ内の前記メモリ内で連続するアドレスのデー
タを検出する連想メモリと、当該連想メモリにより検出
されたデータを前記ライトバッファから前記メモリに高
速アクセスモードで出力するライトバッファ制御部とを
備えたことを特徴とするものである。A write buffer control mechanism according to the present invention comprises a write buffer for temporarily storing data to be stored in a plurality of areas in a memory, and a write buffer in the memory in the write buffer. An associative memory for detecting data at consecutive addresses, and a write buffer control unit for outputting the data detected by the associative memory from the write buffer to the memory in a high-speed access mode are provided. .
【0009】[0009]
【作用】本発明のライトバッファ制御機構においては、
プロセッサ制御部からライトバッファにデータを書き込
む際、そのデータに連続するデータがライトバッファに
格納されているか否かを調べる。これは、ライトバッフ
ァ制御部が連想メモリを検索することにより行なわれ
る。そして、連続するデータがあるときは、ライトバッ
ファ制御部内のレジスタにその旨を格納する。一方、ラ
イトバッファからメモリにデータを転送するときは、ラ
イトバッファ制御部により連続するデータを高速アクセ
スモードで転送する。また、連続しないデータは転送単
位ごとに転送する。In the write buffer control mechanism of the present invention,
When writing data from the processor control unit to the write buffer, it is checked whether or not data consecutive to the data is stored in the write buffer. This is done by the write buffer controller searching the associative memory. If there is continuous data, the fact is stored in the register in the write buffer control unit. On the other hand, when transferring data from the write buffer to the memory, the write buffer control unit transfers continuous data in the high-speed access mode. In addition, discontinuous data is transferred for each transfer unit.
【0010】[0010]
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のライトバッファ制御機構
の一実施例のブロック図である。プロセッサ制御部1の
出力は、データ線2、5によって加算器6に接続され、
データ線5によってセレクタ12とセレクタ10に接続
される。また、プロセッサ制御部1とライトバッファ制
御部15は、制御線3、4により相互に接続されてい
る。加算器6の出力は、信号線7によりラッチ8に接続
され、ラッチ8の出力は信号線9によりセレクタ12に
接続されている。セレクタ12の出力は、データ線13
によりセレクタ20に接続され、制御線14でライトバ
ッファ制御部15と接続されている。Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 1 is a block diagram of an embodiment of a write buffer control mechanism of the present invention. The output of the processor controller 1 is connected to the adder 6 by the data lines 2 and 5,
The data line 5 connects the selector 12 and the selector 10. The processor controller 1 and the write buffer controller 15 are connected to each other by control lines 3 and 4. The output of the adder 6 is connected to the latch 8 by the signal line 7, and the output of the latch 8 is connected to the selector 12 by the signal line 9. The output of the selector 12 is the data line 13
Are connected to the selector 20 by means of, and are connected to the write buffer control unit 15 by the control line 14.
【0011】セレクタ10は、制御線18によってライ
トバッファ制御部15と接続されている。そして、セレ
クタ10の出力は、ライトバッファ11に接続されてい
る。このライトバッファ11は、データ線19を介して
メモリ30に接続されている。メモリ30は、DRAM
(ダイナミック・ランダム・アクセス・メモリ)等から
成る。メモリ30の動作は、周知の通りであるが、図4
(a)に示すように、あるサイクルでアドレスを入力
し、次のサイクルで前のサイクルで指定されたアドレス
にデータを書き込むようになる。DRAMの場合は、ア
ドレスが行列とされるため、2サイクルが使われる。一
方、高速アクセスモードでは、図4(b)に示すよう
に、次のサイクルでもデータを入力し、そのデータを前
のサイクルでデータを書き込んだアドレスの次のアドレ
スに書き込む。The selector 10 is connected to the write buffer controller 15 by a control line 18. The output of the selector 10 is connected to the write buffer 11. The write buffer 11 is connected to the memory 30 via the data line 19. The memory 30 is a DRAM
(Dynamic random access memory) etc. Although the operation of the memory 30 is well known, FIG.
As shown in (a), an address is input in a certain cycle, and data is written in the address specified in the previous cycle in the next cycle. In the case of DRAM, since the addresses are arranged in a matrix, two cycles are used. On the other hand, in the high-speed access mode, as shown in FIG. 4B, data is input also in the next cycle, and the data is written in the address next to the address in which the data was written in the previous cycle.
【0012】セレクタ20は、制御線21によりライト
バッファ制御部15と接続されている。そして、セレク
タ20の出力は、連想メモリ22と接続されている。こ
の連想メモリ22の出力は、データ線23によりライト
バッファ制御部15に接続されている。ライトバッファ
制御部15は、レジスタ16とレジスタ17とを有す
る。ライトバッファ11、レジスタ17、連想メモリ2
2は、同数のエントリを持つ。各エントリには、エント
リアドレスが付されており、同じエントリアドレス同士
のエントリが対応付けられる。ライトバッファ11は、
メモリに書き込むデータとそのメモリアドレスを保持す
る2つのフィールドaddr、dataから成る。The selector 20 is connected to the write buffer controller 15 by a control line 21. The output of the selector 20 is connected to the associative memory 22. The output of the associative memory 22 is connected to the write buffer controller 15 by the data line 23. The write buffer control unit 15 has a register 16 and a register 17. Write buffer 11, register 17, associative memory 2
2 has the same number of entries. An entry address is attached to each entry, and entries having the same entry address are associated with each other. The write buffer 11 is
It is composed of data to be written in the memory and two fields addr and data for holding the memory address.
【0013】レジスタ16は、ライトバッファ11のエ
ントリアドレス(即ち、レジスタ17及び連想メモリ2
2のエントリアドレス)を保持し、ポインタとして機能
する。このレジスタ16のポインタには、空きヘッドポ
インタehead 、空きテイルポインタetail 、有効ヘッド
ポインタvhead 、有効テイルポインタvtail 、カレント
ポインタcur が含まれる。空きヘッドポインタは、デー
タが保持されていない先頭のエントリを指す。空きテイ
ルポインタは、データが保持されていない最終のエント
リを指す。The register 16 is an entry address of the write buffer 11 (that is, the register 17 and the associative memory 2).
2), and functions as a pointer. The pointer of this register 16 includes an empty head pointer ehead, an empty tail pointer etail, an effective head pointer vhead, an effective tail pointer vtail, and a current pointer cur. The empty head pointer points to the first entry that holds no data. The free tail pointer points to the last entry that holds no data.
【0014】有効ヘッドポインタは、データが保持され
ている先頭のエントリを指す。有効テイルポインタは、
データが保持されている最終のエントリを指す。カレン
トポインタは、ライトバッファ制御部15が現在処理し
ているエントリを指す。また、レジスタ16は、カウン
タcount も含む。このカウンタは、ライトバッファ11
に保持されているデータの個数を格納する。レジスタ1
7は、NフィールドとNRフィールドの2つのフィール
ドから成り、ライトバッファ11の各エントリの状態を
保持する。Nフィールドは、当該エントリに対応するラ
イトバッファ11のエントリに、連続するメモリ書き込
みアドレスを持つデータが格納されていることを示す。
NRフィールドは、当該エントリに続くエントリのエン
トリアドレスを格納する。The effective head pointer points to the head entry holding the data. The valid tail pointer is
Points to the last entry that holds the data. The current pointer points to the entry currently processed by the write buffer control unit 15. The register 16 also includes a counter count. This counter is the write buffer 11
Stores the number of data stored in. Register 1
Reference numeral 7 is composed of two fields, an N field and an NR field, and holds the state of each entry of the write buffer 11. The N field indicates that data having consecutive memory write addresses is stored in the entry of the write buffer 11 corresponding to the entry.
The NR field stores the entry address of the entry following the entry.
【0015】これらのレジスタ16とレジスタ17とを
用いて、ライトバッファ11はデータが保持されている
エントリのリストとデータが保持されていないエントリ
のリストの2種類のリストで管理される。連想メモリ2
2は、NAフィールドとCフィールドの2つのフィール
ドを有する。NAフィールドは、当該エントリに対応す
るライトバッファ11に書き込まれているデータのメモ
リアドレスの次のメモリアドレスを格納する。Cフィー
ルドは、連想メモリ22の当該エントリが今までにヒッ
トしたか否かを示す。Using these registers 16 and 17, the write buffer 11 is managed by two types of lists, a list of entries holding data and a list of entries not holding data. Associative memory 2
2 has two fields, an NA field and a C field. The NA field stores the memory address next to the memory address of the data written in the write buffer 11 corresponding to the entry. The C field indicates whether or not the entry in the associative memory 22 has hit so far.
【0016】本発明では、新しくライトバッファ11に
書き込まれるデータが既にライトバッファ11に格納さ
れているデータとメモリ30の書き込みアドレスが連続
するか否かを連想メモリ22により検出する。そして、
ライトバッファ11のデータの状態をライトバッファ制
御部15のレジスタ16とレジスタ17によりデータが
入っているリストとデータが入っていないリストの2つ
のリストをつくる。そして、レジスタ17の付加ビット
Nを用いることによりこれらのリストに入っているデー
タのメモリアドレスが連続するか否かを判断する。連続
する場合は、図4(b)に示すような高速アクセスモー
ドでライトバッファ11からメモリ30へのデータ転送
を行ない、連続しない場合は、図4(a)に示すような
通常のアクセスモードでこれを行なう。In the present invention, the associative memory 22 detects whether the data to be newly written in the write buffer 11 is continuous with the data already stored in the write buffer 11 and the write address of the memory 30. And
The data state of the write buffer 11 is created by the registers 16 and 17 of the write buffer control unit 15 into two lists, a list containing data and a list containing no data. Then, by using the additional bit N of the register 17, it is determined whether or not the memory addresses of the data in these lists are continuous. If continuous, data transfer from the write buffer 11 to the memory 30 is performed in the high speed access mode as shown in FIG. 4B. If not continuous, normal access mode as shown in FIG. Do this.
【0017】次に、上述した装置の動作を説明する。プ
ロセッサ制御部1は、データをライトバッファ11に書
き込む際に、制御線3を通じてライトバッファ制御部1
5に書き込み要求を出力する。ライトバッファ制御部1
5はカウンタがライトバッファ11のエントリ数より小
さければ、制御線4を通じてプロセッサ制御部1に書き
込みの許可を出力し、カウンタを“1”増やす。Next, the operation of the above-mentioned device will be described. When writing data to the write buffer 11, the processor control unit 1 uses the control line 3 to write data to the write buffer control unit 1.
The write request is output to 5. Write buffer controller 1
If the counter is smaller than the number of entries in the write buffer 11, 5 outputs write permission to the processor control unit 1 through the control line 4 and increments the counter by "1".
【0018】その後、プロセッサ制御部1は、データ線
5にデータとメモリアドレスを出力する。加算器6及び
セレクタ12には、メモリアドレスが出力され、セレク
タ10にはデータとメモリアドレスの両方が出力され
る。セレクタ12は、ライトバッファ制御部15からの
制御線14によりデータ線5側に切替えられている。こ
れにより、データ線5のメモリアドレスがデータ線13
を通じてセレクタ20に送られる。また、データ線5を
通じてセレクタ10に送られたメモリアドレスとデータ
は、ライトバッファ制御部15が空きヘッドポインタの
値を制御線18を通じてセレクタ10に出力しているた
め、セレクタ10を介して空きヘッドポインタの指すラ
イトバッファ11のエントリに書き込まれる。これと同
時にカレントポインタに空きヘッドポインタの値が書き
込まれ、空きヘッドポインタの値は空きヘッドポインタ
が指すレジスタ17のエントリのNRフィールドの値に
書換えられる。After that, the processor controller 1 outputs the data and the memory address to the data line 5. The memory address is output to the adder 6 and the selector 12, and both the data and the memory address are output to the selector 10. The selector 12 is switched to the data line 5 side by the control line 14 from the write buffer control unit 15. This causes the memory address of the data line 5 to change to the data line 13
Through the selector 20. The memory address and data sent to the selector 10 through the data line 5 are output to the selector 10 through the control line 18 by the write buffer control unit 15 through the control line 18, so that the write head control unit 15 outputs the empty head pointer through the selector 10. It is written in the entry of the write buffer 11 pointed to by the pointer. At the same time, the value of the empty head pointer is written in the current pointer, and the value of the empty head pointer is rewritten to the value of the NR field of the entry of the register 17 pointed to by the empty head pointer.
【0019】また、セレクタ20は、ライトバッファ制
御部15によって制御線21を通じて制御され、これに
より、データ線13を通じてプロセッサ制御部1から送
られてきたアドレスと一致するアドレスが連想メモリ2
2の中に存在するか否かが検出される。この際にアドレ
スの一致するエントリは存在したが、そのエントリのC
ビットがアクティブである場合はアドレスが不一致であ
るとして扱われる。このような意味も含めてアドレスが
一致した場合は、そのエントリアドレスとヒット信号が
データ線23を通じてライトバッファ制御部15に送ら
れると同時に当該エントリのCビットがアクティブにさ
れる。ライトバッファ制御部15は、送られてきたエン
トリアドレスのレジスタ17のエントリのNRフィール
ドをカレントポインタの指すレジスタ17のNRフィー
ルドに書き込む。そして、送られてきたエントリアドレ
スのレジスタ17のエントリのNRフィールドには、カ
レントポインタの値を書き込み、Nフィールドをアクテ
ィブにする。これにより、次のデータが連続なメモリア
ドレスを持つことを示す。The selector 20 is controlled by the write buffer control unit 15 through the control line 21, so that the address matching the address sent from the processor control unit 1 through the data line 13 is associative memory 2.
2 is detected. At this time, there was an entry with the same address, but the C of that entry
If the bit is active, the address is treated as a mismatch. If the addresses match, including such a meaning, the entry address and the hit signal are sent to the write buffer controller 15 through the data line 23, and at the same time, the C bit of the entry is activated. The write buffer control unit 15 writes the NR field of the entry of the register 17 of the sent entry address in the NR field of the register 17 pointed to by the current pointer. Then, the value of the current pointer is written in the NR field of the entry of the sent entry address register 17 to activate the N field. This indicates that the next data has continuous memory addresses.
【0020】メモリアドレスが一致しなかった場合は、
その旨がデータ線23を通じてライトバッファ制御部1
5に伝えられ、有効テイルポインタの指すレジスタ17
のエントリのNRフィールドはカレントポインタの値に
書換えられ、有効テイルポインタはカレントポインタの
値に書換えられる。一方、データ線2には、プロセッサ
制御部1から出力されたデータのバイト数(バイトなら
“1”、ワードなら“4”)が出力される。加算器6
は、データ線5に出力されているメモリアドレスとデー
タ線2に出力されているバイト数を加算して現在のデー
タの次のアドレスを計算する。この結果はラッチ8に保
持され、前述した連想メモリ22での検索が終った後に
ライトバッファ制御部15によって制御されたセレクタ
12を通じて連想メモリ22に書き込まれる。このとき
に書き込まれるエントリは、ライトバッファ制御部15
によって制御線21を通じて通知されるカレントポイン
タの値によって指定される。If the memory addresses do not match,
To that effect, the write buffer controller 1 through the data line 23.
5, the register 17 pointed to by the valid tail pointer
The entry NR field is rewritten to the value of the current pointer, and the valid tail pointer is rewritten to the value of the current pointer. On the other hand, the number of bytes of the data output from the processor control unit 1 (“1” for bytes, “4” for words) is output to the data line 2. Adder 6
Calculates the next address of the current data by adding the memory address output to the data line 5 and the number of bytes output to the data line 2. The result is held in the latch 8 and is written in the associative memory 22 through the selector 12 controlled by the write buffer control unit 15 after the search in the associative memory 22 is completed. The entry written at this time is the write buffer control unit 15.
Is designated by the value of the current pointer notified via the control line 21.
【0021】この結果、ライトバッファ等の格納状態
は、例えば、図5に示すようになる。図5に示す例で
は、ライトバッファの3番目のエントリにアドレスA及
びデータD1が格納され、ライトバッファの5番目のエ
ントリにアドレスAの次のアドレスA+1及びD1に続
くデータD2が格納される。このとき、レジスタ3番目
のエントリのNフィールドはアクティブにされ、NRフ
ィールドにはエントリアドレス“5”が格納される。ま
た、連想メモリの3番目のエントリのNAフィールドに
はアドレスAの次のアドレスA+1が格納され、5番目
のエントリのNAフィールドにはアドレスA+1の次の
アドレスA+2が格納される。このように、例えば4番
目のエントリを飛ばして3番目と5番目のエントリに連
続したデータを格納することができる。As a result, the storage state of the write buffer and the like becomes as shown in FIG. 5, for example. In the example shown in FIG. 5, the address A and the data D1 are stored in the third entry of the write buffer, and the data D2 following the address A + 1 and D1 next to the address A are stored in the fifth entry of the write buffer. At this time, the N field of the third entry of the register is activated, and the entry address "5" is stored in the NR field. The NA field of the third entry of the associative memory stores the address A + 1 next to the address A, and the NA field of the fifth entry stores the address A + 2 next to the address A + 1. Thus, for example, the fourth entry can be skipped and consecutive data can be stored in the third and fifth entries.
【0022】ライトバッファ11からメモリ30へデー
タを出力する際には、ライトバッファ制御部15が有効
ヘッドポインタの値を制御線18を通じてライトバッフ
ァ11に伝え、当該エントリのアドレス及びデータをデ
ータ線19に出力する。続いて有効ヘッドポインタの指
すレジスタ17のエントリのNRフィールドの値が制御
線18に出力されることになるが、この時Nフィールド
がアクティブであれば、メモリアドレスは連続している
ので、ライトバッファ11からメモリアドレスが出力さ
れる必要はない。従って、Nフィールドの値によって制
御線18を制御する。この制御手順を図6に簡単に示
す。即ち、ライトバッファ制御部15は図5に示すライ
トバッファの3番目のエントリのデータをメモリに転送
する際、レジスタのNフィールドがアクティブか否かを
判定する(ステップS1)。この場合、その判定結果は
肯定となり、高速アクセスモードに設定される(ステッ
プS2)。そして、5番目のエントリのデータを高速ア
クセスモードでメモリに転送する。一方、5番目のエン
トリのNフィールドはアクティブでないので、5番目の
エントリの次のエントリのデータは通常モードで転送す
る(ステップS3)。これにより、メモリの高速アクセ
スモードが使用可能となり、データ転送効率を向上させ
ることができる。When data is output from the write buffer 11 to the memory 30, the write buffer control unit 15 transmits the value of the valid head pointer to the write buffer 11 through the control line 18, and the address and data of the entry concerned are transferred to the data line 19. Output to. Then, the value of the NR field of the entry of the register 17 pointed to by the valid head pointer is output to the control line 18. If the N field is active at this time, the memory addresses are continuous, so the write buffer It is not necessary for 11 to output the memory address. Therefore, the control line 18 is controlled by the value of the N field. This control procedure is briefly shown in FIG. That is, the write buffer control unit 15 determines whether or not the N field of the register is active when transferring the data of the third entry of the write buffer shown in FIG. 5 to the memory (step S1). In this case, the determination result is affirmative, and the high speed access mode is set (step S2). Then, the data of the fifth entry is transferred to the memory in the high speed access mode. On the other hand, since the N field of the fifth entry is not active, the data of the entry next to the fifth entry is transferred in the normal mode (step S3). As a result, the high speed access mode of the memory can be used and the data transfer efficiency can be improved.
【0023】ライトバッファ11からのデータの出力が
1つ終了すると、カウンタは、“1”減らされる。空き
テイルポインタの指すレジスタ17のエントリのNRフ
ィールドは有効ヘッドポインタの値を書き込まれ、空き
テイルポインタには有効ヘッドポインタの値が書き込ま
れる。また、有効ヘッドポインタの指すレジスタ17の
エントリのNRフィールドはクリアされ、有効ヘッドポ
インタは有効ヘッドポインタの指すレジスタ17のエン
トリのNRフィールドの値に書換えられる。尚、前述し
たように、有効ヘッドポインタのNフィールドが有効な
間は高速アクセスモードによりライトバッファ11の次
のエントリからの出力はデータのみとなるが、Nフィー
ルドが有効であるにもかかわらず、出力がバスの調停な
どでとぎれる場合は、改めてメモリアドレスを出力し直
さなければならないので、高速アクセスモードとしない
よう、Nフィールドをクリアする。When the output of one data from the write buffer 11 is completed, the counter is decremented by "1". The value of the effective head pointer is written in the NR field of the entry of the register 17 pointed to by the empty tail pointer, and the value of the effective head pointer is written in the empty tail pointer. Further, the NR field of the entry of the register 17 pointed to by the valid head pointer is cleared, and the valid head pointer is rewritten with the value of the NR field of the entry of the register 17 pointed to by the valid head pointer. As described above, while the N field of the valid head pointer is valid, only the data is output from the next entry in the write buffer 11 in the high speed access mode. If the output is interrupted due to bus arbitration or the like, the memory address must be output again, so the N field is cleared so that the high-speed access mode is not set.
【0024】尚、上述した実施例においては、プロセッ
サからメモリにデータを書き込む際のライトバッファに
ついて説明したが、本発明はこれに限定されることな
く、メモリからディスク装置等の外部メモリにデータを
書き込む際のバッファにも適用することができる。In the above-described embodiments, the write buffer for writing data from the processor to the memory has been described, but the present invention is not limited to this, and data can be transferred from the memory to an external memory such as a disk device. It can also be applied to the buffer when writing.
【0025】[0025]
【発明の効果】以上説明したように、本発明のライトバ
ッファ制御機構によれば、メモリ上で連続するデータを
検出し、ライトバッファからメモリへのデータ転送時に
連続したアドレスを転送できるようにしたので、DRA
M等の高速アクセスモードを使用する頻度を高くするこ
とが可能となり、バストラフィックを低減し、データ転
送効率を向上させることができる。従って、スループッ
トの向上を図ることができる。As described above, according to the write buffer control mechanism of the present invention, it is possible to detect continuous data in the memory and transfer consecutive addresses when transferring data from the write buffer to the memory. So DRA
It is possible to increase the frequency of using the high-speed access mode such as M, reduce the bus traffic, and improve the data transfer efficiency. Therefore, the throughput can be improved.
【図1】本発明のライトバッファ制御機構の一実施例の
ブロック図である。FIG. 1 is a block diagram of an embodiment of a write buffer control mechanism of the present invention.
【図2】従来のライトバッファ制御機構の一例のブロッ
ク図である。FIG. 2 is a block diagram of an example of a conventional write buffer control mechanism.
【図3】従来のライトバッファ制御部の動作の説明図で
ある。FIG. 3 is an explanatory diagram of an operation of a conventional write buffer control unit.
【図4】アクセスモードの説明図である。FIG. 4 is an explanatory diagram of an access mode.
【図5】ライトバッファ等の格納状態の一例の説明図で
ある。FIG. 5 is an explanatory diagram of an example of a storage state of a write buffer or the like.
【図6】メモリのアクセス手順の説明図である。FIG. 6 is an explanatory diagram of a memory access procedure.
1 プロセッサ制御部 11 ライトバッファ 15 ライトバッファ制御部 22 連想メモリ 1 Processor Control Unit 11 Write Buffer 15 Write Buffer Control Unit 22 Associative Memory
Claims (1)
のデータを一時的に格納するライトバッファと、 当該ライトバッファ内の前記メモリ内で連続するアドレ
スのデータを検出する連想メモリと、 当該連想メモリにより検出されたデータを前記ライトバ
ッファから前記メモリに高速アクセスモードで出力する
ライトバッファ制御部とを備えたことを特徴とするライ
トバッファ制御機構。1. A write buffer for temporarily storing data to be stored in a plurality of areas in a memory, an associative memory for detecting data of consecutive addresses in the memory in the write buffer, A write buffer control mechanism, comprising: a write buffer control unit that outputs data detected by an associative memory from the write buffer to the memory in a high-speed access mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5253735A JPH0784875A (en) | 1993-09-16 | 1993-09-16 | Write buffer control mechanism |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5253735A JPH0784875A (en) | 1993-09-16 | 1993-09-16 | Write buffer control mechanism |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0784875A true JPH0784875A (en) | 1995-03-31 |
Family
ID=17255416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5253735A Pending JPH0784875A (en) | 1993-09-16 | 1993-09-16 | Write buffer control mechanism |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0784875A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016085515A (en) * | 2014-10-23 | 2016-05-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Device, method and computer program for scheduling access request to common memory |
-
1993
- 1993-09-16 JP JP5253735A patent/JPH0784875A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016085515A (en) * | 2014-10-23 | 2016-05-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Device, method and computer program for scheduling access request to common memory |
US9620215B2 (en) | 2014-10-23 | 2017-04-11 | International Business Machines Corporation | Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7028159B2 (en) | Processing device with prefetch instructions having indicator bits specifying cache levels for prefetching | |
US6718441B2 (en) | Method to prefetch data from system memory using a bus interface unit | |
US6151658A (en) | Write-buffer FIFO architecture with random access snooping capability | |
JPH04306748A (en) | Information processor | |
US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
JPH06309230A (en) | Bus snooping method | |
JP4642531B2 (en) | Arbitration of data requests | |
JPH1196072A (en) | Memory access control circuit | |
US6976110B2 (en) | Method and apparatus for reducing interrupt latency by dynamic buffer sizing | |
JPH0410102B2 (en) | ||
JPH0816472A (en) | Data processor | |
EP0437712B1 (en) | Tandem cache memory | |
JPH0784875A (en) | Write buffer control mechanism | |
JPH02110646A (en) | Pre-readout device for memory | |
JPH0793215A (en) | Semiconductor memory | |
JPH09319657A (en) | Processor provided with buffer for reading instruction | |
JPH0212358A (en) | Data transfer system | |
JPH07152650A (en) | Cache control unit | |
JPH06110780A (en) | Buffer memory | |
JP2001229074A (en) | Memory controller and information processor and memory control chip | |
JPH02307123A (en) | Computer | |
JPH03116345A (en) | Data processor | |
JPH04245350A (en) | Cache equalizing system | |
JPH07253923A (en) | Memory control circuit | |
JPS60142450A (en) | Storage system |