JP2597744B2 - 分岐制御方法 - Google Patents

分岐制御方法

Info

Publication number
JP2597744B2
JP2597744B2 JP2251042A JP25104290A JP2597744B2 JP 2597744 B2 JP2597744 B2 JP 2597744B2 JP 2251042 A JP2251042 A JP 2251042A JP 25104290 A JP25104290 A JP 25104290A JP 2597744 B2 JP2597744 B2 JP 2597744B2
Authority
JP
Japan
Prior art keywords
instruction
branch
value
stage
register
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
JP2251042A
Other languages
English (en)
Other versions
JPH04130536A (ja
Inventor
朋子 須田
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 JP2251042A priority Critical patent/JP2597744B2/ja
Publication of JPH04130536A publication Critical patent/JPH04130536A/ja
Application granted granted Critical
Publication of JP2597744B2 publication Critical patent/JP2597744B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔概要〕 パイプライン処理を行なう計算機で分岐命令の実行を
制御する分岐制御方法に関し、 先行する命令の影響で生じる分岐命令の遅延を最小に
抑え処理速度の低下を防止することを目的とし、 各命令を複数のステージに分け、複数の命令をステー
ジを異ならせて実行するパイプライン処理の計算機で特
定の汎用レジスタの値を判定して所定値以外のとき分岐
を成立させる分岐命令を制御する分岐制御方法におい
て、該分岐命令の判定を行なうステージで、該分岐命令
に先行する命令で演算されて該特定の汎用レジスタに格
納しようとする値の最下位ビットが該所定値の最下位ビ
ットと異なるとき分岐を成立させ、同一のとき該分岐命
令に先行する命令で該特定の汎用レジスタの値が確立す
るまで該特定の汎用レジスタの値の判定を待つよう構成
する。
〔産業上の利用分野〕
本発明は分岐制御方法に関し、パイプライン処理を行
なう計算機で分岐命令の実行を制御する分岐制御方法に
関する。
従来より、各命令をDステージ(命令のデコード),A
ステージ(メモリのアドレス計算),Bステージ(メモリ
のフェッチ),Eステージ(演算),Wステージ(結果の格
納)の5つのステージに分け、各命令のステージをずら
して並列処理するパイプライン処理の計算機がある。
〔従来の技術〕
従来から計算機の命令としてブランチ・オン・カウン
ト(BCT)等の分岐命令がある。このBCT命令は第1オペ
ランドの指示する汎用レジスタの内容から「1」を減じ
た結果が零でなければ指定したアドレスへ分岐し、零で
あれば分岐しないという命令である。
このBCT命令の直前に第3図(A),(B)に示す如
く加算(ADD)命令があり、BCT命令で使用する汎用レジ
スタをADD命令で書換える場合がある。
ADD命令はDステージで命令デコードを行ない、Aス
テージでメモリのアドレス計算を行ない、Bステージで
第1オペランドより数値を読み、Eステージでメモリを
フェッチして演算を行ない、Wステージで演算結果を汎
用レジスタGR1に格納する。BCT命令はDステージで命令
デコードを行ない、Aステージで分岐先アドレスの計算
を行ない、Bステージで汎用レジスタGR1をフェッチし
てその内容が「1」であるかの分岐の判定を行なうと共
にメモリより分岐先の命令をフェッチし、Eステージで
汎用レジスタGR1の値から「1」を減算し、Wステージ
で演算結果を汎用レジスタGR1に格納する。
〔発明が解決しようとする課題〕
従来においては、第3図(A)のADD命令で汎用レジ
スタGR1の値が書換えられるために、同図(B)の如くB
CT命令を実行すればBCT命令で参照する汎用レジスタGR1
の値がADD命令による書換え前の値となる。このためADD
命令による汎用レジスタGR1の書換えが済むまでBCT命令
の実行を待たせ、BCT命令を同図(C)の如く2サイク
ル遅延させて実行している。
つまり、ADD命令に続くBCT命令の実行に、通常の5サ
イクルより長い7サイクルを要し、処理速度が遅くなる
という問題があった。
本発明は上記の点に鑑みなされたもので、先行する命
令の影響で生じる分岐命令の遅延を最小に抑え処理速度
の低下を防止する分岐制御方法を提供することを目的と
する。
〔課題を解決するための手段〕
本発明の分岐制御方法は、 名命令を複数のステージに分け、複数の命令をステー
ジを異ならせて実行するパイプライン処理の計算機で特
定の汎用レジスタの値を判定して所定値以外のとき分岐
を成立させる分岐命令を制御する分岐制御方法におい
て、 分岐命令の判定を行なうステージで、分岐命令に先行
する命令で演算されて特定の汎用レジスタに格納しよう
とする値の最下位ビットが所定値の最下位ビットと異な
るとき分岐を成立させ、同一のとき分岐命令に先行する
命令で特定の汎用レジスタの値が確立するまで特定の汎
用レジスタの値の判定を待つ。
〔作用〕
本発明においては、分岐命令の判定を行なうステージ
で、特定の汎用レジスタの値が分岐命令に先行する命令
によって書換えられる場合も、この特定の汎用レジスタ
に格納しようとする値の最下位ビットは、上記判定のス
テージの初期に確定しているため、この最下位ビットが
所定値の最下位ビットと異なるときは分岐が成立し、先
行する命令によって特定の汎用レジスタの値が書換えら
れるのを待つ必要がなく、この場合分岐命令の遅延がな
くなり、それだけ処理速度の低下を防止できる。
〔実施例〕
第1図は本発明方法の一実施例のパイプラインの処理
構成図を示す。
同図中、命令バッファ10より読出された命令又は分岐
によりメモリ11から読出された命令がセレクタ12で選択
される。
セレクタ12で選択された命令がBCT命令13であると
き、Dステージでは命令コードのデコードが行なわれる
と共に、第1オペランドのレジスタ番号R1がレジスタ14
に格納され、また以降のオペランドのレジスタ番号X,B
夫々で指示される汎用レジスタ15の内容XX,BBが読出さ
れる。
AステージではBCT命令13の即値データD2と汎用レジ
スタ15のレジスタ番号X,Bで指示され読出された内容XX,
BB夫々とが加算器20で加算され分岐先アドレスが生成さ
れ、レジスタ21に格納される。
Bステージではレジスタ14に格納されているレジスタ
番号R1によって指示される汎用レジスタ15の内容が分岐
判定回路22に供給されて後述の如く分岐の判定が行なわ
れる。これと共にレジスタ21の分岐先行アドレスによっ
てメモリ11より命令が読出され(フェッチ)、セレクタ
12に供給される。
Eステージでは汎用レジスタ15のレジスタ番号R1から
読出された内容AAが加算器23で「−1」を加算されその
演算結果CCがレジスタ24に供給される。
Wステージでは分岐判定回路22よりの指示によって上
記演算結果がレジスタ24に格納され、更にレジスタ24か
ら汎用レジスタ15のレジスタ番号R1に格納される。
第2図は分岐判定回路22の構成図を示す。
同図中、コンパレータ31はBCT命令Bステージでの汎
用レジスタ15のレジスタ番号R1の内容GR1(#B)と、
Eステージでの内容GR1(#E)とを比較し、B,Eステー
ジで内容が同一のとき値‘1'の一致信号をアンド回路32
に供給する。アンド回路32は端子33からBCT命令のEス
テージで汎用レジスタ15に書込みがあるとき上記一致信
号を取出してアンド回路34及びオア回路35に供給する。
アンド回路34はEステージで演算回路(ALU)50の演算
結果の最下位ビットが‘1'のときに一致信号を供給され
ると‘1'の遅延信号を生成してオア回路40に供給する。
つまり、BCT命令のBステージと同一サイクルである
例えばADD命令等の先行する命令のEステージにおい
て、ALU50から出力され、その後レジスタ24を介して汎
用レジスタ15に格納される値の最下位ビットが‘1'であ
り、かつ汎用レジスタ15のレジスタ番号R1の内容がBCT
命令のB、Eステージ間で変化しているとき遅延信号が
生成される。ALU50の演算は最下位ビットから計算を行
なっているため、この先行する命令のEステージの初期
に演算結果の最下位ビットは確定している。
また、コンパレータ36はBCT命令Bステージでの汎用
レジスタ15のレジスタ番号R1の内容GR1(#B)と、W
ステージでの内容GR1(#W)とを比較し、B,Wステージ
で内容が同一のとき値‘1'の一致信号をアンド回路37に
供給する。アンド回路37は端子38からBCT命令のWステ
ージで汎用レジスタ15に書込みがあるとき上記一致信号
を取出してアンド回路39及びオア回路35に供給する。ア
ンド回路39はWステージでレジスタ24に格納された演算
結果の最下位‘1'のときに一致信号を供給されると‘1'
の遅延信号を生成してオア回路40に供給する。
つまり、BCT命令のEステージと同一サイクルである
例えばADD命令等の先行する命令のWステージにおい
て、レジスタ24より汎用レジスタ15に格納される値の最
下位ビットが‘1'であり、かつ汎用レジスタ15のレジス
タ番号R1の内容がBCT命令のB、Wステージ間で変化し
ているとき遅延信号が生成される。
コンパレータ42は汎用レジスタ15のレジスタ番号R1の
内容を「1」と比較し、不一致のとき分岐信号を生成し
アンド回路43に供給する。アンド回路43はオア回路35を
介して一致信号を供給されてないときにのみ分岐信号を
取出して制御回路44に供給する。
制御回路44はオア回路40より遅延信号が供給されてい
るときは分岐信号及び格納指示信号を2サイクル遅延
し、遅延信号が供給されなければ分岐信号及び格納指示
信号を遅延を行なわずに端子45よりセレクタ12,レジス
タ24に供給する。
このように、BCT命令の判定を行なうBステージで、
汎用レジスタ15のレジスタ番号R1の値が分岐命令に先行
する加算命令によって書換えられる場合も、この汎用レ
ジスタ15のレジスタ番号R1に格納しようとする値の最下
位ビットは、上記判定のステージの初期に確定している
ため、この最下位ビットが所定値の最下位ビットと異な
るときは分岐が成立し、先行する命令によって汎用レジ
スタ15のレジスタ番号R1の値が書換えられるのを待つ必
要がなく、この場合分岐命令の遅延がなくなり、それだ
け処理速度の低下を防止できる。
〔発明の効果〕
上述の如く、本発明の分岐制御方法によれば、先行す
る命令の影響で生じる分岐命令の遅延を最小に抑え処理
速度の低下を防止でき、実用上きわめて有用である。
【図面の簡単な説明】
第1図は本発明方法の一実施例のパイプライン処理構成
図、 第2図は分岐判定回路の構成図、 第3図はパイプライン処理のタイミングチャートであ
る。 図において、 11はメモリ、 12はセレクタ、 13はBCT命令、 14,21,24はレジスタ、 15は汎用レジスタ を示す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】名命令を複数のステージに分け、複数の命
    令をステージを異ならせて実行するパイプライン処理の
    計算機で特定の汎用レジスタの値を判定して所定値以外
    のとき分岐を成立させる分岐命令を制御する分岐制御方
    法において、 該分岐命令の判定を行なうステージで、該分岐命令に先
    行する命令で演算されて該特定の汎用レジスタに格納し
    ようとする値の最下位ビットが該所定値の最下位ビット
    と異なるとき分岐を成立させ、同一のとき該分岐命令に
    先行する命令で該特定の汎用レジスタの値が確立するま
    で該特定の汎用レジスタの値の判定を待つことを特徴と
    する分岐制御方法。
JP2251042A 1990-09-20 1990-09-20 分岐制御方法 Expired - Lifetime JP2597744B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2251042A JP2597744B2 (ja) 1990-09-20 1990-09-20 分岐制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2251042A JP2597744B2 (ja) 1990-09-20 1990-09-20 分岐制御方法

Publications (2)

Publication Number Publication Date
JPH04130536A JPH04130536A (ja) 1992-05-01
JP2597744B2 true JP2597744B2 (ja) 1997-04-09

Family

ID=17216752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2251042A Expired - Lifetime JP2597744B2 (ja) 1990-09-20 1990-09-20 分岐制御方法

Country Status (1)

Country Link
JP (1) JP2597744B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61246841A (ja) * 1985-04-24 1986-11-04 Hitachi Ltd 情報処理装置
JPH0223421A (ja) * 1988-07-13 1990-01-25 Toshiba Corp 演算処理装置
JPH02148140A (ja) * 1988-11-29 1990-06-07 Hitachi Ltd 情報処理装置における条件分岐制御方式

Also Published As

Publication number Publication date
JPH04130536A (ja) 1992-05-01

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
US6832305B2 (en) Method and apparatus for executing coprocessor instructions
JPH0496825A (ja) データ・プロセッサ
JP2597744B2 (ja) 分岐制御方法
US5237664A (en) Pipeline circuit
JPH10124312A (ja) 中央処理装置
JP2581565B2 (ja) ガード付命令を実行するデータ処理装置
JP2503223B2 (ja) 先行制御方式
JP2944563B2 (ja) パイプライン型情報処理装置
JP3325309B2 (ja) サブルーチンリターン命令処理装置
JP2924735B2 (ja) パイプライン演算装置及びデコーダ装置
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JP2591325B2 (ja) 分岐制御装置
JPH0248733A (ja) 情報処理装置
JP2689894B2 (ja) マイクロプログラム制御型情報処理装置
JP3015565B2 (ja) 複数命令の並列実行機能を持つ情報処理装置
JPH06161778A (ja) マルチフロー命令制御方法及び命令処理装置
JPH0774992B2 (ja) データ処理装置
JPS61273637A (ja) 情報処理装置
JP2005134987A (ja) パイプライン演算処理装置
JPH0353322A (ja) 情報処理装置
JPS63206834A (ja) 命令制御におけるエラ−検出処理方式
JPH02254541A (ja) 条件分岐命令の制御方式
JPH02211533A (ja) 分岐命令に続く命令の選択的実行を行うためのコンピューター装置