JPH0823842B2 - ストア・バッファのマージ方式 - Google Patents

ストア・バッファのマージ方式

Info

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
Application number
JP61232397A
Other languages
English (en)
Other versions
JPS6386044A (ja
Inventor
啓司 山崎
廣貞 利根
田中  勉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61232397A priority Critical patent/JPH0823842B2/ja
Publication of JPS6386044A publication Critical patent/JPS6386044A/ja
Publication of JPH0823842B2 publication Critical patent/JPH0823842B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 連続する2つのストアが8バイト境界にある場合、主
記憶装置における同一バンクをアクセスするため、後続
のストアはバンク・ビジーで待たされる事になる。そこ
で、この様な場合、先のストア・リクエストを記憶制御
装置へ送出する前に連続した次のストア・データがスト
ア・バッファに格納されたならば、この2つのストア・
データをマージし、記憶制御装置へストア・リクエスト
を送出するものである。これにより、同一バンク内への
ストアについては、1回のストア・リクエストで済み、
バンク・ビジーにより、後続のストアが何τも待たされ
ることは少なくなる。この様にして、パーシャル・スト
アの性能を高めるようにしたストア・バッファのマージ
方式である。
〔産業上の利用分野〕
本発明は、中央処理装置の記憶制御ユニット(Sユニ
ット)において、2個のストア・バッファに格納されて
いるデータがマージ可能な場合には、これらのデータを
マージして記憶制御装置に送るようにしたストア・バッ
ファのマージ方式に関するものである。
〔従来の技術〕
従来の技術においては、連続するパーシャル・ストア
については、ストア・バッファに格納された順に、記憶
制御装置に対し順番にストア・リクエストを送出してい
た。
〔解決しようとする問題点〕
従来技術では、パーシャル・ストアを受け入れた記憶
制御装置では、主記憶装置に対し、ストア・アドレスの
バンクをフェッチ(8バイト)し、ストアするデータの
バイトマークを見て、これをストア・データの中にセッ
トし、主記憶装置へストアを行う。この間、後続のスト
アは、同一バンクを使用する為に十数τ間待たされるこ
とになる。
本発明は、この点に鑑みて創作されたものであって、
このような無駄なビジー状態を回避することを目的とし
ている。
〔問題点を解決するための手段〕
第1図は本発明の原理図である。記憶制御装置は中央
処理装置やチャネル処理装置からの主記憶アクセスを制
御するものであり、各処理装置からのアクセス要求を受
け付けるためのMCUポートを有している。中央処理装置
は、Sユニット、Eユニット及びIユニットから構成さ
れている。Sユニットは、ストア・バッファ8−0ない
し8−3や選択マージ回路12、記憶制御装置データイン
・レジスタ13を有している。Eユニットからのストア・
データはストア・バッファ8−0ないし8−3の中の何
れかに格納される。中央処理装置と記憶制御装置との間
のデータ・バスが空きの場合には、直ちに選択マージ回
路12によって選択されたストア・バッファのデータが記
憶制御装置データイン・レジスタを介して記憶制御装置
に転送される。中央処理装置と記憶制御装置との間のデ
ータ・バスが空きでない場合には、空きになるのを待っ
て、選択マージ回路12によって選択されたストア・バッ
ファのデータが記憶制御装置データイン・レジスタを介
して記憶制御装置に転送される。
例えば、パーシャル・ストア・データ(A)がストア
・バッファ8−0に格納され、パーシャル・ストア・デ
ータ(B)がストア・バッファ8−1に格納された場
合、マージ条件が成立しているか否かが調べられ、成立
しているときにはパーシャル・ストア・データ(A)と
パーシャル・ストア・データ(B)が選択マージ回路12
によってマージされ、マージ・データが記憶制御装置デ
ータイン・レジスタ13を介して記憶制御装置に送られ
る。
マージ条件は、 パーシャル・ストア・データ(A)の先頭アドレス
とパーシャル・ストア・データ(B)の先頭アドレスが
同一である。
パーシャル・ストア・データ(A)のバイト長を
A、パーシャル・ストア・データ(B)のバイト長を
B、主記憶装置のバンク幅をW(例えば、8バイト)と
するとき、 A+B≦W(バイト) 0≦A<W(バイト) 0≦B<W(バイト) なる関係が存在する。
パーシャル・ストア・データ(A)とパーシャル・
ストア・データ(B)がWバイト境界内でオーバーラッ
プしない。
と言うものである。なお、先頭アドレスとは、データが
格納されるWバイト境界の先頭を意味する。
〔実施例〕
中央処理装置から記憶制御装置、即ち主記憶装置に対
して行なえる8バイト以下のストアの型は、データ長か
ら見ると、次の3つのケースとなる。
8バイト未満のパーシャル・ストア 8バイトのパーシャル・ストア 8バイトのフル・ストア ここで〜は、中央処理装置からのストア・リクエ
ストと同時に送出されるオペレーション・コード及びバ
イトマークにより区別される。とのケースにおいて
は、記憶制御装置−主記憶装置間でストアが完了し次の
ストアが実行できるまでに15τ間要する。一方、のケ
ースは8τで完了する。
そこで、連続するストアの場合に、同一バンクのアド
レスであれば上記,のストア・タイプでリクエスト
を出せば、バンク・ビジーによる無駄な待状態は回避で
きる筈である。
第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ユニット内のパイ
プラインの各ステートについて簡単に説明する。
P:プライオリィティ・サイクル Iユニット及びSユニット内部から出された各リクエ
ストの優先順位を決定するサイクルであり、次のTサイ
クル用のレジスタへセットするアドレス及びデータのセ
レクト信号を作成する。
T:TLB&TAGサイクル Pサイクルで優先順位の取れたリクエストがTサイク
ルに入り、TLB及びローカル・バッファ記憶(キャッシ
ュと同義)のタグ(TAG)がアクセスされる。
B:バッファ・サイクル Tサイクルに入ったリクエストはBサイクルに移り、
TサイクルでアクセスされTLBから読み出された絶対ア
ドレスが実アドレス・レジスタ(Real Address Registe
r)にセットされる。また、タグ・マッチ(TAG MATCH)
も検出され、ローカル・バッファ記憶のデータがアクセ
スされて、データが読み出される。
R:リザルト・サイクル Rサイクルに入ったリクエストに対するステータス
が、Iユニット及びEユニットへ報告される。
W:ライト・サイクル TLB及びローカル・バッファ記憶/タグがアクセスさ
れる。また、EユニットからのデータがSDRにセットさ
れる。
S:ストア・サイクル ストア・データ・レジスタの値をSTBにセットする。
また、ローカル・バッファ記憶のデータ部がアクセスさ
れる。
この様なパイプライン中で、主記憶装置における同一
バンクをアクセスするストアの場合、パイプラインは第
3図の様になる。ここで、ストア・バッファ部の動きを
パイプラインに沿って説明すると、Rサイクルにおい
て、パイプラインを流れて来たストア・アドレスが前の
Bサイクルにおいて有効であると、当該アドレスをSTAR
にセットすると同時に、STAR VALIDをつける。このアド
レスは記憶制御装置へのストア・リクエストの送出が完
了するまで保持される。Wサイクルにおいては、Eユニ
ットからのストア・データがSDRにセットされる。セッ
トされたデータが有効であれば、次のSサイクルにおい
てSTBにデータをセットする。この時に、記憶制御装置
へ送出するデータが有効となった事を示すREADYフラグ
をつける。これが第3図に示すSTB READYである。この
時、データのバイト長を示すバイトマークをもセットす
る。
以上で中央処理装置から記憶制御装置へ送るストア・
データ及びストア・アドレスは準備された事になり、こ
の後は中央処理装置−記憶制御装置間のインターフェー
ス制御部に送られる事になる。インタフェース制御部
は、中央処理装置−記憶制御装置のデータ・バスが空く
のを待って非同期にデータの授受を行う。中央処理装置
のインタフェース制御部は、このデータ・バスが空にな
るのを待って、記憶制御装置に対しストア・リクエスト
を送出する。これがパイプラインで示した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から記
憶制御装置へデータを送出するかを示す。
STB OUT POINTERによりSTBから選択されたデータはMD
IRにセットされ、この後に記憶制御装置へ送出される
が、第3図の様な連続するストアの場合、ストア・デー
タ(A)は記憶制御装置へ送出されるが、ストア・デー
タ(B)は先に説明した様に、同一バンクをアクセスす
る為に15τ間待たされ、バンク・ビジーが解除された後
に記憶制御装置へ送出される。
今、仮にストア・データ(A)が中央処理装置−記憶
制御装置間のデータ・バスでビジー状態になって第4図
に示す様に待たされた場合や第3図においてSTB UPPER
が1τ送れた場合、ストア・データ(A)のリクエスト
を出す時には、ストア・データ(B)についても、記憶
制御装置への送出が可能となっている。この様な状態に
おいても、ストア・データ(A),(B)を別々のパー
シャル・ストアとして処理する事は、後半のストアが15
τ間無駄に待されることとなる。
本発明は、前半のパーシャル・ストア・データがMDIR
にセットされる前に後半のストア・データがSTBに格納
されていれば、先のデータをMDIRにセットする時に後半
のデータをマージし、8バイト境界に揃えて記憶制御装
置へ送出すると言うものである。ただし、次の条件を持
ったストアの場合のみ可能となる。
連続するストア・アドレスの先頭アドレスが同一で
ある。
ストア・データが次の条件を満たすバイト長であ
る。
A+B≦8(バイト),0≦A<8, 0≦B<8(バイト) AとBは8バイト境界内でオーバーラップしない。
次にマージの動きを第4図,第5図によってA=B=
4(バイト)の場合について説明する。
(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にセッ
トする。
次に、後続の4バイト・ストアに着目すれば、アドレ
ス・マッチ回路(図示せず)において、先にパイプライ
ンを流れていった4バイトのストア・アドレスとの先頭
アドレスのマッチをBサイクルで検知し、これをSTB制
御部へ送出する。STB制御部ではこの信号を受け、STAR
POINTERの値に従って該当するSTAR MATCH MARKのラッチ
をオンにする。これがパイプライン(B)で示すRサイ
クルである。
また、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であ
る。
このSTB MERGEを受けて、該当する2つのSTBより4バ
イトずつのデータを取り出し、MDIRにセットする。ま
た、この信号により、STB MERGE ENDをセットする。こ
のMERGE ENDフラグにより、後半4バイトのストア・リ
クエストがMS REQUESTをセットしようとする時に、自ら
のバイトマークを強制的にオール0にすることで、MS R
EQUESTをダミー・リクエストに変えて、記憶制御装置へ
リクエストを送出することを止める。これでマージ後に
後半4バイトを2重に記憶制御装置へ送出する事はな
い。なお、ダミー・リクエストについては後述する。
ストア・リクエストを受け取る記憶制御装置では、同
時に送られて来るオペレーション・コードOP CODEによ
り先に述べた3つのストア・ケースの何れであるかを判
別する。このケースでは、記憶制御装置に対しパーシャ
ル・ストアとして送出されたが、タイミングによって
は、オペレーション・コードOP CODEをモディファイす
る事で、フル・ストアで送出可能となる。これが第5図
のケースとなる。
(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バイトのフル・ストアの処理を行う
事になる。
(iii) 第3図に示す様な連続する4バイトのストア
のマージ 第3図示す様な場合にも、STB UPPER FLAGがMS REQUE
STがオンになった時(パイプライン(B)のSサイク
ル)にオンとなればSTB MERGE条件が取れるから、マー
ジ可能となる。ただし、第4図の場合と同様に、オペレ
ーション・コードOP CODEのモディファイが間に合わな
いため、パーシャル・ストアとして処理される。
以上のように(i)ないし(iii)でマージの具体例
を説明したが、本発明はSTB MERGE条件が発生する場合
には積極的にデータ・マージを行うもので、4バイト・
データの連続処理等においては、有効な手段となるもの
である。4バイトのときのSTB MERGE条件は、 (a) 前半のSTBのデータは8バイトのうち上位4バ
イトのデータである。
(b) 後半のSTBの先頭アドレスが前半のストア・ア
ドレスとマッチした。
(c) 後半のSTBのデータは8バイトのうち下位4バ
イトのデータである。
(d) 前半の4バイト・データがMDIRにセットされる
時には後半4バイトもSTBに書き込まれている。
と言うものである。
また、マージした後における後半の4バイトのストア
・データの処理であるが、MERGE ENDフラグをセットす
る事により、このフラグを利用し、後半のBYTE MARKを
強制的にオール0にし、MCUインターフェース制御部へ
送る。MCUインタフェース制御部においては、BYTE MARK
が全て0であると、MS REQUESTのセット条件を落とす様
にした。しかし、これではSTB制御部のOUT POINTERの制
御が乱れてしまう為、MS REQUESTのコピー・レジスタを
設けた。このコピー・レジスタはBYTE MARKがオール0
であってもセットされる様にした為、これを使用するこ
とで、STB制御部内は、通常のMS REQUESTが送られた様
にふるまうことが可能となった。
第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をセットするラッチを
示している。
ラッチ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) ストア・データが次の条件を満たすバイト長で
ある。
A+B≦8(バイト),0≦A<8, 0≦B<8(バイト) (b) AとBは8バイト境界内でオーバーラップしな
い。
と言う条件を満たしている場合には、オンを出力するも
のである。他のバイトマーク・チェック回路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にセットされる。
第7図はSTBマージ回路の構成例を示す図である。同
図において、16ないし20はゲートをそれぞれ示してい
る。
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バイトずつマージする場
合の条件回路を構成している。
ゲート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時のポインタの切分け
回路を構成している。
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にも同様なデ
ータが入力される。
第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の
値を出力する。
第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になる。
第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リクエストを止めるために用い
られる。
第10図はバイトマーク・オール0の回路の構成例であ
る。同図において、27−0ないし27−3はOR回路、28−
0ないし28−3はAND回路、29もOR回路をそれぞれ示し
ている。
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になる。
+INHIBIT MCU REQ AT MG ALL 0は、基本的にはスト
ア・データが何らかの理由によりキャンセルされた場合
に、バイトマークのみがオール0に強制された時に送出
される。この場合、STB制御部では、既に各制御レジス
タがセットされ(例えばSTAR VALID信号)ており、Sユ
ニットで処理を開始したことを自CPUに報告しているた
め、Sユニットの処理を止めることができない。そこで
記憶制御装置へのリクエストを止めることで、Sユニッ
ト内では通常のストアが完了したように見せることが必
要である。INHIBIT MCU REQ AT BM ALL 0は、このため
に生成される信号である。
第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になる。
上述のように、+INHIBIT MCU REQ AT BM ALL 0信号
により、記憶制御装置へのストア・リクエストは止めら
れるが、ダミー・リクエストは全ての場合にセットされ
る。そして、このダミー・リクエストをSTB制御部へ送
出し、STB OUT POINTERを+1ずつカウント・アップす
ることで、ストア・バッファから記憶制御装置へ送るデ
ータの順序性を保つ。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、2
個の連続するパーシャル・ストアのデータをマージ出来
る場合にはマージし、マージされたデータを記憶制御装
置に送っているので、パーシャル・ストアを効率よく行
うことが可能になる。
【図面の簡単な説明】
第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……主記憶アド
レス・レジスタ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 勉 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭61−80447(JP,A) 特開 昭59−136859(JP,A) 特開 昭58−208982(JP,A) 特開 昭56−54558(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項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)を
    マージし、マージしたものを記憶制御装置データイン・
    レジスタを介して記憶制御装置に送ることを特徴とする
    ストア・バッファのマージ方式。
JP61232397A 1986-09-30 1986-09-30 ストア・バッファのマージ方式 Expired - Fee Related JPH0823842B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61232397A JPH0823842B2 (ja) 1986-09-30 1986-09-30 ストア・バッファのマージ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61232397A JPH0823842B2 (ja) 1986-09-30 1986-09-30 ストア・バッファのマージ方式

Publications (2)

Publication Number Publication Date
JPS6386044A JPS6386044A (ja) 1988-04-16
JPH0823842B2 true JPH0823842B2 (ja) 1996-03-06

Family

ID=16938599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61232397A Expired - Fee Related JPH0823842B2 (ja) 1986-09-30 1986-09-30 ストア・バッファのマージ方式

Country Status (1)

Country Link
JP (1) JPH0823842B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5941215B2 (ja) * 1979-10-09 1984-10-05 富士通株式会社 主記憶装置書込み制御方式
JPS58208982A (ja) * 1982-05-31 1983-12-05 Nec Corp ストアバツフア
JPS59136859A (ja) * 1983-01-27 1984-08-06 Nec Corp バツフア制御装置
JPS6180447A (ja) * 1984-09-28 1986-04-24 Hitachi Ltd 記憶装置のストア制御方式

Also Published As

Publication number Publication date
JPS6386044A (ja) 1988-04-16

Similar Documents

Publication Publication Date Title
JP6969853B2 (ja) ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ
JP2870207B2 (ja) 延滞キャッシュ・ロードを有するデータプロセッサ
US5659709A (en) Write-back and snoop write-back buffer to prevent deadlock and to enhance performance in an in-order protocol multiprocessing bus
KR100228940B1 (ko) 메모리 일관성 유지 방법
JPH05282203A (ja) キャッシュ・コントローラ
US5537659A (en) Bus controller for adjusting port size communication between a bus master and bus slave using bus master information
JPS60168238A (ja) パイプラインデータ処理装置
CN85109251B (zh) 先行控制的数据处理系统
CN113924558A (zh) 阶层式存储器系统中的存储器管线控制
JPH0564813B2 (ja)
JPS58133696A (ja) 記憶制御方式
WO1996027833A1 (en) Information processor
JPH0532775B2 (ja)
US6738837B1 (en) Digital system with split transaction memory access
JP4131789B2 (ja) キャッシュ制御装置および方法
JPH02103656A (ja) 主記憶参照の遂次化制御方式
US4149245A (en) High speed store request processing control
EP0474256A2 (en) In-circuit emulator
CN109783933B (zh) 一种ahb总线访问片上sram的桥接方法
JPS62102344A (ja) バツフア・メモリ制御方式
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
US5717931A (en) Method and apparatus for communicating between master and slave electronic devices where the slave device may be hazardous
JPH0823842B2 (ja) ストア・バッファのマージ方式
US4737908A (en) Buffer memory control system
US5276853A (en) Cache system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees