JPH05100849A - バツフア記憶制御方式 - Google Patents
バツフア記憶制御方式Info
- Publication number
- JPH05100849A JPH05100849A JP3257302A JP25730291A JPH05100849A JP H05100849 A JPH05100849 A JP H05100849A JP 3257302 A JP3257302 A JP 3257302A JP 25730291 A JP25730291 A JP 25730291A JP H05100849 A JPH05100849 A JP H05100849A
- Authority
- JP
- Japan
- Prior art keywords
- store
- control unit
- processing
- data
- request
- 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
Landscapes
- Advance Control (AREA)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
ーブイン処理が全て終了した後に逐次化を伴う命令が実
行されるようにする。 【構成】 命令制御部27、演算制御部28および記憶
制御部9で構成されるデータ処理装置が、複数のデータ
処理装置で共通にデータを記憶する主記憶装置8と記憶
制御部9のバッファ記憶151との間のデータ転送をス
トア・イン方式で制御し、かつ、ストア要求を一時的に
保持するストアバッファ11を介してストア処理を行な
う制御方式において、ストアバッファ11に保持されて
いるストア要求を伴うムーブインが、未だ実行されてい
ないムーブイン要求が存在することを検出する未ムーブ
イン処理検出手段1と、命令制御部27より逐次化を必
要とする命令が記憶制御部9に転送されたとき、未ムー
ブイン処理が検出されたならば、命令制御部27の処理
を中断させる命令制御部処理インターロック手段2と、
を備える。
Description
されるバッファ記憶装置を備えたパイプライン処理で命
令を実行する複数のデータ処理システムが、共通の主記
憶装置を使用する場合のデータ処理装置の逐次化を保証
するためのバッファ記憶制御方式に関する。
大量のデータを高速で処理することが要求されている。
この要求を達成させるために、中央処理装置(CPU)
はパイプライン処理で命令を実行させ、さらに複数のC
PUを使用して共通の主記憶装置(MSU)にアクセス
させるマルチプロセッサーシステムが採用されている。
作は低速であるため、各CPUは高速で動作するバッフ
ァ記憶(LBS)を持ち、MSUのデータを複数のブロ
ックに細分化し、必要とするデータブロックのコピーを
小容量のメモリに格納している。CPUからのデータの
アクセスは、まずLBSに対して行なわれ、LBSに対
象とするデータが存在しなかった時にMSUへアクセス
し、対象とするデータが存在するブロックをMSUより
読出し、LBSへ格納する(この処理をMI:ムーブイ
ンと呼ぶ)。このように記憶装置を階層化することによ
って、CPUからMSUへのアクセス回数が低減され、
処理時間を大幅に短縮することができる。
データ処理システムにおけるLBSの制御方式として
は、LBSのデータを書き換えるときに、LBSの対応
するMSUのデータも書き換えていくよう処理するスト
ア・スルー方式と、LBSの書き換え時点ではMSUに
ついては書き換えないで、LBSのエントリーをMSU
に戻していくときに、その書き換えられたLBSのデー
タをMSUに反映(MO:ムーブアウトと呼ぶ)させて
いくよう処理するストア・イン方式とがある。
めストア・イン方式と比較して制御が簡単である。しか
し、ストアアクセスの度にMSUへのアクセスが生じる
ために、MSUを共有するCPU数が増加すると共通バ
スのビジー率が増加し、MSUに対する平均アクセス時
間が増加してしまうという欠点がある。
は、MSUへのアクセスはMIとMO動作時に限られて
いるため、バスのビジー率をストア・スルー方式に比べ
て低く抑えることが可能であり、ストア・イン方式を採
用することが多くなっている。このようなストア・イン
方式を採用したLBSの制御方式の従来例を図6〜10
を参照して説明する。図6は従来例の構成図、図7はメ
インパイプラインとサブパイプライン処理で実行される
ステートのタイミング説明図、図8は動作タイムチャー
ト、図9はLBS排他制御の説明図、図10はMOSの
具体例である。
ライン処理されるCPUの動作について説明する。CP
Uは、通常、3つのユニットに分割されており、それぞ
れ、命令制御部(Iユニット)、演算制御部(Eユニッ
ト)、記憶制御部(Sユニット)と呼ばれる。Iユニッ
トは、命令の解読と解読に基づく処理の制御を行う。E
ユニットはIユニットから指示された演算を実行する。
SユニットはIユニットから指示された命令およびオペ
ランドの読み出しおよび書き込みを行う。
ステートに分割され、パイプライン処理によって実行さ
れる。ここでは、D,A,T,B,E,Wの6ステート
に分割されている場合について述べる。各ステートにお
いては D:命令の解読(デコード) A:オペランドアドレスの計算 T:TLB(論理/物理アドレス変換)およびTAG
(フラグ)の読み出し B:LBS読み出し E:演算実行 W:レジスタへの書き込み のような処理を行う。以下、このパイプラインをメイン
パイプラインと呼ぶ。
イプラインを持つ。ここでは、P,T,B,Rの4ステ
ートに分割されている場合について述べる。各ステート
においては P:各種リクエストの優先順位(プライオリティ)の決
定 T:TLBおよびTAGの読み出し、書き込み B:LBS読み出し、書き込み R:ステータスをIユニット,Eユニットへ報告 のような処理を行う。以下、このパイプラインをサブパ
イプラインと呼ぶ。
図7に示すように、サブパイプラインにおけるオペラン
ドアクセスのためのT,Bステートと同期して動作す
る。オペランドの論理アドレスはAサイクルにIユニッ
トで生成され、Sユニットへ送られる。ストアすべきデ
ータは、命令で指定されたレジスタから読みだされEユ
ニットへ送られる。Eユニットはこれを保持し、Eステ
ートにSユニットへ送出する。
について説明する。前述したように、PサイクルにIユ
ニットより送られてきた論理アドレスは、Tサイクルに
おいて[T cycle Logical Address Register](TLA
R)17に保持され、論理アドレスを物理アドレスに変
換するためのバッファ記憶(TLB)131とフラグが
格納されているタグメモリ(TAG)141にアクセス
される。論理アドレスおよび物理アドレスは31ビット
からなり、論理アドレスのビット1〜11はセグメント
インデックス,ビット12〜19はページインデック
ス,ビット20〜31はバイトインデックスである。バ
イトインデックスはページ内変位であり物理アドレスの
ビット20〜31と等しい。
つのウェイからなり、1つのウェイは256ラインから
構成されており、各ラインは論理アドレスのビット1〜
ビット11と物理アドレスのビット1〜ビット19を対
にして保持している。TAG141とLBS151は8
つのウェイからなり、1つのウェイは64ラインからな
る。TAG141のウェイおよびラインは、LBS15
1のウェイおよびラインと1対1に対応しており、LB
S151にあるデータのアドレス情報と、LBS151
のデータがストアにより変更されたことを示す変更ビッ
ト(C L )と、ブロックが書き込み可能な(排他型)ブ
ロックであるか、書き込み不可能な(共通型)ブロック
であるかを示すフラグ(EX)を持つ。
ドレスのビット1〜ビット19を保持し、LBS151
の1つのラインはMSUの内容を64バイト単位のブロ
ックにして保持しているものとする。TLAR17が保
持する論理アドレスのビット12〜ビット19によりT
LB131のラインを選択しPRIMARY とALTERNATE それ
ぞれから論理アドレスと物理アドレスを読み出す。TL
B131から読み出された論理アドレスは論理アドレス
比較器132においてTLAR17のビット1〜ビット
11と比較される。論理アドレス比較器132はPRIMAR
Y とALTERNATEのそれぞれにあり、論理アドレスの一致
が同時に検査される。二つの論理アドレス比較器から論
理アドレスが一致したことを示す信号が、物理アドレス
選択器134に送られ、PRIMARY 側の論理アドレスが一
致する場合にはPRIMARY側の物理アドレスが選択され、A
LTERNATE 側の論理アドレスが一致した場合にはALTERNA
TE 側の物理アドレスが選択される。
25によりTAG141のラインを選択し8つのウェイ
から同時にLBS151のデータのアドレスを読み出
す。各ウェイ毎に設けられた物理アドレス比較器142
によりTAG141から読み出された物理アドレスと、
TLB131から読み出された物理アドレスが比較され
る。比較の結果はレジスタ(LWNR)114に保持さ
れ、LBS151のウェイの選択およびCL ビットを登
録するTAG141のウェイ選択の際に参照される。
WNR114の出力を入力として、LBS151のどの
ウェイをアクセスするか、またTAG141のどのウェ
イにCL ビットをセットするかを決定し、それぞれに書
き込み可能信号を送出する。レジスタ(BLAR)18
はTLAR17のビット20〜ビット25をBサイクル
の間保持し、この出力でLBS151のラインを選択す
る。
れ、このデータが有効であることを示すIU STDV
信号をIユニットから受け取ってレジスタ(EUSTD
R)20にデータを取り込む。EUSTDR20の出力
はALIGN回路29により、LBS151のアドレス
にあわされ、レジスタ(STDR)113を介してレジ
スタ(BDIR)22に取り込まれ、LBS151に書
き込まれる。
して詳細にストアアクセス動作を説明する。まず、Pサ
イクルにおいて、Iユニット27からストア要求とスト
アを行うべき論理アドレスが送られてくる。この要求の
プライオリティが取られるとストアの第1フローが開始
される。TサイクルにおいてTLAR17はPサイクル
にIユニット27から送られてきた論理アドレス000
01004を取り込み保持する。この論理アドレスによ
りTLB131とTAG141のラインが選択される。
論理アドレス比較器132により論理アドレスを比較し
た結果、PRIMARY 側が一致し物理アドレス000E40
04に変換される。
スとTLB131から得られた物理アドレスを物理アド
レス比較器142において比較した結果TAG141の
ウェイ3がヒットし、ストアを行うべきブロックがLB
S151のウェイ3に存在することが検出される。変換
された物理アドレスはBサイクルにおいてBAAR19
に保持される。BLAR18の出力を、STLAR11
2はストアを行うべき論理アドレスとしてRサイクル以
降保持する。また、Rサイクル以降、LWNR114に
LBS151のウェイ番号3が保持される。
ニットよりデータが転送されることを示すIU STDV 信号
が、またEユニット29からストアデータが送られてく
る。IU STDV 信号を受けたSユニットは、ストアの第2
フローを開始するためのOP STORE REQUEST信号をセット
する。OP STORE REQUEST信号によりストアの第2フロー
が開始される。EUSTDR20には直前のサイクルに
送られてきたIU STDV信号をタイミング信号として、EU
STORE DATA “0043D5F2”を取り込む。
よりストアの第1フローで選択されたラインと同じTA
Gのラインを選択する。選択すべきウェイはLWNR1
14の値を参照し、ウェイ3が選択される。TAG14
1のウェイ3の選択されたラインには、LBS151の
データが変更を受けていることを示すCL ビットとして
1を書き込む。なお、このフローにおいて論理アドレス
を物理アドレスに変換する必要はないため、TLB13
1によるアドレス変換を行わないように、BY PASS TLB
信号がセットされる。また、EUSTDR20のデータ
はSTORE Dara Register(STDR)113に移され
る。
ウェイ3の選択されたラインにストアデータが書き込ま
れ、全ての処理が完了する。最後に、Rサイクルにおい
てIユニット27へストア要求の処理が完了したことを
示すSTV(STatus Vaiid)信号を返しメインパイプラ
インのインターロック(連続するEステート)を解除す
る。
PUが、共通のMSUに接続されているマルチプロセッ
サシステムにおいて、LBSとMSU間でのデータの一
致を保証するためには複数のCPUが同一のブロックに
対して同時にストアを行うことを禁止する排他制御が必
要となる。そこで、主記憶のあるブロックは1つのCP
UのLBSにしか存在しないように制御を行うのが一般
的である。しかし、この方法では読み出しの対象として
複数のCPUが共通のブロックを必要とする場合には、
各CPU間での通信に要するオーバーヘッドが大きくな
り著しい性能の低下が生じる。
可されているか否かを示す属性を与え、書き込みが許可
されているブロックのみCPU間での排他制御を行い、
読み出し専用のブロックは複数のCPUで共通すること
を可能とすることにより性能の向上が望める。この2種
類のブロックをそれぞれ排他型ブロック、共有型ブロッ
クと呼ぶ、MSUは各CPUが保持しているブロックの
アドレスと、そのブロックが排他型か共有型であるかを
常に把握して、矛盾の生じない排他制御を行う必要があ
る。このため、MSUは各CPUのTAGのコピーを持
たせて制御を行う。
せた排他制御の動作を図9を参照して説明する。まず、
CPU6がブロックAを排他型で持ち、ストアをブロッ
クAに対して行った後、CPU7においてブロックAに
対するストア要求が発生した場合について述べる。ブロ
ックAは排他型でCPU6が保持しているためCPU7
にブロックAは存在しない。そこでCPU7は、メイン
パイプラインにインターロックをかけてストアを保留
し、サブパイプライン制御回路12よりMSU ReQues
t Register(MRQR)25へMI要求をセットする。
MIアドレスは、BAAR19よりMove In Address Re
gister(MIAR)30を経由してMsu ReQuest Addres
s Register(MRQAR)26にセットする(1)。
8に対してブロックAの排他型MI要求を出す(2)。
排他型MI要求を受け取ったMSUは、CPU6のTA
G141のコピーを格納しているTAGC82を検索し
(3)ブロックAがCPU6に排他型で保持されている
ことを検出して排他制御回路81に報告する(4)。
MO要求をだす(5)。MSU8からのブロックAの無
効型MO要求はCPU6のSユニット内の、MSUから
の要求を保持するためのMsu Order Stack (MOS)3
1に保持される。MOS31は、図10で示されるよう
に、MSUからのMO要求は、まずMSUOrder In Regist
er (MOIR)311に保持される。次にINPOI
NTER313で指示されるSTACK内のレジスタ3
12に保持され、INPOINTER313の値がイン
クリメントされる。またOUTPOINTER314で
指示されるSTACK内のレジスタ312からMO要求
が順次読みだされ、OUTPOINTER314の値が
インクリメントされる。読みだされたMO要求はレジス
タ(MOOR)315よりサブパイプラインに投入され
(6)、MO処理が開始される(7)。
TAG141のブロックAに対するフラグExを排他か
ら無効にする(8)。MSU8はMOされたデータを書
き込む(9)と同時に、CPU6に対応するTAGC8
2をブロックAがCPU6に存在しないことを示す状態
に変更する(10)。
し(11)、CPU7に対応するTAGC83をブロッ
クAがCPU7に排他型で存在することを示す状態に変
更する(12)。ブロックAのデータはCPU7へとM
Iされ(13)、保留されていたストアをブロックAに
対して行いメインパイプラインのインターロックを解除
する。
Aに対するフラグExを排他型に、またCL ビットはデ
ータが変更されたことを示す「1」に変更する。次に、
CPU6とCPU7が共有型でブロックAを同時に保持
している状態で、CPU7においてブロックAに対する
ストア要求が発生した場合について述べる。
排他型ではないためストアを実行することはできない。
そこでCPU7は、メインパイプラインにインターロッ
クをかけてストアを保留し、MSU8に対してブロック
Aの共有型から排他型へのブロック変更要求を出す。
は、全てのTAGCを検索しブロックAがCPU6に共
有型で保持されていることを検出する。MSU8はCP
U6へブロックAのブロック無効化(BI)要求を出
す。MSUからブロックAのBI要求を受け取ったCP
U6はTAG141のブロックAの状態を共有から無効
にし、ブロック変更が完了したことをMSUへ通知す
る。
に対応するTAGC82をブロックAがCPU6に存在
しないことを示す状態に変更し、CPU7に対応するT
AGC83をブロックAがCPU7に排他型で存在する
ことを示す状態に変更する。この後、CPU7へブロッ
クAの共有型から排他型への変更許可通知を送る。
更許可通知を受け取った後、ブロックAを排他型にし、
保留されていたストアをブロックAに対して行いメイン
パイプラインのインターロックを解除する。以上に述べ
たような制御により、ストア・イン方式のLBSとMS
Uとのデータの一致が保たれる。しかし、前述した制御
によれば、LBSへストアが完了するまで、メインパイ
プラインは待機せねばならないため大きな性能低下を生
じてしまう。そこで、ストアデータを一時的に保持して
おくレジスタ(STB:ストアバッファ)を設け、メイ
ンパイプラインからのストアをストアバッファに保持
し、ストアバッファへ書き込んだ時点でIユニットはス
トアを終了したものと見なしてメインパイプラインを先
に進め、Sユニットが自ユニット内部でLBSへの書き
込みを制御する方法が考案された。
B制御回路の具体例を図12に示す。図11において
は、STB11は4組のSTLAR112,STDR1
13,LWNR114およびSTB制御回路111によ
り構成されている。またSTB制御回路111は、図1
2に示すように、INPOINTER51,OUTPO
INTER52,STAR VALID REG53に
より構成されている。
ンタで次に使用すべきSTLAR112とSTDR11
3を指定する。OUTPOINTER52は2ビットの
カウンタで次に処理すべきSTLAR112とSTDR
113を指定する。これらのカウンタ値はアンド54お
よび55で解読され、STLARおよびSTDRの指定
されたレジスタが選択されてデータの入出力が行なわれ
る。なお、INPOINTER51の指定は空いている
レジスタを、又OUTPOINTER52の指定はPス
テートでのプライオリティ決定にもとずいてサブパイプ
ライン制御回路12より指定される。
ットのレジスタであり各ビットは各STLARとSTD
Rに対応し、このビットが1にセットされている時に
は、対応するレジスタに有効なストアリクエストが保持
されていることを示している。4つのストアバッファす
べてに有効なストアリクエストが保留されている状態で
は、新たなストアリクエストを抑止するためにアンド
5,6によりSTB FULL信号がセットされサブパイプライ
ン制御回路へ送られ、Sユニットビジー信号SU BUSY を
Iユニットに送出する。
対象のブロックが排他型で存在した場合の動作タイミン
グチャートを示す。この場合は、図8で説明したSTV
信号がストアリクエストの第1フローのRサイクルで返
されており、メインパイプラインにはインターロックが
かけられず、ただちにWステートに移行する。すなわ
ち、ストア要求がSTB11に格納されるとSTV信号
をIユニットに送出し、STB11のデータを読出して
ストア処理を実行する。
排他型で持ち、ストアをブロックAに対して行った後、
CPU7においてブロックAに対するストア要求が発生
した場合の、CPU7のタイムチャートを示す。この場
合、第1フローのTサイクルにおいてブロックAはCP
U6のみに存在するので、TAGマッチが検出されず、
Rサイクルに排他型MI要求がセットされるが、Iユニ
ットに対してはSTV信号が返され、メインパイプライ
ンはインターロックしない。すなわち、BAAR19の
データはRサイクルでMIAR30に移され、続いてM
RQAR26よりアドレスが、またMRQR25より排
他型MI要求をMSUに対して送出する。このMI要求
によってMSUは、前述したように、CPU6に対して
ブロックAに対して無効化MO要求を送出し、MSUに
データを転送させた後、MSUからブロックAのデータ
をCPU7に転送する。CPU7のLBSにデータがセ
ットした後、ストアの第2フローが実行される。
有型でブロックAを同時に保持している状態で、CPU
7においてブロックAに対するストア要求が発生した場
合の、CPU7のタイムチャートを示す。この場合、第
1フローのTサイクルにTAGマッチと、このブロック
が共有型であることが検出され、Rサイクルにブロック
Aを排他型に変更する要求がセットされる。この場合は
Iユニットに対してSTV信号は返さない。STV信号
を返さない理由はブロックAに対するストア要求が、C
PU6においてもほぼ同時に発生した場合、CPU6と
CPU7に内容の異なるブロックAのデータが存在する
ことになり、一致性が保証されなくなるからである。し
たがって、この場合にはメインパイプラインはインター
ロックする。すなわち、BAAR19のデータはRサイ
クルでMIAR30に移され、続いてMAQAR26よ
りアドレスが、また、MRQR25よりブロック変更要
求をMSUに対して送出する。このブロック変更要求に
対してMSUよりブロック変更許可通知を受け取った後
に第2フローが実行され、このRサイクルでIユニット
に対してSTV信号が返されて始めてメインパイプライ
ンのインターロックが解除される。
Bを用いたストア・イン制御方式を採用すると、Iユニ
ットよりの命令は、STBに記録されると、記録された
時点でストアが行なわれたものとして突き放されて処理
を完了してしまう。
た命令が、共通記憶域の操作等を行うCS(Compare an
d Swap)命令やCDS(Compare and Double Swap )命
令のように、CPUの逐次化を要する命令であった場
合、この命令の実行が起きる前に、STBに記録されて
いるMIを伴なうストア命令を全て完了させなければな
らないという問題がある。
バッファを用いてバッファ記憶を制御する方式におい
て、逐次化を要求する命令に対しては、ストアバッファ
に記録されているデータが全て主記記憶に反映された後
で実行されるよう逐次化を保証するよう改良したバッフ
ァ記憶制御方式を提供することを目的とする。
め本発明が採用した手段を図1を参照して説明する。図
1は本発明の原理図である。命令制御部27、演算制御
部28および記憶制御部9で構成されるデータ処理装置
が、複数のデータ処理装置で共通にデータを記憶する主
記憶装置8と前記記憶制御部9のバッファ記憶151と
の間のデータ転送をストア・イン方式で制御し、かつ、
前記バッファ記憶151へのストア処理を、ストア要求
を一時的に保持するストアバッファ11を介して行なう
制御方式において、前記ストアバッファ11に保持され
ているストア要求を伴うムーブインが、未だ実行されて
いないムーブイン要求が存在することを検出する未ムー
ブイン処理検出手段1と、前記命令制御部27より逐次
化を必要とする命令が記憶制御部9に転送されたとき、
前記未ムーブイン処理検出手段1によって未ムーブイン
処理が検出された場合、前記命令制御部27の処理を中
断させる命令制御部処理インターロック手段2と、を備
える。
の主記憶装置よりバッファ記憶151へのデータ転送を
必要とするムーブイン処理を伴う要求が格納される。未
ムーブイン処理検出手段1は、前記ストアバッファ11
に未だムーブイン処理が実行されていない要求が格納さ
れているか否かを調べ、未処理の要求が有る場合、未処
理有信号を出力する。
命令制御部27より逐次化を必要とする命令が記憶制御
部10に転送されたとき、前記未ムーブイン処理検出手
段1より未処理有信号が出力する場合は、前記命令制御
部27に対して命令制御部の処理を中断させる信号を送
出する。
ーロック手段2よりの処理中断信号を受信すると処理を
中断する。命令制御部27の処理が中断されると、記憶
制御部9には新らたなムーブイン処理を伴う命令は転送
されず、ストアバッファ11に格納されているムーブイ
ン処理は続行される。
が全て処理されると、未ムーブイン処理検出手段1の出
力は未処理無信号が送出され、命令制御部処理インター
ロック手段2からは命令制御部27の処理を中断させる
信号の送出を停止する。命令制御部27での処理の中断
が解除されると、中断していた逐次化を必要とする命令
が記憶制御部10に転送され、処理が実行される。
れ、未だムーブイン処理が行なわれていない処理が有る
か無いかを検出し、未処理が有り、かつ逐次化を必要と
する命令が入力された場合、命令制御部の処理を中断さ
せるようにしたので、中断している間に未処理のムーブ
インを伴う全ての処理を実行し、全ての処理が完了した
後逐次化を必要とする命令が実行されるので、逐次化を
保証することができる。
明する。図2は本発明の実施例の構成図、図3は未ムー
ブイン処理検出手段および命令制御部処理インターロッ
ク手段の具体例、図4はムーブインバッファ部の具体
例、図5はムーブインバッファの動作タイムチャートで
ある。
部11およびMSUよりデータブロックを転送する制御
を行うムーブインバッファ(MIB)部10以外は、従
来例の図6および図8で説明したとおりである。また、
実施例では図1で説明した未ムーブイン処理検出手段1
および命令制御部処理インターラプト手段2はSTB部
に設置され、後で図3を参照して詳細に説明する。
する。実施例では、LBSの1ブロックは64バイト、
CPUとMSU間のデータバスは8バイト幅となってお
り、MSUよりの転送データは8バイトづつ8回に分け
て転送される。MIB部10はこのデータを、まずMove
In Data Buffer Register(MIDBR)103に受け
取り、ここからMove In Data Register (MIDR)1
04へ8バイトづつセットする。MIDR104へ64
バイトすべてのデータをセットし終わってからLBSへ
書き込みが行われる。MIデータを取り込むためのタイ
ミングを指示するためにMSUは、DOW信号をMIデ
ータに先んじて8回送出し、このDOW信号はシフトレ
ジスタ101に記録される。また、MI要求に付加され
てCPUから送られてきた識別番号を送り返す。このM
SUからの識別番号を保持するのがMsu Move In ID Reg
ister (MMIIDR)106である。
R)107は、MSUよりLBSへMIするデータブロ
ックのアドレスが格納される。MSUよりLBSへのM
Iは、図5に示すように、MSUよりデータ取込タイミ
ングを指示するDOW信号が8回連続して転送される。
このDOW信号はシフトレジスタ101に記録され、順
次シフトされる。
況よりMIDR104にデータを格納するブロック番号
を番号発生回路102で発生する。この信号によって、
MSUから転送され、MIDBR103に記録された8
バイトのデータは順次MIDR104に格納され、全デ
ータが格納されるとBDIR22に移されてLBSに読
込まれる。
れると、前述のDOW信号とともに、MSUへのMI要
求に付加して送付した識別番号が返送され、MMIID
R106に格納される。格納された識別番号はMIデー
タがLBSに格納されるまでMMIIDR106に保持
される。
検出手段1および命令制御部処理インターロック手段2
について説明する。図3において、STLAR112,
STDR113,LWNR114およびセレクタ11
5,116および117は図11で説明したとおりであ
り、また、STB制御回路111は図12で説明したと
おりである。
8およびMove In Pend(MIP)ラッチ121は、それ
ぞれ4組で構成され、STLAR112,STDR11
3およびLWNRの4組のレジスタと1対1に対応する
データが格納される。MIIDR118には、MSUへ
のMI要求の識別番号が格納される。また、MIPラッ
チ121はラッチがオンの状態はストアバッファにスト
ア要求の対象となるブロックがLBSに存在しなかった
ため、現在MSUからのMI待ちの状態となっているこ
とを示す。
て、119は比較器であり、MIIDR118と図4で
説明したMMIIDR106のIDを比較し、一致ID
に対しては出力を「1」とする。また、120はアンド
回路、122はオア回路である。
アンド回路124および125とレジスタ(SRCR)
123で構成される。Iユニットから逐次化を要求する
命令が転送され、かつ未ムーブイン処理検出手段1の出
力が「1」であったSRCR123はセットされて出力
を「1」にする。また、未ムーブイン処理検出手段1よ
りの信号が「1」より「0」に変換されるとSRCR1
23はリセットされて「0」を出力する。
の実行においてLBSがミスヒットし、MIデータ待ち
となっている状態で、逐次化要求を伴うオペランドアク
セス要求が生じた場合について実施例の動作を説明す
る。Pステートに信号線1101よりストア要求、信号
線1102より逐次化要求、信号線1103より論理ア
ドレスが送られてくる。この要求の優先権がサブパイプ
ライン制御回路12により取られると、信号線1103
からの論理アドレスは選択器16により選択され、スト
ア処理の第1フローが開始される。
R17に保持される。TLAR17の出力1104によ
り、TLB部13で論理アドレスを絶対アドレスに変換
し、TAG部14でLBS151にストア対象となって
いるブロックが存在しているか否かをチェックする。L
BS151にフェッチ対象となっているブロックが存在
しないことが検出されると、サブパイプライン制御回路
12へ信号線1106を介して報告される。
04を入力とするBLAR18に保持され、絶対アドレ
スは信号線1105を入力とするBAAR19に保持さ
れる。サブパイプライン制御回路12は、信号線111
0により、MIB部内にMI要求が発生したことを通知
する。この通知はSTB部14にも送られMIPラッチ
121がセットされる。
08を入力とし、データを読み込むべきウェイ番号は信
号線1107を入力とし、それぞれSTB内のSTLA
R112,LWNR114に取り込まれる。MIB部1
0においては、Bステートにサブパイプライン制御回路
12から通知されたMI要求通知信号をデータ取り込み
タイミング指示信号(CE)としてBAAR19の出力
1109をMIAR107に取り込む。また、Iユニッ
トへは信号線1117よりSTV信号が返され、メイン
パイプラインはインターロックすることなく処理を続行
する。また、このステートにIユニットからの信号線1
113よりSTDV信号が送られてくる。
ユニットからのストアデータは信号線1114を入力と
するEUSTDR20に取り込まれる。このステート
で、MRQAR26はMIB中のMIAR107の出力
1114を取り込み、このアドレスに対するMSUへの
要求内容(この場合MI要求)と要求識別番号が、それ
ぞれ信号線1112,1111からMRQR25,MR
QIDR24へ取り込まれMSUへ送出される。信号線
1111の識別番号は、STB内のMIIDR118に
もセットされる。
れている状態は、STB内にMIデータがMSUより一
度も送られてきていないストア要求が保持されているこ
とを示しており、4個のラッチの出力がOR回路122
を経て、命令制御部処理インターロック手段2のアンド
回路124および125に加えられる。しかし、SRC
R123には逐次化を要求する命令である信号がセット
されていないために、アンド回路125の出力は「0」
となる。
次化を要求を伴うオペランドアクセス要求を受け取る
と、アンド回路124の出力は「1」となってSRCR
123がセットされてアンド回路125の出力は「1」
となり、この要求のRサイクルにSTV信号を返さず、
Sユニット内で保留し、信号線1116よりIユニット
へ、SユニットがIユニットからの新規リクエストを受
け付けられない状態であることを示すSU BUSY信
号を送る。この間、メインパイプラインの処理はインタ
ーロックがかけられて停止する。
18より送られてくると、次のステートにMSUよりM
Iの識別番号が信号線1119から送られてくる。この
MIのIDはMIB内のMMIIDR16にMI動作中
保持される。MMIIDR106の出力は信号線112
1よりSTBへ送られる。この値はSTB内のMIID
R118の値と、比較回路119より比較される。MI
のIDが一致するとこの比較回路119は「1」を出力
する。比較結果が「1」であり、かつMIPラッチ12
1がセットされている状態ならばAND回路120は
「1」を出力する。アンド回路120の出力は、MIP
ラッチ121のリセット端子へ接続されており、アンド
回路120の出力が「1」をとるとMIPラッチ121
がリセットされる。
号線1115がオフの状態となり、サブパイプライン制
御回路12は保留されていた逐次化要求を伴うオペラン
ドアクセス要求の実行を再開する。このオペランドアク
セスが完了すると、SユニットはSTV信号をIユニッ
トへ返すと同時にSU BUSY信号をオフにする。
が、本発明はこの実施例に限定されるものではなく、そ
の発明の主旨に従った各種変形が可能である。
の効果が得られる。ストアバッファに格納され、未だム
ーブイン処理が行なわれていな処理が有るか無いかを検
出し、未処理が有り、かつ逐次化を必要とする命令が入
力された場合、命令制御部の処理を中断させるようにし
たので、中断している間に未処理のムーブインを伴う全
ての処理を実行し、全ての処理が完了した後逐次化を必
要とする命令が実行されるので、逐次化を保証すること
ができる。
令制御部処理インターラプト手段の具体例である。
る。
実行されるステートの説明図である。
合のストアアクセス動作タイムチャートである。
場合のストアアクセス動作タイムチャートである。
合のストアアクセス動作タイムチャートである。
部 14 タグメモリ(TAG)部 15 バッファ記憶(LBS)部 27 命令制御部(Iユニット) 28 演算制御部(Eユニット) 131 論理/物理アドレス変換バッファ記憶(TL
B) 141 タグメモリ(TAG) 151 バッファ記憶(LBS) 17,18,19,20,22,24,25,26,1
03,104,107,112,113,114,11
8,123 レジスタ 16,21,23,108,115,116,117
セレクタ 119,132,142 比較器 54,56,120,124,125 アンド回路 121 ラッチ 122 オア回路
Claims (2)
- 【請求項1】 命令制御部27、演算制御部28および
記憶制御部9で構成されるデータ処理装置が、複数のデ
ータ処理装置で共通にデータを記憶する主記憶装置8と
前記記憶制御部9のバッファ記憶151との間のデータ
転送をストア・イン方式で制御し、かつ、前記バッファ
記憶151へのストア処理を、ストア要求を一時的に保
持するストアバッファ11を介して行なう制御方式にお
いて、前記ストアバッファ11に保持されているストア
要求を伴うムーブインが、未だ実行されていないムーブ
イン要求が存在することを検出する未ムーブイン処理検
出手段1と、 前記命令制御部27より逐次化を必要とする命令が記憶
制御部9に転送されたとき、前記未ムーブイン処理検出
手段1によって未ムーブイン処理が検出された場合、前
記命令制御部27の処理を中断させる命令制御部処理イ
ンターロック手段2と、 を備えたことを特徴とするバッファ記憶制御方式。 - 【請求項2】 前記未ムーブイン処理検出手段1が、前
記ストアバッファ11にストアされるムーブイン要求に
よってセットされ、ムーブイン要求の識別番号と主記憶
装置8より返送される識別番号とを比較して一致したと
きリセットされる複数のラッチ121と、前記複数のラ
ッチ121のいづれか1個でもセットされていることを
検出するオア回路122と、を備えたことを特徴とする
請求項1記載のバッファ記憶制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3257302A JP2637320B2 (ja) | 1991-10-04 | 1991-10-04 | バッファ記憶制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3257302A JP2637320B2 (ja) | 1991-10-04 | 1991-10-04 | バッファ記憶制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05100849A true JPH05100849A (ja) | 1993-04-23 |
| JP2637320B2 JP2637320B2 (ja) | 1997-08-06 |
Family
ID=17304479
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3257302A Expired - Lifetime JP2637320B2 (ja) | 1991-10-04 | 1991-10-04 | バッファ記憶制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2637320B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10141570A (ja) * | 1996-11-05 | 1998-05-29 | Rex Ind Co Ltd | エレクトロフュージョン継手用コントローラ |
| WO2007097030A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | キャッシュ制御装置およびキャッシュ制御方法 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4550511B2 (ja) * | 2004-07-27 | 2010-09-22 | 富士通株式会社 | 演算処理装置、演算処理装置の制御方法 |
| JP5420182B2 (ja) | 2008-03-14 | 2014-02-19 | 富士通セミコンダクター株式会社 | キャッシュメモリシステム、データ処理装置および記憶装置 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6275844A (ja) * | 1985-09-30 | 1987-04-07 | Fujitsu Ltd | 命令プリフェッチ方法 |
| JPH02224023A (ja) * | 1988-10-11 | 1990-09-06 | Mips Computer Syst Inc | 命令ストリーム機能を有するプロセサ制御型インターフェイス |
| JPH02236748A (ja) * | 1989-03-10 | 1990-09-19 | Nec Corp | ストア・バッファ |
-
1991
- 1991-10-04 JP JP3257302A patent/JP2637320B2/ja not_active Expired - Lifetime
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6275844A (ja) * | 1985-09-30 | 1987-04-07 | Fujitsu Ltd | 命令プリフェッチ方法 |
| JPH02224023A (ja) * | 1988-10-11 | 1990-09-06 | Mips Computer Syst Inc | 命令ストリーム機能を有するプロセサ制御型インターフェイス |
| JPH02236748A (ja) * | 1989-03-10 | 1990-09-19 | Nec Corp | ストア・バッファ |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10141570A (ja) * | 1996-11-05 | 1998-05-29 | Rex Ind Co Ltd | エレクトロフュージョン継手用コントローラ |
| WO2007097030A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | キャッシュ制御装置およびキャッシュ制御方法 |
| US8312218B2 (en) | 2006-02-27 | 2012-11-13 | Fujitsu Limited | Cache controller and cache control method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2637320B2 (ja) | 1997-08-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4481573A (en) | Shared virtual address translation unit for a multiprocessor system | |
| US3569938A (en) | Storage manager | |
| US5293500A (en) | Parallel processing method and apparatus | |
| JP4977159B2 (ja) | 特定のプロセッサを使ってアトミックなコンペア・アンド・スワップ命令を実行するための技術 | |
| KR100190379B1 (ko) | 쓰기 사이클의 성능 향상을 위한 프로세서 | |
| JPH0345407B2 (ja) | ||
| KR19980041719A (ko) | 반도체 장치 및 컴퓨터 시스템 | |
| JPH0242569A (ja) | ベクター処理システムに用いる文脈スイッチング方法及び装置 | |
| CA2016532C (en) | Serializing system between vector instruction and scalar instruction in data processing system | |
| US5136714A (en) | Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system | |
| JP3400458B2 (ja) | 情報処理装置 | |
| US8601242B2 (en) | Adaptive optimized compare-exchange operation | |
| JPH0340047A (ja) | キヤツシユ・ライン・ストア方法 | |
| US6738837B1 (en) | Digital system with split transaction memory access | |
| JP2637320B2 (ja) | バッファ記憶制御方式 | |
| US6704833B2 (en) | Atomic transfer of a block of data | |
| JPS62102344A (ja) | バツフア・メモリ制御方式 | |
| JPH06161779A (ja) | データ処理装置の割込み制御方式 | |
| JPH06348593A (ja) | データ転送制御装置 | |
| JPH0245845A (ja) | データ処理システム | |
| US5361368A (en) | Cross interrogate synchronization mechanism including logic means and delay register | |
| US5276853A (en) | Cache system | |
| JPS63284648A (ja) | キャッシュメモリ制御方法 | |
| US20230169009A1 (en) | Computation processing apparatus and method of processing computation | |
| JP2844679B2 (ja) | アクセス制御方法及び情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19970311 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080425 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100425 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 14 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 15 |