JPH0238966B2 - - Google Patents

Info

Publication number
JPH0238966B2
JPH0238966B2 JP59034057A JP3405784A JPH0238966B2 JP H0238966 B2 JPH0238966 B2 JP H0238966B2 JP 59034057 A JP59034057 A JP 59034057A JP 3405784 A JP3405784 A JP 3405784A JP H0238966 B2 JPH0238966 B2 JP H0238966B2
Authority
JP
Japan
Prior art keywords
bypass
register
instruction
data
address
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
JP59034057A
Other languages
English (en)
Other versions
JPS60178540A (ja
Inventor
Toshiaki Kitamura
Juji Oinaga
Katsumi Oonishi
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 JP3405784A priority Critical patent/JPS60178540A/ja
Priority to AU38677/85A priority patent/AU553416B2/en
Priority to CA000474470A priority patent/CA1223371A/en
Priority to ES540629A priority patent/ES8702010A1/es
Priority to BR8500788A priority patent/BR8500788A/pt
Priority to DE8585400342T priority patent/DE3587277T2/de
Priority to EP85400342A priority patent/EP0155211B1/en
Publication of JPS60178540A publication Critical patent/JPS60178540A/ja
Priority to US07/453,193 priority patent/US5043868A/en
Publication of JPH0238966B2 publication Critical patent/JPH0238966B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 (A) 発明の技術分野 本発明は情報処理装置におけるバイパス制御方
式、特に、パイプライン処理においてアドレス計
算機の入力データに関してレジスタ干渉が発生し
た場合に、オペランド・アドレスのデータをバイ
パスさせてパイプライン処理の乱れを最小にし、
命令の処理能力を向上させた情報処理装置におけ
るバイパス制御方式に関するものである。
(B) 従来技術と問題点 情報処理装置におけるパイプライン処理では、
先行する命令が完了する以前に、後続する命令の
処理を開始するが、先行する命令により変更をう
けるレジスタを、後続する命令で参照する場合に
は、いわゆるレジスタ干渉が生じるので、先行す
る命令の完了を待つて、処理を開始しなければな
らない。
第1図は命令フローの例についての説明図、第
2図は従来方式による問題点を説明するためのタ
イムチヤートを示す。
1命令についての実行制御は、例えば第1図図
示の如く、命令フエツチ後に、命令をデコードす
るDステージと、オペランド・アドレスを計算す
るAステージと、オペランド・アドレスを実アド
レスに変換するTステージと、記憶制御部が管理
するバツフアからオペランドデータの読み出しを
行うBステージと、演算処理するEステージと、
結果をチエツクして書き込むWステージの各制御
ステージからなる。これらの各ステージは、一般
に独立であつて、先行制御が可能であり、高速な
計算機では、パイプライン処理が行われている。
以下、上記制御ステージをもつ場合を例にして説
明するが、本発明は、これに限られるわけではな
い。
第2図において、先行命令aと後続命令bと
は、レジスタ干渉なく、パイプライン処理が行わ
れている。しかし、先行命令aと後続命令cと
は、結果格納レジスタアドレスとオペランド・ア
ドレス計算に用いるレジスタアドレスとに一致が
見られ、レジスタ干渉が生じている。そのため、
バイパス制御をしない場合、命令aの実行結果
が、Wステージでレジスタに書き込まれるまで、
命令cはインターロツクされ、オペランドで指定
されたレジスタに結果が格納された後、命令cに
ついてのオペランド・アドレス計算が開始され
る。
従来、このレジスタ干渉による遅れを緩和する
ために、Eステージにおいて用意された先行する
命令aのレジスタ書き込みデータを、後続する命
令cのレジスタ読み出しデータとしてバイパス
し、インターロツク期間を短縮することが行われ
ている。しかし、これでは、オペランド・アドレ
ス計算におけるベース修飾、インデツクス修飾に
使用する場合、1ステージ分の処理時間を短縮で
きるのみである。
(C) 発明の目的と構成 本発明は、上記の点を改善することを目的とし
ており、演算ユニツトによるレジスタ書き込みデ
ータの生成とは別に、オペランド・アドレスの計
算を行う回路により早期にレジスタ書き込みデー
タの内容が決定される特定の命令について、レジ
スタ干渉によるパイプライン処理の乱れを最小限
にし、命令実行制御における処理能力を向上させ
ることを目的としている。そのため、本発明の情
報処理装置におけるバイパス制御方式は、パイプ
ラインにより命令を実行制御する情報処埋装置に
おけるバイパス制御方式において、予め決められ
た命令により、汎用レジスタに格納されるベース
修飾またはインデツクス修飾等のオペランド・ア
ドレスを計算する回路と、予め決められた命令に
より、汎用レジスタに格納されるデータを有する
記憶装置と、上記オペランド・アドレスを計算す
る回路により計算された結果が格納されるととも
に、記憶装置からの読み出しデータが格納される
ことがある、パイプライン段数により定まる個数
のバイパス用レジスタと、記憶装置からの読み出
しデータを上記バイパス用レジスタに伝えるセレ
クタと、パイプライン処理におけるレジスタ干渉
を検出する一致回路と、上記各バイパス用レジス
タに対応して命令の種類によりバイパスの可否情
報を記憶する回路とを備え、パイプライン処理に
あたつてアドレス計算に用いる入力データに対す
る汎用レジスタ干渉が発生した際に、先行命令が
上記オペランド・アドレスを計算する回路または
記憶装置からの読み出しデータによつて汎用レジ
スタ書き込みデータの内容を確定できる種類の命
令であることを条件として、後続する命令のオペ
ランド・アドレス計算におけるベース修飾または
インデツクス修飾のためのデータを上記バイパス
用レジスタからバイパスして供給するよう制御す
ることを特徴としている。以下、図面を参照しつ
つ、実施例に従つて説明する。
(D) 発明の実施例 第3図は本発明による制御概要を説明るための
図、第4図は本発明の一実施例ブロツク図、第5
図は第4図図示一致回路の説明図、第6図は本発
明の他の一実施例要部ブロツク図を示す。
本発明の場合、先行する命令aが、例えばいわ
ゆるロード・アドレス(LA)命令やロード・レ
ジスタ(LR)命令等であつて、アドレス計算の
回路を用いるだけで、バツフアストレジへアクセ
スすることなく、レジスタへの書き込みデータが
確定するような命令であるとき、先行する命令a
の第1オペランドである結果格納レジスタアドレ
スと、例えば後続する命令cの第2オペランドの
アドレス計算に使用するレジスタアドレスとが一
致しても、第3図のタイムチヤートに示す如く、
バイパス制御によつて、命令cをインターロツク
しない。命令aのAステージにおいてアドレス計
算の回路を用いて演算が行われると、その計算結
果のデータが、後述するようにバイパス用レジス
タから、命令cのアドレス計算用にバイパスさ
れ、命令cのオペランド・アドレスが求められ
る。
本発明は、例えば第4図図示のごとき回路構成
によつて実現される。第4図において、1は命令
レジスタ、2はレジスタフアイル、3はアドレス
計算用加減算器、4はベース・レジスタ、5はイ
ンデツクス・レジスタ、6はデイスプレイスメン
ト・レジスタ、9および10はセレクタ、11は
一致回路、12はデコード部、13ないし17は
それぞれ各ステージに対応するレジスタ書き込み
アドレスを保持するレジスタ、18ないし21は
各バイパス用レジスタに対応するバイパス・バリ
ツド・フラグ、22ないし25はそれぞれ各ステ
ージに対応するバイパス用レジスタ、26ないし
29はセレクタを表す。
命令レジスタ1には、主記憶からフエツチされ
た命令が格納される。命令は、例えばオペレーシ
ヨン・コード(OP)と、第1オペランド(OPR
1)と、第2オペランド(OPR2)とからなり、
LOAD系命令の場合、第1オペランドが書き込
みの対象となるオペランド、第2オペランドが参
照されるオペランドとなる。第2オペランドは、
この例では、ベース・レジスタ番号B2、インデ
ツクス・レジスタ番号X2、デイスプレイスメン
トD2によつて定められる。
レジスタフアイル2は、汎用レジスタ、浮動小
数点レジスタ等のレジスタ群からなる記憶回路で
ある。アドレス計算用減算器3は、ベース・レジ
スタ4、インデツクス・レジスタ5、デイスプレ
イスメント・レジスタ6またはオペランド・アド
レスを保持するバイパス用レジスタ22〜25か
らの入力データに基づいて加減算を行い、オペラ
ンド・アドレスを計算する回路である。アドレス
計算用加減算器3によつて計算されたオペラン
ド・アドレスは、メモリアドレスとして用いられ
ると共に、順次、バイパス用レジスタ22〜25
へシフトされて供給される。バイパス用レジスタ
22〜25は、Aステージ後のパイプライン段数
に見合つた個数分用意される。
一致回路11は、先行命令の結果格納レジスタ
と、後続命令のオペランド・アドレス計算に用い
るレジスタとが、一致するか否かを検出する回路
である。一致回路11の出力により、セレクタ
9,10における選択がなされる。デコード部1
2は、命令のオペレーシヨン・コードを解析する
回路であつて、特に本実施例の場合、先行命令に
ついて実際のレジスタ書き込みデータを生成する
演算ユニツトによる経路とは別に、アドレス計算
用加減算器3の出力により、そのレジスタ書き込
みデータを演算できる命令であるかどうかを判断
し、早期に演算(単なる転送を含む)できるもの
である場合には、バイパス・バリツド・フラグ1
8をセツトする。
例えば、命令がロード・アドレス(LA)命令
やロード・レジスタ(LR)命令等であるとき、
バイパス・バリツド・フラグ18がセツトされ、
バイパスできない場合には、リセツトされること
になる。バイパス・バリツド・フラグ18の内容
は、順次、次段のバイパス・バリツド・フラグ1
9〜21に送り出される。バイパス・バリツド・
フラグ18〜21が、セツトされているとき、一
致回路11に対し、各々対応するバイパス用レジ
スタ22〜25によるバイパス制御が可能である
旨の信号が出力される。
なお、命令がロード(L)命令であるような場
合には、そのレジスタ書き込みデータは、メモリ
から読み出されるため、メモリ読み出しデータ
が、セレクタ26〜29を経て、対応するバイパ
ス用レジスタ22〜25にセツトされるよう構成
されている。メモリ読み出しデータが、バイパス
用レジスタ22〜25にセツトされると、それに
対応するバイパス・バリツド・フラグ18〜21
がオンにされる。もちろんこの場合にも、図示省
略しているが、バイパス・バリツド・フラグ18
〜21の内容が一致回路11に投入され、バイパ
ス可否の判定に使用されるようになつている。
レジスタ13には、Aステージにおけるレジス
タ書き込みアドレス(A1)が格納される。レジ
スタ14には、同様にTステージにおけるレジス
タ書き込みアドレス(T1)が格納される。レジ
スタ15〜17についても同様である。
一致回路11は、例えば第5図図示の如く、命
令のベース修飾部13または命令のインデツクス
修飾部I2と、各ステージにおけるレジスタ書き
込みアドレスA1〜E1とをそれぞれ比較する一
致回路11−1〜11−8からなる。一致回路1
1−1は、先行するLA命令等の命令のレジスタ
書き込みアドレスA1と、後続命令のベース修飾
部I3とが一致すとき、レジスタフアイル2から
の読み出しデータではなく、先行するLA命令等
でセツトしておいてバイパス用レジスタ
(TBYR)22の内容を、アドレス計算用加減算
器3の入力ポートEA1へ導き、バイパス制御す
る。一致回路11−2は、同様にレジスタ書き込
みアドレスT1と、ベース修飾部I3によるレジ
スタアドレスとを比較し、一致するときに、バイ
パス用レジスタ(BBYR)23の内容を、レジ
スタ計算用加減算器3の入力データとしてバイパ
スする。一致回路11−3および11−4につい
ても同様である。一致しない場合には、ベース・
レジスタ4の内容を、入力ポートEA1へ導く。
同様に一致回路11−5〜11−8は、後続命
令のインデツクス修飾部I2について、各レジス
タ書き込みアドレスA1〜E1と比較し、一致す
るときに、対応するバイパス用レジスタ22〜2
5を、アドレス計算用加減算器3の入力ポート
EA2へ導く。一致しない場合には、インデツク
ス・レジスタ5の内容を選択する。
このようにすることによつて、第3図に示した
ような、パイプラインの流れになり、全く乱れの
ないパイプライン処理がなされることになる。な
お、言うまでもなく、レジスタ書き込みアドレス
A1〜E1が、ベースまたはインデツクスに一致
し、対応するバイパス・バリツド・フラグ18〜
21がリセツト状態のときには、従来と同様な待
ち制御が行われると考えてよい。上記実施例にお
いては、アドレス計算用加減算器3の出力で、レ
ジスタ書き込みデータを演算できる命令として、
LA命令等を取り上げたが、もちろん対象となる
命令は、命令セツトによつて変わり、上記の例に
限らず、命令処理の早いサイクルで結果を得るこ
とができる命令であれば、同様に本発明によるバ
イパス制御の対象にすることができる。
第6図は、本発明の値の一実施例を示してお
り、図中の符号3,13ないし22は第4図に対
応し、31ないし33はバイパス用レジスタ、3
4ないし36は識別番号レジスタ、40は第4図
図示一致回路やデコード部等からなる制御回路を
表す。
第6図に図示した例の場合、制御の概要は、先
の実施例と同様であるが、バイパス用レジスタの
内容を、パイプラインのサイクルに対応してシフ
トするのではなく、B/E/Wステージ用に3個
のバイパス用レジスタ31〜33を用意し、それ
ぞれ0,1,2の識別番号(ID)を付与する。
そして、バイパス用レジスタ(TBYR)22か
ら、これらの3つのレジスタ31〜33にデータ
を転送する際に、転送先のレジスタを、IDが0
→1→2→0→1→2……の順番で順次変えて転
送する。パイプラインの進行に伴つてシフトする
データとしては、IDのみを、識別番号レジスタ
34〜36に保持しておき、制御回路40におい
て、該識別番号レジスタ34〜36の内容を参照
して、バイパス制御時のレジスタ選択に用いる。
これによつても、レジスタ干渉時に、対応するバ
イパス・バリツド・フラグ18〜21がバリツド
を示し、バイパス用レジスタにデータが入つてい
ることを条件として、そのバイパス用レジスタの
内容を、レジスタ読み出しデータとしてバイパス
し、オペランド・アドレス計算を行つて、パイプ
ライン処理を進行させることができる。
(E) 発明の効果 以上説明した如く本発明によれば、レジスタ干
渉が起きる場合のかなりの部分について、レジス
タ書き込みデータをバイパスできようになり、パ
イプラインの流れを乱さないように制御して、性
能を向上させることが可能になる。特に、バイパ
ス用レジスタを複数個備えているため、レジスタ
干渉が発生しているフロー間に、他のフローが挟
まつているようなタイミング関係のレジスタ干渉
であつても、バイパスが可能であり、例えば第2
図に図示したようなタイミング関係でバイパスし
ない場合には、3サイクルの遅延があるが、本発
明の場合、第3図図示の如く、遅延が解消され
る。
【図面の簡単な説明】
第1図は命令フローの例についての説明図、第
2図は従来方式による問題点を説明するためのタ
イムチヤート、第3図は本発明による制御概要を
説明するための図、第4図は本発明の一実施例ブ
ロツク図、第5図は第4図図示一致回路の説明
図、第6図は本発明の他の一実施例要部ブロツク
図を示す。 図中、1は命令レジスタ、2はレジスタフアイ
ル、3はアドレス計算用加減算器、9および10
はセレクタ、11は一致回路、12はデコード
部、13ないし17はレジスタ書込みアドレスを
保持するレジスタ、18ないし21はバイパス・
バリツド・フラグ、22ないし25はバイパス用
レジスタ、34ないし36は識別番号レジスタを
表す。

Claims (1)

  1. 【特許請求の範囲】 1 パイプラインにより命令を実行制御する情報
    処埋装置におけるバイパス制御方式において、 予め決められた命令により、汎用レジスタに格
    納されるベース修飾またはインデツクス修飾等の
    オペランド・アドレスを計算する回路と、 予め決められた命令により、汎用レジスタに格
    納されるデータを有する記憶装置と、 上記オペランド・アドレスを計算する回路によ
    り計算された結果が格納されるとともに、記憶装
    置からの読み出しデータが格納されることがあ
    る、パイプライン段数により定まる個数のバイパ
    ス用レジスタと、 記憶装置からの読み出しデータを上記バイパス
    用レジスタに伝えるセレクタと、 パイプライン処理におけるレジスタ干渉を検出
    する一致回路と、 上記各バイパス用レジスタに対応して命令の種
    類によりバイパスの可否情報を記憶する回路とを
    備え、 パイプライン処理にあたつてアドレス計算に用
    いる入力データに対する汎用レジスタ干渉が発生
    した際に、先行命令が上記オペランド・アドレス
    を計算する回路または記憶装置からの読み出しデ
    ータによつて汎用レジスタ書き込みデータの内容
    を確定できる種類の命令であることを条件とし
    て、後続する命令のオペランド・アドレス計算に
    おけるベース修飾またはインデツクス修飾のため
    のデータを上記バイパス用レジスタからバイパス
    して供給するよう制御することを特徴とする情報
    処理装置におけるバイパス制御方式。
JP3405784A 1984-02-24 1984-02-24 情報処理装置におけるバイパス制御方式 Granted JPS60178540A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP3405784A JPS60178540A (ja) 1984-02-24 1984-02-24 情報処理装置におけるバイパス制御方式
AU38677/85A AU553416B2 (en) 1984-02-24 1985-02-13 Pipeline processing
CA000474470A CA1223371A (en) 1984-02-24 1985-02-15 System for by-pass control in pipeline operation of computer
ES540629A ES8702010A1 (es) 1984-02-24 1985-02-22 Un sistema para el control de desvio durante el funcionamiento de un ordenador en una modalidad de canalizacion.
BR8500788A BR8500788A (pt) 1984-02-24 1985-02-22 Sistema para controle de desvio em operacao de canalizacao de um computador
DE8585400342T DE3587277T2 (de) 1984-02-24 1985-02-25 System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
EP85400342A EP0155211B1 (en) 1984-02-24 1985-02-25 System for by-pass control in pipeline operation of computer
US07/453,193 US5043868A (en) 1984-02-24 1989-12-19 System for by-pass control in pipeline operation of computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3405784A JPS60178540A (ja) 1984-02-24 1984-02-24 情報処理装置におけるバイパス制御方式

Publications (2)

Publication Number Publication Date
JPS60178540A JPS60178540A (ja) 1985-09-12
JPH0238966B2 true JPH0238966B2 (ja) 1990-09-03

Family

ID=12403645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3405784A Granted JPS60178540A (ja) 1984-02-24 1984-02-24 情報処理装置におけるバイパス制御方式

Country Status (1)

Country Link
JP (1) JPS60178540A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6339036A (ja) * 1986-08-01 1988-02-19 Nec Corp パイプライン処理方式
JPH0769821B2 (ja) * 1988-03-04 1995-07-31 日本電気株式会社 情報処理装置におけるバイパスライン制御方式

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49114338A (ja) * 1973-02-28 1974-10-31
JPS5038433A (ja) * 1973-08-08 1975-04-09
JPS5041442A (ja) * 1973-08-16 1975-04-15
JPS5621241A (en) * 1979-07-28 1981-02-27 Fujitsu Ltd Pipeline control method for computer operation
JPS57114948A (en) * 1980-12-31 1982-07-17 Fujitsu Ltd Register advanced control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49114338A (ja) * 1973-02-28 1974-10-31
JPS5038433A (ja) * 1973-08-08 1975-04-09
JPS5041442A (ja) * 1973-08-16 1975-04-15
JPS5621241A (en) * 1979-07-28 1981-02-27 Fujitsu Ltd Pipeline control method for computer operation
JPS57114948A (en) * 1980-12-31 1982-07-17 Fujitsu Ltd Register advanced control system

Also Published As

Publication number Publication date
JPS60178540A (ja) 1985-09-12

Similar Documents

Publication Publication Date Title
EP0155211B1 (en) System for by-pass control in pipeline operation of computer
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
US4916606A (en) Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions
CA2304609A1 (en) Autonomously cycling data processing architecture
JPH0743648B2 (ja) 情報処理装置
KR100241970B1 (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
JPH0238966B2 (ja)
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
KR900002436B1 (ko) 컴퓨터의 파이프라인 처리시의 바이패스 제어를 위한 시스템
JPS6120893B2 (ja)
JP2553728B2 (ja) 演算装置
JPH0444136A (ja) メモリアクセス制御装置
JP3132566B2 (ja) 命令先行制御装置
JPS5896345A (ja) 階層型演算方式
CA2044896C (en) Pipelined processor with simultaneous instruction execution
JPH06139071A (ja) 並列計算機
JP2542120B2 (ja) 情報処理装置
JPS6120907B2 (ja)
JPS6116111B2 (ja)
JPH0554059A (ja) ベクトル処理装置
JPS586972B2 (ja) 情報処理装置
JPH0419575B2 (ja)
JPH01296345A (ja) 情報処理装置
JPS62262141A (ja) データ処理装置
JP2001092629A (ja) バイパス制御回路