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
Application number
JP3257302A
Other languages
English (en)
Other versions
JP2637320B2 (ja
Inventor
Sukeyuki Uchiumi
祐之 内海
Tetsuya Morioka
哲哉 森岡
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 JP3257302A priority Critical patent/JP2637320B2/ja
Publication of JPH05100849A publication Critical patent/JPH05100849A/ja
Application granted granted Critical
Publication of JP2637320B2 publication Critical patent/JP2637320B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 主記憶装置よりバッファ記憶へのデータのム
ーブイン処理が全て終了した後に逐次化を伴う命令が実
行されるようにする。 【構成】 命令制御部27、演算制御部28および記憶
制御部9で構成されるデータ処理装置が、複数のデータ
処理装置で共通にデータを記憶する主記憶装置8と記憶
制御部9のバッファ記憶151との間のデータ転送をス
トア・イン方式で制御し、かつ、ストア要求を一時的に
保持するストアバッファ11を介してストア処理を行な
う制御方式において、ストアバッファ11に保持されて
いるストア要求を伴うムーブインが、未だ実行されてい
ないムーブイン要求が存在することを検出する未ムーブ
イン処理検出手段1と、命令制御部27より逐次化を必
要とする命令が記憶制御部9に転送されたとき、未ムー
ブイン処理が検出されたならば、命令制御部27の処理
を中断させる命令制御部処理インターロック手段2と、
を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はストア・イン方式で制御
されるバッファ記憶装置を備えたパイプライン処理で命
令を実行する複数のデータ処理システムが、共通の主記
憶装置を使用する場合のデータ処理装置の逐次化を保証
するためのバッファ記憶制御方式に関する。
【0002】
【従来の技術】近年、データ処理システムに対しては、
大量のデータを高速で処理することが要求されている。
この要求を達成させるために、中央処理装置(CPU)
はパイプライン処理で命令を実行させ、さらに複数のC
PUを使用して共通の主記憶装置(MSU)にアクセス
させるマルチプロセッサーシステムが採用されている。
【0003】また、大量のデータを格納するMSUの動
作は低速であるため、各CPUは高速で動作するバッフ
ァ記憶(LBS)を持ち、MSUのデータを複数のブロ
ックに細分化し、必要とするデータブロックのコピーを
小容量のメモリに格納している。CPUからのデータの
アクセスは、まずLBSに対して行なわれ、LBSに対
象とするデータが存在しなかった時にMSUへアクセス
し、対象とするデータが存在するブロックをMSUより
読出し、LBSへ格納する(この処理をMI:ムーブイ
ンと呼ぶ)。このように記憶装置を階層化することによ
って、CPUからMSUへのアクセス回数が低減され、
処理時間を大幅に短縮することができる。
【0004】また、このようなマルチプロセッサ構成の
データ処理システムにおけるLBSの制御方式として
は、LBSのデータを書き換えるときに、LBSの対応
するMSUのデータも書き換えていくよう処理するスト
ア・スルー方式と、LBSの書き換え時点ではMSUに
ついては書き換えないで、LBSのエントリーをMSU
に戻していくときに、その書き換えられたLBSのデー
タをMSUに反映(MO:ムーブアウトと呼ぶ)させて
いくよう処理するストア・イン方式とがある。
【0005】ストア・スルー方式はMO操作が不要なた
めストア・イン方式と比較して制御が簡単である。しか
し、ストアアクセスの度にMSUへのアクセスが生じる
ために、MSUを共有するCPU数が増加すると共通バ
スのビジー率が増加し、MSUに対する平均アクセス時
間が増加してしまうという欠点がある。
【0006】一方、ストア・イン方式のLBSの場合
は、MSUへのアクセスはMIとMO動作時に限られて
いるため、バスのビジー率をストア・スルー方式に比べ
て低く抑えることが可能であり、ストア・イン方式を採
用することが多くなっている。このようなストア・イン
方式を採用したLBSの制御方式の従来例を図6〜10
を参照して説明する。図6は従来例の構成図、図7はメ
インパイプラインとサブパイプライン処理で実行される
ステートのタイミング説明図、図8は動作タイムチャー
ト、図9はLBS排他制御の説明図、図10はMOSの
具体例である。
【0007】まず従来例の動作を説明する前に、パイプ
ライン処理されるCPUの動作について説明する。CP
Uは、通常、3つのユニットに分割されており、それぞ
れ、命令制御部(Iユニット)、演算制御部(Eユニッ
ト)、記憶制御部(Sユニット)と呼ばれる。Iユニッ
トは、命令の解読と解読に基づく処理の制御を行う。E
ユニットはIユニットから指示された演算を実行する。
SユニットはIユニットから指示された命令およびオペ
ランドの読み出しおよび書き込みを行う。
【0008】Iユニットにおいては命令の実行は複数の
ステートに分割され、パイプライン処理によって実行さ
れる。ここでは、D,A,T,B,E,Wの6ステート
に分割されている場合について述べる。各ステートにお
いては D:命令の解読(デコード) A:オペランドアドレスの計算 T:TLB(論理/物理アドレス変換)およびTAG
(フラグ)の読み出し B:LBS読み出し E:演算実行 W:レジスタへの書き込み のような処理を行う。以下、このパイプラインをメイン
パイプラインと呼ぶ。
【0009】Sユニットは、Iユニットとは独立したパ
イプラインを持つ。ここでは、P,T,B,Rの4ステ
ートに分割されている場合について述べる。各ステート
においては P:各種リクエストの優先順位(プライオリティ)の決
定 T:TLBおよびTAGの読み出し、書き込み B:LBS読み出し、書き込み R:ステータスをIユニット,Eユニットへ報告 のような処理を行う。以下、このパイプラインをサブパ
イプラインと呼ぶ。
【0010】メインパイプラインのT,Bステートは、
図7に示すように、サブパイプラインにおけるオペラン
ドアクセスのためのT,Bステートと同期して動作す
る。オペランドの論理アドレスはAサイクルにIユニッ
トで生成され、Sユニットへ送られる。ストアすべきデ
ータは、命令で指定されたレジスタから読みだされEユ
ニットへ送られる。Eユニットはこれを保持し、Eステ
ートにSユニットへ送出する。
【0011】つぎに図6を参照して、LBSの制御動作
について説明する。前述したように、PサイクルにIユ
ニットより送られてきた論理アドレスは、Tサイクルに
おいて[T cycle Logical Address Register](TLA
R)17に保持され、論理アドレスを物理アドレスに変
換するためのバッファ記憶(TLB)131とフラグが
格納されているタグメモリ(TAG)141にアクセス
される。論理アドレスおよび物理アドレスは31ビット
からなり、論理アドレスのビット1〜11はセグメント
インデックス,ビット12〜19はページインデック
ス,ビット20〜31はバイトインデックスである。バ
イトインデックスはページ内変位であり物理アドレスの
ビット20〜31と等しい。
【0012】TLB131はPRIMARY とALTERNATE の2
つのウェイからなり、1つのウェイは256ラインから
構成されており、各ラインは論理アドレスのビット1〜
ビット11と物理アドレスのビット1〜ビット19を対
にして保持している。TAG141とLBS151は8
つのウェイからなり、1つのウェイは64ラインからな
る。TAG141のウェイおよびラインは、LBS15
1のウェイおよびラインと1対1に対応しており、LB
S151にあるデータのアドレス情報と、LBS151
のデータがストアにより変更されたことを示す変更ビッ
ト(C L )と、ブロックが書き込み可能な(排他型)ブ
ロックであるか、書き込み不可能な(共通型)ブロック
であるかを示すフラグ(EX)を持つ。
【0013】TAG141の保持するアドレスは物理ア
ドレスのビット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 側の物理アドレスが選択される。
【0014】また、TLAR17のビット20〜ビット
25によりTAG141のラインを選択し8つのウェイ
から同時にLBS151のデータのアドレスを読み出
す。各ウェイ毎に設けられた物理アドレス比較器142
によりTAG141から読み出された物理アドレスと、
TLB131から読み出された物理アドレスが比較され
る。比較の結果はレジスタ(LWNR)114に保持さ
れ、LBS151のウェイの選択およびCL ビットを登
録するTAG141のウェイ選択の際に参照される。
【0015】LBS書き込みウェイ決定回路152はL
WNR114の出力を入力として、LBS151のどの
ウェイをアクセスするか、またTAG141のどのウェ
イにCL ビットをセットするかを決定し、それぞれに書
き込み可能信号を送出する。レジスタ(BLAR)18
はTLAR17のビット20〜ビット25をBサイクル
の間保持し、この出力でLBS151のラインを選択す
る。
【0016】ストアするデータはEユニットから送出さ
れ、このデータが有効であることを示すIU STDV
信号をIユニットから受け取ってレジスタ(EUSTD
R)20にデータを取り込む。EUSTDR20の出力
はALIGN回路29により、LBS151のアドレス
にあわされ、レジスタ(STDR)113を介してレジ
スタ(BDIR)22に取り込まれ、LBS151に書
き込まれる。
【0017】つぎに、図8のタイミングチャートを参照
して詳細にストアアクセス動作を説明する。まず、Pサ
イクルにおいて、Iユニット27からストア要求とスト
アを行うべき論理アドレスが送られてくる。この要求の
プライオリティが取られるとストアの第1フローが開始
される。TサイクルにおいてTLAR17はPサイクル
にIユニット27から送られてきた論理アドレス000
01004を取り込み保持する。この論理アドレスによ
りTLB131とTAG141のラインが選択される。
論理アドレス比較器132により論理アドレスを比較し
た結果、PRIMARY 側が一致し物理アドレス000E40
04に変換される。
【0018】TAG141から読み出された物理アドレ
スとTLB131から得られた物理アドレスを物理アド
レス比較器142において比較した結果TAG141の
ウェイ3がヒットし、ストアを行うべきブロックがLB
S151のウェイ3に存在することが検出される。変換
された物理アドレスはBサイクルにおいてBAAR19
に保持される。BLAR18の出力を、STLAR11
2はストアを行うべき論理アドレスとしてRサイクル以
降保持する。また、Rサイクル以降、LWNR114に
LBS151のウェイ番号3が保持される。
【0019】このRサイクルにIユニット27からEユ
ニットよりデータが転送されることを示すIU STDV 信号
が、またEユニット29からストアデータが送られてく
る。IU STDV 信号を受けたSユニットは、ストアの第2
フローを開始するためのOP STORE REQUEST信号をセット
する。OP STORE REQUEST信号によりストアの第2フロー
が開始される。EUSTDR20には直前のサイクルに
送られてきたIU STDV信号をタイミング信号として、EU
STORE DATA “0043D5F2”を取り込む。
【0020】次にTサイクルにおいて、TLAR17に
よりストアの第1フローで選択されたラインと同じTA
Gのラインを選択する。選択すべきウェイはLWNR1
14の値を参照し、ウェイ3が選択される。TAG14
1のウェイ3の選択されたラインには、LBS151の
データが変更を受けていることを示すCL ビットとして
1を書き込む。なお、このフローにおいて論理アドレス
を物理アドレスに変換する必要はないため、TLB13
1によるアドレス変換を行わないように、BY PASS TLB
信号がセットされる。また、EUSTDR20のデータ
はSTORE Dara Register(STDR)113に移され
る。
【0021】次にBサイクルにおいて、LBS151の
ウェイ3の選択されたラインにストアデータが書き込ま
れ、全ての処理が完了する。最後に、Rサイクルにおい
てIユニット27へストア要求の処理が完了したことを
示すSTV(STatus Vaiid)信号を返しメインパイプラ
インのインターロック(連続するEステート)を解除す
る。
【0022】ストア・イン方式のLBSを持つ複数のC
PUが、共通のMSUに接続されているマルチプロセッ
サシステムにおいて、LBSとMSU間でのデータの一
致を保証するためには複数のCPUが同一のブロックに
対して同時にストアを行うことを禁止する排他制御が必
要となる。そこで、主記憶のあるブロックは1つのCP
UのLBSにしか存在しないように制御を行うのが一般
的である。しかし、この方法では読み出しの対象として
複数のCPUが共通のブロックを必要とする場合には、
各CPU間での通信に要するオーバーヘッドが大きくな
り著しい性能の低下が生じる。
【0023】そこで、各ブロックに対して書き込みを許
可されているか否かを示す属性を与え、書き込みが許可
されているブロックのみCPU間での排他制御を行い、
読み出し専用のブロックは複数のCPUで共通すること
を可能とすることにより性能の向上が望める。この2種
類のブロックをそれぞれ排他型ブロック、共有型ブロッ
クと呼ぶ、MSUは各CPUが保持しているブロックの
アドレスと、そのブロックが排他型か共有型であるかを
常に把握して、矛盾の生じない排他制御を行う必要があ
る。このため、MSUは各CPUのTAGのコピーを持
たせて制御を行う。
【0024】このようにTAGのコピーをMSUに持た
せた排他制御の動作を図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)。
【0025】MRQR25、MRQAR26よりMSU
8に対してブロックAの排他型MI要求を出す(2)。
排他型MI要求を受け取ったMSUは、CPU6のTA
G141のコピーを格納しているTAGC82を検索し
(3)ブロックAがCPU6に排他型で保持されている
ことを検出して排他制御回路81に報告する(4)。
【0026】MSU8はCPU6へブロックAの無効型
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)。
【0027】CPU6はブロックAをMSU8へMOし
TAG141のブロックAに対するフラグExを排他か
ら無効にする(8)。MSU8はMOされたデータを書
き込む(9)と同時に、CPU6に対応するTAGC8
2をブロックAがCPU6に存在しないことを示す状態
に変更する(10)。
【0028】この後、ブロックAの最新データを読み出
し(11)、CPU7に対応するTAGC83をブロッ
クAがCPU7に排他型で存在することを示す状態に変
更する(12)。ブロックAのデータはCPU7へとM
Iされ(13)、保留されていたストアをブロックAに
対して行いメインパイプラインのインターロックを解除
する。
【0029】また、CPU7のTAG141のブロック
Aに対するフラグExを排他型に、またCL ビットはデ
ータが変更されたことを示す「1」に変更する。次に、
CPU6とCPU7が共有型でブロックAを同時に保持
している状態で、CPU7においてブロックAに対する
ストア要求が発生した場合について述べる。
【0030】CPU7はブロックAを保持しているが、
排他型ではないためストアを実行することはできない。
そこでCPU7は、メインパイプラインにインターロッ
クをかけてストアを保留し、MSU8に対してブロック
Aの共有型から排他型へのブロック変更要求を出す。
【0031】ブロック変更要求を受け取ったMSU8
は、全てのTAGCを検索しブロックAがCPU6に共
有型で保持されていることを検出する。MSU8はCP
U6へブロックAのブロック無効化(BI)要求を出
す。MSUからブロックAのBI要求を受け取ったCP
U6はTAG141のブロックAの状態を共有から無効
にし、ブロック変更が完了したことをMSUへ通知す
る。
【0032】MSUは完了通知を受け取ると、CPU6
に対応するTAGC82をブロックAがCPU6に存在
しないことを示す状態に変更し、CPU7に対応するT
AGC83をブロックAがCPU7に排他型で存在する
ことを示す状態に変更する。この後、CPU7へブロッ
クAの共有型から排他型への変更許可通知を送る。
【0033】CPU7は、MSU8より送られてきた変
更許可通知を受け取った後、ブロックAを排他型にし、
保留されていたストアをブロックAに対して行いメイン
パイプラインのインターロックを解除する。以上に述べ
たような制御により、ストア・イン方式のLBSとMS
Uとのデータの一致が保たれる。しかし、前述した制御
によれば、LBSへストアが完了するまで、メインパイ
プラインは待機せねばならないため大きな性能低下を生
じてしまう。そこで、ストアデータを一時的に保持して
おくレジスタ(STB:ストアバッファ)を設け、メイ
ンパイプラインからのストアをストアバッファに保持
し、ストアバッファへ書き込んだ時点でIユニットはス
トアを終了したものと見なしてメインパイプラインを先
に進め、Sユニットが自ユニット内部でLBSへの書き
込みを制御する方法が考案された。
【0034】このSTBを設けた構成を図11に、ST
B制御回路の具体例を図12に示す。図11において
は、STB11は4組のSTLAR112,STDR1
13,LWNR114およびSTB制御回路111によ
り構成されている。またSTB制御回路111は、図1
2に示すように、INPOINTER51,OUTPO
INTER52,STAR VALID REG53に
より構成されている。
【0035】INPOINTER51は2ビットのカウ
ンタで次に使用すべきSTLAR112とSTDR11
3を指定する。OUTPOINTER52は2ビットの
カウンタで次に処理すべきSTLAR112とSTDR
113を指定する。これらのカウンタ値はアンド54お
よび55で解読され、STLARおよびSTDRの指定
されたレジスタが選択されてデータの入出力が行なわれ
る。なお、INPOINTER51の指定は空いている
レジスタを、又OUTPOINTER52の指定はPス
テートでのプライオリティ決定にもとずいてサブパイプ
ライン制御回路12より指定される。
【0036】STAR VALID REG53は4ビ
ットのレジスタであり各ビットは各STLARとSTD
Rに対応し、このビットが1にセットされている時に
は、対応するレジスタに有効なストアリクエストが保持
されていることを示している。4つのストアバッファす
べてに有効なストアリクエストが保留されている状態で
は、新たなストアリクエストを抑止するためにアンド
5,6によりSTB FULL信号がセットされサブパイプライ
ン制御回路へ送られ、Sユニットビジー信号SU BUSY を
Iユニットに送出する。
【0037】図13は、図11の構成でLBSにストア
対象のブロックが排他型で存在した場合の動作タイミン
グチャートを示す。この場合は、図8で説明したSTV
信号がストアリクエストの第1フローのRサイクルで返
されており、メインパイプラインにはインターロックが
かけられず、ただちにWステートに移行する。すなわ
ち、ストア要求がSTB11に格納されるとSTV信号
をIユニットに送出し、STB11のデータを読出して
ストア処理を実行する。
【0038】また、図14は、CPU6がブロックAを
排他型で持ち、ストアをブロック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フローが実行される。
【0039】また、図15は、CPU6とCPU7が共
有型でブロック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信号が返されて始めてメインパイプライ
ンのインターロックが解除される。
【0040】
【発明が解決しようとする課題】前述したように、ST
Bを用いたストア・イン制御方式を採用すると、Iユニ
ットよりの命令は、STBに記録されると、記録された
時点でストアが行なわれたものとして突き放されて処理
を完了してしまう。
【0041】したがって、Iユニットにおいて実行され
た命令が、共通記憶域の操作等を行うCS(Compare an
d Swap)命令やCDS(Compare and Double Swap )命
令のように、CPUの逐次化を要する命令であった場
合、この命令の実行が起きる前に、STBに記録されて
いるMIを伴なうストア命令を全て完了させなければな
らないという問題がある。
【0042】本発明は、ストア・イン制御方式でストア
バッファを用いてバッファ記憶を制御する方式におい
て、逐次化を要求する命令に対しては、ストアバッファ
に記録されているデータが全て主記記憶に反映された後
で実行されるよう逐次化を保証するよう改良したバッフ
ァ記憶制御方式を提供することを目的とする。
【0043】
【課題を解決するための手段】前述の課題を解決するた
め本発明が採用した手段を図1を参照して説明する。図
1は本発明の原理図である。命令制御部27、演算制御
部28および記憶制御部9で構成されるデータ処理装置
が、複数のデータ処理装置で共通にデータを記憶する主
記憶装置8と前記記憶制御部9のバッファ記憶151と
の間のデータ転送をストア・イン方式で制御し、かつ、
前記バッファ記憶151へのストア処理を、ストア要求
を一時的に保持するストアバッファ11を介して行なう
制御方式において、前記ストアバッファ11に保持され
ているストア要求を伴うムーブインが、未だ実行されて
いないムーブイン要求が存在することを検出する未ムー
ブイン処理検出手段1と、前記命令制御部27より逐次
化を必要とする命令が記憶制御部9に転送されたとき、
前記未ムーブイン処理検出手段1によって未ムーブイン
処理が検出された場合、前記命令制御部27の処理を中
断させる命令制御部処理インターロック手段2と、を備
える。
【0044】
【作用】ストアバッファ11には、命令制御部27より
の主記憶装置よりバッファ記憶151へのデータ転送を
必要とするムーブイン処理を伴う要求が格納される。未
ムーブイン処理検出手段1は、前記ストアバッファ11
に未だムーブイン処理が実行されていない要求が格納さ
れているか否かを調べ、未処理の要求が有る場合、未処
理有信号を出力する。
【0045】命令制御部処理インターロック手段2は、
命令制御部27より逐次化を必要とする命令が記憶制御
部10に転送されたとき、前記未ムーブイン処理検出手
段1より未処理有信号が出力する場合は、前記命令制御
部27に対して命令制御部の処理を中断させる信号を送
出する。
【0046】命令制御部27では命令制御部処理インタ
ーロック手段2よりの処理中断信号を受信すると処理を
中断する。命令制御部27の処理が中断されると、記憶
制御部9には新らたなムーブイン処理を伴う命令は転送
されず、ストアバッファ11に格納されているムーブイ
ン処理は続行される。
【0047】ストアバッファ11に格納されている処理
が全て処理されると、未ムーブイン処理検出手段1の出
力は未処理無信号が送出され、命令制御部処理インター
ロック手段2からは命令制御部27の処理を中断させる
信号の送出を停止する。命令制御部27での処理の中断
が解除されると、中断していた逐次化を必要とする命令
が記憶制御部10に転送され、処理が実行される。
【0048】以上のように、ストアバッファに格納さ
れ、未だムーブイン処理が行なわれていない処理が有る
か無いかを検出し、未処理が有り、かつ逐次化を必要と
する命令が入力された場合、命令制御部の処理を中断さ
せるようにしたので、中断している間に未処理のムーブ
インを伴う全ての処理を実行し、全ての処理が完了した
後逐次化を必要とする命令が実行されるので、逐次化を
保証することができる。
【0049】
【実施例】本発明の一実施例を図2〜図5を参照して説
明する。図2は本発明の実施例の構成図、図3は未ムー
ブイン処理検出手段および命令制御部処理インターロッ
ク手段の具体例、図4はムーブインバッファ部の具体
例、図5はムーブインバッファの動作タイムチャートで
ある。
【0050】図2において、ストアバッファ(STB)
部11およびMSUよりデータブロックを転送する制御
を行うムーブインバッファ(MIB)部10以外は、従
来例の図6および図8で説明したとおりである。また、
実施例では図1で説明した未ムーブイン処理検出手段1
および命令制御部処理インターラプト手段2はSTB部
に設置され、後で図3を参照して詳細に説明する。
【0051】まず、図4を参照してMIB部10を説明
する。実施例では、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である。
【0052】また、Move In Address Register(MIA
R)107は、MSUよりLBSへMIするデータブロ
ックのアドレスが格納される。MSUよりLBSへのM
Iは、図5に示すように、MSUよりデータ取込タイミ
ングを指示するDOW信号が8回連続して転送される。
このDOW信号はシフトレジスタ101に記録され、順
次シフトされる。
【0053】このシフトレジスタ101のDOW記録状
況よりMIDR104にデータを格納するブロック番号
を番号発生回路102で発生する。この信号によって、
MSUから転送され、MIDBR103に記録された8
バイトのデータは順次MIDR104に格納され、全デ
ータが格納されるとBDIR22に移されてLBSに読
込まれる。
【0054】また、MSUからLBSへのMIが開始さ
れると、前述のDOW信号とともに、MSUへのMI要
求に付加して送付した識別番号が返送され、MMIID
R106に格納される。格納された識別番号はMIデー
タがLBSに格納されるまでMMIIDR106に保持
される。
【0055】つぎに図3を参照して、未ムーブイン処理
検出手段1および命令制御部処理インターロック手段2
について説明する。図3において、STLAR112,
STDR113,LWNR114およびセレクタ11
5,116および117は図11で説明したとおりであ
り、また、STB制御回路111は図12で説明したと
おりである。
【0056】Move In ID Register (MIIDR)11
8およびMove In Pend(MIP)ラッチ121は、それ
ぞれ4組で構成され、STLAR112,STDR11
3およびLWNRの4組のレジスタと1対1に対応する
データが格納される。MIIDR118には、MSUへ
のMI要求の識別番号が格納される。また、MIPラッ
チ121はラッチがオンの状態はストアバッファにスト
ア要求の対象となるブロックがLBSに存在しなかった
ため、現在MSUからのMI待ちの状態となっているこ
とを示す。
【0057】また、未ムーブイン処理検出手段1におい
て、119は比較器であり、MIIDR118と図4で
説明したMMIIDR106のIDを比較し、一致ID
に対しては出力を「1」とする。また、120はアンド
回路、122はオア回路である。
【0058】命令制御部処理インターロック手段2は、
アンド回路124および125とレジスタ(SRCR)
123で構成される。Iユニットから逐次化を要求する
命令が転送され、かつ未ムーブイン処理検出手段1の出
力が「1」であったSRCR123はセットされて出力
を「1」にする。また、未ムーブイン処理検出手段1よ
りの信号が「1」より「0」に変換されるとSRCR1
23はリセットされて「0」を出力する。
【0059】つぎに、逐次化要求を伴わないストア要求
の実行においてLBSがミスヒットし、MIデータ待ち
となっている状態で、逐次化要求を伴うオペランドアク
セス要求が生じた場合について実施例の動作を説明す
る。Pステートに信号線1101よりストア要求、信号
線1102より逐次化要求、信号線1103より論理ア
ドレスが送られてくる。この要求の優先権がサブパイプ
ライン制御回路12により取られると、信号線1103
からの論理アドレスは選択器16により選択され、スト
ア処理の第1フローが開始される。
【0060】Tステートに、この論理アドレスはTLA
R17に保持される。TLAR17の出力1104によ
り、TLB部13で論理アドレスを絶対アドレスに変換
し、TAG部14でLBS151にストア対象となって
いるブロックが存在しているか否かをチェックする。L
BS151にフェッチ対象となっているブロックが存在
しないことが検出されると、サブパイプライン制御回路
12へ信号線1106を介して報告される。
【0061】Bステートに、論理アドレスは信号線11
04を入力とするBLAR18に保持され、絶対アドレ
スは信号線1105を入力とするBAAR19に保持さ
れる。サブパイプライン制御回路12は、信号線111
0により、MIB部内にMI要求が発生したことを通知
する。この通知はSTB部14にも送られMIPラッチ
121がセットされる。
【0062】Rステートに、論理アドレスは信号線11
08を入力とし、データを読み込むべきウェイ番号は信
号線1107を入力とし、それぞれSTB内のSTLA
R112,LWNR114に取り込まれる。MIB部1
0においては、Bステートにサブパイプライン制御回路
12から通知されたMI要求通知信号をデータ取り込み
タイミング指示信号(CE)としてBAAR19の出力
1109をMIAR107に取り込む。また、Iユニッ
トへは信号線1117よりSTV信号が返され、メイン
パイプラインはインターロックすることなく処理を続行
する。また、このステートにIユニットからの信号線1
113よりSTDV信号が送られてくる。
【0063】STDV信号を受けた次のステートで、E
ユニットからのストアデータは信号線1114を入力と
するEUSTDR20に取り込まれる。このステート
で、MRQAR26はMIB中のMIAR107の出力
1114を取り込み、このアドレスに対するMSUへの
要求内容(この場合MI要求)と要求識別番号が、それ
ぞれ信号線1112,1111からMRQR25,MR
QIDR24へ取り込まれMSUへ送出される。信号線
1111の識別番号は、STB内のMIIDR118に
もセットされる。
【0064】STB内のMIPラッチ121がセットさ
れている状態は、STB内にMIデータがMSUより一
度も送られてきていないストア要求が保持されているこ
とを示しており、4個のラッチの出力がOR回路122
を経て、命令制御部処理インターロック手段2のアンド
回路124および125に加えられる。しかし、SRC
R123には逐次化を要求する命令である信号がセット
されていないために、アンド回路125の出力は「0」
となる。
【0065】いまこのような状態で、Iユニットから逐
次化を要求を伴うオペランドアクセス要求を受け取る
と、アンド回路124の出力は「1」となってSRCR
123がセットされてアンド回路125の出力は「1」
となり、この要求のRサイクルにSTV信号を返さず、
Sユニット内で保留し、信号線1116よりIユニット
へ、SユニットがIユニットからの新規リクエストを受
け付けられない状態であることを示すSU BUSY信
号を送る。この間、メインパイプラインの処理はインタ
ーロックがかけられて停止する。
【0066】MSUより最初のDOW信号が信号線11
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
がリセットされる。
【0067】全てのMIPラッチがリセットされると信
号線1115がオフの状態となり、サブパイプライン制
御回路12は保留されていた逐次化要求を伴うオペラン
ドアクセス要求の実行を再開する。このオペランドアク
セスが完了すると、SユニットはSTV信号をIユニッ
トへ返すと同時にSU BUSY信号をオフにする。
【0068】以上、本発明の一実施例について説明した
が、本発明はこの実施例に限定されるものではなく、そ
の発明の主旨に従った各種変形が可能である。
【0069】
【発明の効果】以上説明したように、本発明によれば次
の効果が得られる。ストアバッファに格納され、未だム
ーブイン処理が行なわれていな処理が有るか無いかを検
出し、未処理が有り、かつ逐次化を必要とする命令が入
力された場合、命令制御部の処理を中断させるようにし
たので、中断している間に未処理のムーブインを伴う全
ての処理を実行し、全ての処理が完了した後逐次化を必
要とする命令が実行されるので、逐次化を保証すること
ができる。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の一実施例の構成図である。
【図3】同実施例の未ムーブイン処理検出手段および命
令制御部処理インターラプト手段の具体例である。
【図4】ムーブインバッファ部の具体例である。
【図5】ムーブインバッファの動作タイムチャートであ
る。
【図6】従来例の構成図である。
【図7】メインパイプラインとサブパイプライン処理で
実行されるステートの説明図である。
【図8】同実施例の動作タイムチャートである。
【図9】LBS排他制御の説明図である。
【図10】MOSの具体例である。
【図11】STBを設けた従来例の構成図である。
【図12】同実施例のSTB制御回路の具体例である。
【図13】同実施例の排他型ブロックを保持している場
合のストアアクセス動作タイムチャートである。
【図14】同実施例の排他型ブロックを保持していない
場合のストアアクセス動作タイムチャートである。
【図15】同実施例の共有型ブロックを保持している場
合のストアアクセス動作タイムチャートである。
【符号の説明】
1 未ムーブイン処理検出手段 2 命令制御部処理インターロック手段 6,7 CPU 8 主記憶装置(MSU) 9 記憶制御部 10 ムーブインバッファ(MIB)部 11 ストアバッファ(STB)部 12 サブパイプライン制御回路 13 論理/物理アドレス変換バッファ記憶(TLB)
部 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. 【請求項1】 命令制御部27、演算制御部28および
    記憶制御部9で構成されるデータ処理装置が、複数のデ
    ータ処理装置で共通にデータを記憶する主記憶装置8と
    前記記憶制御部9のバッファ記憶151との間のデータ
    転送をストア・イン方式で制御し、かつ、前記バッファ
    記憶151へのストア処理を、ストア要求を一時的に保
    持するストアバッファ11を介して行なう制御方式にお
    いて、前記ストアバッファ11に保持されているストア
    要求を伴うムーブインが、未だ実行されていないムーブ
    イン要求が存在することを検出する未ムーブイン処理検
    出手段1と、 前記命令制御部27より逐次化を必要とする命令が記憶
    制御部9に転送されたとき、前記未ムーブイン処理検出
    手段1によって未ムーブイン処理が検出された場合、前
    記命令制御部27の処理を中断させる命令制御部処理イ
    ンターロック手段2と、 を備えたことを特徴とするバッファ記憶制御方式。
  2. 【請求項2】 前記未ムーブイン処理検出手段1が、前
    記ストアバッファ11にストアされるムーブイン要求に
    よってセットされ、ムーブイン要求の識別番号と主記憶
    装置8より返送される識別番号とを比較して一致したと
    きリセットされる複数のラッチ121と、前記複数のラ
    ッチ121のいづれか1個でもセットされていることを
    検出するオア回路122と、を備えたことを特徴とする
    請求項1記載のバッファ記憶制御方式。
JP3257302A 1991-10-04 1991-10-04 バッファ記憶制御方式 Expired - Lifetime JP2637320B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 ストア・バッファ

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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