JPS6386044A - Merging system for store buffer - Google Patents
Merging system for store bufferInfo
- Publication number
- JPS6386044A JPS6386044A JP23239786A JP23239786A JPS6386044A JP S6386044 A JPS6386044 A JP S6386044A JP 23239786 A JP23239786 A JP 23239786A JP 23239786 A JP23239786 A JP 23239786A JP S6386044 A JPS6386044 A JP S6386044A
- Authority
- JP
- Japan
- Prior art keywords
- data
- store
- stb
- circuit
- byte
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 15
- VLCQZHSMCYCDJL-UHFFFAOYSA-N tribenuron methyl Chemical compound COC(=O)C1=CC=CC=C1S(=O)(=O)NC(=O)N(C)C1=NC(C)=NC(OC)=N1 VLCQZHSMCYCDJL-UHFFFAOYSA-N 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 101000867232 Escherichia coli Heat-stable enterotoxin II Proteins 0.000 description 2
- 101000867205 Escherichia coli Heat-stable enterotoxin ST-2 Proteins 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002966 varnish Substances 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔概要〕
連続する2つのストアが8バイト境界にある場合、主記
憶装置における同一バンクをアクセスするため、後続の
ストアはバンク・ビジーで待たされる事になる。そこで
、この様な場合、先のストア・リクエストを記憶制御装
置へ送出する前に連続した次のストア・データがストア
・バッファに格納されたならば、この2つのストア・デ
ータをマージし、記憶制御装置へストア・リクエストを
送出するものである。これにより、同一バンク内へのス
トアについては、1回のストア・リクエストで済み、バ
ンク・ビジーにより、後続のストアが何τも待たされる
ことは少なくなる。この様にして、パーシャル・ストア
の性能を高めるようにしたストア・バッファのマージ方
式である。[Detailed Description of the Invention] [Summary] When two consecutive stores are on an 8-byte boundary, the same bank in the main memory is accessed, so the subsequent store will be forced to wait due to the bank being busy. Therefore, in such a case, if the next consecutive store data is stored in the store buffer before sending the previous store request to the storage controller, these two store data are merged and the storage It sends a store request to the control device. As a result, a single store request is required for a store within the same bank, and subsequent stores are less likely to have to wait for several τ due to a bank busy state. In this way, this is a store buffer merging method that improves the performance of partial stores.
本発明は、中央処理装置の記憶制御ユニット(Sユニッ
ト)において、2個のストア・バッファに格納されてい
るデータがマージ可能な場合には、これらのデータをマ
ージして記憶制御装置に送るようにしたストア・バッフ
ァのマージ方式に関するものである。In the present invention, in a storage control unit (S unit) of a central processing unit, when data stored in two store buffers can be merged, the data is merged and sent to the storage control device. This is related to the store buffer merging method.
従来の技術においては、連続するパーシャル・ストアに
ついては、ストア・バッファに格納された順に、記憶制
御装置に対し順番にストア・リクエストを送出していた
。In the conventional technology, for consecutive partial stores, store requests are sequentially sent to the storage control device in the order in which they are stored in the store buffer.
従来技術では、パーシャル・ストアを受は入れた記憶制
御装置では、主記憶装置に対し、ストア・アドレスのバ
ンクをフェッチ(8バイト)し、ストアするデータのバ
イトマークを見て、これをストア・データの中にセット
し、主記憶装置へストアを行う。この間、後続のストア
は、同一バンクを使用する為に十数τ間待たされること
になる。In the conventional technology, a storage control device that accepts a partial store fetches the store address bank (8 bytes) from the main memory, looks at the byte mark of the data to be stored, and stores it. Set it in the data and store it to main storage. During this time, subsequent stores will have to wait for more than ten minutes τ to use the same bank.
本発明は、この点に鑑みて創作されたものであって、こ
のような無駄なビジー状態を回避することを目的として
いる。The present invention was created in view of this point, and aims to avoid such wasteful busy states.
第1図は本発明の原理図である。記憶制御装置は中央処
理装置やチャネル処理装置からの主記憶アクセスを制御
するものであり、各処理装置からのアクセス要求を受は
付けるためのMCUボートをを有している。中央処理装
置は、Sユニット、Eユニット及びIユニットから構成
されている。Sユニットは、ストア・バッファぎ一〇な
いし8−3や選択マージ回路12、記憶制御装置データ
イン・レジスタ13を有している。Eユニ・ントからの
ストア・データはストア・バッファ8−0ないし8−3
の中の何れかに格納され、しかる後に選択マージ回路1
2によって選択され、選択されたストア・バッファのデ
ータが記憶制御装置データインレジスタ13を介して記
憶制御装置に転送される。FIG. 1 is a diagram showing the principle of the present invention. The storage control unit controls main memory access from the central processing unit and channel processing unit, and has an MCU boat for accepting access requests from each processing unit. The central processing unit is composed of an S unit, an E unit, and an I unit. The S unit includes store buffers 10 to 8-3, a selection merge circuit 12, and a storage controller data-in register 13. Store data from the E unit is stored in store buffers 8-0 to 8-3.
The selected merge circuit 1 is stored in one of the
2, and the data in the selected store buffer is transferred to the storage controller via the storage controller data-in register 13.
例えば、パーシャル・ストア・データ(A)がストア・
バッファ8−0に格納され、パーシャル・・ストア・デ
ータ(B)がストア・バッファ8−1に格納された場合
、マージ条件が成立しているか否かが調べられ、成立し
ているときにはパーシャル・ストア・データ(A)とパ
ーシャル・ストア・データ(B)が選択マージ回路12
によってマージされ、マージ・データが記憶制御装置デ
ータイン・レジスタ13を介して記憶制御装置に送られ
る。For example, partial store data (A) is
When the partial store data (B) is stored in the store buffer 8-0 and the partial store data (B) is stored in the store buffer 8-1, it is checked whether the merge condition is satisfied, and if it is, the partial store data (B) is stored in the store buffer 8-1. Store data (A) and partial store data (B) are selected by the merge circuit 12
The merged data is sent to the storage controller via the storage controller data-in register 13.
マージ条件は、
■ パーシャル・ストア・データ(A)の先頭アドレス
とパーシャル・ストア・データ(B)の先頭アドレスが
同一である。The merging conditions are: (1) The start address of partial store data (A) and the start address of partial store data (B) are the same.
■ パーシャル・ストア・データ(A)のバイト長をA
1パーシャル・ストア・データ(B)のバイト長をBと
するとき
A+B≦8 (バイト)。■ Set the byte length of partial store data (A) to A.
When the byte length of one partial store data (B) is B, A+B≦8 (bytes).
0≦Aく8 (バイ ト)。0≦Aku8 (byte).
0≦Bく8 (バイト) なる関係が存在する。0≦Bku8 (byte) There is a relationship.
■ パーシャル・・ストア・データ(A)とパーシャル
・ストア・データ(B)が8バイト境界内でオーバーラ
ツプしない。■ Partial store data (A) and partial store data (B) do not overlap within 8-byte boundaries.
と言うものである。なお、先頭アドレスとは、データが
格納される8バイト境界の先頭を意味する。That is what it says. Note that the start address means the start of the 8-byte boundary where data is stored.
中央処理装置から記憶制御装置、即ち主記憶装置に対し
て行なえる8バイト以下のストアの型は、データ長から
見ると、次の3つのケースとなる。There are three types of stores of 8 bytes or less that can be performed from the central processing unit to the storage control unit, ie, the main memory, in terms of data length:
■ 8バイト未満のパーシャル・ストア■ 8バイトの
パーシャル・ストア
■ 8バイトのフル・ストア
ここで■〜■は、中央処理装置からのストア・リクエス
トと同時に送出されるオペレーション・コード及びバイ
トマークにより区別される。■と■のケースにおいては
、記憶制御装置−主記憶装置間でストアが完了し次のス
トアが実行できるまでに15τ間要する。一方、■のケ
ースは8τで完了する。■ Partial store of less than 8 bytes ■ Partial store of 8 bytes ■ Full store of 8 bytes Here, ■ to ■ are distinguished by the operation code and byte mark sent at the same time as the store request from the central processing unit. be done. In cases (1) and (2), it takes 15τ for the store to be completed between the storage control device and the main storage device and for the next store to be executed. On the other hand, the case (■) is completed in 8τ.
そこで、連続するストアの場合に、同一バンクのアドレ
スであれば上記■、■のストア・タイプでリクエストを
出せば、バンク・ビジーによる無駄な待状態は回避でき
る筈である。Therefore, in the case of consecutive stores, if the addresses are in the same bank, requests can be issued using the store types (2) and (2) above, thereby avoiding unnecessary waiting states due to bank busy.
第2図にストア・オペレーション時のSユニット内のパ
イプラインを示す。第2図において、EARは実効アド
レス・レジスタ(Effective Address
Register)、PORTはOP PORT(Ad
ress Register)、5TARはストア・デ
ータ・レジスタ(Store Da、ta Regis
er)、STBはストア・バッフy (Store B
uffer)、MSARは主記憶アドレス・レジスタ(
Main StorageAddress Regis
ter) 、MDIRは記憶制御装置データイン・レジ
スタ(Mcu Data In Register)を
それぞれ示す。上記Sユニット内のパイプラインの各ス
テートについて簡単に説明する。FIG. 2 shows the pipeline within the S unit during a store operation. In Figure 2, EAR is the effective address register.
Register), PORT is OP PORT (Ad
ress Register), 5TAR is the store data register (Store Da, ta Regis
er), STB is the store buffer y (Store B
buffer), MSAR is the main memory address register (
Main Storage Address Regis
ter) and MDIR respectively indicate a storage controller data in register (Mcu Data In Register). Each state of the pipeline in the S unit will be briefly explained.
P:プライオリイティ・サイクル
■ユニット及びSユニット内部から出された各リクエス
トの優先順位を決定するサイクルであり、次のTサイク
ル用のレジスタヘセットするアドレス及びデータのセレ
クト信号を作成する。P: Priority cycle This is a cycle that determines the priority of each request issued from inside the unit and the S unit, and creates select signals for the address and data to be set in the register for the next T cycle.
T i TLB&TAGサイクル
Pサイクルで優先順位の取れたリクエストがTサイクル
に入り、TLB及びローカル・バッファ記憶(キャッシ
ュと同義)のタグ(TAG)がアクセスされる。T i TLB & TAG Cycle A request prioritized in the P cycle enters the T cycle and the TLB and tag (TAG) of local buffer storage (synonymous with cache) are accessed.
B:バッファ・サイクル
Tサイクルに入ったリクエストはSサイクルに移り、T
サイクルでアクセスされTLBから読み出された絶対ア
ドレスが実アドレス・レジスタ(Real Addre
ss Register)にセットされる。また、タグ
・マツチ(TAG MATCH) も検出され、ローカ
ル・バッファ記憶のデータがアクセスされて、データが
読み出される。B: Buffer cycle The request that entered the T cycle moves to the S cycle, and the request enters the T cycle.
The absolute address accessed in a cycle and read from the TLB is stored in the real address register (Real Address Register).
ss Register). A TAG MATCH is also detected and the data in local buffer storage is accessed and read.
R:リザルト・サイクル
Rサイクルに入ったリクエストに対するステータスが、
■ユニット及びEユニットへ報告される。R: Result cycle The status of the request that entered the R cycle is
■Reported to unit and E unit.
Wニライト・サイクル
TLB及びローカル・バッファ記憶/タグがアクセスさ
れる。また、EユニットからのデータがSDRにセット
される。W-write cycle TLB and local buffer storage/tags are accessed. Also, data from the E unit is set in the SDR.
Sニスドア・サイクル ストア・データ・レジスタの値をSTBにセットする。S varnish door cycle Set the value of the store data register to STB.
また、ローカル・バッファ記憶のデータ部がアクセスさ
れる。Also, the data portion of local buffer storage is accessed.
この様なパイプライン中で、主記憶装置における同一バ
ンクをアクセスするストアの場合、パイプラインは第3
図の様になる。ここで、ストア・バッファ部の動きをパ
イプラインに沿って説明すると、Rサイクルにおいて、
パイプラインを流れて来たストア・アドレスが前のSサ
イクルにおいて有効であると、当該アドレスを5TAR
にセットすると同時に、5TARVALIDをつける。In such a pipeline, in the case of a store that accesses the same bank in main memory, the pipeline
It will look like the figure. Here, to explain the movement of the store buffer section along the pipeline, in the R cycle,
If the store address flowing down the pipeline was valid in the previous S cycle, the address is 5TAR
At the same time, set 5TARVALID.
このアドレスは記憶制御装置へのストア・リクエストの
送出が完了するまで保持される。Wサイクルにおいては
、Eユニットからのストア・データがSDRにセットさ
れる。セントされたデータが有効であれば、次のSサイ
クルにおいてSTBにデータをセットする。This address is held until the sending of the store request to the storage controller is completed. In the W cycle, store data from the E unit is set to SDR. If the sent data is valid, the data is set in the STB in the next S cycle.
この時に、記憶制御装置へ送出するデータが有効となっ
た事を示すREADYフラグをつける。これが第3図に
示すSTB READYである。この時、データのバイ
ト長を示すバイトマークをもセットする。At this time, a READY flag is attached to indicate that the data to be sent to the storage control device is valid. This is STB READY shown in FIG. At this time, a byte mark indicating the byte length of the data is also set.
以上で中央処理装置から記憶制御装置へ送るストア・デ
ータ及びストア・アドレスは準備された事になり、この
後は中央処理装置−記憶制御装置間のインターフェース
制御部に送られる事になる。With the above steps, the store data and store address to be sent from the central processing unit to the storage control unit have been prepared, and will then be sent to the interface control unit between the central processing unit and the storage control unit.
インタフェース制御部は、中央処理装置−記憶制御装置
のデータ・バスが空くのを待って非同期にデータの授受
を行う。中央処理装置のインタフエ−ス制御部は、この
データ・バスが空になるのを待って、記憶制御装置に対
しストア・リクエストを送出する。これがパイプライン
で示したMS REQUESTである。ここでMS R
EQUESTは、2τのリクエストを記憶制御装置に対
して送出するが、これはSTBが16バイト幅を持つの
に対し、中央処理装置−記憶制御装置間のインタフェー
スのバス幅が8バイトである為である。中央処理装置は
この16バイトのデータを上位8バイト、下位8バイト
と区別し記憶制御装置へ送出する。この識別フラグが、
STB UPPERFLAGである。8バイト以下のス
トアの場合には、上位8バイトしか使用せず、このため
STB UPPERFLAGがオンの時のみMDIRへ
データをセントする。なお、5TARPOINTERは
4セット持つ5TAHのポインタであり、何れの5TA
Rを使用するかを示す、 STB OUT POINT
ERも4セツト持ツSTBのポインタであり、何れのS
TBから記憶制御装置へデータを送出するかを示す。The interface control unit waits for the data bus between the central processing unit and the storage control unit to become free, and then asynchronously sends and receives data. The interface control section of the central processing unit waits for this data bus to become empty and then sends a store request to the storage control unit. This is the MS REQUEST shown in the pipeline. Here MS R
EQUEST sends a 2τ request to the storage controller, but this is because the STB has a width of 16 bytes, whereas the bus width of the interface between the central processing unit and the storage controller is 8 bytes. be. The central processing unit distinguishes this 16-byte data into upper 8 bytes and lower 8 bytes and sends it to the storage control unit. This identification flag is
STB UPPERFLAG. In the case of a store of 8 bytes or less, only the upper 8 bytes are used, and therefore data is sent to MDIR only when STB UPPERFLAG is on. Note that 5TARPOINTER is a 5TAH pointer that has 4 sets, and which 5TAH
STB OUT POINT indicating whether to use R
ER is also a pointer to STB with 4 sets, and any S
Indicates whether data is sent from the TB to the storage control device.
STB QIJT POINTERニよりSTBから選
択されたデータはMDIHにセットされ、この後に記憶
制御装置へ送出されるが、第3図の様な連続するストア
の場合、ストア・データ(八)は記憶制御装置へ送出さ
れるが、ストア・データ(B)は先に説明した様に、同
一バンクをアクセスする為に15τ間待たされ、バンク
・ビジーが解除された後に記憶制御装置へ送出される。The data selected from the STB by STB QIJT POINTER 2 is set in the MDIH and then sent to the storage controller, but in the case of continuous stores as shown in Figure 3, the store data (8) is sent to the storage controller. However, as explained earlier, the store data (B) is made to wait for 15τ in order to access the same bank, and is sent to the storage controller after the bank busy state is released.
今、仮にストア・データ(A)が中央処理装置−記憶制
御装置間のデータ・バスでビジー状態になって第4図に
示す様に待たされた場合や第3図においてSTB UP
PERが1τ遅れた場合、ストア・データ(A)のリク
エストを出す時には、ストア・データ(B)についても
、記憶制御装置への送出が可能となっている。この様な
状態においても、ストア・データ(A) 、 (B)を
別々のパーシャル・ストアとして処理する事は、後半の
ストアが15τ間無駄に待されることとなる。Now, if the store data (A) becomes busy on the data bus between the central processing unit and the storage control unit and is forced to wait as shown in Figure 4, or if the STB UP occurs in Figure 3,
If PER is delayed by 1τ, when a request for store data (A) is issued, store data (B) can also be sent to the storage control device. Even in such a state, processing store data (A) and (B) as separate partial stores means that the latter store has to wait for 15τ in vain.
本発明は、前半のパーシャル・ストア・データがMDI
Hにセットされる前に後半のストア・データがSTBに
格納されていれば、先のデータを?1DIRにセットす
る時に後半のデータをマージし、8バイト境界に揃えて
記憶制御装置へ送出すると言うものである。ただし、次
の条件を持ったストアの場合のみ可能となる。In the present invention, the first half of the partial store data is MDI
If the second half of the store data is stored in the STB before being set to H, what about the previous data? When setting 1DIR, the latter half of the data is merged, aligned on 8-byte boundaries, and sent to the storage control device. However, this is only possible for stores that meet the following conditions.
■ 連続するストア・アドレスの先頭アドレスが同一で
ある。■ The first addresses of consecutive store addresses are the same.
■ ストア・データが次の条件を満たすバイト長である
。■ The store data has a byte length that meets the following conditions.
A+B≦8 (バイト)、 0≦Aく8゜0≦Bく8
(バイト)
■ AとBは8バイト境界内でオーバーラツプしない。A+B≦8 (byte), 0≦Aku8゜0≦Bku8
(byte) ■ A and B do not overlap within 8-byte boundaries.
次にマージの動きを第4図、第5図によってA=B=4
(バイト)の場合について説明する。Next, the merging movement is shown in Figures 4 and 5 as A=B=4
(byte) will be explained.
PORT BtlSY 7ラグはI’lS RRQtl
ESTがオンとなった次にセットされるが、記憶制御装
置においてはその1τ前で発生している。したがって、
このときはMDIHにデータはセントされない。一方、
MDIRにセットすべきSTBはOUT POINTE
Rによって4つのSTBから選ばれるが、このポインタ
はMS REQUESTが出されると+1される。しか
し、PORT BUSY時には、常にOUT POIN
TERの値の−1を示すDELAYOUT POINT
f!Rの示す値に従って、STBを選択し、MDIHに
セントする。PORT BtlSY 7lag I'lS RRQtl
It is set after EST is turned on, but it occurs 1τ before that in the storage control device. therefore,
At this time, no data is sent to MDIH. on the other hand,
The STB that should be set to MDIR is OUT POINTE
This pointer is incremented by one when an MS REQUEST is issued. However, when PORT BUSY, always OUT POIN
DELAYOUT POINT indicating -1 of the value of TER
f! The STB is selected according to the value indicated by R and sent to the MDIH.
次に、後続の4バイト・ストアに着目すれば、アドレス
・マツチ回路(図示せず)において、先にパイプライン
を流れていった4バイトのストア・アドレスとの先頭ア
ドレスのマツチをSサイクルで検知し、これをSTB制
御部へ送出する。STB制御部ではこの信号を受け、5
TARPOINTERの値に従って8亥当する5TAR
MATC:HMARKのラッチをオンにする。これがパ
イプライン(B)で示すRサイクルである。Next, focusing on the subsequent 4-byte store, an address match circuit (not shown) matches the first address with the 4-byte store address that flowed through the pipeline earlier in S cycles. This is detected and sent to the STB control unit. The STB control section receives this signal and
5 TAR with 8 wins according to the value of TARPOINTER
Turn on the MATC:HMARK latch. This is the R cycle shown by pipeline (B).
また、Sサイクルにおいて、後半の4バイトデータがS
TBにセットされると、STB READY、BYTE
MARKをセットする。ここで再びパイプライン(A
)を見れば、記憶制御装置のポートがビジー状態である
為、門S REQUESTを出しても、MDIRには未
だセットされていない。そして、次のサイクルで、記憶
制御装置のボート・ビジーを受け、PORT BUSY
フラグをオンにし、STBのセレクト・ポインタをOU
T POINTERからDELAY OUT POIN
TERに切り替える。一方、STB UPPERFLA
Gに着目すれば、この時にオンとなっているため、スト
ア・データはMDIRにセット可能となっている。また
、パイプライン(B)でも、この時には既にストア・デ
ータハSTBに格納されているので、データ(A)とデ
ータ(B)をマージし、MDIRにセットすることがで
きる。この2つのSTBのデータをマージし、MDIR
にセット可能である事を知らせる信号がSTB MER
GEである。Also, in the S cycle, the latter 4 bytes of data are
When set to TB, STB READY, BYTE
Set MARK. Here again the pipeline (A
), the port of the storage controller is in a busy state, so even if you issue the gate S REQUEST, it is not set in MDIR yet. Then, in the next cycle, in response to the storage controller's boat busy, PORT BUSY
Turn on the flag and set the STB select pointer to OU
DELAY OUT POIN from T POINTER
Switch to TER. On the other hand, STB UPPERFLA
Focusing on G, it is on at this time, so store data can be set in MDIR. Also, in pipeline (B), the store data is already stored in the STB at this time, so data (A) and data (B) can be merged and set in MDIR. Merge the data of these two STBs and use MDIR
STB MER
It is GE.
このSTB MERGEを受けて、該当する2つのST
Bより4バイトずつのデータを取り出し、MDIRにセ
ットする。また、この信号により、STB MERGE
ENDをセットする。このMERGE ENDフラグ
により、後半4バイトのストア・リクエストがMS R
EQUESTをセットしようとする時に、自らのバイト
マークを強制的にオールOにすることで、MS REQ
UESTをダミー・リクエストに変えて、記憶制御装置
ヘリクエストを送出することを止める。これでマージ後
に後半4バイトを2重に記憶制御装置へ送出する事はな
い。なお、ダミー・リクエストについては後述する。In response to this STB MERGE, the two corresponding STs
Extract 4 bytes of data from B and set it in MDIR. Also, this signal causes STB MERGE
Set END. This MERGE END flag causes the store request for the latter 4 bytes to be
When trying to set EQUEST, by forcibly setting the own bite mark to all O, MS REQ
Change UEST to a dummy request and stop sending the request to the storage controller. This prevents the latter 4 bytes from being sent twice to the storage controller after merging. Note that the dummy request will be described later.
ストア・リクエストを受は取る記憶制御装置では、同時
に送られて来るオペレーション・コードOP C0DE
により先に述べた3つのストア・ケースの何れであるか
を判別する。このケースでは、記憶制御装置に対しパー
シャル・ストアとして送出されたが、タイミングによっ
ては、オペレーション・コードOP C0DEをモディ
ファイする事で、フル・ストアで送出可能となる。これ
が第5図のケースとなる。In the storage controller that receives and receives store requests, the operation code OP C0DE that is sent at the same time
It is determined which of the three store cases mentioned above. In this case, the data was sent to the storage control device as a partial store, but depending on the timing, it is possible to send the data as a full store by modifying the operation code OP CODE. This is the case shown in Figure 5.
記憶制御装置へのリクエストのプライオリイティにより
、STBからのMS REQUESTが待たされる場合
がある。この場合は、後続の4バイト・ストア・データ
は既にSTBに格納された状態となっている為、STB
?1ERGE信号を送出し、MDIRへマージした8
バイト・データをセットする。一方、この時、前半のM
S REQUESTはセットされていないから、STB
?IREGE信号を用いてオペレーション・コード0
PCODEをモディファイし、パーシャル・ストアから
フル・ストアに変えることができる。これにより、次の
サイクルでMS REQUESTを送出した時に、オペ
レーション・コードOP C0DEもフル・ストアにな
っている為、記憶制御装置側では8バイトのフル・スト
アの処理を行う事になる。Depending on the priority of the request to the storage controller, the MS REQUEST from the STB may be made to wait. In this case, the subsequent 4-byte store data has already been stored in the STB, so the STB
? 1ERGE signal was sent and merged into MDIR8
Set byte data. On the other hand, at this time, M in the first half
Since S REQUEST is not set, STB
? Operation code 0 using IREGE signal
PCODE can be modified to change from partial store to full store. As a result, when MS REQUEST is sent in the next cycle, the operation code OP C0DE will also be a full store, so the storage control device will process an 8-byte full store.
(iit )第3図に示す様な連続する4バイトのスト
アのマージ
第3図示す様な場合にも、STB UPPERFLAG
、l!l旬5REQUESTがオンとなった時(パイプ
ライン(B)のSサイクル)にオンとなればSTB M
ERGE条件が取れるから、マージ可能となる。ただし
、第4図の場合と同様に、オペレーション・コードOP
C0DEのモディファイが間に合わないため、パーシ
ャル・ストアとして処理される。(iit) Merging of consecutive 4-byte stores as shown in Figure 3 Also in the case shown in Figure 3, STB UPPERFLAG
,l! If it turns on when REQUEST turns on (S cycle of pipeline (B)), STB M
Since the ERGE condition can be met, merging is possible. However, as in the case of Figure 4, the operation code OP
Since C0DE cannot be modified in time, it is processed as a partial store.
以上のように(i)ないしく iii )でマージの具
体例を説明したが、本発明はSTB MERGE条件が
発生する場合には積極的にデータ・マージを行うもので
、4バイト・データの連続処理等においては、有効な手
段となるものである。4バイトのときのSTB MER
GE条件は、
(a) 前半のSTHのデータは8バイトのうち上位
4バイトのデータである。As mentioned above, specific examples of merging have been explained in (i) to iii), but the present invention proactively merges data when the STB MERGE condition occurs. This is an effective means for processing. STB MER when 4 bytes
The GE conditions are: (a) The first half STH data is the upper 4 bytes of the 8 bytes.
(b) 後半のSTBの先頭アドレスが前半のストア
・アドレスとマツチした。(b) The start address of the STB in the second half matches the store address in the first half.
(C1後半のSTBのデータは8バイトのうち下位4バ
イトのデータである。(The STB data in the second half of C1 is the lower 4 bytes of the 8 bytes.
(dl 前半の4バイト・データがMDIRにセント
される時には後半4バイトもSTBに書き込まれている
。(dl When the first 4 bytes of data are sent to MDIR, the latter 4 bytes are also written to STB.
と言うものである。That is what it says.
また、マージした後における後半の4バイトのストア・
データの処理であるが、MERGE ENDフラグをセ
ットする事により、このフラグを利用し、後半のBYT
E MARKを強制的にオールOにし、MCIインター
フェース制御部へ送る。?ICUインタフェース制御部
においては、BYTE 11ARKが全てOであると、
MS REQUESTのセット条件を落とす様にした。Also, store the latter 4 bytes after merging.
Regarding data processing, by setting the MERGE END flag, this flag is used to process the second half of BYT.
Forcibly set E MARK to all O's and send it to the MCI interface control unit. ? In the ICU interface control unit, if BYTE 11ARK is all O,
The set conditions for MS REQUEST have been lowered.
しかし、これではSTB制御部の01lT POINT
HRの制御が乱れてしまう為、MS REQUESTの
コピー・レジスタを設けた。このコピー・レジスタはB
YTE MARKがオール0であってもセットされる様
にした為、これを使用することで、STB !1I41
部内は、通常のMS REQUESTが送られた様にふ
るまうことが可能となった。However, in this case, the 01lT POINT of the STB control section
Since HR control would be disrupted, a copy register for MS REQUEST was provided. This copy register is B
Since it is set even if YTE MARK is all 0, by using this, STB! 1I41
Inside the department, it became possible to behave as if a normal MS REQUEST had been sent.
第6図は本発明の1実施例構成を示す図である。FIG. 6 is a diagram showing the configuration of one embodiment of the present invention.
同図において、1−〇ないし1−3は5TARMATC
Hがセットされるランチ、2−0ないし2−3はオペレ
ーション・コード0P−CODEがセントされるラッチ
、3−0ないし3−3はバイトマークがセントされるラ
ッチ、4−0なしNb2−3はSTB READYがセ
ットされるラッチ、5はデコーダ、6−0ないし6−3
はバイトマーク・チェック回路、7−〇ないし7−3は
SET STB MERGE生成回路、8−0ないし8
−3はストア・バッファ、9−0ないし9−3はMER
GE ENDがセットされるランチ、10はデコーダ、
11−Oない511−3はストア・アドレス・レジスタ
、12は選択マージ回路、13はMCUデータイン・レ
ジスタ、14は選択回路、15は主記憶アドレス・レジ
スタをそれぞれ示している。なお、ラッチ1,2,4.
9はそれぞれ4個存在し、ストア・バッファ8も4個存
在し、ストア・アドレス・レジスタ11も4個存在する
。例えば、1−0は第0番目(先頭の) STARMA
TCHをセットするラッチを示している。In the same figure, 1-0 to 1-3 are 5TARMATC
Lunch where H is set, 2-0 to 2-3 are latches where operation code 0P-CODE is sent, 3-0 to 3-3 are latches where byte mark is sent, 4-0 is absent Nb2-3 is a latch where STB READY is set, 5 is a decoder, 6-0 to 6-3
is a byte mark check circuit, 7-0 or 7-3 is a SET STB MERGE generation circuit, 8-0 or 8
-3 is store buffer, 9-0 to 9-3 is MER
Lunch where GE END is set, 10 is decoder,
11-O and 511-3 are store address registers, 12 is a selection merge circuit, 13 is an MCU data-in register, 14 is a selection circuit, and 15 is a main memory address register. Note that latches 1, 2, 4 .
9 exist, four store buffers 8 exist, and four store address registers 11 exist. For example, 1-0 is the 0th (first) STARMA
A latch for setting TCH is shown.
ラッチ1−0ないし1−3の中の何れにデータをセット
するかは、5TARポインタ(図示せず)によって指示
される。ラッチ2−0ないし2−3、ラッチ3−0ない
し3−3、ストア・アドレス・レジスタ11−0ないし
11−3についても同様である。ストア・データ(A)
のストア・アドレスがストア・アドレス・レジスタ11
−〇にセットされたとすると、ストア・データ(A)の
STB READYはラッチ4−0にセントされる。デ
コーダ5は、ラッチ2−0ないし2−3の中から選択出
力されたオペレーション・コードOP C0DEをデコ
ードするものである。バイトマーク・チェック回路6−
〇は、ラッチ3−0のバイトマークとラッチ3−1のバ
イトマークとを調べ、
(a) ストア・データが次の条件を満たすパイ、ト
長である。A 5TAR pointer (not shown) indicates which of latches 1-0 to 1-3 to set data to. The same applies to latches 2-0 to 2-3, latches 3-0 to 3-3, and store address registers 11-0 to 11-3. Store data (A)
The store address of is stored in store address register 11.
- If set to 0, STB READY of store data (A) is sent to latch 4-0. The decoder 5 decodes the operation code OP CODE selected and output from the latches 2-0 to 2-3. Bite mark check circuit 6-
Check the byte mark of latch 3-0 and the byte mark of latch 3-1. (a) The store data has a length that satisfies the following conditions.
A+B≦8 (バイト)、 (IA<8゜0≦Bく8
(バイト)
(b) AとBは8バイト境界内でオーバーラツプし
ない。A+B≦8 (byte), (IA<8゜0≦Bku8
(Bytes) (b) A and B do not overlap within 8-byte boundaries.
と言う条件を満たしている場合には、オンを出力するも
のである。他のバイトマーク・チェック回路6−1.6
−2.6−3も同様な動作を行う。If the condition is satisfied, an ON signal is output. Other bite mark check circuit 6-1.6
-2.6-3 also performs a similar operation.
SET STB MERGE生成回路7−0ないし7−
3はSET STB MERGEを生成するものである
。ストア・バッファ8−0ないし8−3には、Eユニッ
トからのストア・データが書き込まれる。例えば、スト
ア・データ(A)のSTB READYがラッチ4−0
にセットされたとすると、ストア・データ(八)はスト
ア・バッファ8−0にセットされる。ラッチ9−0には
ラッチ7−0のSET S’rB MERGEがセット
される。他のラッチ9−1.9−2.9−3も同様な機
能を持つ。デコーダ10は、Sユニット内のオペレーシ
ョン・コードOP C0DEを記憶制御装置が解読でき
る形に変換するものである。MERGE ENDが生成
された時、余裕があればオペレーション・コードOP
DCODEはパーシャル・ストアからフル・ストアに変
換される。ストア・アドレス・レジスタ11−〇ないし
11−3の中のストア・アドレスは選択回路14によっ
て選択され、選択されたストア・アドレスは主記憶アド
レス・レジスタ15にセットされる。選択マージ回路1
2は、オンのSET STB MERGEが送られて来
たとき、2個のストア・バッファのデータをマージする
。この際、バイトマークを参照することは当然である。SET STB MERGE generation circuit 7-0 or 7-
3 generates SET STB MERGE. Store data from the E unit is written to store buffers 8-0 to 8-3. For example, STB READY of store data (A) is latch 4-0.
, store data (8) is set in store buffer 8-0. SET S'rB MERGE of latch 7-0 is set in latch 9-0. Other latches 9-1.9-2.9-3 have similar functions. The decoder 10 converts the operation code OP CODE in the S unit into a form that can be decoded by the storage controller. When MERGE END is generated, if there is room, use operation code OP
DCODE is converted from partial store to full store. A store address in store address registers 11-0 to 11-3 is selected by selection circuit 14, and the selected store address is set in main memory address register 15. Selective merge circuit 1
2 merges the data in the two store buffers when an ON SET STB MERGE is sent. At this time, it is natural to refer to the bite mark.
選択マージ回路12の出力はFIcuデータイン・レジ
スタ13にセットされる。The output of the selection merge circuit 12 is set in the FIcu data-in register 13.
第7図はSTBマージ回路の構成例を示す図である。同
図において、16ないし20はゲートをそれぞれ示して
いる。FIG. 7 is a diagram showing an example of the configuration of the STB merge circuit. In the figure, 16 to 20 indicate gates, respectively.
ORゲート16は4個存在し、ORゲート17も4個存
在する。STB BYTE MARK Oないし3がO
であり且つ3ないし7が1の場合には、OR回路16−
0は論理「0」を出力する。他のORゲート16−1な
いし16−3も同様な機能をもつ。There are four OR gates 16 and four OR gates 17. STB BYTE MARK O or 3 is O
and when 3 to 7 are 1, the OR circuit 16-
0 outputs a logic "0". The other OR gates 16-1 to 16-3 have similar functions.
STB BYTE MARK Oないし3がOであり且
つ3ないし7が1の場合には、OR回路17−Oは論理
「0」を出力する。他のORゲート17−1ないし17
−3も同様な機能を持つ。OR回路16と17の部分は
、4バイトずつマージする場合の条件回路を構成してい
る。When STB BYTE MARK O to 3 are O and 3 to 7 are 1, the OR circuit 17-O outputs logic "0". Other OR gates 17-1 to 17
-3 has similar functions. The OR circuits 16 and 17 constitute a conditional circuit for merging 4 bytes at a time.
ゲート18は、−MCU PORT BUSYがOであ
り且つ−MS REQ WITHOtlT STBがO
であるときには一5EL OUT POINTERを0
にし、−MCU PORT BUSYが1か又は−MS
REQ WITHOUT STBが1のときには一5
EL DELAYO[IT POINTERを0にする
。ゲート18は、MCU PORT BUSY時のポイ
ンタの切分は回路を構成している。Gate 18 indicates that -MCU PORT BUSY is O and -MS REQ WITHOT STB is O.
When , 5EL OUT POINTER is 0
and -MCU PORT BUSY is 1 or -MS
When REQ WITHOUT STB is 1, it is 15
EL DELAYO [IT POINTER is set to 0. The gate 18 constitutes a circuit that separates the pointer during MCU PORT BUSY.
ANDゲート19は4個存在し、ANDゲート20も4
個存在する。ANDゲート19−0には、−5TARM
ATCHMARK(1)、−門ERGE BYTE門A
RK 1st(0)。There are four AND gates 19 and four AND gates 20.
Individuals exist. AND gate 19-0 has -5 TARM
ATCHMARK (1), - Gate ERGE BYTE Gate A
RK 1st (0).
−STB READY(0)、−MERGEBYTE
MARK 2nd(1)、−5TBREADY(1)、
−0UT POINTERO,−5EL OUT PO
INTERが入力される。他のANDゲート19−1な
いし19−3にも同様なデータが入力される。ANDゲ
ー)20−0には、−5TARMATCII MARK
(1)、−MERGE BYTE MARK 1st(
0)、−5TB READY(0)、−MERGE B
YTE MARK 2nd(1)、−5TB RE
ADY(1)、−DELAY OUT POINT
ERRO,−3EL DELAY OUT POINT
ERが入力される。他のANDゲート20−1ないし2
0−3にも同様なデータが入力される。-STB READY (0), -MERGEBYTE
MARK 2nd (1), -5TBREADY (1),
-0UT POINTERO, -5EL OUT PO
INTER is input. Similar data is input to other AND gates 19-1 to 19-3. AND game) 20-0, -5 TARMATCII MARK
(1), -MERGE BYTE MARK 1st (
0), -5TB READY (0), -MERGE B
YTE MARK 2nd (1), -5TB RE
ADY(1), -DELAY OUT POINT
ERRO, -3EL DELAY OUT POINT
ER is input. Other AND gates 20-1 or 2
Similar data is also input to 0-3.
第8図はポインタの構成例を示す図である。同図におい
て、21と22はポインタ、23は+1回路、24はセ
レクタをそれぞれ示している。ポインタ21はSTB
OUT POINTERを構成し、ポインタ22はST
B DELAY OUT POINTERを構成する。FIG. 8 is a diagram showing an example of the configuration of a pointer. In the figure, 21 and 22 are pointers, 23 is a +1 circuit, and 24 is a selector, respectively. Pointer 21 is STB
OUT POINTER is configured, and pointer 22 is ST
B Configure DELAY OUT POINTER.
ポインタ21の値は、MS REQUESTがオンにな
ると、+1回路23により+1される。ポインタ22の
値はポインタ21より1だけ少ない。セレクタ24は、
第7図の−SEL OUT POINTERがOの場合
にはポインタ21の値を出力し、−5EL DELAY
OUT POINTERがOの場合にはポインタ22
の値を出力する。The value of pointer 21 is incremented by +1 by +1 circuit 23 when MS REQUEST is turned on. The value of pointer 22 is one less than pointer 21. The selector 24 is
If -SEL OUT POINTER in Fig. 7 is O, the value of pointer 21 is output and -5EL DELAY
If OUT POINTER is O, pointer 22
Output the value of .
第9図はマージ・エンド回路の構成例を示す図である。FIG. 9 is a diagram showing an example of the configuration of a merge-end circuit.
第9図において、25−0ないし25−3はAND回路
、26−0ないし26−3はランチを示している。第9
図(a)に示すように、AND回路25−0には、−5
TARMATCHMARK 1と−SET STB O
MERGEが入力される。AND回路25−0の出力は
ラッチ26−0にセントされる。他のAND回路25−
1ないし25−3にも同様なデータが入力され、その出
力は対応するラッチにセットされる。ラッチ25−0な
いし25−3の出力がSTB ?IERGE ENDに
なる。In FIG. 9, 25-0 to 25-3 indicate AND circuits, and 26-0 to 26-3 indicate launches. 9th
As shown in Figure (a), the AND circuit 25-0 has -5
TARMATCHMARK 1 and -SET STB O
MERGE is input. The output of AND circuit 25-0 is sent to latch 26-0. Other AND circuit 25-
Similar data is also input to bits 1 to 25-3, and their outputs are set to the corresponding latches. Is the output of latches 25-0 to 25-3 STB? It becomes IERGE END.
第9図(b)に示すように、−5TARMARK 1が
0であることは、STB Oのストア・データとSTB
1のストア・データの先頭アドレスが一致しているこ
とを表している。−3ET STB OMERGEがO
であることは、STB Oのストア・データとSTB
1のストア・データがマージされたことを示している。As shown in FIG. 9(b), -5 TARMARK 1 is 0, which means that STBO O's store data and STB
This indicates that the start addresses of the store data No. 1 match. -3ET STB OMERGE is O
This means that STBO O's store data and STB
1 store data has been merged.
この場合、STB Oのストア・データに基づ< MC
Uリクエストは出されるが、STB 1に対してはME
RGE ENDが出される。SET MERGE EN
Dはマージされる側(この場合はSTB l側の)のM
CU リクエストを止めるだめに用いられる。In this case, based on the store data of STBO
U request is issued, but ME for STB 1
RGE END is issued. SET MERGE EN
D is M on the side to be merged (in this case, on the STB l side)
Used to stop CU requests.
第10図はバイトマーク・オールOの回路の構成例であ
る。同図において、27−0ないし27−3はOR回路
、28−0ないし28−3はAND回路、29もOR回
路をそれぞれ示している。FIG. 10 shows an example of the configuration of a bite mark all O circuit. In the figure, 27-0 to 27-3 are OR circuits, 28-0 to 28-3 are AND circuits, and 29 is an OR circuit, respectively.
OR回路27−Oには、STB Oのバイトマーク0な
いし7が入力され、これらのバイトマークが全て0の場
合にはOを出力する。他のOR回路27−1ないし27
−3には同様なデータが入力される。AND回路28−
0は、OR回路27−0が0を出力し、且つSTB O
UT POINTERがSTB Oを選択した時に1を
出力する。他のAND回路28−1ないし28−3も同
様な機能を持つ。AND回路28−0ないし28−3の
出力が+5UPPRHSSED 5TORE DATA
CASEになる。OR回路29には、+5UPPRE
SSED 5TORE DATA CASE と+ST
B MERGE ENDが入力される。OR回路29の
出力が+INHIBIT MCut REQ AT B
?I ALL Oになる。Byte marks 0 to 7 of STBO are input to the OR circuit 27-O, and if all of these byte marks are 0, O is output. Other OR circuits 27-1 to 27
Similar data is input to -3. AND circuit 28-
0 means that the OR circuit 27-0 outputs 0 and STBO
Outputs 1 when UT POINTER selects STBO. The other AND circuits 28-1 to 28-3 have similar functions. The output of AND circuits 28-0 to 28-3 is +5UPPRHSSED 5TORE DATA
Become a CASE. The OR circuit 29 has +5UPPRE
SSED 5TORE DATA CASE and +ST
B MERGE END is input. The output of the OR circuit 29 is +INHIBIT MCut REQ AT B
? Become I ALL O.
+INIIIBIT MCU REQ AT BM A
LL Oは、基本的にはストア・データが何らかの理由
によりキャンセルされた場合に、バイトマークのみがオ
ール0に強制された時に送出される。この場合、ST8
制御部では、既に各制御レジスタがセットされ(例えば
5TARVALID信号)ており、Sユニットで処理を
開始したことを自CPυに報告しているため、Sユニッ
トの処理を止めることができない。そこで記憶制御装置
へのリクエストを止めることで、Sユニット内では通常
のストアが完了したように見せることが必要である。I
NHIBIT MC[I REQ AT BM^しLO
は、このために生成される信号である。+INIIIBIT MCU REQ AT BM A
LLO is basically sent when the store data is canceled for some reason and only byte marks are forced to be all 0's. In this case, ST8
In the control unit, each control register has already been set (for example, the 5TARVALID signal), and the process of the S unit cannot be stopped because it has reported to its own CPυ that processing has started in the S unit. Therefore, it is necessary to make it appear as if normal storage has been completed within the S unit by stopping requests to the storage control device. I
NHIBIT MC[I REQ AT BM^shiLO
is the signal generated for this purpose.
第11図はMCUストア・リクエスト・ダミー回路の構
成例を示す図である。同図において、30−0ないし3
0−3はAND回路、31ないし33もAND回路、3
4と35はランチをそれぞれ示している。AND回路3
0−0には、−5TB 0−READYと一5ET S
TB OUT POINTEROが入力される。他のA
ND回路30−1ないし30−3にも同様なデータが入
力される。AND回路31には、AND回路30−0な
いし30−3の出力が入力される。AND回路31の出
力が一5ET MCU REQ −5TBとなる。AN
D回路32には、−5ET MCU REQ−3TBと
、+INHIBIT MCU REQ AT BM A
LL Oとが入力される。AND回路32の出力はラッ
チ34にセットされる。ラッチ34のストア・リクエス
トは記憶制御装置に送られる。AND回路33には、−
5ETMCU REQ−STBが入力される。AND回
路33の出力はラッチ35にセットされる。ラッチ35
の出力がDUMMY MCU REQ TOSTB C
NTLになる。FIG. 11 is a diagram showing an example of the configuration of the MCU store request dummy circuit. In the same figure, 30-0 to 3
0-3 are AND circuits, 31 to 33 are also AND circuits, 3
4 and 35 indicate lunch, respectively. AND circuit 3
0-0 has -5TB 0-READY and -5ET S
TB OUT POINTERO is input. Other A
Similar data is also input to ND circuits 30-1 to 30-3. The outputs of the AND circuits 30-0 to 30-3 are input to the AND circuit 31. The output of the AND circuit 31 becomes 15ET MCU REQ -5TB. AN
The D circuit 32 has -5ET MCU REQ-3TB and +INHIBIT MCU REQ AT BM A.
LL O is input. The output of the AND circuit 32 is set in the latch 34. The latch 34 store request is sent to the storage controller. The AND circuit 33 has -
5ETMCU REQ-STB is input. The output of the AND circuit 33 is set in the latch 35. latch 35
The output of DUMMY MCU REQ TOSTOB C
Become NTL.
上述のように、+INHIBIT MCLI REQ
AT BM ALL O信号により、記憶制御装置への
ストア・リクエストは止められるが、ダミー・リクエス
トは全ての場合にセットされる。そして、このダミー・
リクエストをSTB制御部へ送出し、STB OUT
POINTERを+1ずつカウント・アップすることで
、ストア・バッファから記憶制御装置へ送るデータの順
序性を保つ。As mentioned above, +INHIBIT MCLI REQ
The AT BM ALL O signal stops store requests to the storage controller, but a dummy request is set in all cases. And this dummy
Sends the request to the STB control unit and STB OUT
By counting up POINTER by +1, the order of data sent from the store buffer to the storage controller is maintained.
以上の説明から明らかなように、本発明によれば、2個
の連続するパーシャル・ストアのデータをマージ出来る
場合にはマージし、マージされたデータを記憶制御装置
に送っているので、パーシャル・ストアを効率よく行う
ことが可能になる。As is clear from the above description, according to the present invention, if data in two consecutive partial stores can be merged, they are merged and the merged data is sent to the storage control device. It becomes possible to store efficiently.
第1図は本発明の原理図、第2図はストア・オペレーシ
ョンのフローを示す図、第3図は同一バンクをアクセス
する連続したパーシャル・ストアを説明する図、第4図
は中央処理装置−記憶制御装置間のボート・ビジーによ
りストア・データA。
Bがマージ可能な場合を示す図、第5図は先のストア・
リクエストが待たされた場合のストア・データA、Bの
マージを説明する図、第6図は本発明の1実施例構成を
示す図、第7図はSTBマージ回路の構成例を示す図、
第8図はポインタの構成例を示す図、第9図はマージ・
エンド回路の構成例を示す図、第10図はバイトマーク
・オールOの回路の構成例を示す図、第11図は記憶制
御装置ストア・リクエスト・ダミー回路の構成例を示す
図である。
1−0ないし1−3・・・5TARMATCHがセット
されるランチ、2−0ないし2−3・・・オペレーショ
ン・コード0P−CODEがセントされるラッチ、3−
0ないし3−3・・・バイトマークがセットされるラッ
チ、4−0ないし4−3・・・STB READYがセ
ットされるラッチ、5・・・デコーダ、6−0ないし6
−3・・・バイトマーク・チェック回路、7−Qないし
7−3・・・SET STB MERGE生成回路、8
−0ないし8−3・・・ストア・バッファ、9−0ない
し9−3・・・MERGE ENDがセントされるラッ
チ、10・・・デコーダ、11−0ないし11−3・・
・ストア・アドレス・レジスタ、12・・・選択マージ
回路、13・・・MCI+データイン・レジスタ、14
・・・選択回路、15・・・主記憶アドレス・レジスタ
。FIG. 1 is a diagram showing the principle of the present invention, FIG. 2 is a diagram showing the flow of a store operation, FIG. 3 is a diagram explaining consecutive partial stores accessing the same bank, and FIG. 4 is a diagram showing the central processing unit. Store data A due to boat busy between storage controllers. Figure 5 shows the case where B can be merged.
FIG. 6 is a diagram illustrating the configuration of an embodiment of the present invention; FIG. 7 is a diagram illustrating an example configuration of an STB merge circuit;
Figure 8 shows an example of the pointer configuration, and Figure 9 shows the merge and
FIG. 10 is a diagram showing an example of the configuration of the end circuit, FIG. 10 is a diagram showing an example of the configuration of the byte mark all O circuit, and FIG. 11 is a diagram showing an example of the configuration of the storage controller store request dummy circuit. 1-0 to 1-3...Latch to which 5TARMATCH is set, 2-0 to 2-3...Latch to which operation code 0P-CODE is sent, 3-
0 to 3-3...Latch where byte mark is set, 4-0 to 4-3...Latch where STB READY is set, 5...Decoder, 6-0 to 6
-3... Byte mark check circuit, 7-Q or 7-3... SET STB MERGE generation circuit, 8
-0 to 8-3...Store buffer, 9-0 to 9-3...Latch where MERGE END is sent, 10...Decoder, 11-0 to 11-3...
・Store address register, 12... Selection merge circuit, 13... MCI+data-in register, 14
. . . Selection circuit, 15 . . . Main memory address register.
Claims (1)
バッファに格納されているストア・データを記憶制御装
置データイン・レジスタにセットし、記憶制御装置デー
タイン・レジスタのデータを記憶制御装置に送るように
構成された中央処理装置において、 ストア・バッファに格納されているパーシャル・ストア
・データ(A)が記憶制御装置データイン・レジスタに
セットされる前に、パーシャル・ストア・データ(A)
に後続するパーシャル・ストア・データ(B)がストア
・バッファに格納されている場合には、 (1)パーシャル・ストア・データ(A)の先頭アドレ
スとパーシャル・ストア・データ(B)の先頭アドレス
が同一であること、 (2)パーシャル・ストア・データ(A)のバイト長を
A、パーシャル・ストア・データ(B)のバイト長をB
とするとき A+B≦8(バイト)、 0≦A<8(バイト)、 0≦B<8(バイト) なる関係が存在すること、 (3)パーシャル・・ストア・データ(A)とパーシャ
ル・ストア・データ(B)が8バイト境界内でオーバー
ラップしないこと、 等の条件が成立しているときには、パーシャル・ストア
・データ(A)とパーシャル・ストア・データ(B)を
マージし、マージしたものを記憶制御装置データイン・
レジスタを介して記憶制御装置に送ることを特徴とする
ストア・バッファのマージ方式。[Claims] Storing store data in a store buffer;
In a central processing unit configured to set the store data stored in the buffer in the storage controller data-in register and to send the data in the storage controller data-in register to the storage controller, Before the stored partial store data (A) is set to the storage controller data-in register, the partial store data (A)
If the partial store data (B) that follows is stored in the store buffer, (1) The start address of the partial store data (A) and the start address of the partial store data (B) (2) The byte length of partial store data (A) is A, and the byte length of partial store data (B) is B.
When, A+B≦8 (bytes), 0≦A<8 (bytes), 0≦B<8 (bytes), (3) Partial store data (A) and partial store・When conditions such as data (B) do not overlap within 8-byte boundaries are met, partial store data (A) and partial store data (B) are merged and the merged data is created. storage controller data-in
A store buffer merging method characterized by sending data to a storage controller via a register.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61232397A JPH0823842B2 (en) | 1986-09-30 | 1986-09-30 | Store buffer merge method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61232397A JPH0823842B2 (en) | 1986-09-30 | 1986-09-30 | Store buffer merge method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6386044A true JPS6386044A (en) | 1988-04-16 |
JPH0823842B2 JPH0823842B2 (en) | 1996-03-06 |
Family
ID=16938599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61232397A Expired - Fee Related JPH0823842B2 (en) | 1986-09-30 | 1986-09-30 | Store buffer merge method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0823842B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5654558A (en) * | 1979-10-09 | 1981-05-14 | Fujitsu Ltd | Write control system for main memory unit |
JPS58208982A (en) * | 1982-05-31 | 1983-12-05 | Nec Corp | Store buffer |
JPS59136859A (en) * | 1983-01-27 | 1984-08-06 | Nec Corp | Buffer controller |
JPS6180447A (en) * | 1984-09-28 | 1986-04-24 | Hitachi Ltd | Store control system of memory |
-
1986
- 1986-09-30 JP JP61232397A patent/JPH0823842B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5654558A (en) * | 1979-10-09 | 1981-05-14 | Fujitsu Ltd | Write control system for main memory unit |
JPS58208982A (en) * | 1982-05-31 | 1983-12-05 | Nec Corp | Store buffer |
JPS59136859A (en) * | 1983-01-27 | 1984-08-06 | Nec Corp | Buffer controller |
JPS6180447A (en) * | 1984-09-28 | 1986-04-24 | Hitachi Ltd | Store control system of memory |
Also Published As
Publication number | Publication date |
---|---|
JPH0823842B2 (en) | 1996-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5537555A (en) | Fully pipelined and highly concurrent memory controller | |
US5652856A (en) | Memory controller having all DRAM address and control singals provided synchronously from a single device | |
US5838631A (en) | Fully synchronous pipelined ram | |
US5027270A (en) | Processor controlled interface with instruction streaming | |
US5475829A (en) | Computer system which overrides write protection status during execution in system management mode | |
JPS61175845A (en) | Microprocessor system | |
JPS59111561A (en) | Access controlling system of composite processor system | |
JPS596415B2 (en) | multiplex information processing system | |
JPS63127368A (en) | Control system for vector processor | |
JPH0564813B2 (en) | ||
WO1996027833A1 (en) | Information processor | |
US5463760A (en) | Break function in-circuit emulator for a microprocessor with a cache memory | |
JPS62102344A (en) | Buffer memory control system | |
JPS6386044A (en) | Merging system for store buffer | |
US5276853A (en) | Cache system | |
US4737908A (en) | Buffer memory control system | |
JPS5941215B2 (en) | Main memory write control method | |
JP3808525B2 (en) | Write and / or read access priority management device | |
JPS61166647A (en) | Accessing for reading out information microprocessor and addressable memory | |
US5734855A (en) | Processor with pipeline processing function having read buffer register and latch for storing register information where the result of external access type instruction is stored | |
US20070174556A1 (en) | Methods and apparatus for reducing command reissue latency | |
JP2673041B2 (en) | Instruction execution control method | |
JPH02188846A (en) | Request cancel system | |
JPS5821736B2 (en) | Memory control method | |
JP2634609B2 (en) | Data transfer device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |