JPH0823842B2 - Store buffer merge method - Google Patents
Store buffer merge methodInfo
- Publication number
- JPH0823842B2 JPH0823842B2 JP61232397A JP23239786A JPH0823842B2 JP H0823842 B2 JPH0823842 B2 JP H0823842B2 JP 61232397 A JP61232397 A JP 61232397A JP 23239786 A JP23239786 A JP 23239786A JP H0823842 B2 JPH0823842 B2 JP H0823842B2
- Authority
- JP
- Japan
- Prior art keywords
- store
- data
- stb
- byte
- storage controller
- 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 - Fee Related
Links
Description
【発明の詳細な説明】 〔概要〕 連続する2つのストアが8バイト境界にある場合、主
記憶装置における同一バンクをアクセスするため、後続
のストアはバンク・ビジーで待たされる事になる。そこ
で、この様な場合、先のストア・リクエストを記憶制御
装置へ送出する前に連続した次のストア・データがスト
ア・バッファに格納されたならば、この2つのストア・
データをマージし、記憶制御装置へストア・リクエスト
を送出するものである。これにより、同一バンク内への
ストアについては、1回のストア・リクエストで済み、
バンク・ビジーにより、後続のストアが何τも待たされ
ることは少なくなる。この様にして、パーシャル・スト
アの性能を高めるようにしたストア・バッファのマージ
方式である。DETAILED DESCRIPTION OF THE INVENTION [Outline] When two consecutive stores are on an 8-byte boundary, the same bank in the main memory is accessed, and the subsequent stores are kept waiting in a bank busy state. Therefore, in such a case, if consecutive next store data is stored in the store buffer before sending the previous store request to the storage controller, the two store
Data is merged and a store request is sent to the storage controller. As a result, only one store request is required for stores in the same bank,
Bank busy makes subsequent stores less likely to wait τ. In this way, the store buffer merging method is designed to improve the performance of the partial store.
本発明は、中央処理装置の記憶制御ユニット(Sユニ
ット)において、2個のストア・バッファに格納されて
いるデータがマージ可能な場合には、これらのデータを
マージして記憶制御装置に送るようにしたストア・バッ
ファのマージ方式に関するものである。According to the present invention, in the storage control unit (S unit) of the central processing unit, when the data stored in the two store buffers can be merged, these data are merged and sent to the storage control unit. The present invention relates to the store / buffer merge method described above.
従来の技術においては、連続するパーシャル・ストア
については、ストア・バッファに格納された順に、記憶
制御装置に対し順番にストア・リクエストを送出してい
た。In the prior art, for continuous partial stores, store requests were sequentially sent to the storage control device in the order in which they were stored in the store buffer.
従来技術では、パーシャル・ストアを受け入れた記憶
制御装置では、主記憶装置に対し、ストア・アドレスの
バンクをフェッチ(8バイト)し、ストアするデータの
バイトマークを見て、これをストア・データの中にセッ
トし、主記憶装置へストアを行う。この間、後続のスト
アは、同一バンクを使用する為に十数τ間待たされるこ
とになる。In the prior art, a storage controller that accepts a partial store fetches a bank of store addresses (8 bytes) to the main memory, sees the byte mark of the data to be stored, and stores this in the store data. Set it inside and store it in the main memory. During this period, the subsequent stores have to wait for ten and more τ in order to use the same bank.
本発明は、この点に鑑みて創作されたものであって、
このような無駄なビジー状態を回避することを目的とし
ている。The present invention was created in view of this point,
The purpose is to avoid such a wasteful busy state.
第1図は本発明の原理図である。記憶制御装置は中央
処理装置やチャネル処理装置からの主記憶アクセスを制
御するものであり、各処理装置からのアクセス要求を受
け付けるためのMCUポートを有している。中央処理装置
は、Sユニット、Eユニット及びIユニットから構成さ
れている。Sユニットは、ストア・バッファ8−0ない
し8−3や選択マージ回路12、記憶制御装置データイン
・レジスタ13を有している。Eユニットからのストア・
データはストア・バッファ8−0ないし8−3の中の何
れかに格納される。中央処理装置と記憶制御装置との間
のデータ・バスが空きの場合には、直ちに選択マージ回
路12によって選択されたストア・バッファのデータが記
憶制御装置データイン・レジスタを介して記憶制御装置
に転送される。中央処理装置と記憶制御装置との間のデ
ータ・バスが空きでない場合には、空きになるのを待っ
て、選択マージ回路12によって選択されたストア・バッ
ファのデータが記憶制御装置データイン・レジスタを介
して記憶制御装置に転送される。FIG. 1 is a principle diagram of the present invention. The storage control device controls main storage access from the central processing unit or the channel processing unit, and has an MCU port for accepting an access request from each processing unit. The central processing unit is composed of an S unit, an E unit and an I unit. The S unit has store buffers 8-0 to 8-3, a selective merge circuit 12, and a storage controller data-in register 13. Store from E unit
The data is stored in any of the store buffers 8-0 to 8-3. When the data bus between the central processing unit and the storage controller is empty, the data in the store buffer selected by the selective merge circuit 12 is immediately transferred to the storage controller via the storage controller data-in register. Transferred. If the data bus between the central processing unit and the storage controller is not empty, wait until it becomes empty and the data in the store buffer selected by the selective merge circuit 12 is stored in the storage controller data-in register. To the storage control device.
例えば、パーシャル・ストア・データ(A)がストア
・バッファ8−0に格納され、パーシャル・ストア・デ
ータ(B)がストア・バッファ8−1に格納された場
合、マージ条件が成立しているか否かが調べられ、成立
しているときにはパーシャル・ストア・データ(A)と
パーシャル・ストア・データ(B)が選択マージ回路12
によってマージされ、マージ・データが記憶制御装置デ
ータイン・レジスタ13を介して記憶制御装置に送られ
る。For example, when the partial store data (A) is stored in the store buffer 8-0 and the partial store data (B) is stored in the store buffer 8-1, it is determined whether the merge condition is satisfied. It is checked whether or not the partial store data (A) and the partial store data (B) are selected and merged.
And the merged data is sent to the storage controller via the storage controller data-in register 13.
マージ条件は、 パーシャル・ストア・データ(A)の先頭アドレス
とパーシャル・ストア・データ(B)の先頭アドレスが
同一である。The merge condition is that the start address of the partial store data (A) and the start address of the partial store data (B) are the same.
パーシャル・ストア・データ(A)のバイト長を
A、パーシャル・ストア・データ(B)のバイト長を
B、主記憶装置のバンク幅をW(例えば、8バイト)と
するとき、 A+B≦W(バイト) 0≦A<W(バイト) 0≦B<W(バイト) なる関係が存在する。When the byte length of the partial store data (A) is A, the byte length of the partial store data (B) is B, and the bank width of the main memory is W (for example, 8 bytes), A + B ≦ W ( Byte) 0 ≦ A <W (byte) 0 ≦ B <W (byte)
パーシャル・ストア・データ(A)とパーシャル・
ストア・データ(B)がWバイト境界内でオーバーラッ
プしない。Partial store data (A) and partial
Store data (B) does not overlap within the W byte boundary.
と言うものである。なお、先頭アドレスとは、データが
格納されるWバイト境界の先頭を意味する。Is to say. The start address means the start of a W byte boundary where data is stored.
中央処理装置から記憶制御装置、即ち主記憶装置に対
して行なえる8バイト以下のストアの型は、データ長か
ら見ると、次の3つのケースとなる。The types of stores of 8 bytes or less that can be performed from the central processing unit to the storage control unit, that is, the main storage unit, are the following three cases from the viewpoint 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 Where ~ is distinguished by the operation code and byte mark sent at the same time as the store request from the central processing unit. In this case, it takes 15τ for the store to be completed between the storage controller and the main memory and the next store to be executed. On the other hand, the case of is completed in 8τ.
そこで、連続するストアの場合に、同一バンクのアド
レスであれば上記,のストア・タイプでリクエスト
を出せば、バンク・ビジーによる無駄な待状態は回避で
きる筈である。Therefore, in the case of consecutive stores, if addresses of the same bank are used and a request is issued with the above store type, a wasteful wait state due to bank busy should be avoided.
第2図にストア・オペレーション時のSユニット内の
パイプラインを示す。第2図において、EARは実効アド
レス・レジスタ(Effective Address Register)、PORT
はOP PORT(Adress Register)、STARはストア・アドレ
ス・レジスタ(Store Address Register)、SDRはスト
ア・データ・レジスタ(Store Data Regiser)、STBは
ストア・バッファ(Store Buffer)、MSARは主記憶アド
レス・レジスタ(Main Storage Address Register)、M
DIRは記憶制御装置データイン・レジスタ(Mcu Data In
Register)をそれぞれ示す。上記Sユニット内のパイ
プラインの各ステートについて簡単に説明する。FIG. 2 shows the pipeline in the S unit during the store operation. In Fig. 2, EAR is an effective address register, PORT
Is OP PORT (Adress Register), STAR is Store Address Register, SDR is Store Data Register, STB is Store Buffer, and MSAR is main memory address. Register (Main Storage Address Register), M
DIR is the storage controller data in register (Mcu Data In
Register) respectively. Each state of the pipeline in the S unit will be briefly described.
P:プライオリィティ・サイクル Iユニット及びSユニット内部から出された各リクエ
ストの優先順位を決定するサイクルであり、次のTサイ
クル用のレジスタへセットするアドレス及びデータのセ
レクト信号を作成する。P: Priority cycle This is a cycle for determining the priority of each request issued from the I unit and S unit, and creates the select signal of the address and data to be set in the register for the next T cycle.
T:TLB&TAGサイクル Pサイクルで優先順位の取れたリクエストがTサイク
ルに入り、TLB及びローカル・バッファ記憶(キャッシ
ュと同義)のタグ(TAG)がアクセスされる。T: TLB & TAG cycle A request whose priority has been obtained in the P cycle enters the T cycle, and the TLB and the tag (TAG) of the local buffer storage (synonymous with cache) are accessed.
B:バッファ・サイクル Tサイクルに入ったリクエストはBサイクルに移り、
TサイクルでアクセスされTLBから読み出された絶対ア
ドレスが実アドレス・レジスタ(Real Address Registe
r)にセットされる。また、タグ・マッチ(TAG MATCH)
も検出され、ローカル・バッファ記憶のデータがアクセ
スされて、データが読み出される。B: Buffer cycle The request that entered the T cycle moves to the B cycle,
The absolute address that is accessed in the T cycle and read from the TLB is the real address register (Real Address Register
r) is set. Also, TAG MATCH
Is also detected and the data in the local buffer store is accessed to read the data.
R:リザルト・サイクル Rサイクルに入ったリクエストに対するステータス
が、Iユニット及びEユニットへ報告される。R: Result Cycle The status for the request that has entered the R cycle is reported to the I unit and the E unit.
W:ライト・サイクル TLB及びローカル・バッファ記憶/タグがアクセスさ
れる。また、EユニットからのデータがSDRにセットさ
れる。W: Write cycle TLB and local buffer store / tag are accessed. Also, the data from the E unit is set in SDR.
S:ストア・サイクル ストア・データ・レジスタの値をSTBにセットする。
また、ローカル・バッファ記憶のデータ部がアクセスさ
れる。S: Store cycle Set the value of the store data register to STB.
Also, the data portion of the local buffer store is accessed.
この様なパイプライン中で、主記憶装置における同一
バンクをアクセスするストアの場合、パイプラインは第
3図の様になる。ここで、ストア・バッファ部の動きを
パイプラインに沿って説明すると、Rサイクルにおい
て、パイプラインを流れて来たストア・アドレスが前の
Bサイクルにおいて有効であると、当該アドレスをSTAR
にセットすると同時に、STAR VALIDをつける。このアド
レスは記憶制御装置へのストア・リクエストの送出が完
了するまで保持される。Wサイクルにおいては、Eユニ
ットからのストア・データがSDRにセットされる。セッ
トされたデータが有効であれば、次のSサイクルにおい
てSTBにデータをセットする。この時に、記憶制御装置
へ送出するデータが有効となった事を示すREADYフラグ
をつける。これが第3図に示すSTB READYである。この
時、データのバイト長を示すバイトマークをもセットす
る。In the case of a store that accesses the same bank in the main memory in such a pipeline, the pipeline is as shown in FIG. Here, the operation of the store buffer unit will be described along the pipeline. If the store address that has flowed through the pipeline in the R cycle is valid in the previous B cycle, the address is changed to STAR.
At the same time, set STAR VALID. This address is held until the transmission of the store request to the storage controller is completed. In the W cycle, the store data from the E unit is set in SDR. If the set data is valid, the data is set in STB in the next S cycle. At this time, a READY flag indicating that the data to be sent to the storage controller is valid is attached. This is STB READY shown in FIG. At this time, a byte mark indicating the byte length of the data is also set.
以上で中央処理装置から記憶制御装置へ送るストア・
データ及びストア・アドレスは準備された事になり、こ
の後は中央処理装置−記憶制御装置間のインターフェー
ス制御部に送られる事になる。インタフェース制御部
は、中央処理装置−記憶制御装置のデータ・バスが空く
のを待って非同期にデータの授受を行う。中央処理装置
のインタフェース制御部は、このデータ・バスが空にな
るのを待って、記憶制御装置に対しストア・リクエスト
を送出する。これがパイプラインで示したMS REQUESTで
ある。ここでMS REQUESTは、2τのリクエストを記憶制
御装置に対して送出するが、これはSTBが16バイト幅を
持つのに対し、中央処理装置−記憶制御装置間のインタ
フェースのバス幅が8バイトである為である。中央処理
装置はこの16バイトのデータを上位8バイト、下位8バ
イトと区別し記憶制御装置へ送出する。この識別フラグ
が、STB UPPER FLAGである。8バイト以下のストアの場
合には、上位8バイトしか使用せず、このためSTB UPPE
R FLAGがオンの時のみMDIRへデータをセットする。な
お、STAR POINTERは4セット持つSTARのポインタであ
り、何れのSTARを使用するかを示す。STB OUT POINTER
も4セット持つSTBのポインタであり、何れのSTBから記
憶制御装置へデータを送出するかを示す。With the above, the store sent from the central processing unit to the storage control unit
The data and store address have been prepared, and after that, they will be sent to the interface control unit between the central processing unit and the storage control unit. The interface control unit waits for the data bus of the central processing unit-storage control unit to become available and asynchronously transfers data. The interface control unit of the central processing unit waits for the 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 REQUEST sends a 2τ request to the storage controller. This is because the STB has a 16-byte width, but the bus width of the interface between the central processing unit and the storage controller is 8 bytes. Because there is. The central processing unit distinguishes this 16-byte data from the upper 8 bytes and the lower 8 bytes and sends it to the storage controller. This identification flag is STB UPPER FLAG. For stores of 8 bytes or less, only the upper 8 bytes are used, so STB UPPE
Set data to MDIR only when R FLAG is on. The STAR POINTER is a pointer of a STAR having four sets and indicates which STAR is used. STB OUT POINTER
Is also a pointer to an STB having four sets, and indicates from which STB the data is sent to the storage controller.
STB OUT POINTERによりSTBから選択されたデータはMD
IRにセットされ、この後に記憶制御装置へ送出される
が、第3図の様な連続するストアの場合、ストア・デー
タ(A)は記憶制御装置へ送出されるが、ストア・デー
タ(B)は先に説明した様に、同一バンクをアクセスす
る為に15τ間待たされ、バンク・ビジーが解除された後
に記憶制御装置へ送出される。The data selected from STB by STB OUT POINTER is MD
The data is set to IR and then sent to the storage controller. In the case of a continuous store as shown in FIG. 3, the store data (A) is sent to the storage controller, but the store data (B) As explained above, is waited for 15τ to access the same bank, and is sent to the storage controller after the bank busy is released.
今、仮にストア・データ(A)が中央処理装置−記憶
制御装置間のデータ・バスでビジー状態になって第4図
に示す様に待たされた場合や第3図においてSTB UPPER
が1τ送れた場合、ストア・データ(A)のリクエスト
を出す時には、ストア・データ(B)についても、記憶
制御装置への送出が可能となっている。この様な状態に
おいても、ストア・データ(A),(B)を別々のパー
シャル・ストアとして処理する事は、後半のストアが15
τ間無駄に待されることとなる。Now, if the store data (A) is in a busy state on the data bus between the central processing unit and the storage control unit and waits as shown in FIG. 4, or STB UPPER in FIG.
When 1 τ is sent, the store data (B) can be sent to the storage controller when the store data (A) request is issued. Even in such a state, processing the store data (A) and (B) as separate partial stores is not possible for the latter half of the stores.
You will have to wait unnecessarily for τ.
本発明は、前半のパーシャル・ストア・データがMDIR
にセットされる前に後半のストア・データがSTBに格納
されていれば、先のデータをMDIRにセットする時に後半
のデータをマージし、8バイト境界に揃えて記憶制御装
置へ送出すると言うものである。ただし、次の条件を持
ったストアの場合のみ可能となる。In the present invention, the partial store data in the first half is MDIR
If the store data of the latter half is stored in STB before being set to, the latter data is merged when the previous data is set in MDIR and aligned to an 8-byte boundary and sent to the storage controller. Is. However, this is possible only for stores with the following conditions.
連続するストア・アドレスの先頭アドレスが同一で
ある。The start addresses of consecutive store addresses are the same.
ストア・データが次の条件を満たすバイト長であ
る。The store data has a byte length that satisfies the following conditions.
A+B≦8(バイト),0≦A<8, 0≦B<8(バイト) AとBは8バイト境界内でオーバーラップしない。A + B ≦ 8 (bytes), 0 ≦ A <8, 0 ≦ B <8 (bytes) A and B do not overlap within an 8-byte boundary.
次にマージの動きを第4図,第5図によってA=B=
4(バイト)の場合について説明する。Next, referring to FIGS. 4 and 5, the movement of merging is A = B =
The case of 4 (bytes) will be described.
(i) 中央処理装置−記憶制御装置間のポート・ビジ
ーにより待たされるとき(第4図) PORT BUSYフラグはMS REQUESTがオンとなった次にセ
ットされるが、記憶制御装置においてはその1τ前で発
生している。したがって、このときはMDIRにデータはセ
ットされない。一方、MDIRにセットすべきSTBはOUT POI
NTERによって4つのSTBから選ばれるが、このポインタ
はMS REQUESTが出されると+1される。しかし、PORT B
USY時には、常にOUT POINTERの値の−1を示すDELAY OU
T POINTERの示す値に従って、STBを選択し、MDIRにセッ
トする。(I) Waiting due to port busy between the central processing unit and storage controller (Fig. 4) The PORT BUSY flag is set next to when MS REQUEST is turned on, but 1 τ before that in the storage controller. Has occurred in. Therefore, at this time, no data is set in MDIR. On the other hand, STB to be set in MDIR is OUT POI
It is selected from 4 STBs by NTER, but this pointer is incremented by 1 when MS REQUEST is issued. But PORT B
In USY, DELAY OU which always shows -1 of OUT POINTER value
Select STB according to the value indicated by T POINTER and set it in MDIR.
次に、後続の4バイト・ストアに着目すれば、アドレ
ス・マッチ回路(図示せず)において、先にパイプライ
ンを流れていった4バイトのストア・アドレスとの先頭
アドレスのマッチをBサイクルで検知し、これをSTB制
御部へ送出する。STB制御部ではこの信号を受け、STAR
POINTERの値に従って該当するSTAR MATCH MARKのラッチ
をオンにする。これがパイプライン(B)で示すRサイ
クルである。Next, paying attention to the subsequent 4-byte store, in the address match circuit (not shown), the match of the leading address with the 4-byte store address that has flowed through the pipeline earlier is performed in B cycles. It is detected and sent to the STB control unit. The STB control unit receives this signal and
Turn on the corresponding STAR MATCH MARK latch according to the POINTER value. This is the R cycle shown by the pipeline (B).
また、Sサイクルにおいて、後半の4バイトデータが
STBにセットされると、STB READY,BYTE MARKをセットす
る。ここで再びパイプライン(A)を見れば、記憶制御
装置のポートがビジー状態である為、MS REQUESTを出し
ても、MDIRには未だセットされていない。そして、次の
サイクルで、記憶制御装置のポート・ビジーを受け、PO
RT BUSYフラグをオンにし、STBのセレクト・ポインタを
OUT POINTERからDELAY OUT POINTERに切り替える。一
方、STB UPPER FLAGに着目すれば、この時にオンとなっ
ているため、ストア・データはMDIRにセット可能となっ
ている。また、パイプライン(B)でも、この時には既
にストア・データはSTBに格納されているので、データ
(A)とデータ(B)をマージし、MDIRにセットするこ
とができる。この2つのSTBのデータをマージし、MDIR
にセット可能である事を知らせる信号がSTB MERGEであ
る。In the S cycle, the latter 4 bytes of data are
When set to STB, set STB READY, BYTE MARK. Looking again at the pipeline (A), since the port of the storage controller is busy, even if MS REQUEST is issued, it is not yet set in MDIR. Then, in the next cycle, the port busy of the storage controller is received and the PO
Turn on the RT BUSY flag and move the STB select pointer.
Switch from OUT POINTER to DELAY OUT POINTER. On the other hand, focusing on STB UPPER FLAG, the store data can be set to MDIR because it is on at this time. Also in the pipeline (B), since the store data is already stored in the STB at this time, the data (A) and the data (B) can be merged and set in the MDIR. The data of these two STBs is merged and MDIR
STB MERGE is a signal that informs that it can be set to.
このSTB MERGEを受けて、該当する2つのSTBより4バ
イトずつのデータを取り出し、MDIRにセットする。ま
た、この信号により、STB MERGE ENDをセットする。こ
のMERGE ENDフラグにより、後半4バイトのストア・リ
クエストがMS REQUESTをセットしようとする時に、自ら
のバイトマークを強制的にオール0にすることで、MS R
EQUESTをダミー・リクエストに変えて、記憶制御装置へ
リクエストを送出することを止める。これでマージ後に
後半4バイトを2重に記憶制御装置へ送出する事はな
い。なお、ダミー・リクエストについては後述する。Upon receiving this STB MERGE, 4-byte data is extracted from the corresponding two STBs and set in MDIR. Also, this signal sets STB MERGE END. By this MERGE END flag, when a store request of the latter 4 bytes tries to set MS REQUEST, by forcing its own byte mark to all 0s, MS R
Change EQUEST to a dummy request and stop sending the request to the storage controller. As a result, the latter 4 bytes are not transmitted to the storage control device twice after the merge. The dummy request will be described later.
ストア・リクエストを受け取る記憶制御装置では、同
時に送られて来るオペレーション・コードOP CODEによ
り先に述べた3つのストア・ケースの何れであるかを判
別する。このケースでは、記憶制御装置に対しパーシャ
ル・ストアとして送出されたが、タイミングによって
は、オペレーション・コードOP CODEをモディファイす
る事で、フル・ストアで送出可能となる。これが第5図
のケースとなる。The storage control device that receives the store request determines which of the three store cases described above is based on the operation code OP CODE sent at the same time. In this case, it was sent as a partial store to the storage controller, but depending on the timing, it can be sent as a full store by modifying the operation code OP CODE. This is the case in FIG.
(ii) 先行の4バイト・ストアのMS REQUESTの送出が
遅れた場合(第5図) 記憶制御装置へのリクエストのプライオリィティによ
り、STBからのMS REQUESTが待たされる場合がある。こ
の場合は、後続の4バイト・ストア・データは既にSTB
に格納された状態となっている為、STB MERGE信号を送
出し、MDIRへマージした8バイト・データをセットす
る。一方、この時、前半のMS REQUESTはセットされてい
ないから、STB MREGE信号を用いてオペレーション・コ
ードOP CODEをモディファイし、パーシャル・ストアか
らフル・ストアに変えることができる。これにより、次
のサイクルでMS REQUESTを送出した時に、オペレーショ
ン・コードOP CODEもフル・ストアになっている為、記
憶制御装置側では8バイトのフル・ストアの処理を行う
事になる。(Ii) When the sending of the preceding MS REQUEST of the 4-byte store is delayed (Fig. 5) The MS REQUEST from the STB may be kept waiting due to the priority of the request to the storage controller. In this case, the subsequent 4-byte store data is already STB
Since it is in the state stored in, send the STB MERGE signal and set the merged 8-byte data to MDIR. On the other hand, at this time, since the first half MS REQUEST is not set, the operation code OP CODE can be modified by using the STB MREGE signal to change the partial store to the full store. As a result, when the MS REQUEST is sent in the next cycle, the operation code OP CODE is also in full store, so the storage controller performs 8-byte full store processing.
(iii) 第3図に示す様な連続する4バイトのストア
のマージ 第3図示す様な場合にも、STB UPPER FLAGがMS REQUE
STがオンになった時(パイプライン(B)のSサイク
ル)にオンとなればSTB MERGE条件が取れるから、マー
ジ可能となる。ただし、第4図の場合と同様に、オペレ
ーション・コードOP CODEのモディファイが間に合わな
いため、パーシャル・ストアとして処理される。(Iii) Merging consecutive 4-byte stores as shown in FIG. 3 Even in the case as shown in FIG. 3, STB UPPER FLAG is MS REQUE
When ST is turned on (S cycle of pipeline (B)), STB MERGE condition can be satisfied, and thus merging becomes possible. However, as in the case of FIG. 4, since the operation code OP CODE cannot be modified in time, it is processed as a partial store.
以上のように(i)ないし(iii)でマージの具体例
を説明したが、本発明はSTB MERGE条件が発生する場合
には積極的にデータ・マージを行うもので、4バイト・
データの連続処理等においては、有効な手段となるもの
である。4バイトのときのSTB MERGE条件は、 (a) 前半のSTBのデータは8バイトのうち上位4バ
イトのデータである。As described above, specific examples of merging are described in (i) to (iii), but the present invention positively performs data merging when the STB MERGE condition occurs.
It is an effective means for continuous data processing. The STB MERGE condition for 4 bytes is as follows: (a) The STB data in the first half 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.
(c) 後半のSTBのデータは8バイトのうち下位4バ
イトのデータである。(C) The STB data in the latter half is the lower 4 bytes of the 8 bytes.
(d) 前半の4バイト・データがMDIRにセットされる
時には後半4バイトもSTBに書き込まれている。(D) When the first 4 bytes of data are set in MDIR, the latter 4 bytes are also written to STB.
と言うものである。Is to say.
また、マージした後における後半の4バイトのストア
・データの処理であるが、MERGE ENDフラグをセットす
る事により、このフラグを利用し、後半のBYTE MARKを
強制的にオール0にし、MCUインターフェース制御部へ
送る。MCUインタフェース制御部においては、BYTE MARK
が全て0であると、MS REQUESTのセット条件を落とす様
にした。しかし、これではSTB制御部のOUT POINTERの制
御が乱れてしまう為、MS REQUESTのコピー・レジスタを
設けた。このコピー・レジスタはBYTE MARKがオール0
であってもセットされる様にした為、これを使用するこ
とで、STB制御部内は、通常のMS REQUESTが送られた様
にふるまうことが可能となった。Also, regarding the processing of the 4 bytes of store data in the latter half after merging, by setting the MERGE END flag, this flag is used to force the BYTE MARK in the latter half to all 0s and control the MCU interface. Send to department. In the MCU interface control block, BYTE MARK
If all are 0, the set condition of MS REQUEST is dropped. However, this would disturb the OUT POINTER control of the STB control unit, so a copy register of MS REQUEST was provided. BYTE MARK is all 0 in this copy register
Even though it was set, by using this, it became possible to behave as if a normal MS REQUEST was sent in the STB control section.
第6図は本発明の1実施例構成を示す図である。同図
において、1−0ないし1−3はSTAR MATCHがセットさ
れるラッチ、2−0ないし2−3はオペレーション・コ
ードOP-CODEがセットされるラッチ、3−0ないし3−
3はバイトマークがセットされるラッチ、4−0ないし
4−3はSTB READYがセットされるラッチ、5はデコー
ダ、6−0ないし6−3はバイトマーク・チェック回
路、7−0ないし7−3はSET STB MERGE生成回路、8
−0ないし8−3はストア・バッファ、9−0ないし9
−3はMERGE ENDがセットされるラッチ、10はデコー
ダ、11−0ないし11−3はストア・アドレス・レジス
タ、12は選択マージ回路、13はMCUデータイン・レジス
タ、14は選択回路、15は主記憶アドレス・レジスタをそ
れぞれ示している。なお、ラッチ1,2,4,9はそれぞれ4
個存在し、ストア・バッファ8も4個存在し、ストア・
アドレス・レジスタ11も4個存在する。例えば、1−0
は第0番目(先頭の)STAR MATCHをセットするラッチを
示している。FIG. 6 is a diagram showing the configuration of an embodiment of the present invention. In the figure, 1-0 to 1-3 are latches to which STAR MATCH is set, 2-0 to 2-3 are latches to which operation code OP-CODE is set, and 3-0 to 3-
3 is a latch in which a byte mark is set, 4-0 to 4-3 is a latch in which STB READY is set, 5 is a decoder, 6-0 to 6-3 are byte mark check circuits, 7-0 to 7- 3 is a SET STB MERGE generation circuit, 8
-0 to 8-3 are store buffers, 9-0 to 9
-3 is a latch in which MERGE END is set, 10 is a decoder, 11-0 to 11-3 are store address registers, 12 is a select merge circuit, 13 is a MCU data-in register, 14 is a select circuit, and 15 is The main memory address registers are shown respectively. Latches 1, 2, 4, 9 are 4 each
There are 4 store buffers 8 and
There are also four address registers 11. For example, 1-0
Indicates a latch for setting the 0th (first) STAR MATCH.
ラッチ1−0ないし1−3の中の何れにデータをセッ
トするかは、STARポインタ(図示せず)によって指示さ
れる。ラッチされる2−0ないし2−3、ラッチ3−0
ないし3−3、ストア・アドレス・レジスタ11−0ない
し11−3についても同様である。ストア・データ(A)
のストア・アドレスがストア・アドレス・レジスタ11−
0にセットされたとすると、ストア・データ(A)のST
B READYはラッチ4−0にセットされる。デコーダ5
は、ラッチ2−0ないし2−3の中から選択出力された
オペレーション・コードOP CODEをデコードするもので
ある。バイトマーク・チェック回路6−0は、ラッチ3
−0のバイトマークとラッチ3−1のバイトマークとを
調べ、 (a) ストア・データが次の条件を満たすバイト長で
ある。Which one of the latches 1-0 to 1-3 is to be set with data is designated by a STAR pointer (not shown). Latched 2-0 to 2-3, latch 3-0
The same applies to the store addresses 3 to 3 and the store address registers 11-0 to 11-3. Store data (A)
Store address of store address register 11-
If set to 0, ST of store data (A)
B READY is set in the latch 4-0. Decoder 5
Is for decoding the operation code OP CODE selected and output from the latches 2-0 to 2-3. The byte mark check circuit 6-0 uses the latch 3
The byte mark of −0 and the byte mark of the latch 3-1 are checked, and (a) the store data has a byte length that satisfies the following condition.
A+B≦8(バイト),0≦A<8, 0≦B<8(バイト) (b) AとBは8バイト境界内でオーバーラップしな
い。A + B ≦ 8 (bytes), 0 ≦ A <8, 0 ≦ B <8 (bytes) (b) A and B do not overlap within an 8-byte boundary.
と言う条件を満たしている場合には、オンを出力するも
のである。他のバイトマーク・チェック回路6−1,6−
2,6−3も同様な動作を行う。SET STB MERGE生成回路7
−0ないし7−3はSET STB MERGEを生成するものであ
る。ストア・バッファ8−0ないし8−3には、Eユニ
ットからのストア・データが書き込まれる。例えば、ス
トア・データ(A)のSTB READYがラッチ4−0にセッ
トされたとすると、ストア・データ(A)はストア・バ
ッファ8−0にセットされる。ラッチ9−0にはラッチ
7−0のSET STB MERGEがセットされる。他のラッチ9
−1,9−2,9−3も同様な機能を持つ。デコーダ10は、S
ユニット内のオペレーション・コードOP CODEを記憶制
御装置が解読できる形に変換するものである。MERGE EN
Dが生成された時、余裕があればオペレーション・コー
ドOP DCODEはパーシャル・ストアからフル・ストアに変
換される。ストア・アドレス・レジスタ11−0ないし11
−3の中のストア・アドレスは選択回路14によって選択
され、選択されたストア・アドレスは主記憶アドレス・
レジスタ15にセットされる。選択マージ回路12は、オン
のSET STB MERGEが送られて来たとき、2個のストア・
バッファのデータをマージする。この際、バイトマーク
を参照することは当然である。選択マージ回路12の出力
はMCUデータイン・レジスタ13にセットされる。If the condition is satisfied, ON is output. Other byte mark check circuits 6-1, 6-
2, 6-3 also perform the same operation. SET STB MERGE generation circuit 7
-0 to 7-3 generate SET STB MERGE. Store data from the E unit is written in the store buffers 8-0 to 8-3. For example, if STB READY of the store data (A) is set in the latch 4-0, the store data (A) is set in the store buffer 8-0. The SET STB MERGE of the latch 7-0 is set in the latch 9-0. Other latch 9
-1,9-2,9-3 have the same function. The decoder 10 is S
It converts the operation code OP CODE in the unit into a form that can be read by the storage controller. MERGE EN
When D is generated, the opcode OP DCODE is converted from partial store to full store if there is room. Store address register 11-0 to 11
-3 is selected by the selection circuit 14, and the selected store address is the main memory address.
Set in register 15. The selective merge circuit 12 receives two sets of store data when an ON SET STB MERGE is sent.
Merge the data in the buffer. At this time, it is natural to refer to the byte mark. The output of the selective merge circuit 12 is set in the MCU data-in register 13.
第7図はSTBマージ回路の構成例を示す図である。同
図において、16ないし20はゲートをそれぞれ示してい
る。FIG. 7 is a diagram showing a configuration example of the STB merge circuit. In the figure, 16 to 20 respectively indicate gates.
ORゲート16は4個存在し、ORゲート17も4個存在す
る。STB BYTE MARK 0ないし3が0であり且つ3ないし
7が1の場合には、OR回路16−0は論理「0」を出力す
る。他のORゲート16−1ないし16−3も同様な機能をも
つ。STB BYTE MARK 0ないし3が0であり且つ3ないし
7が1の場合には、OR回路17−0は論理「0」を出力す
る。他のORゲート17−1ないし17−3も同様な機能を持
つ。OR回路16と17の部分は、4バイトずつマージする場
合の条件回路を構成している。There are four OR gates 16 and four OR gates 17. When STB BYTE MARK 0 to 3 is 0 and 3 to 7 is 1, the OR circuit 16-0 outputs a logic "0". The other OR gates 16-1 to 16-3 have the same function. When STB BYTE MARK 0 to 3 is 0 and 3 to 7 is 1, the OR circuit 17-0 outputs logic "0". The other OR gates 17-1 to 17-3 have the same function. The OR circuits 16 and 17 form a conditional circuit for merging 4 bytes at a time.
ゲート18は、−MCU PORT BUSYが0であり且つ−MS RE
Q WITHOUT STBが0であるときには−SEL OUT POINTERを
0にし、−MCU PORT BUSYが1か又は−MS REQ WITHOUT
STBが1のときには−SEL DELAY OUT POINTERを0にす
る。ゲート18は、MCU PORT BUSY時のポインタの切分け
回路を構成している。Gate 18 has -MCU PORT BUSY 0 and -MS RE
When Q WITHOUT STB is 0, -SEL OUT POINTER is set to 0, -MCU PORT BUSY is 1 or -MS REQ WITHOUT
When STB is 1, -SEL DELAY OUT POINTER is set to 0. The gate 18 constitutes a pointer dividing circuit at the time of MCU PORT BUSY.
ANDゲート19は4個存在し、ANDゲート20も4個存在す
る。ANDゲート19−0には、−STAR MATCH MARK(1),
−MERGE BYTE MARK 1st(0),−STB READY(0),−
MERGE BYTE MARK 2nd(1),−STB READY(1),−OU
T POINTER 0,−SEL OUT POINTERが入力される。他のAND
ゲート19−1ないし19−3にも同様なデータが入力され
る。ANDゲート20−0には、−STAR MATCH MARK(1),
−MERGE BYTE MARK 1st(0),−STB READY(0),−
MERGE BYTE MARK 2nd(1),−STB READY(1),−DE
LAY OUT POINTERR 0,−SEL DELAY OUT POINTERが入力さ
れる。他のANDゲート20−1ないし20−3にも同様なデ
ータが入力される。There are four AND gates 19 and four AND gates 20. AND gate 19-0 has -STAR MATCH MARK (1),
-MERGE BYTE MARK 1st (0), -STB READY (0),-
MERGE BYTE MARK 2nd (1), -STB READY (1), -OU
T POINTER 0, -SEL OUT POINTER is input. Other AND
Similar data is input to the gates 19-1 to 19-3. AND gate 20-0 has -STAR MATCH MARK (1),
-MERGE BYTE MARK 1st (0), -STB READY (0),-
MERGE BYTE MARK 2nd (1), -STB READY (1), -DE
LAY OUT POINTERR 0, -SEL DELAY OUT POINTER is input. Similar data is input to the other AND gates 20-1 to 20-3.
第8図はポインタの構成例を示す図である。同図にお
いて、21と22はポインタ、23は+1回路、24はセレクタ
をそれぞれ示している。ポインタ21はSTB OUT POINTER
を構成し、ポインタ22はSTB DELAY OUT POINTERを構成
する。ポインタ21の値は、MS REQUESTがオンになると、
+1回路23により+1される。ポインタ22の値はポイン
タ21より1だけ少ない。セレクタ24は、第7図の−SEL
OUT POINTERが0の場合にはポインタ21の値を出力し、
−SEL DELAY OUT POINTERが0の場合にはポインタ22の
値を出力する。FIG. 8 is a diagram showing a configuration example of the pointer. In the figure, 21 and 22 are pointers, 23 is a +1 circuit, and 24 is a selector. Pointer 21 is STB OUT POINTER
And the pointer 22 constitutes an STB DELAY OUT POINTER. When MS REQUEST is turned on, the value of pointer 21
It is incremented by 1 by the +1 circuit 23. The value of pointer 22 is one less than pointer 21. The selector 24 is -SEL in FIG.
If OUT POINTER is 0, the value of pointer 21 is output,
-When SEL DELAY OUT POINTER is 0, the value of pointer 22 is output.
第9図はマージ・エンド回路の構成例を示す図であ
る。第9図において、25−0ないし25−3はAND回路、2
6−0ないし26−3はラッチを示している。第9図
(a)に示すように、AND回路25−0には、−STAR MATC
H MARK 1と−SET STB 0 MERGEが入力される。AND回路25
−0の出力はラッチ26−0にセットされる。他のAND回
路25−1ないし25−3にも同様なデータが入力され、そ
の出力は対応するラッチにセットされる。ラッチ25−0
ないし25−3の出力がSTB MERGE ENDになる。FIG. 9 is a diagram showing a configuration example of the merge end circuit. In FIG. 9, 25-0 to 25-3 are AND circuits, 2
6-0 to 26-3 are latches. As shown in FIG. 9A, the AND circuit 25-0 includes -STAR MATC.
H MARK 1 and −SET STB 0 MERGE are input. AND circuit 25
The -0 output is set in latch 26-0. Similar data is input to the other AND circuits 25-1 to 25-3, and its output is set in the corresponding latch. Latch 25-0
Or the output of 25-3 becomes STB MERGE END.
第9図(b)に示すように、−STAR MARK 1が0であ
ることは、STB 0のストア・データとSTB 1のストア・デ
ータの先頭アドレスが一致していることを表している。
−SET STB 0 MERGEが0であることは、STB 0のストア・
データとSTB 1のストア・データがマージされたことを
示している。この場合、STB 0のストア・データに基づ
くMCUリクエストは出されるが、STB1に対してはMERGE E
NDが出される。SET MERGE ENDはマージされる側(この
場合はSTB 1側の)のMCUリクエストを止めるために用い
られる。As shown in FIG. 9B, the fact that -STAR MARK 1 is 0 means that the start addresses of the STB 0 store data and STB 1 store data match.
-SET STB 0 MERGE is 0 means STB 0 store
Indicates that the data and STB 1 store data have been merged. In this case, an MCU request based on STB 0 store data is issued, but STB 1 MERGE E
ND is issued. SET MERGE END is used to stop the MCU request on the merged side (STB 1 side in this case).
第10図はバイトマーク・オール0の回路の構成例であ
る。同図において、27−0ないし27−3はOR回路、28−
0ないし28−3はAND回路、29もOR回路をそれぞれ示し
ている。FIG. 10 shows an example of the configuration of the byte mark all 0 circuit. In the figure, 27-0 to 27-3 are OR circuits, 28-
Reference numerals 0 to 28-3 are AND circuits, and 29 is an OR circuit.
OR回路27−0には、STB 0のバイトマーク0ないし7
が入力され、これらのバイトマークが全て0の場合には
0を出力する。他のOR回路27−1ないし27−3には同様
なデータが入力される。AND回路28−0は、OR回路27−
0が0を出力し、且つSTB OUT POINTERがSTB 0を選択し
た時に1を出力する。他のAND回路28−1ないし28−3
も同様な機能を持つ。AND回路28−0ないし28−3の出
力が+SUPPRESSED STORE DATA CASEになる。OR回路29に
は、+SUPPRESSED STORE DATA CASEと+STB MERGE END
が入力される。OR回路29の出力が+INHIBIT MCU REQ AT
BM ALL 0になる。The OR circuit 27-0 has STB 0 byte marks 0 to 7
Is input, and if all of these byte marks are 0, 0 is output. Similar data is input to the other OR circuits 27-1 to 27-3. The AND circuit 28-0 is the OR circuit 27-
0 outputs 0 and STB OUT POINTER outputs 1 when STB 0 is selected. Other AND circuits 28-1 to 28-3
Has the same function. The outputs of the AND circuits 28-0 to 28-3 become + SUPPRESSED STORE DATA CASE. The OR circuit 29 has + SUPPRESSED STORE DATA CASE and + STB MERGE END
Is entered. The output of OR circuit 29 is + INHIBIT MCU REQ AT
BM ALL becomes 0.
+INHIBIT MCU REQ AT MG ALL 0は、基本的にはスト
ア・データが何らかの理由によりキャンセルされた場合
に、バイトマークのみがオール0に強制された時に送出
される。この場合、STB制御部では、既に各制御レジス
タがセットされ(例えばSTAR VALID信号)ており、Sユ
ニットで処理を開始したことを自CPUに報告しているた
め、Sユニットの処理を止めることができない。そこで
記憶制御装置へのリクエストを止めることで、Sユニッ
ト内では通常のストアが完了したように見せることが必
要である。INHIBIT MCU REQ AT BM ALL 0は、このため
に生成される信号である。+ INHIBIT MCU REQ AT MG ALL 0 is basically sent when only the byte mark is forced to all 0s when the store data is canceled for some reason. In this case, the STB control unit has already set each control register (for example, STAR VALID signal) and has reported to the own CPU that the processing has been started in the S unit, so the processing of the S unit can be stopped. Can not. Therefore, it is necessary to stop the request to the storage control device so that the normal storage is completed in the S unit. INHIBIT MCU REQ AT BM ALL 0 is a signal generated for this purpose.
第11図はMCUストア・リクエスト・ダミー回路の構成
例を示す図である。同図において、30−0ないし30−3
はAND回路、31ないし33もAND回路、34と35はラッチをそ
れぞれ示している。AND回路30−0には、−STB 0−READ
Yと−SET STB OUT POINTER 0が入力される。他のAND回
路30−1ないし30−3にも同様なデータが入力される。
AND回路31には、AND回路30−0ないし30−3の出力が入
力される。AND回路31の出力が−SET MCU REQ −STBとな
る。AND回路32には、−SET MCU REQ-STBと、+INHIBIT
MCU REQ AT BM ALL 0とが入力される。AND回路32の出力
はラッチ34にセットされる。ラッチ34のストア・リクエ
ストは記憶制御装置に送られる。AND回路33には、−SET
MCU REQ-STBが入力される。AND回路33の出力はラッチ3
5にセットされる。ラッチ35の出力がDUMMY MCU REQ TO
STB CNTLになる。FIG. 11 is a diagram showing a configuration example of the MCU store request dummy circuit. In the figure, 30-0 to 30-3
Is an AND circuit, 31 to 33 are AND circuits, and 34 and 35 are latches, respectively. AND circuit 30-0 has -STB 0-READ
Y and −SET STB OUT POINTER 0 are input. Similar data is input to the other AND 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 -SET MCU REQ -STB. AND circuit 32 has -SET MCU REQ-STB and + INHIBIT
MCU REQ AT BM ALL 0 is input. The output of the AND circuit 32 is set in the latch 34. The store request for latch 34 is sent to the storage controller. -SET to AND circuit 33
MCU REQ-STB is input. The output of AND circuit 33 is latch 3
Set to 5. The output of latch 35 is DUMMY MCU REQ TO
Become STB CNTL.
上述のように、+INHIBIT MCU REQ AT BM ALL 0信号
により、記憶制御装置へのストア・リクエストは止めら
れるが、ダミー・リクエストは全ての場合にセットされ
る。そして、このダミー・リクエストをSTB制御部へ送
出し、STB OUT POINTERを+1ずつカウント・アップす
ることで、ストア・バッファから記憶制御装置へ送るデ
ータの順序性を保つ。As described above, the + INHIBIT MCU REQ AT BM ALL 0 signal stops the store request to the storage controller, but the dummy request is set in all cases. Then, by sending this dummy request to the STB control unit and counting up STB OUT POINTER by +1, the order of the 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 the data of the consecutive partial stores can be merged, the data is merged and the merged data is sent to the storage controller, so that the partial store can be efficiently performed.
第1図は本発明の原理図、第2図はストア・オペレーシ
ョンのフローを示す図、第3図は同一バンクをアクセス
する連続したパーシャル・ストアを説明する図、第4図
は中央処理装置−記憶制御装置間のポート・ビジーによ
りストア・データA,Bがマージ可能な場合を示す図、第
5図は先のストア・リクエストが待たされた場合のスト
ア・データA,Bのマージを説明する図、第6図は本発明
の1実施例構成を示す図、第7図はSTBマージ回路の構
成例を示す図、第8図はポインタの構成例を示す図、第
9図はマージ・エンド回路の構成例を示す図、第10図は
バイトマーク・オール0の回路の構成例を示す図、第11
図は記憶制御装置ストア・リクエスト・ダミー回路の構
成例を示す図である。 1−0ないし1−3……STAR MATCHがセットされるラ
ッチ、2−0ないし2−3……オペレーション・コード
OP-CODEがセットされるラッチ、3−0ないし3−3…
…バイトマークがセットされるラッチ、4−0ないし4
−3……STB READYがセットされるラッチ、5……デコ
ーダ、6−0ないし6−3……バイトマーク・チェック
回路、7−0ないし7−3……SET STB MERGE生成回
路、8−0ないし8−3……ストア・バッファ、9−0
ないし9−3……MERGE ENDがセットされるラッチ、10
……デコーダ、11−0ないし11−3……ストア・アドレ
ス・レジスタ、12……選択マージ回路、13……MCUデー
タイン・レジスタ、14……選択回路、15……主記憶アド
レス・レジスタ。FIG. 1 is a principle diagram of the present invention, FIG. 2 is a diagram showing a flow of a store operation, FIG. 3 is a diagram for explaining consecutive partial stores accessing the same bank, and FIG. 4 is a central processing unit. FIG. 5 shows a case where the store data A and B can be merged due to port busy between the storage controllers, and FIG. 5 explains the merge of the store data A and B when the previous store request is waited. FIG. 6 is a diagram showing a configuration of an embodiment of the present invention, FIG. 7 is a diagram showing a configuration example of an STB merge circuit, FIG. 8 is a diagram showing a configuration example of a pointer, and FIG. 9 is a merge end. FIG. 10 is a diagram showing a circuit configuration example, FIG. 10 is a diagram showing a circuit configuration example of a byte mark all 0, FIG.
The figure 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 STAR MATCH is set, 2-0 to 2-3 ... Operation code
Latch with OP-CODE set, 3-0 to 3-3 ...
... Latches with bite marks set, 4-0 to 4
-3 ... STB READY set latch, 5 ... decoder, 6-0 to 6-3 ... byte mark check circuit, 7-0 to 7-3 ... SET STB MERGE generation circuit, 8-0 To 8-3 ... Store buffer, 9-0
To 9-3 ... Latch where MERGE END is set, 10
...... Decoder, 11-0 to 11-3 ...... Store address register, 12 ...... Selection merge circuit, 13 ...... MCU data-in register, 14 ...... Selection circuit, 15 ...... Main memory address register.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 勉 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭61−80447(JP,A) 特開 昭59−136859(JP,A) 特開 昭58−208982(JP,A) 特開 昭56−54558(JP,A) ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Tsutomu Tanaka, 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (56) References JP 61-80447 (JP, A) JP 59-136859 (JP, A) JP 58-208982 (JP, A) JP 56-54558 (JP, A)
Claims (1)
ッファのストア・データがセットされる記憶制御装置デ
ータイン・レジスタとを有し、 ストア・データを複数個のストア・バッファの中の1個
に格納し、次のストア・データを次のストア・バッファ
に格納し、中央処理装置と記憶制御装置の間のデータ・
バスが空くのを待って、ストア・バッファに格納されて
いるストア・データを記憶制御装置データイン・レジス
タを経由して記憶制御装置に送るように構成された中央
処理装置において、 パーシャル・ストア・データ(A)が第i番目のストア
・バッファに格納され、パーシャル・ストア・データ
(B)が第i+1番目のストア・バッファに格納されて
いる場合には、 パーシャル・ストア・データ(A)の先頭アドレス
とパーシャル・ストア・データ(B)の先頭アドレスが
同一であること、 パーシャル・ストア・データ(A)のバイト長を
A、パーシャル・ストア・データ(B)のバイト長を
B、主記憶装置のバンク幅をWとするとき、 A+B≦W(バイト) 0≦A<W(バイト) 0≦B<W(バイト) なる関係が存在すること、 パーシャル・ストア・データ(A)とパーシャル・
ストア・データ(B)がWバイト境界内でオーバラップ
しないこと、 等の条件が成立しているときには、パーシャル・ストア
・データ(A)とパーシャル・ストア・データ(B)を
マージし、マージしたものを記憶制御装置データイン・
レジスタを介して記憶制御装置に送ることを特徴とする
ストア・バッファのマージ方式。1. A plurality of store buffers and a storage controller data-in register to which store data of the store buffer is set, wherein store data is stored in one of the plurality of store buffers. Data stored between the central processing unit and the storage controller.
In a central processing unit that is configured to wait for the bus to become empty and send the store data stored in the store buffer to the storage controller via the storage controller data-in register, a partial store If the data (A) is stored in the i-th store buffer and the partial store data (B) is stored in the i + 1-th store buffer, the partial store data (A) The start address and the start address of the partial store data (B) are the same, the byte length of the partial store data (A) is A, the byte length of the partial store data (B) is B, and the main memory When the bank width of the device is W, there is a relationship of A + B ≦ W (byte) 0 ≦ A <W (byte) 0 ≦ B <W (byte), We shall store data (A) and partial
When the conditions such as that the store data (B) do not overlap within the W byte boundary are satisfied, the partial store data (A) and the partial store data (B) are merged and merged. Storage controller data in
A store buffer merging method characterized by sending 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 JPS6386044A (en) | 1988-04-16 |
JPH0823842B2 true 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) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5941215B2 (en) * | 1979-10-09 | 1984-10-05 | 富士通株式会社 | Main memory write control method |
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
Also Published As
Publication number | Publication date |
---|---|
JPS6386044A (en) | 1988-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6969853B2 (en) | Multi-core bus architecture with non-blocking high performance transaction credit system | |
JP2870207B2 (en) | Data processor with delinquent cache load | |
US5659709A (en) | Write-back and snoop write-back buffer to prevent deadlock and to enhance performance in an in-order protocol multiprocessing bus | |
KR100228940B1 (en) | Method for maintaining memory coherency in a computer system having a cache | |
JPH05282203A (en) | Cache controller | |
US5537659A (en) | Bus controller for adjusting port size communication between a bus master and bus slave using bus master information | |
JPS60168238A (en) | Instruction control system | |
JPH0564813B2 (en) | ||
JPS58133696A (en) | Storage control system | |
WO1996027833A1 (en) | Information processor | |
JPH0532775B2 (en) | ||
US6738837B1 (en) | Digital system with split transaction memory access | |
JP4131789B2 (en) | Cache control apparatus and method | |
JPH02103656A (en) | System for controlling successive reference to main storage | |
US4149245A (en) | High speed store request processing control | |
EP0474256A2 (en) | In-circuit emulator | |
JPS62102344A (en) | Buffer memory control system | |
EP1050807A1 (en) | Memory access in a computer memory | |
JPH0823842B2 (en) | Store buffer merge method | |
US5717931A (en) | Method and apparatus for communicating between master and slave electronic devices where the slave device may be hazardous | |
US4737908A (en) | Buffer memory control system | |
US5276853A (en) | Cache system | |
JPH0353657B2 (en) | ||
JPH0850560A (en) | Write and/or read access priority management apparatus | |
JPS634219B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |