JPS6043751A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS6043751A JPS6043751A JP58150618A JP15061883A JPS6043751A JP S6043751 A JPS6043751 A JP S6043751A JP 58150618 A JP58150618 A JP 58150618A JP 15061883 A JP15061883 A JP 15061883A JP S6043751 A JPS6043751 A JP S6043751A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- judgment
- circuit
- determination
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Hardware Redundancy (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、命令処理の高速化のために複数の演算ユニッ
トを設けた情報処理装置に関する。
トを設けた情報処理装置に関する。
近年、処理の高速化にともない、多くの情報処理装置で
は演算処理部を複数の専用演算ユニットに分割して構成
する方式を採用している。例えば、演算ユニットを、固
定小数点命令や十進命令等を実行する一般命令演算ユニ
ット(Gユニット)と浮動小数点命令を高速の実行する
浮動小数点命令演算ユニット(Fユニット)の2つに分
割する方式がある。又、システムによっては、さらに多
くの演算ユニットに分ける場合もある。このような情報
処理装置において、分岐の成立/不成立の判定がP S
W (Program 5tatus Word)の条
件コード(CC)により決定され、しかも当該CCが演
算結果から決まる条件付分岐命令について考えてみる。
は演算処理部を複数の専用演算ユニットに分割して構成
する方式を採用している。例えば、演算ユニットを、固
定小数点命令や十進命令等を実行する一般命令演算ユニ
ット(Gユニット)と浮動小数点命令を高速の実行する
浮動小数点命令演算ユニット(Fユニット)の2つに分
割する方式がある。又、システムによっては、さらに多
くの演算ユニットに分ける場合もある。このような情報
処理装置において、分岐の成立/不成立の判定がP S
W (Program 5tatus Word)の条
件コード(CC)により決定され、しかも当該CCが演
算結果から決まる条件付分岐命令について考えてみる。
この場合、CCは各々の演算ユニットで作成され、最終
的にPSWのCC部に転送する必要がある。
的にPSWのCC部に転送する必要がある。
また、該CCは条件付分岐命令の分岐判定に用いられる
ので、各演算ユニットから分岐判定手段までのCCの転
送時間が該条件付分岐命令の性能を左右することになる
。
ので、各演算ユニットから分岐判定手段までのCCの転
送時間が該条件付分岐命令の性能を左右することになる
。
第1図は2つの演算ユニッ1−を有する情報処理装置の
概略構成を示す。第1図において、主記憶ユニット(M
S)1.記憶制御ユニット(SCU)2、命令制御ユニ
ット(IU)3は特に変ったところはナイが、演算ユニ
ッ1〜4がGユニット(GU)5とFユニット(FU)
6の2つからなる点が特長である。
概略構成を示す。第1図において、主記憶ユニット(M
S)1.記憶制御ユニット(SCU)2、命令制御ユニ
ット(IU)3は特に変ったところはナイが、演算ユニ
ッ1〜4がGユニット(GU)5とFユニット(FU)
6の2つからなる点が特長である。
第2図に上記GU5とFU6の従来の構成例を示す。
第2図において、 GU5の一般命令演算器201では
固定小数点演算、十進演算を行い、FU6の浮動小数点
命令演算器210では浮動小数点演算を行うものとする
。該演算結果から、それぞれの命令仕様のしたがってG
TJ5.FU6のCC作成回路202.211によりC
Cが作成される。それぞれのユニットで作成されたCC
は信号線203.212を経由し、セレクタ204を介
してPSWの00部205に格納される。この例では、
pswのCC部はGU側に設置さJi、、FU側のCC
をGUまで転送するとしであるが、pswのCC部をど
のユニットに設置するかは任意であり、いずれにせよ複
数のユニッ1−で作成されたCCは1つの所に集める必
要があるため、ユニット間の転送が必要である。セレク
タ204は、 固定/十進命令の時は自GU5のCCを
選択し、浮動小数点命令ではFU6のCCを選択する回
路である。
固定小数点演算、十進演算を行い、FU6の浮動小数点
命令演算器210では浮動小数点演算を行うものとする
。該演算結果から、それぞれの命令仕様のしたがってG
TJ5.FU6のCC作成回路202.211によりC
Cが作成される。それぞれのユニットで作成されたCC
は信号線203.212を経由し、セレクタ204を介
してPSWの00部205に格納される。この例では、
pswのCC部はGU側に設置さJi、、FU側のCC
をGUまで転送するとしであるが、pswのCC部をど
のユニットに設置するかは任意であり、いずれにせよ複
数のユニッ1−で作成されたCCは1つの所に集める必
要があるため、ユニット間の転送が必要である。セレク
タ204は、 固定/十進命令の時は自GU5のCCを
選択し、浮動小数点命令ではFU6のCCを選択する回
路である。
上記PSWの00部205への格納と並行して、GO/
FU CCはセレクタ206を介して分岐判定回路20
7へ入力される。セレクタ206は、条件付分岐命令(
BC命令; Branch on Condition
命令)の直前がGU CC変更命令(例えば、固定小数
点加算命令)の時は信号線203のGU CCをFU
C。
FU CCはセレクタ206を介して分岐判定回路20
7へ入力される。セレクタ206は、条件付分岐命令(
BC命令; Branch on Condition
命令)の直前がGU CC変更命令(例えば、固定小数
点加算命令)の時は信号線203のGU CCをFU
C。
C変更命令(例えば、浮動小数点加算命令)の時は信号
線212のFU CCを、その他の時はPSWのCCを
選択するものである。この理由はBC命令の直前にCC
変更命令があると、その結果がPSWのCC部に入るの
は遅れるため、PSWのCC部に入る前のCCを分岐判
定に使って、分岐判定を高速化するためである。分岐判
定回路207での判定結果は分岐判定信号線208を介
してIU3へ送出され、分岐成功の時は命令のメイン・
ストリーム(BC命令の後続命令)の命命フェッチ、命
令デコードの中止、命令キューに入っている命令の無効
化などを行うとともに、ターゲラ1−・ストリーム(分
岐先命令)の命令デコードが開始される(分岐先命令の
命令フェッチはBC命令のデコード時に既に開始されて
いる)。また、分岐不成功の時はターゲラ1−・ストリ
ームの命令フェッチを中止し、メイン・ストリームの命
令を続行する。
線212のFU CCを、その他の時はPSWのCCを
選択するものである。この理由はBC命令の直前にCC
変更命令があると、その結果がPSWのCC部に入るの
は遅れるため、PSWのCC部に入る前のCCを分岐判
定に使って、分岐判定を高速化するためである。分岐判
定回路207での判定結果は分岐判定信号線208を介
してIU3へ送出され、分岐成功の時は命令のメイン・
ストリーム(BC命令の後続命令)の命命フェッチ、命
令デコードの中止、命令キューに入っている命令の無効
化などを行うとともに、ターゲラ1−・ストリーム(分
岐先命令)の命令デコードが開始される(分岐先命令の
命令フェッチはBC命令のデコード時に既に開始されて
いる)。また、分岐不成功の時はターゲラ1−・ストリ
ームの命令フェッチを中止し、メイン・ストリームの命
令を続行する。
これらの制御は分岐制御回路209により行われる。
ところで、この従来技術の問題点は、分岐判定回路がG
Uに設置されているため、BC命令の直前がFU CC
変更命令の場合、 CCをFUからGUに転送する時間
分、分岐判定が遅れ、条件付分岐命令の性能が低下する
ことである。これは、分岐判定回路がFUに設置されて
いる場合も全く同様である。
Uに設置されているため、BC命令の直前がFU CC
変更命令の場合、 CCをFUからGUに転送する時間
分、分岐判定が遅れ、条件付分岐命令の性能が低下する
ことである。これは、分岐判定回路がFUに設置されて
いる場合も全く同様である。
C発明の目的〕
本発明の目的は、複数の演算ユニッ1へを有する情報処
理装置において、条件句分岐命令の分岐判定を高速化す
る事により、分岐が成立した場合に分岐先命令のデコー
ドを早期に開始せしめ、分岐オーバヘッドの少ない情報
処理装置を提供する事にある。
理装置において、条件句分岐命令の分岐判定を高速化す
る事により、分岐が成立した場合に分岐先命令のデコー
ドを早期に開始せしめ、分岐オーバヘッドの少ない情報
処理装置を提供する事にある。
複数の演算ユニットを有する情報処理装置においては、
各々の演算ユニットがその演算結果により条件コードを
作成するため、条件付分岐命令の分岐判定を1ケ所で行
うと、演算ユニットからその場所へ条件コードを転送す
る時間が必要となり、分岐判定が遅くなる。そこで、本
発明では分岐判定回路を各々の演算ユニッ1へに設け、
いづれの演算ユニッ1〜が最新の条件コードを有してい
るかを示す手段により分岐判定ユニットを決定し、その
決定に従った各演算ユニットが自演質ユニソ1〜内で作
成した条件コードにより分岐判定を行い、それによって
条件コードの転送時間を不要とし、分岐判定の高速化を
可能とするものである。
各々の演算ユニットがその演算結果により条件コードを
作成するため、条件付分岐命令の分岐判定を1ケ所で行
うと、演算ユニットからその場所へ条件コードを転送す
る時間が必要となり、分岐判定が遅くなる。そこで、本
発明では分岐判定回路を各々の演算ユニッ1へに設け、
いづれの演算ユニッ1〜が最新の条件コードを有してい
るかを示す手段により分岐判定ユニットを決定し、その
決定に従った各演算ユニットが自演質ユニソ1〜内で作
成した条件コードにより分岐判定を行い、それによって
条件コードの転送時間を不要とし、分岐判定の高速化を
可能とするものである。
第3図は本発明の一実施例を示したもので、第2図と異
なる点は、分岐判定回路301.、307がGU5、F
U6にそれぞり、設置されたことであり、又、これに伴
って分岐判定をどちらの分岐判定回路で行うべきかを指
示する判定ユニット決定回路306が設置され、更に分
岐判定信号線302.308がGO5,FU6それぞれ
からFU3へ送出されていることである。以下、第3図
の動作を説明する。
なる点は、分岐判定回路301.、307がGU5、F
U6にそれぞり、設置されたことであり、又、これに伴
って分岐判定をどちらの分岐判定回路で行うべきかを指
示する判定ユニット決定回路306が設置され、更に分
岐判定信号線302.308がGO5,FU6それぞれ
からFU3へ送出されていることである。以下、第3図
の動作を説明する。
固定小数点/中層命令はG U 5の一般命令演算器2
01で演算が行われ、その結果によりGU CCがGU
CC作成回路202で作成される。このGUCCは信
号線203、セレクタ204を介してPSWの06部2
05に格納されるとともにセレクタ309を介してG
U’ 5の分岐判定回路301に入力される。一方、浮
動小数点命令はFU6の浮動小数点命令演算器210で
演算が行われ、その結果によりFU CCがFU CC
回路211で作成される。このFUCCは信号4!A2
12を介してFU分岐判定回路307に入力されるとと
にGO5へも転送され、セレクタ204を介してPSW
の06部205に格納される。
01で演算が行われ、その結果によりGU CCがGU
CC作成回路202で作成される。このGUCCは信
号線203、セレクタ204を介してPSWの06部2
05に格納されるとともにセレクタ309を介してG
U’ 5の分岐判定回路301に入力される。一方、浮
動小数点命令はFU6の浮動小数点命令演算器210で
演算が行われ、その結果によりFU CCがFU CC
回路211で作成される。このFUCCは信号4!A2
12を介してFU分岐判定回路307に入力されるとと
にGO5へも転送され、セレクタ204を介してPSW
の06部205に格納される。
上記動作と並行して、 GU CC変更命令の直後に条
件付分岐命令がきた場合、’I’JI定ユニツ1−決定
回路306はpsw cc選択信号線304を” o
”、GC判定指示信号線303をII I II、 F
U判定指示信号線305を′O″′とする。この結果、
GU CCが信号線305をN Orrとする。この結
果、GU CCが信号線203、セレクタ309を介し
てGU分岐判定回路301に入力されるとともに、 G
U判定指示信号線303により該GU分岐判定回路30
1が起動され、そのGU分岐判定結果が信号6302を
介してFU3へ送出される。
件付分岐命令がきた場合、’I’JI定ユニツ1−決定
回路306はpsw cc選択信号線304を” o
”、GC判定指示信号線303をII I II、 F
U判定指示信号線305を′O″′とする。この結果、
GU CCが信号線305をN Orrとする。この結
果、GU CCが信号線203、セレクタ309を介し
てGU分岐判定回路301に入力されるとともに、 G
U判定指示信号線303により該GU分岐判定回路30
1が起動され、そのGU分岐判定結果が信号6302を
介してFU3へ送出される。
FtJ CC変更命令の直後に条件付分岐命令がきた場
合には、判定ユニット決定回路306はI) 5WCC
選択信号線304を”0”、GU判定指示信号線303
をrr Orr、FU判定指示伯号線305をrL 1
71どする。こめ結果、FU判定指示信号線305によ
りFU分岐判定回路307が起動され、信号線212の
FtJCCにより分岐判定が行われ、そのFU分岐判定
結果が信号線308を介してFU3へ送出される。
合には、判定ユニット決定回路306はI) 5WCC
選択信号線304を”0”、GU判定指示信号線303
をrr Orr、FU判定指示伯号線305をrL 1
71どする。こめ結果、FU判定指示信号線305によ
りFU分岐判定回路307が起動され、信号線212の
FtJCCにより分岐判定が行われ、そのFU分岐判定
結果が信号線308を介してFU3へ送出される。
条件付分岐命令の直前にGU CCおよびFUCC変更
命令がない場合には、判定ユニツ1〜決定回路306は
PSWCC選択信号1’i’、 304をrr l r
r、 GU 11 ’ff1m yRffi″″303
&”””、 FU”14”1““9 ・;1・線305
をII Oggとする。 この結果、ps’wのcc部
205がセレクタ309を介してGU分岐判定回路3Q
Iに入力されるとともに、 GU刺定指示信号線303
によりGU分岐判定回路301が起動され、pswCC
により分岐判定が行われ、そのGtJ分岐判定結果が信
号線302を介してFU3へ送出される。
命令がない場合には、判定ユニツ1〜決定回路306は
PSWCC選択信号1’i’、 304をrr l r
r、 GU 11 ’ff1m yRffi″″303
&”””、 FU”14”1““9 ・;1・線305
をII Oggとする。 この結果、ps’wのcc部
205がセレクタ309を介してGU分岐判定回路3Q
Iに入力されるとともに、 GU刺定指示信号線303
によりGU分岐判定回路301が起動され、pswCC
により分岐判定が行われ、そのGtJ分岐判定結果が信
号線302を介してFU3へ送出される。
FU3では、上記信号線302.308のGU分岐判定
結果とFU分岐判定結果をORして分岐制御回路209
に入力する。分岐制御回路209の動作は、第2図の従
来例と全く同様である。
結果とFU分岐判定結果をORして分岐制御回路209
に入力する。分岐制御回路209の動作は、第2図の従
来例と全く同様である。
第4図は分岐判定回路301.307の描成例を示した
ものである。こりでコンディションコード(CC)は2
ビットよりなり、例えば加算命令の場合、” o o
”は加算結果かゼロ、” 01 ”はゼロより小、10
″′はゼロより大、”11”はオーバフローを表わして
いる。 このCGをデコーダ7I01でデコードし、
そのデコード信号と分岐命令402のマスク部(M、)
とのアンド条件をアンド回路403〜406でとり、結
果が# I Hとなれば分岐成功、結果がII OII
であれば分岐不成功という判定を行う。判定結果はオア
回路407を通り、アンド回路408で判定動作指示信
号と判定ユニット指示信号とのアンド条件がとら九で送
出される。 アンド回路408における判定動作指示信
号はBC命令実行時に発行される。
ものである。こりでコンディションコード(CC)は2
ビットよりなり、例えば加算命令の場合、” o o
”は加算結果かゼロ、” 01 ”はゼロより小、10
″′はゼロより大、”11”はオーバフローを表わして
いる。 このCGをデコーダ7I01でデコードし、
そのデコード信号と分岐命令402のマスク部(M、)
とのアンド条件をアンド回路403〜406でとり、結
果が# I Hとなれば分岐成功、結果がII OII
であれば分岐不成功という判定を行う。判定結果はオア
回路407を通り、アンド回路408で判定動作指示信
号と判定ユニット指示信号とのアンド条件がとら九で送
出される。 アンド回路408における判定動作指示信
号はBC命令実行時に発行される。
又、判定ユニッl〜指示(8号は、QU分岐判定回路3
01では第3図のGU判定指示信号線303の信号が与
えられ、FU分岐判定回路307はFU判定指示信号線
305の信号が与えられる。即ち、GU/FU分岐判定
回路301.307はそれぞれ判定動作指示信号が1″
′で、しかもGU/FtJ判定指示信号(判定ユニツh
指示信号)がパビのときのみ判定動作を行う。
01では第3図のGU判定指示信号線303の信号が与
えられ、FU分岐判定回路307はFU判定指示信号線
305の信号が与えられる。即ち、GU/FU分岐判定
回路301.307はそれぞれ判定動作指示信号が1″
′で、しかもGU/FtJ判定指示信号(判定ユニツh
指示信号)がパビのときのみ判定動作を行う。
第5図および第6図は判定ユニツ1−決定回路30Gを
説明するための図である。
説明するための図である。
第5図は条件付分岐命令とGIJ/FU CC変更命令
との隣接状況による分岐’r!I定ユニツユニット定ア
ルゴリズムをタイミング・チャー1−で示したものであ
る。第5図において、(A)は条件イ」分岐都令の直前
にGU FU変更命令がいる場合を示している。 この
場合はGOCC変更命令実行中という信号の1サイクル
ディレィ信号が分岐判定時に” 1 ”になっているの
で、 GU FUを用いて分岐判定を行えばよい。(B
)は条件付分岐命令の直前にFU CC変更命令がいる
場合を示している。 この場合も(A)と同様にFU
CC変更命令実行中という信号の1サイクルディレィ信
号が分岐判定時にu I IIとなっているので、 F
U CCを用いて分岐判定を行えばよい。(C)は条件
(=J分岐命令の直前にはGU/FUともに変更命令が
いない場合を示す。 この場合はpswccを用いて分
岐判定を行えばよい。
との隣接状況による分岐’r!I定ユニツユニット定ア
ルゴリズムをタイミング・チャー1−で示したものであ
る。第5図において、(A)は条件イ」分岐都令の直前
にGU FU変更命令がいる場合を示している。 この
場合はGOCC変更命令実行中という信号の1サイクル
ディレィ信号が分岐判定時に” 1 ”になっているの
で、 GU FUを用いて分岐判定を行えばよい。(B
)は条件付分岐命令の直前にFU CC変更命令がいる
場合を示している。 この場合も(A)と同様にFU
CC変更命令実行中という信号の1サイクルディレィ信
号が分岐判定時にu I IIとなっているので、 F
U CCを用いて分岐判定を行えばよい。(C)は条件
(=J分岐命令の直前にはGU/FUともに変更命令が
いない場合を示す。 この場合はpswccを用いて分
岐判定を行えばよい。
第6図は判定二ニット決定回路306の構成例を示した
ものである。第5図のアルゴリズムにより、FU判定指
示信号線305の信号はFU CC変更命令実行中を示
す信号をディレィラッチ601で1サイクル遅延するこ
とにより得らり、、GU判定指示信号303の信号は該
ディレィラッチ601の出力を反転回路603を通すこ
とにより得られる。又、PSWCC選択信号線304の
信号は、上記ディレィラッチ601の出力とGU CC
変更命令実行中を示す信号をディレィラッチ602で1
サイクル遅延した出力とをNOR回路604を通すこと
により得られる。なお、GU/FU CC変更命令実行
中を示す信号はGU/FUから得ればよい。
ものである。第5図のアルゴリズムにより、FU判定指
示信号線305の信号はFU CC変更命令実行中を示
す信号をディレィラッチ601で1サイクル遅延するこ
とにより得らり、、GU判定指示信号303の信号は該
ディレィラッチ601の出力を反転回路603を通すこ
とにより得られる。又、PSWCC選択信号線304の
信号は、上記ディレィラッチ601の出力とGU CC
変更命令実行中を示す信号をディレィラッチ602で1
サイクル遅延した出力とをNOR回路604を通すこと
により得られる。なお、GU/FU CC変更命令実行
中を示す信号はGU/FUから得ればよい。
次に1本発明を適用することにより、従来技術に比べて
条件句分岐命令の分岐判定命令動作の高速化が達成され
ることを具体例で説明する。
条件句分岐命令の分岐判定命令動作の高速化が達成され
ることを具体例で説明する。
第7図(A)、(B)はそれぞh B C命令の直前に
GU/I”UCCを変更する命令がある場合の一例を示
している。第7図では、BC命令とCC変更命令以外は
ロード命令(L)と仮定しているが、これは何の命令で
あってもかまわない。(Δ)はY3C命令の直前にCC
変更命令として固定小数点加算命令(A)がある例で、
この場合はGU CCによる分岐判定を行う必要があ
る。又、(B)はBC命令の直前にCC変更命令として
浮動小数点加算命令(AE)がある例で、 この場合ば
FU ccによる分岐判定を行う必要がある。
GU/I”UCCを変更する命令がある場合の一例を示
している。第7図では、BC命令とCC変更命令以外は
ロード命令(L)と仮定しているが、これは何の命令で
あってもかまわない。(Δ)はY3C命令の直前にCC
変更命令として固定小数点加算命令(A)がある例で、
この場合はGU CCによる分岐判定を行う必要があ
る。又、(B)はBC命令の直前にCC変更命令として
浮動小数点加算命令(AE)がある例で、 この場合ば
FU ccによる分岐判定を行う必要がある。
第8図(A)は第7図(A)の命令列を実行し、分岐が
成功した時のタイミング・チャー1−である。
成功した時のタイミング・チャー1−である。
こ\で、 D、A、L、Eは命令バイブラインの各ステ
ージで、それぞれ命令デコード、アドレス計算、オペラ
ンド・ロード、実行ステージを表わしている。A命令で
作成されたCCは、Δ命令のEステージの終りでGU
CCとして確定し、 その半サイクル後に分岐判定が行
われて、さらに半サイクル後に分岐先命令のデコードが
開始さJしる。第7図(A)から分かる様に、BC命令
実行の終了から分岐先命令の実行開始まで3サイクル必
要としている。このタイミングは従来技術/本発明とも
全く同じである。これは、第2図の勺岐判定回路207
と第3図の分岐判定回路301の位置関係は同一である
ことによる。
ージで、それぞれ命令デコード、アドレス計算、オペラ
ンド・ロード、実行ステージを表わしている。A命令で
作成されたCCは、Δ命令のEステージの終りでGU
CCとして確定し、 その半サイクル後に分岐判定が行
われて、さらに半サイクル後に分岐先命令のデコードが
開始さJしる。第7図(A)から分かる様に、BC命令
実行の終了から分岐先命令の実行開始まで3サイクル必
要としている。このタイミングは従来技術/本発明とも
全く同じである。これは、第2図の勺岐判定回路207
と第3図の分岐判定回路301の位置関係は同一である
ことによる。
第8図(B)は第7図(B)の命令列を実行し、分岐が
成功した時の従来技術のタイミング・チャー1〜である
。AE命令のCCば、 FU CCとしてAE命令のE
ス−テージの終りでFOGにて確定する。しかし、 こ
のFU CCをG U 5まで転送するのに1サイクル
かかるので、GU5での分岐判定はそのさらに半サイク
ルあとで行われ、分岐先命令のデコードはさらに半サイ
クル後となる。従ってBC命令の終了から分岐先命令の
実行開始まではGU CCの場合より1サイクル多い4
サイクルとなってしまう。
成功した時の従来技術のタイミング・チャー1〜である
。AE命令のCCば、 FU CCとしてAE命令のE
ス−テージの終りでFOGにて確定する。しかし、 こ
のFU CCをG U 5まで転送するのに1サイクル
かかるので、GU5での分岐判定はそのさらに半サイク
ルあとで行われ、分岐先命令のデコードはさらに半サイ
クル後となる。従ってBC命令の終了から分岐先命令の
実行開始まではGU CCの場合より1サイクル多い4
サイクルとなってしまう。
第8図(C)は同じく第7図(B)の命令列を実行し、
分岐が成功した時の本発明のタイミング・チャー1〜で
ある。これは第8図(l\)と同じてあり、BC命令実
行の終了から分岐先命令の実行開始まで3サイクルとな
り、第8図(B)に示す従来技術より1サイクル短縮さ
れている。即ち、ΔE命令のCCは、 FUCCとして
へE命令の■Σステージの終りで確定し、その半サイク
ル後にF’ U Gで分岐判定が行われ、その半サイク
ル後にはTU3で分岐先命令のデコードが開始される。
分岐が成功した時の本発明のタイミング・チャー1〜で
ある。これは第8図(l\)と同じてあり、BC命令実
行の終了から分岐先命令の実行開始まで3サイクルとな
り、第8図(B)に示す従来技術より1サイクル短縮さ
れている。即ち、ΔE命令のCCは、 FUCCとして
へE命令の■Σステージの終りで確定し、その半サイク
ル後にF’ U Gで分岐判定が行われ、その半サイク
ル後にはTU3で分岐先命令のデコードが開始される。
以上、本発明の−・実施例を説明したが、勿論。
本発明はこれに限定されるものではない。例えば、実施
例では、BC命令の直前にCC変更命令がいない場合は
psw ccにより分岐判定するとしたが、別のインプ
リメン1〜としては次の様なものも考えられる。つまり
各ユニソhで最後に変更したCCを保持しておき、BC
命令の以前で最後にCCを変更したユニツ1−のCCを
分岐判定に用いると“いう方法も考えられる。
例では、BC命令の直前にCC変更命令がいない場合は
psw ccにより分岐判定するとしたが、別のインプ
リメン1〜としては次の様なものも考えられる。つまり
各ユニソhで最後に変更したCCを保持しておき、BC
命令の以前で最後にCCを変更したユニツ1−のCCを
分岐判定に用いると“いう方法も考えられる。
以上の説明から明らかな如く1本発明によれば、複数の
演算ユニツI−を有する情報処理装置において、各演算
ユニットに分岐判定回路を設けることとしたため、条件
付分岐命令の分岐判定の高速化、すなわち条件イ1分岐
命令の性能の向上が達成できる。
演算ユニツI−を有する情報処理装置において、各演算
ユニットに分岐判定回路を設けることとしたため、条件
付分岐命令の分岐判定の高速化、すなわち条件イ1分岐
命令の性能の向上が達成できる。
第1図は複数の演算ユニットを有する情報処理装置の構
成例を示すブロック図、第2図は複数演算ユニット内の
従来の構成例を示すブロック図、第3図は本発明の一実
施例を示すブロック図、第4図は第3図中の分岐判定回
路の具体的構成例を示す図、第5図は第3図中の判定ユ
ニッ1〜決定回路の動作アリゴリズムを説明するための
タイミング図、第6図は同判定ユニツ1〜決定回路の具
体的41N成例を示す図、第7図は命令列の一例を示す
図、第8図は従来技術と本発明の動作を比較するための
タイミング図である。 3・・命令制御ユニッh、5.6・・・演算ユニツ]〜
、201.210・・・演算器、2Q2.211・・・
条件コード作成回路、301..307・・・分岐判定
回路、306・・・判定ユニッ1−決定回路、209・
・・分岐制御回路。 代理人弁理士 鈴 木 誠1″、−□ ・;(・。 L J L−m−J 第4゛図 ↓ ぞ(足邦象 (A) CB) (/’1) (F3) (Y’4)+z L ロード4?4ペ オ8図 (A) (Bン L4ン/r υ し L
成例を示すブロック図、第2図は複数演算ユニット内の
従来の構成例を示すブロック図、第3図は本発明の一実
施例を示すブロック図、第4図は第3図中の分岐判定回
路の具体的構成例を示す図、第5図は第3図中の判定ユ
ニッ1〜決定回路の動作アリゴリズムを説明するための
タイミング図、第6図は同判定ユニツ1〜決定回路の具
体的41N成例を示す図、第7図は命令列の一例を示す
図、第8図は従来技術と本発明の動作を比較するための
タイミング図である。 3・・命令制御ユニッh、5.6・・・演算ユニツ]〜
、201.210・・・演算器、2Q2.211・・・
条件コード作成回路、301..307・・・分岐判定
回路、306・・・判定ユニッ1−決定回路、209・
・・分岐制御回路。 代理人弁理士 鈴 木 誠1″、−□ ・;(・。 L J L−m−J 第4゛図 ↓ ぞ(足邦象 (A) CB) (/’1) (F3) (Y’4)+z L ロード4?4ペ オ8図 (A) (Bン L4ン/r υ し L
Claims (1)
- (1)複数の演算ユニットを有する情報処理装置におい
て、各演算ユニットに、条件付分岐命令の分岐判定に用
いる条件コードを作成する手段と、該作成された条件コ
ードにより前記条件付分岐命令の分岐成立/不成立を判
定する手段を設け、各演算ユニットでまる分岐判定結果
のいずれか一つを有効として分岐制御を行うことを特徴
とする情報処理装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58150618A JPS6043751A (ja) | 1983-08-18 | 1983-08-18 | 情報処理装置 |
| US06/637,137 US4654785A (en) | 1983-08-18 | 1984-08-03 | Information processing system |
| EP84109229A EP0134000A3 (en) | 1983-08-18 | 1984-08-03 | Information processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58150618A JPS6043751A (ja) | 1983-08-18 | 1983-08-18 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6043751A true JPS6043751A (ja) | 1985-03-08 |
| JPS633337B2 JPS633337B2 (ja) | 1988-01-22 |
Family
ID=15500804
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58150618A Granted JPS6043751A (ja) | 1983-08-18 | 1983-08-18 | 情報処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4654785A (ja) |
| EP (1) | EP0134000A3 (ja) |
| JP (1) | JPS6043751A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6426222A (en) * | 1987-07-22 | 1989-01-27 | Mitsubishi Electric Corp | Arithmetic circuit with flag detecting function |
| JPH01163836A (ja) * | 1987-10-26 | 1989-06-28 | Motorola Inc | データプロセッサの条件を明確に評価する方法及び装置 |
| JPH047741A (ja) * | 1990-04-26 | 1992-01-13 | Toshiba Corp | 並列演算処理装置 |
| JPH0496133A (ja) * | 1990-08-09 | 1992-03-27 | Toshiba Corp | 演算処理装置 |
| JPH04184535A (ja) * | 1990-11-20 | 1992-07-01 | Toshiba Corp | 並列演算装置 |
| JP2010526392A (ja) * | 2007-05-03 | 2010-07-29 | クゥアルコム・インコーポレイテッド | システムおよびパイプラインプロセッサにおける条件命令実行の加速のためのローカル条件コードレジスタの使用方法 |
| US8635434B2 (en) | 2006-12-13 | 2014-01-21 | Sony Corporation | Mathematical operation processing apparatus for performing high speed mathematical operations |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4773035A (en) * | 1984-10-19 | 1988-09-20 | Amdahl Corporation | Pipelined data processing system utilizing ideal floating point execution condition detection |
| JPH0769818B2 (ja) * | 1984-10-31 | 1995-07-31 | 株式会社日立製作所 | デ−タ処理装置 |
| JPS6341932A (ja) * | 1985-08-22 | 1988-02-23 | Nec Corp | 分岐命令処理装置 |
| US4763294A (en) * | 1985-12-19 | 1988-08-09 | Wang Laboratories, Inc. | Method and apparatus for floating point operations |
| DE3752100T2 (de) * | 1986-01-07 | 1997-12-11 | Nippon Electric Co | Befehlsvorabrufgerät mit einer Schaltung zum Prüfen der Vorhersage eines Verzweigungsbefehls vor seiner Ausführung |
| US4823260A (en) * | 1987-11-12 | 1989-04-18 | Intel Corporation | Mixed-precision floating point operations from a single instruction opcode |
| US4945509A (en) * | 1988-03-14 | 1990-07-31 | International Business Machines Corporation | Dual look ahead mask generator |
| US4982428A (en) * | 1988-12-29 | 1991-01-01 | At&T Bell Laboratories | Arrangement for canceling interference in transmission systems |
| US5062041A (en) * | 1988-12-29 | 1991-10-29 | Wang Laboratories, Inc. | Processor/coprocessor interface apparatus including microinstruction clock synchronization |
| US5127092A (en) * | 1989-06-15 | 1992-06-30 | North American Philips Corp. | Apparatus and method for collective branching in a multiple instruction stream multiprocessor where any of the parallel processors is scheduled to evaluate the branching condition |
| US5630157A (en) * | 1991-06-13 | 1997-05-13 | International Business Machines Corporation | Computer organization for multiple and out-of-order execution of condition code testing and setting instructions |
| WO1994016383A1 (en) * | 1993-01-06 | 1994-07-21 | The 3Do Company | Digital signal processor architecture |
| US5485629A (en) * | 1993-01-22 | 1996-01-16 | Intel Corporation | Method and apparatus for executing control flow instructions in a control flow pipeline in parallel with arithmetic instructions being executed in arithmetic pipelines |
| US5717908A (en) * | 1993-02-25 | 1998-02-10 | Intel Corporation | Pattern recognition system using a four address arithmetic logic unit |
| US5825921A (en) * | 1993-03-19 | 1998-10-20 | Intel Corporation | Memory transfer apparatus and method useful within a pattern recognition system |
| EP0623874A1 (en) * | 1993-05-03 | 1994-11-09 | International Business Machines Corporation | Method for improving the performance of processors executing instructions in a loop |
| US5815695A (en) * | 1993-10-28 | 1998-09-29 | Apple Computer, Inc. | Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instructions on a computer processor |
| DE69836056T2 (de) * | 1997-08-29 | 2007-04-12 | Matsushita Electric Industrial Co., Ltd., Kadoma | Prozessor mit verringerter Zahl von bedingten Befehlen |
| JP3830683B2 (ja) * | 1998-12-28 | 2006-10-04 | 富士通株式会社 | Vliwプロセッサ |
| US6636995B1 (en) | 2000-07-13 | 2003-10-21 | International Business Machines Corporation | Method of automatic latch insertion for testing application specific integrated circuits |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5021821B1 (ja) * | 1968-10-31 | 1975-07-25 | ||
| US4038643A (en) * | 1975-11-04 | 1977-07-26 | Burroughs Corporation | Microprogramming control system |
| US4179737A (en) * | 1977-12-23 | 1979-12-18 | Burroughs Corporation | Means and methods for providing greater speed and flexibility of microinstruction sequencing |
| US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
| US4338675A (en) * | 1980-02-13 | 1982-07-06 | Intel Corporation | Numeric data processor |
-
1983
- 1983-08-18 JP JP58150618A patent/JPS6043751A/ja active Granted
-
1984
- 1984-08-03 EP EP84109229A patent/EP0134000A3/en not_active Withdrawn
- 1984-08-03 US US06/637,137 patent/US4654785A/en not_active Expired - Lifetime
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6426222A (en) * | 1987-07-22 | 1989-01-27 | Mitsubishi Electric Corp | Arithmetic circuit with flag detecting function |
| JPH01163836A (ja) * | 1987-10-26 | 1989-06-28 | Motorola Inc | データプロセッサの条件を明確に評価する方法及び装置 |
| JPH047741A (ja) * | 1990-04-26 | 1992-01-13 | Toshiba Corp | 並列演算処理装置 |
| JPH0496133A (ja) * | 1990-08-09 | 1992-03-27 | Toshiba Corp | 演算処理装置 |
| JPH04184535A (ja) * | 1990-11-20 | 1992-07-01 | Toshiba Corp | 並列演算装置 |
| US8635434B2 (en) | 2006-12-13 | 2014-01-21 | Sony Corporation | Mathematical operation processing apparatus for performing high speed mathematical operations |
| JP2010526392A (ja) * | 2007-05-03 | 2010-07-29 | クゥアルコム・インコーポレイテッド | システムおよびパイプラインプロセッサにおける条件命令実行の加速のためのローカル条件コードレジスタの使用方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US4654785A (en) | 1987-03-31 |
| EP0134000A3 (en) | 1988-07-20 |
| JPS633337B2 (ja) | 1988-01-22 |
| EP0134000A2 (en) | 1985-03-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6043751A (ja) | 情報処理装置 | |
| EP0155211B1 (en) | System for by-pass control in pipeline operation of computer | |
| US8555039B2 (en) | System and method for using a local condition code register for accelerating conditional instruction execution in a pipeline processor | |
| US5088030A (en) | Branch address calculating system for branch instructions | |
| JPH0348537B2 (ja) | ||
| JPH0348536B2 (ja) | ||
| EP0354585A2 (en) | Instruction pipeline microprocessor | |
| EP0394711A2 (en) | Branch instruction control unit based on a pipeline method | |
| EP0240606A2 (en) | Pipe-line processing system and microprocessor using the system | |
| JPS5826584B2 (ja) | デ−タ処理装置 | |
| JP2513765B2 (ja) | パイプライン処理における条件分岐制御方式 | |
| CN109634766B (zh) | 提升数据流机运行效率的方法、装置、设备及存储介质 | |
| JPS6236575B2 (ja) | ||
| JP2772100B2 (ja) | 並列命令フェッチ機構 | |
| WO2001016712A1 (en) | Digital signal processing apparatus and method for controlling the same | |
| JPS6116112B2 (ja) | ||
| JPH03250221A (ja) | 分岐予測方式 | |
| JPS6023378B2 (ja) | 情報処理装置 | |
| JPH04353923A (ja) | 電子計算機の並列命令実行方式 | |
| JPS59158441A (ja) | パイプライン制御方式 | |
| JPH0619705A (ja) | パイプライン制御方式 | |
| JPS6366637A (ja) | 情報処理装置 | |
| JPS61208129A (ja) | 命令先読制御方式 | |
| JPS6364130A (ja) | 分岐命令制御方法 | |
| JPS6116111B2 (ja) |