JPH028333B2 - - Google Patents

Info

Publication number
JPH028333B2
JPH028333B2 JP59248948A JP24894884A JPH028333B2 JP H028333 B2 JPH028333 B2 JP H028333B2 JP 59248948 A JP59248948 A JP 59248948A JP 24894884 A JP24894884 A JP 24894884A JP H028333 B2 JPH028333 B2 JP H028333B2
Authority
JP
Japan
Prior art keywords
store
buffer
instruction fetch
operand
instruction
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 - Lifetime
Application number
JP59248948A
Other languages
English (en)
Other versions
JPS61131041A (ja
Inventor
Hirosada Tone
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 JP59248948A priority Critical patent/JPS61131041A/ja
Publication of JPS61131041A publication Critical patent/JPS61131041A/ja
Publication of JPH028333B2 publication Critical patent/JPH028333B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、オペランドアクセス用バツフア記憶
装置と、命令フエツチ用バツフア記憶装置と、主
記憶装置へのストアアクセスを行う為の複数のス
トアアドレスレジスタと、ストアデータレジスタ
より構成されるストアバツフアを備えたデータ処
理装置におけるストアバツフア制御方式に関す
る。
近年、データ処理装置の能力を向上させる為
に、各種の方式が考えられているが、その方式の
1つとして、パイプライン方式がある。この方式
は1つの命令実行シーケンスを、複数のフエーズ
に分けて、それらの各フエーズをそれぞれ実行す
る複数のステーシヨンを設け、各ステーシヨンが
独立に動けるように構成することによつて、複数
の命令を同時に処理しようとするものである。
通常、データ処理装置の中核となる中央処理装
置(以下CPUと云う)は第8図に示すように、
3つの機能ブロツク、即ちI−UNIT1、E−
UNIT2、S−UNIT3、とバツフア記憶装置
(BS)4とから構成されている。
I−UNIT1は命令を解読し、該CPUのパイ
プライン全体を制御する。E−UNIT2は演算を
行い、S−UNIT3はバツフア記憶装置(以下
BSと云う)4と主記憶装置(図示せず)へのア
クセスを制御するユニツトである。
上記CPUパイプラインの1例として、I−
UNIT1のパイプラインを第9図に示す。
1つの命令は、命令フエツチフエーズ(INST
FETCH)にBS4から読み出された後、φA〜φF
迄の6つのフエーズを通ることにより処理され
る。
各フエーズの1部は2つ、又は3つのサイクル
に分割されていて、各サイクルの処理分担は次の
通りである。
I:命令フエツチのアドレス計算。
T:当該命令のアドレスについて、アドレス変換
バツフア(TLB)、及びBS4のタグ部を参照
する。
B:BS4の読み出し。
D:命令の解読。
R:レジスタリード。
A:オペランドフエツチのアドレス計算。
T:当該オペランドのアドレスについて、アドレ
ス変換バツフア(TLB)、及びBS4のタグ部
をアクセスする。
B:BS4の読み出し。
E1:演算実行サイクル1。
E2:演算実行サイクル2。
V:チエツクサイクル。
W:演算結果の書き込みサイクル。
上記CPUパイプラインの中で、BS4へのアク
セスがどのように行われるかを示したものが第1
0図であり、BS4を制御するS−UNIT3のパ
イプラインbをI−UNIT1のパイプラインaと
対比させて示している。
本図から明らかなように、命令フエツチ、オペ
ランドアクセス共に、4サイクルよりなり、各サ
イクルでの処理は次のようになつている。
P:BS4を使用する優先順位を決めるプライオ
リテイサイクル。
T:当該フエツチのアドレスについて、アドレス
変換バツフア(TLB)、及びBS4のタグ部を
参照する。
B:BS4の読み出し。
R:アクセスの結果により、読み出しデータをI
−UNIT1、及びE−UNIT2へ送出するリザ
ルトサイクル。
BS4へのアクセスは、第10図に示すように、
1命令を処理するパイプラインの中で、Iサイク
ルとAサイクルと、2回出されている。
この為、該2つのBS4へのアクセスに衝突が
起こるのを避ける為に、上記IサイクルとAサイ
クルとが重ならないように、2サイクルに1命令
を処理する構成となつている。この関係を第11
図の斜線で示している。
このパイプラインを用いたCPUにおいて、若
しも該パイプラインへの命令投入を毎サイクル行
えるように構成すれば、CPUの処理速度を2倍
に向上させることができる。
然しながら、毎サイクルパイプラインを起動す
るとなると、IサイクルとAサイクルの衝突が起
こり、Iサイクル1回当たり2個の命令をフエツ
チすることができるとしても、該I−UNIT1の
パイプラインの処理能力は1.5サイクルで1命令
しか実行できないことになる。
従つて、効率の良い毎サイクルパイプラインを
構成するのであれば、命令フエツチ用のBSと、
オペランドフエツチ用のBSとを分離して、それ
ぞれ独立に動作できる構成とする必要がある。
上記2つのBSを備えた場合に問題となるのは、
同一のブロツク(32バイト、或いは64バイト単
位)が、該2つのBSに存在した時の内容の一致
を図る制御である。
この問題は、2台のCPUが、それぞれ別個の
BSを持つている時のデータの一致をとる制御方
式に類似している。
〔従来の技術〕
第12図に、上記2つのBSを持つ従来方式の
例を示す。本図において、31はオペランド実効
アドレスレジスタ(以下OERと云う)、32はオ
ペランドアクセス用バツフア記憶(以下、オペラ
ンドバツフア記憶と云う)、33はオペランドワ
ードレジスタ(以下OWRと云う)、34は命令
実効レジスタ(以下IERと云う)、35は命令フ
エツチ用バツフア記憶(以下、命令フエツチバツ
フア記憶と云う)、36は命令ワードレジスタ
(以下IWRと云う)、37はオペランドストアデ
ータレジスタ(以下OSDRと云う)、38は命令
ストアデータレジスタ(以下ISDRと云う)であ
る。
この従来例においては、I−UNIT1からのオ
ペランドフエツチのアドレスは、OER31にセ
ツトされ、オペランドバツフア記憶32がアクセ
スされ、読み出されたデータはOWR33にセツ
トされてE−UNIT2へ送出される。
同様にして、命令フエツチアドレスは、IER3
4にセツトされ、命令フエツチバツフア記憶35
からの読み出しデータは、IWR36にセツトさ
れて、I−UNIT1に送出される。
上記オペランドストアアドレスは、OER1、
及びIER34に同時にセツトされ、オペランドバ
ツフア記憶32だけでなく、命令フエツチバツフ
ア記憶35にも、当該アドレスのデータブロツク
が存在するか否かが調べられる。
これは、該データブロツクの先頭に命令列が配
置されていても、その後にデータが含まれている
可能性があるからである。
そして、当該ブロツクが存在する時には、E−
UNIT2からのオペランドストアデータをOSDR
37、及びISDR38にセツトして、オペランド
バツフア記憶32、及び命令フエツチバツフア記
憶35の、当該アドレスのブロツクに書き込みを
行う。
他方、オペランドフエツチ、或いは命令フエツ
チの際に、当該バツフア記憶中に該当するアドレ
スが存在しない時には、図示していない主記憶装
置に対して当該アドレスのデータのブロツク転送
要求を出し、ブロツク転送されてきたデータが、
上記2つのバツフア記憶に書き込まれるように動
作する。
〔発明が解決しようとする問題点〕
上記の従来方式においては、オペランドストア
の際に、オペランドバツフア記憶32をアクセス
するS−UNIT3のP,T,B,Rで示されるパ
イプラインと、命令フエツチバツフア記憶をアク
セスするS−UNIT3のパイプラインとを、第1
3図に示すように同期させなければならない問題
がある。
即ち、本図の1に示すように、Pop,Pipとも
該プライオリテイサイクルにおいて、優先権がと
れると、直ちにストアの為のバツフアアクセスが
できるが、例えば2で示すように、命令フエツチ
用バツフア記憶が、ブロツク転送要求(Pmi)を
処理している場合には、Pifが3サイクル遅らさ
れ、これと同期をとる為に、オペランド側のパイ
プラインも3サイクル待たされることになる。
本発明は上記従来の欠点に鑑み、オペランドフ
エツチ、及び命令フエツチの両パイプラインを同
期化することなく、命令フエツチバツフア記憶に
オペランドストアを反映させる手段を提供するこ
とを目的とするものである。
〔問題点を解決する為の手段〕
この目的は、 オペランドアクセス用バツフア記憶装置と、命
令フエツチ用バツフア記憶装置と、主記憶装置へ
のストアアクセスを行う為の複数個のストアアド
レスレジスタ及びストアデータレジスタから構成
されるストアバツフアとを備え、命令フエツチは
上記命令フエツチ用バツフア記憶装置から行い、
オペランドフエツチは上記オペランドアクセス用
バツフア記憶装置から行い、オペランドストアは
上記オペランドアクセス用バツフア記憶装置と、
上記ストアバツフアに同一シーケンスで行い、命
令フエツチ用バツフア記憶装置へのオペランドス
トアの反映は、上記ストアバツフアから別シーケ
ンスで行う手段を有するデータ処理装置におい
て、上記ストアバツフアは、命令フエツチ用バツ
フア記憶装置に反映すべきストアアドレスと、ス
トアデータを保持していることを示す複数のホー
ルド(HOLD)フラグと、複数のストアバツフ
アの内、とれを命令フエツチ用バツフア記憶装置
に反映すべきかを示すポインタを持ち、命令フエ
ツチ用バツフア記憶装置への書き込みシーケンス
を始めた際、上記ポインタで示されるストアバツ
フアに対応する命令フエツチストア送出(IF ST
ISSUED)フラグをオンにして、且つ上記ポイン
タの値を書き込みシーケンスの各サイクルでの識
別(ID)ビツトとして使用することにより、書
き込み終了時には、上記識別(ID)ビツトで示
されるストアバツフアのホールド(HOLD)フ
ラグをリセツトし、上記書き込みシーケンスが中
断された場合には、上記識別(ID)ビツトで示
されるストアバツフアの命令フエツチストア送出
(IF ST ISSUED)フラグをリセツトすることに
より、上記ホールド(HOLD)フラグがオンで、
且つ命令フエツチストア送出(IF ST ISSUED)
フラグがオフのストアバツフアについて、書き込
みシーケンスの再起動を行う本発明の命令バツフ
アへのストア制御方式によつて達成される。
これは、ストアスルー方式のバツフア記憶に設
けられているストアバツフアのアドレス、及びデ
ータを利用して、命令フエツチバツフア記憶への
オペランドストアの反映を行うようにしたもので
ある。
〔作用〕
即ち、本発明によれば、オペランドバツフア記
憶と、命令フエツチバツフア記憶と、主記憶装置
へのストアアクセスを行う為の複数のストアアド
レスレジスタ(STAR)と、ストアデータレジ
スタ(STD)より構成されるストアバツフアを
有するデータ処理装置において、上記命令フエツ
チバツフア記憶に反映すべきストアアドレス、ス
トアデータを保持していることを示す複数の
STB HOLDフラグと、命令フエツチパイプライ
ンに上記命令フエツチバツフア記憶への書き込み
を送出したことを示すIF ST ISSUEDフラグと、
どのストアバツフアから該命令フエツチパイプラ
インに投入されたかを示すIDビツトを備え、先
行のパイプライン処理の遅延によつて、後続する
パイプライン処理がキヤンセルされた時、該IF
ST ISSUEDフラグをリセツトすることにより、
上記STB HOLDフラグがオンで、IF ST
ISSUEDフラグがオフとなつているストアバツフ
アを検出することによつて、該キヤンセルされた
パイプライン処理を上記命令フエツチパイプライ
ンに再投入するようにしたものであるので、オペ
ランドストアの命令フエツチバツフア記憶への反
映が矛盾なく行うことができる効果がある。
〔実施例〕
以下本発明の実施例を図面によつて詳述する。
本発明は、I−UNIT1からのストアアクセス
は、バツフア記憶へ書き込むと同時に、ストアの
アドレスと、データを保持できるストアバツフア
にセツトし、主記憶装置へも書き込む、所謂スト
アスルー方式を前提としている。
第1図は本発明の基本動作に関連する構成例を
ブロツク図で示した図、第2図はストアバツフア
(STB)の構成を示す図、第3図A,Bは第1図
に示す実施例の詳細な構成を示す図、第4図は
STB VALID、STB READYの動作を説明する
図、第5図はストアバツフア制御フラグの動作を
タイムチヤートで示した図、第6図は命令フエツ
チパイプラインに対するIDの動作を説明する図、
第7図は本発明を実施してストアアクセス制御を
行う場合の動作をタイムチヤートで示した図であ
る。
第1図において、31〜38は第12図で説明
したものと同じものであり、ストアアドレスレジ
スタ(以下STARと云う)390と、ストアデ
ータレジスタ(以下STDと云う)391、及び
第2図で示しているストアバツフア(STB)の
制御フラグであるSTB HOLDフラグH、及びIF
ST ISSUEDフラグIが、本発明を実施するのに
必要な機能ブロツクである。
先ず、I−UNIT1からのオペランドストアア
ドレスは、IER34にはセツトしないで、OER
31側にだけセツトされ、オペランドバツフア記
憶32に当該アドレスがあるか否かがチエツクさ
れ、あればOSDR37にセツトされたオペランド
ストアデータが、オペランドバツフア記憶32に
書き込まれる。
これと同時に、該オペランドストアアドレスは
STAR390にセツトされ、E−UNIT2からの
オペランドストアデータはSTD391にセツト
され、その後に主記憶装置への書き込み要求が出
される。
本発明は、前記ストアスルー方式のバツフア記
憶に設けられている、上記オペランドストアアド
レス、及びデータがセツトされているSTAR3
90、及びSTD391のアドレスと、データを
利用することにより、命令フエツチバツフア記憶
35へのオペランドストアの反映を行うものであ
る。
上記STAR390にセツトされたオペランド
ストアアドレスはIER34にセツトされ、命令フ
エツチバツフア記憶35に当該アドレスが存在す
るか否かがチエツクされる。そして、当該アドレ
スが存在すると、STD391内のストアデータ
をISDR38を通して命令フエツチバツフア記憶
35に書き込まれる。
上記の動作により、オペランドのストアアクセ
スにおいては、オペランドフエツチと、命令フエ
ツチの両パイプラインを同期して実行させる必要
はなくなり、命令フエツチバツフア記憶35への
オペランドストアの反映は、ストアバツフア
(STB)のアドレス(即ち、STAR390の内
容)とデータ(STD391)を用いて、I−
UNIT1のパイプラインとは非同期に行うことが
できる。然も、STAR390とSTD391は、
既にS−UNIT3の構成要素として設けられてお
り、これを流用することにより、新たなハードウ
エアを殆ど追加することなしに実現することがで
きる所に特徴がある。
次に、本発明を実施した場合の詳細な動作につ
いて、第3図〜第7図を用いて説明する。
第3図A、及び第3図Bは、便宜上、一枚の図
面を一点鎖線の位置で分割したものである。
本図において、I−UNITからのオペランドア
クセスアドレスと、命令フエツチアドレスが、そ
れぞれOER31、IER34にセツトされると同
時に、アドレス変換バツフアOP TLB311、
IF TLB312により、論理アドレスを実アドレ
スに高速に変換すると、バツフア記憶32,35
のブロツクアドレスをそれぞれ記憶しているOP
BS TAG313、IF BS TAG314をアクセ
スする。
上記OP TLB311、IF TLB312から読
み出された論理アドレスは、比較回路315,3
16により、該当アドレスかどうかがチエツクさ
れると同時に、その実アドレス部はOP BS
TAG313、IF BS TAG314内に保持され
ているバツフア記憶のブロツクアドレスと比較さ
れ、OP BS TAG313、IF BS TAG314
の比較器317,318のそれぞれ16個の内の1
つの一致信号が有効になることにより、オペラン
ドバツフア記憶32、命令フエツチバツフア記憶
35の出力が、それぞれアライン&セレクト回路
319,320により選択され、それぞれオペラ
ンドデータ、命令データとして、それぞれE−
UNIT、I−UNITへ送出される。
オペランド実アドレスレジスタ(以下、ORR
と云う)321、命令実アドレスレジスタ(以
下、IRRと云う)322は比較回路315,31
6により、一致が生じたアドレス変換バツフア
TLB311,312のPRIMARYと、
ALTERNATEの一方に保持されている実アドレ
スを受け取り、バツフア記憶32,35に該当ブ
ロツクが存在しなかつた時、主記憶装置への転送
要求アドレスをMAR323にセツトするのに使
用される。
上記動作を更に詳細に述べると、オペランドス
トアのアクセスは、OER31にセツトされると
共に、OP TLB311、OP BS TAG313を
アクセスし、ストアすべきブロツクがオペランド
バツフア記憶32内に存在するか否かを調べる。
同時に、OP BS TAG311からの実アドレ
スは、ORR321を経由して、4個のSTAR3
90の1個に主記憶装置へのストアアドレスとし
て保持される。
ストアすべきデータは、E−UNITから送ら
れ、ストアアライン回路324を通り、4個のス
トアバツフアSTD391の内の1個にセツトさ
れる。
オペランドバツフア記憶32への書き込みは、
ストアアライン回路324を通りOSDR37から
行われる。
ストアバツフアは、第2図に示すように、主記
憶装置へのストアの実アドレスを保持する
STAR390と、8バイトのデータを保持する
STD391よりなり、制御フラグとして、上記
STAR390にアドレスが入つたことを示すバ
リツドフラグVと、STDにデータが入つたこと
を示すレデイーフラグRと、8バイト以内の部分
書込み時の書き込みバイト位置を示すバイトマー
ク(BM)とがあり、更に命令フエツチバツフア
記憶に反映すべきストアデータを保持しているこ
とを示すSTB HOLDフラグHと、命令フエツチ
パイプラインに命令フエツチバツフア記憶への書
き込みアクセスを投入したことを示すIF ST
ISSUEDフラグIとを設けている。
4個のストアバツフアは、アクセス毎に順番に
使われていき、4番目迄くると、主記憶装置への
はきだしが行われていれば、1番目へサイクリツ
クに戻るように機能する。
命令フエツチバツフア記憶35への反映は、セ
レクト回路325により、4個のSTAR390
の内の1個が選択され、IER34にセツトされ
る。
同時に、IF BS TAG314がアクセスされ、
該当ブロツクがあるか否かが調べられる。この
際、IER34にセツトされるアドレスは実アドレ
スであるので、TLB312を使う必要はなく、
IER34の値が直接比較器318へ送出される。
(図示せず) 若し、ストアアドレスが命令フエツチバツフア
記憶35内に存在すればSTD391の対応する
ストアデータがセレクト回路326により選択さ
れ、ISDR38を経由して命令フエツチバツフア
記憶35に書き込まれる。
上記命令フエツチバツフア記憶35への反映と
同時に、STAR390はセレクト回路325を
通り、MAR323にセツトされ、主記憶装置へ
のストアアドレスとなり、STD391内の対応
するデータは、MDI327を通り、主記憶装置
への書き込みデータとして送出される。
オペランドストアアドレスがSTAR390に
入つた後で、且つ命令フエツチバツフア記憶35
への反映が済む前に、同一アドレスがIER34に
入つた場合には、IRR322へセツトされた命令
フエツチの実アドレスと、STAR390内のス
トアの実アドレスとが比較器328により調べら
れ、若し一致すると命令フエツチのやり直しを指
示する。
若し、4個のSTAR390が総て使用されて
おり、新たなオペランドストアアドレスがセツト
できない場合には、上記アドレスの比較ができな
いので、オペランドストアアクセスと命令フエツ
チとの順序性を保障する為、STAR390が次
のストアアドレスを受け取ることができるように
なる迄、総ての命令フエツチアクセスを待たせる
必要がある。従つて、これらの命令フエツチのや
り直しはI−UNIT1が制御する。(図示せず) 以上の動作により、オペランドストアアクセス
と命令フエツチの順序性を保障することができ
る。該命令フエツチリトライ信号の制御回路が否
定入力付きナンド回路329である。
尚、命令フエツチバツフア記憶35へのストア
の反映は、本発明がストアスルー方式を前提とし
ていることから、命令フエツチバツフア記憶35
への書き込みをしないで、該当するブロツクアド
レスを、IF BS TAG314上で無効にすること
によつても実現できることは明らかである。
本発明は、このような命令フエツチバツフア記
憶35へのストアの反映を行う際の、ストアバツ
フアの制御に関係している。
ストアバツフアの制御フラグとして、前述した
ように、バリツドフラグV(以下、STB VARID
と云う)と、レデイーフラグR(以下、STB
READYと云う)とがあり、第4図によつて、そ
の動作の詳細を示す。
先ず、オペランドストアアクセスは、本図に示
されているように、第3図のOP TLB311と、
OP BS TAG313をアクセスして、ストアす
べきブロツクがあるか否かを示す第1フロー
(P、T、B、R)と、OP BS DATA32に、
E−UNITからデータを書き込む第2フロー
(P、W、S)とからなる。ここで、 W:TLB,TAGに対する書き込みサイクル。
S:BSに対する書き込みサイクル。
である。
STB VALIDは、STAR390にORR32
1からのストアアドレスがセツトされるRサイク
ルにおいてオンとなり、STB READYはSTD
391にストアアライン回路324からのデータ
がセツトされるSサイクルにオンとなるように制
御される。
STAR390、STD391にセツトされたス
トアアドレスとストアデータは、Sサイクルの終
わりのタイミングにおいて、それぞれMAR32
3、MDI327にセツトされ主記憶装置に送出
され、該送出の完了タイミングにおいて、上記
STB VALID、STB READYフラグはリセツト
される。
本実施例においては、4個のSTAR390、
STD391を持つており、これらの何れを使用
するかを、2ビツトのポインタをデコードした信
号により選択される。
STAR390の選択は、ポインタSTB INP
により行われ、STAR390がセツトされた後、
+1されて、次のSTAR390を指示するよう
に動作する。
ポインタSTB DINPは、BサイクルのSTB
INPの値をWサイクル迄シフトし、STAR39
0に対応するSTD391を選択するのに使用さ
れる。
MAR323、MDI327にどのストアバツフ
アからセツトすべきかは、ポインタSTB OUTP
により決められ、デコード出力は選択回路
(SEL)の制御信号として用いられる。
このような構成をとるバツフア記憶装置におい
ては、主記憶装置への送出と、命令フエツチバツ
フア記憶35へのストアアクセスの順番は、必ず
しも決められない。
何故ならば、主記憶装置への送出は、インタフ
エースバスが“空き”である時に可能であり、既
に他のリクエストが送出中であれば待たなければ
ならない。
命令フエツチバツフア記憶35へのストアアク
セスも、命令フエツチ側のパイプラインがビジー
であると、必ずしも受け付けてくれるとは限らな
い。
又、命令フエツチ側パイプラインに受け付けら
れた後でも、先行するリクエストの状態によつて
は、処理を続行できず、一旦キヤンセルされて、
再投入を要求される場合もある。
このような、ストアアクセスを制御する為に、
本発明においては、ストアバツフアに、前述のよ
うに、命令フエツチバツフア記憶35に反映すべ
きストアデータを保持していることを示すSTB
HOLDフラグと、命令フエツチ側パイプライン
に命令フエツチバツフア記憶35への書き込みア
クセスを送出したことを示すIF ST ISSUEDフ
ラグと、どのストアバツフアから命令フエツチパ
イプラインに投入したかを示すIDビツトとを設
けている。
これらの2つのフラグと、前述のSTB
VALID、STB READYフラグのタイミング関係
を第5図に示す。
STB HOLDフラグは、STB VALIDフラグと
同じRサイクルでセツトされ、命令フエツチバツ
フア記憶35へのストアアクセスが保留されてい
ることを示す。
ストアバツフアから命令フエツチパイプライン
への投入は、第4図のポインタSTB IF STP
によつて制御され、このポインタが示すストアバ
ツフアにSTB HOLDフラグが付いているなら
ば、第5図に示す命令フエツチパイプラインにプ
ライオリテイP(IF ST IOW)(前記第1フロ
ー)のリクエストを立てる。
このリクエストの優先順位がとれ、命令フエツ
チパイプラインが起動されると、対応するストア
バツフアのIF ST ISSUEDフラグがオンとなり、
命令フエツチバツフア記憶35へのストアアクセ
スが送出されたことを示す。
命令フエツチパイプラインでは、第6図に示す
ように、上記IF ST LOWリクエストがTサイク
ルに移行する際に、STB IF STPのデコード
出力に対応するIF ST ISSUEDフラグをセツ
トし、且つどのストアバツフアからのストアアク
セスが投入されたかを示すSTB IF STPの内
容を、先ずT IDにセツトし、順次B ID、
R ID、W IDへとシフトされる。
Rサイクルにおいて、命令フエツチバツフア記
憶35にストアすべきアドレスブロツクがないこ
とが判明すると、R IDのデコード出力で示
されたストアバツフアのSTB HOLDフラグを、
第5図のようにRサイクルの終わりのタイミング
でリセツトする。
若し、アドレスブロツクが存在した場合には、
書き込みを行う為のP(IF ST HIGH)(前記第
2フロー)をセツトし、書き込みフローを起動す
る。
この場合のストアバツフアのIDはW IDで
示され、対応するSTB HOLDフラグがリセツト
されることになる。
該STB HOLDフラグは、第3図Bにおける、
命令フエツチバツフア記憶35へのデータの反映
が済んでいないことを示し、IRR322へセツト
された命令フエツチの実アドレスとSTAR39
0内のストアの実アドレスとを比較器328でチ
エツクすべきか否かの制御信号として使用され
る。
STB HOLDフラグがオフになれば、上記比較
器328の結果は無視されるように制御される。
このような、命令フエツチパイプラインへのス
トアアクセスにおいて、第7図に示すように、先
行するP(IF ST LOW)のアドレスブロツクが
命令フエツチバツフア記憶35に存在した場合に
は、実際の書き込みを行う必要がある。
この時、P(IF ST HIGH)リクエストが優先
順位を取れれば良いが、図示のように、1サイク
ルデイレイされた場合には、後続のP(IF ST
LOW)がP(IF ST HIGH)の為に保存してあ
る情報(図示せず)を破壊してしまう為、後続の
リクエストをBサイクルの終わりのタイミングで
キヤンセルしなければならない。
このようなケースにおいて、該キヤンセルされ
たストアアクセスが再送出できるように制御され
ることが要求される。
本実施例においては、図示のようにTサイク
ル、及びBサイクルで、このようなケースが生起
すると、上記キヤンセルを起動する為の制御フリ
ツプフロツプ「IF ST WAIT」が付勢され、第
6図のT ID、B IDのデコード出力によ
つて、IF ST ISSUEDフラグをリセツトされる
ので、STB HOLDフラグをオンにした侭、IF
ST ISSUEDフラグがオフとなる。
第6図のSTB IF STPは、命令フエツチパ
イプラインにストアアクセスを送出すると+1さ
れるが、IF ST ISSUEDフラグ、T ID〜
W IDは、該キヤンセルされたストアバツフ
アを示しているので、STB HOLDフラグがオン
で、IF ST ISSUEDフラグがオフになつている
ストアバツフアを検出すると、命令フエツチパイ
プラインに、上記キヤンセルされたP(IF ST
LOW)を再送出するように制御される。再送出
の際には、同一8バイト以内のストアが複数、ス
トアバツフアに入つている可能性があるので、ス
トアの反映の順序性を守る為、前述したような
IF BS TAG314の無効化を指示する場合があ
る。
このように制御することにより、オペランドス
トアの命令フエツチバツフア記憶35に対する反
映が矛盾なく行うことができる。
〔発明の効果〕
以上、詳細に説明したように、本発明の命令バ
ツフアへのストア制御方式は、オペランドバツフ
ア記憶と、命令フエツチバツフア記憶と、主記憶
装置へのストアアクセスを行う為の複数のストア
アドレスレジスタ(STAR)と、ストアデータ
レジスタ(STD)より構成されるストアバツフ
アを有するデータ処理装置において、上記命令フ
エツチバツフア記憶に反映すべきストアアドレ
ス、ストアデータを保持していることを示す複数
のSTB HOLDフラグと、命令フエツチパイプラ
インに上記命令フエツチバツフア記憶への書き込
みを送出したことを示すIF ST ISSUEDフラグ
と、どのストアバツフアから該命令フエツチパイ
プラインに投入されたかを示すIDビツトを備え、
先行のパイプライン処理の遅延によつて、後続す
るパイプライン処理がキヤンセルされた時、該
IF ST ISSUEDフラグをリセツトすることによ
り、上記STB HOLDフラグがオンでIF ST
ISSUEDフラグがオフとなつているストアバツフ
アを検出することによつて、該キヤンセルされた
パイプライン処理を上記命令フエツチパイプライ
ンに再投入するようにしたものであるので、オペ
ランドストアの命令フエツチバツフア記憶への反
映が矛盾なく行うことができる効果がある。
【図面の簡単な説明】
第1図は本発明の基本動作に関連する構成例を
ブロツク図で示した図、第2図はストアバツフア
(STB)の構成の一例を示した図、第3図A,B
は第1図に示す実施例の詳細な構成を示す図、第
4図はSTB VALID、STB READYの動作を説
明する図、第5図はストアバツフア制御フラグの
動作をタイムチヤートで示した図、第6図は命令
フエツチパイプラインに対するIDの動作を説明
する図、第7図は本発明を実施してストアアクセ
ス制御を行う場合の動作をタイムチヤートで示し
た図、第8図は中央処理装置(CPU)の構成を
示した図、第9図はI−UNITパイプラインの動
作を説明した図、第10図は1命令のバツフア記
憶へのアクセスタイミングを示す説明図、第11
図は2サイクル1命令処理の説明図、第12図は
従来の2つのバツフア記憶を持つ方式をブロツク
図で示した図、第13図は第12図で示した従来
方式に必要な同期制御タイミングを説明する図、
である。 図面において、1はI−UNIT、2はE−
UNIT、3はS−UNIT、4はバツフア記憶、3
1はオペランド実行アドレスレジスタ(OER)、
32はオペランドバツフア記憶、33はオペラン
ドワードレジスタ(OWR)、34は命令実行レ
ジスタ(IFR)、35は命令フエツチバツフア記
憶、36は命令ワードレジスタ(IWR)、37は
オペランドストアデータレジスタ(OSDR)、3
8は命令ストアデータレジスタ(ISDR)、31
1,312はアドレス変換バツフア(OP TLB、
IF TLB)、313,314はタグ部(OP BS
TAG、IF BS TAG)、317,318は比較
器、35,36は比較器、319はアライン&セ
レクト回路、324はストアアライン回路、32
1はオペランド実アドレスレジスタ(ORR)、3
22は命令実アドレスレジスタ(IRR)、390
はストアアドレスレジスタ(STAR)、391は
ストアデータレジスタ(STD)、はSTB
VALIDフラグ、はSTB READYフラグ、は
ポインタSTB INP、はポインタSTB OUTP、
はポインタSTB IF STP、〜はID、I,
T,B,D,R,A,E1,E2,V,W,Sは
パイプラインの各サイクル、STAR VALID V,
STB READY R,STB HOLD H,IF ST
ISSUEDフラグIは制御フラグ、をそれぞれ示
す。

Claims (1)

    【特許請求の範囲】
  1. 1 オペランドアクセス用バツフア記憶装置と、
    命令フエツチ用バツフア記憶装置と、主記憶装置
    へのストアアクセスを行う為の複数個のストアア
    ドレスレジスタ及びストアデータレジスタから構
    成されるストアバツフアとを備え、命令フエツチ
    は上記命令フエツチ用バツフア記憶装置から行
    い、オペランドフエツチは上記オペランドアクセ
    ス用バツフア記憶装置から行い、オペランドスト
    アは上記オペランドアクセス用バツフア記憶装置
    と、上記ストアバツフアに同一シーケンスで行
    い、命令フエツチ用バツフア記憶装置へのオペラ
    ンドストアの反映は、上記ストアバツフアから別
    シーケンスで行う手段を有するデータ処理装置に
    おいて、上記ストアバツフアは、命令フエツチ用
    バツフア記憶装置に反映すべきストアアドレス
    と、ストアデータを保持していることを示す複数
    のホールド(HOLD)フラグと、複数のストア
    バツフアの内、どれを命令フエツチ用バツフア記
    憶装置に反映すべきかを示すポインタを持ち、命
    令フエツチ用バツフア記憶装置への書き込みシー
    ケンスを始めた際、上記ポインタで示されるスト
    アバツフアに対応する命令フエツチストア送出
    (IF ST ISSUED)フラグをオンにして、且つ上
    記ポインタの値を書き込みシーケンスの各サイク
    ルでの識別(ID)ビツトとして使用することに
    より、書き込み終了時には、上記識別(ID)ビ
    ツトで示されるストアバツフアのホールド
    (HOLD)フラグをリセツトし、上記書き込みシ
    ーケンスが中断された場合には、上記識別(ID)
    ビツトで示されるストアバツフアの命令フエツチ
    ストア送出(IF ST ISSUED)フラグをリセツ
    トすることにより、上記ホールド(HOLD)フ
    ラグがオンで、且つ命令フエツチストア送出
    (IF ST ISSUED)フラグがオフのストアバツフ
    アについて、書き込みシーケンスの再起動を行う
    ことを特徴とする命令バツフアへのストア制御方
    式。
JP59248948A 1984-11-26 1984-11-26 命令バツフアへのストア制御方式 Granted JPS61131041A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59248948A JPS61131041A (ja) 1984-11-26 1984-11-26 命令バツフアへのストア制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59248948A JPS61131041A (ja) 1984-11-26 1984-11-26 命令バツフアへのストア制御方式

Publications (2)

Publication Number Publication Date
JPS61131041A JPS61131041A (ja) 1986-06-18
JPH028333B2 true JPH028333B2 (ja) 1990-02-23

Family

ID=17185794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59248948A Granted JPS61131041A (ja) 1984-11-26 1984-11-26 命令バツフアへのストア制御方式

Country Status (1)

Country Link
JP (1) JPS61131041A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08228934A (ja) * 1995-02-28 1996-09-10 Kawashima Kogyo Kk 調理用容器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08228934A (ja) * 1995-02-28 1996-09-10 Kawashima Kogyo Kk 調理用容器

Also Published As

Publication number Publication date
JPS61131041A (ja) 1986-06-18

Similar Documents

Publication Publication Date Title
EP0690371B1 (en) Fetch and store buffer for supporting out of order execution in a data processing system
US5293500A (en) Parallel processing method and apparatus
JP4045062B2 (ja) ロード命令を実行する方法、プロセッサ、およびシステム
US5598550A (en) Cache controller for processing simultaneous cache accesses
US6266768B1 (en) System and method for permitting out-of-order execution of load instructions
JPH0526212B2 (ja)
US6301654B1 (en) System and method for permitting out-of-order execution of load and store instructions
JP3400458B2 (ja) 情報処理装置
US6738837B1 (en) Digital system with split transaction memory access
US6883077B2 (en) Cache control device and method with TLB search before key receipt
JPS59231652A (ja) メモリアクセス・オ−バラツプ検出方式
US5129065A (en) Apparatus and methods for interface register handshake for controlling devices
JPS62102344A (ja) バツフア・メモリ制御方式
US6647450B1 (en) Multiprocessor computer systems with command FIFO buffer at each target device
JPH0351012B2 (ja)
US8688890B2 (en) Bit ordering for communicating an address on a serial fabric
JPH028333B2 (ja)
US20140136796A1 (en) Arithmetic processing device and method for controlling the same
JP2538993B2 (ja) オペランドストアのキャッシュメモリヘのストア制御方式
JPWO1992005489A1 (ja) 計算機システム
JPH02259945A (ja) ストア処理方式
JPS60123944A (ja) 情報処理装置におけるバツフアメモリ制御方式
JPH0376501B2 (ja)
WO1995022110A1 (en) Write-read data operation for microprocessor
JPS5938828A (ja) デ−タ処理システム