JPH03122718A - パイプライン計算機における条件分岐命令実行制御方式 - Google Patents

パイプライン計算機における条件分岐命令実行制御方式

Info

Publication number
JPH03122718A
JPH03122718A JP26090889A JP26090889A JPH03122718A JP H03122718 A JPH03122718 A JP H03122718A JP 26090889 A JP26090889 A JP 26090889A JP 26090889 A JP26090889 A JP 26090889A JP H03122718 A JPH03122718 A JP H03122718A
Authority
JP
Japan
Prior art keywords
instruction
condition
executed
instructions
branch
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.)
Pending
Application number
JP26090889A
Other languages
English (en)
Inventor
Takeshi Shinoki
剛 篠木
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 JP26090889A priority Critical patent/JPH03122718A/ja
Publication of JPH03122718A publication Critical patent/JPH03122718A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要] パイプライン計算機における条件分岐命令の実行制御方
式に関し、 条件分岐命令を実行するときに発生ずるパイプラインブ
レークをなくし、条件成立時の分岐先命令/条件非成立
時の次命令の選択の高速化を図ることを目的とし、 分岐条件を判定し、該分岐条件の判定結果により、該パ
イプラインの各ステージに入っている後続命令の何れか
1つ、又は、複数個の命令を選択的に無効化する特定命
令■を設けて、該特定命令■の分岐条件選定ステージ(
E3)において、上記後続命令の何れか1つ、又は、複
数個の命令を選択的に無効化するように制御する。
〔産業上の利用分野] 本発明は、パイプライン計算機における条件分岐命令の
実行制御方式に関する。
従来から1つの命令の処理内容を複数個のステジに分割
し、各ステージを従属制御してパイプラインを構築し、
該パイプラインに複数個の命令を順次投入して、ある時
刻で該パイプラインを見たとき、複数個の命令の互いに
異なるステージを同時に実行することで、該計算機の処
理の高速化を図るパイプライン計算機が知られている。
このようなパイプライン計算機においては、各命令が順
次酸パイプラインに投入されて逐次実行されているとき
には、命令のオーバラップ実行により命令実行の高速化
が図られているが、条件分岐命令により分岐が行われる
と、分岐することが判定された時点から分岐先命令をフ
ェッチすることになり、所謂、パイプラインブレークが
起こり、パイプラインでの命令の実行が一時停止する問
題がある。
該計算機システムに対する処理能力の向上に対する要求
は際限がなく、上記のようなパイプラインブレークを起
こすことのない条件分岐命令の実行制御方式が必要とさ
れる。
〔従来の技術と発明が解決しようとする課題〕第3図は
従来の条件分岐命令の実行制御方式を説明する図であり
、(a)はパイプラインを模式的に示した図であり、(
bl)は命令列の逐次実行の例を示し、(b2)は分岐
命令実行によるパイプラインブレークの発生例を示し、
(cl)は条件分岐が成立した時と、不成立のときとで
実行すべき命令が異なる場合のプログラムの例を示し、
(C2)は(C1)の例において条件成立時の実行の様
子を示している。
パイプライン計算機では、(a)図に示したように、1
つの命令を実行する際、例えば、命令をフェッチする為
のパイプライン(Fl、F2) 10と、命令実行パイ
プライン(El、F2.F3) 11’からなるパイプ
ライン1をとおることで、該命令の実行が完了する。そ
して、該パイプラインlには、複数個の命令が順次投入
され逐次実行される。
従って、(bl)図に示したように、逐次的に命令の実
行が進んでいる際には、命令1.命令2.命令3.〜の
オーバラップ実行によって、該命令実行の高速化が図ら
れている。
然し、このようなパイプライン計算機で、分岐が起こる
と、(b2)図に示したように、分岐することが、例え
ば、該分岐命令のE3ステージで判明してから、該分岐
先命令をフェッチすることから始める為、これによる実
行の遅れ、所謂、パイプラインブレークが起こり、該パ
イプラインlでは命令の実行が一時的に停止する。
特に、該パイプライン1の段数が長い計算機では、逐次
的な命令実行はどんどん高速化されるのに対して、分岐
発生時のパイプラインブレークによる遅れが、逐次的な
命令列の実行速度に比べて、相対的に太き(なる。
このようなパイプライン計算機において、次のような機
能の実行の高速化を考える。
即ち、分岐条件を判定して、該分岐条件が成立した時と
、不成立のときとで、実行する命令を区別したい場合、
例えば、該条件成立時に命令A。
条件不成立時に命令Bを実行したいような場合、従来の
計算機では、(cl)図に示したように、条件分岐命令
で条件を判定し1条件不成立時には後続の命令に、該条
件が不成立時に実行したい命令(命令B)を置き、条件
成立時には、分岐先に条件が成立した時に実行したい命
令(命令A)を置き、その命令Aの後ろに、該命令Aを
実行した後に、元に命令列に戻ってくる為の無条件分岐
命令を置くプログラム構成とすることがある。
このようなプログラムの実行時において、条件が成立す
ると、分岐先の命令Aを実行した後、次の無条件分岐命
令を実行して、元のプログラム列のアドレス(Adrs
2)に戻る動作となり、(C2)に示したように、該2
度の分岐命令の実行に起因したパイプラインブレークの
発生で、当該プログラムの実行が究めて遅くなってしま
うという問題があった。
本発明は上記従来の欠点に鑑み、パイプライン計算機に
おいて、条件分岐命令の実行を行うのに、該条件分岐命
令を実行するときに発生するパイプラインブレークをな
くし、条件成立時の分岐先命令/条件非成立時の次命令
の選択の高速化を図ることができる条件分岐命令の実行
制御方式を提供することを目的とするものである。
〔課題を解決するための手段〕
第1図は本発明の詳細な説明する図であり、(a)は条
件成立時の動作を示し、(b)は条件不成立の動作を示
している。
上記の問題点は下記の如くに構成されたパイプライン計
算機における条件分岐命令実行制御方式によって解決さ
れる。
パイプライン計算機において、 分岐条件を判定し、該分岐条件の判定結果により、該パ
イプライン1の各ステージに入っている後続命令の何れ
か1つ、又は、複数個の命令を選択的に無効化する特定
命令■を設けて、該特定命令■の分岐条件選定ステージ
(例えば、E3ステージ)において、上記後続命令の何
れか1つ、又は、複数個の命令を選択的に無効化するよ
うに制御する 〔作用〕 即ち、本発明によれば、パイプライン計算機において、
条件分岐命令を実行したときに発生するパイプラインブ
レークを解消する為に、所謂、分岐を行わないで、分岐
条件によって、例えば、条件成立時の分岐先の命令Aと
1条件不成立時の次命令Bの2つの命令の内の1つの命
令を選択して実行する特定の新命令(Belect命令
)を導入する。
該新命令(select命令)は、パイプラインLの特
定のステージ(本例では、E3ステージ)で条件の判定
を行い、更に、条件が成立したときは、次の命令、具体
的には、条件が不成立のときに実行する命令Bを無処理
命令(N叶命令)として実行し、条件不成立のときには
、上記衣の命令、即ち、条件が不成立のときに実行する
命令Bを実行し、次の次の命令、即ち、条件が成立した
ときに実行する分岐先の命令Aを無処理命令(NOP命
令)として実行するように構成する。
このように構成することで、パイプラインの中では、逐
次命令の実行形式の侭で実行し、条件によって、不要な
命令を無効化して、実行すべき分岐命令の選択を行うこ
とで、条件分岐命令、本例では、上記新命令(sele
ct命令)で条件分岐をバイプラインブレーク無しで実
行することができる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
前述の第1図は本発明の詳細な説明する図であり、第2
図が本発明の一実施例を示した図であって、分岐条件に
よって、分岐先の2つの命令(条件成立時の分岐先の命
令Aと1条件が不成立時の次命令B)の内のいずれかの
命令を選択して実行する新命令(select命令)を
設けて、該新命令の次に上記命令Bを置き、次に、条件
分岐成立時に実行する分岐先の命令Aを置き、該新命令
(select命令)が入っていても、通常の命令と同
じように逐次処理を行い、条件の判定をおこなって、条
件が成立した時には、次の命令Bを無処理命令(NPO
命令)として実行し、条件が不成立のときには、次の命
令Bを実行して、その次の命令Aを無処理命令(NPO
命令)として実行する手段が本発明を実施するのに必要
な手段である。尚、全図を通して同じ符号は同じ対象物
を示している。
以下、第1図を参照しながら、第2図によって本発明の
パイプライン計算機における条件分岐命令実行制御方式
を説明する。
本発明においては、分岐条件の判定の結果によって、実
際に実行すべき分岐先命令(上記命令Aか、命令B)の
選択を行う新命令として、前述の’5elect命令」
■を設ける。
このrselect命令」〈条件〉は:〈条件〉が成立
したとき、5elect命令の次に置かれている命令B
を、無処理(NOP)命令として実行し、条件が不成立
のときるは、該5elect命令の次に置かれている命
令Bは、その侭実行し、次の次に置かれている命令Aを
、無処理(NOP)命令として実行する。
ように構成されている。
本発明の新命令(select命令)■を使用する場合
、プログラムでは、第1図に示したように、該新命令(
select命令)■の次に、条件不成立時に実行した
い命令Bを置き、更に、その次に、条件成立時に実行し
たい命令Aを置く。
本実施例においては、実行パイプラインの最終段(E3
ステージ)で条件の判定を行っているものとすると、該
実行命令が、上記本発明の5elect命令■で、且つ
、条件が成立したとき、図示の51信号が付勢され、該
E3ステージに対する次の命令として、直前のセレクタ
(SEL) llbで無処理命令(NOP命令)が投入
されるので、該命令BのE3ステージは実行されない。
該S1信号が付勢されない時には、E2ステージからの
後続命令が投入され、E3ステージで実行される。
同様にして、該実行命令が、上記5elect命令■で
、且つ、条件が不成立であるときには、S2信号が付勢
され、該5elect命令の次の次の命令として、E2
ステージの直前のセレクタ(SEL) llaで無処理
命令(NOP命令)をE2ステージに投入するので、条
件が成立した時に実行されるべき命令Aが実行されるこ
とな(、上記無処理命令(NOP命令)の実行後に、後
続命令を実行に移すことができる。
勿論、この場合も、該S2信号が付勢されない時には、
E1ステージからの後続命令が投入され、E2ステージ
〜の順でで実行される。
本実施例(第1図(a)参照)では、3サイクルで、条
件成立時の分岐先命令(命令A)が実行でき、第3図の
従来方式の場合(11サイクルかかっている)に比較し
て、8サイクルの高速化が図られていることになる。
このように、本発明においては、パイプライン計算機に
おいて、例えば、分岐条件を判定して、条件が成立した
時と、不成立の時とで、実行する命令を区別したいよう
な場合、新命令である5etect命令■を設けて、該
新命令(select命令)■の次に、条件不成立時に
実行したい命令Bを置き、更に、その次に、条件成立時
に実行したい命令Aを置くようにプログラミングして、
分岐条件が成立した時には、上記命令Bを無効化して、
その侭逐次処理を行い、次の命令Aを実行し、該分岐条
件が不成立の時には、命令Bをその侭実行して、次の命
令Aを無効化するようにして、見掛は上、逐次処理を行
っているようにして、該条件分岐命令の高速化を図るよ
うにした所に特徴がある。
尚、上記の実施例においては、条件分岐命令の分岐先と
して、条件成立時の分岐先の命令Aと。
条件不成立時の次命令Bの2つの命令の場合を例にして
説明したが、−Cに、複数の命令に分岐する場合にも適
用できることはいう迄もないことである。
〔発明の効果〕
以上、詳細に説明したように、本発明のパイプライン計
算機の条件分岐命令実行制御方式において、分岐条件を
判定し、該分岐条件の判定結果により、該パイプライン
の各ステージに入っている後続命令の何れか1つ、又は
、複数個の命令を選択的に無効化する特定命令■を設け
て、該特定命令■の分岐条件選定ステージにおいて、上
記後続命令の何れか1つ、又は、複数個の命令を選択的
に無効化するようにしたものであるので、パイプライン
の中では、逐次命令の実行形式の侭で実行し、条件によ
って、不要な命令を無効化して、実行すべき分岐命令の
選択を行うことで、条件分岐命令、本例では、上記新命
令(select命令)で条件分岐をパイプラインブレ
ーク無しで実行することができる効果がある。
【図面の簡単な説明】
第1図は本発明の詳細な説明する因 果2図は本発明の一実施例を示した因 果3図は従来の条件分岐命令の実行制御方式を説明する
図。 である。 図面において、 ■はパイプライン、又は、実行パイプライン。 10は命令フェッチパイプライン。 11は命令実行パイプライン。 11a、 Ilbはセレクタ(SEL)。 Fl、F2.El、E2.E3は実行パイプラインの各
ステージ。 ■は新命令(select命令)。 をそれぞれ示す。 命令B F2 EI 22回 (NOP命令として実行) 命令A PI  F2  El 22  F、3 1 n ε1 ε2E3 (a) 命令B 命令A F2  El  蛇 餡 Fl  n  EI IBa   (NOP命令として
実行)FI  F2  EI  F2  E3本発明の
詳細な説明する図 図 命令1 FI  F2  EI  F2  E3命令2 F2  El  乾 B 命令3 FI  F2  El 2E3 (bl) 分岐命令実行によるパイプラインブレーク分岐先命令 FI  P2El 紹 図 (その])

Claims (1)

  1. 【特許請求の範囲】 パイプライン計算機において、 分岐条件を判定し、該分岐条件の判定結果により、該パ
    イプライン(1)の各ステージに入っている後続命令の
    何れか1つ、又は、複数個の命令を選択的に無効化する
    特定命令(1)を設けて、該特定命令(1)の分岐条件
    選定ステージにおいて、上記後続命令の何れか1つ、又
    は、複数個の命令を選択的に無効化するように制御する
    ことを特徴とするパイプライン計算機における条件分岐
    命令実行制御方式。
JP26090889A 1989-10-05 1989-10-05 パイプライン計算機における条件分岐命令実行制御方式 Pending JPH03122718A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26090889A JPH03122718A (ja) 1989-10-05 1989-10-05 パイプライン計算機における条件分岐命令実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26090889A JPH03122718A (ja) 1989-10-05 1989-10-05 パイプライン計算機における条件分岐命令実行制御方式

Publications (1)

Publication Number Publication Date
JPH03122718A true JPH03122718A (ja) 1991-05-24

Family

ID=17354433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26090889A Pending JPH03122718A (ja) 1989-10-05 1989-10-05 パイプライン計算機における条件分岐命令実行制御方式

Country Status (1)

Country Link
JP (1) JPH03122718A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996069A (en) * 1996-05-30 1999-11-30 Matsushita Electric Industrial Co., Ltd. Method and circuit for delayed branch control and method and circuit for conditional-flag rewriting control
US7603545B2 (en) 2002-06-28 2009-10-13 Fujitsu Limited Instruction control method and processor to process instructions by out-of-order processing using delay instructions for branching
US7765387B2 (en) 2002-06-28 2010-07-27 Fujitsu Limited Program counter control method and processor thereof for controlling simultaneous execution of a plurality of instructions including branch instructions using a branch prediction mechanism and a delay instruction for branching
US9896526B2 (en) 2012-09-25 2018-02-20 Mitsui Chemicals, Inc. Process for producing olefin polymer and olefin polymer

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996069A (en) * 1996-05-30 1999-11-30 Matsushita Electric Industrial Co., Ltd. Method and circuit for delayed branch control and method and circuit for conditional-flag rewriting control
US6055626A (en) * 1996-05-30 2000-04-25 Matsushita Electric Industrial Co., Ltd. Method and circuit for delayed branch control and method and circuit for conditional-flag rewriting control
US7603545B2 (en) 2002-06-28 2009-10-13 Fujitsu Limited Instruction control method and processor to process instructions by out-of-order processing using delay instructions for branching
US7765387B2 (en) 2002-06-28 2010-07-27 Fujitsu Limited Program counter control method and processor thereof for controlling simultaneous execution of a plurality of instructions including branch instructions using a branch prediction mechanism and a delay instruction for branching
US9896526B2 (en) 2012-09-25 2018-02-20 Mitsui Chemicals, Inc. Process for producing olefin polymer and olefin polymer

Similar Documents

Publication Publication Date Title
US5611061A (en) Method and processor for reliably processing interrupt demands in a pipeline processor
US4654785A (en) Information processing system
JPH02161524A (ja) パイプラインコンピュータに使用する分岐システムとその動作方法
US4541047A (en) Pipelined data processing system
US6049860A (en) Pipelined floating point stores
JPS62226232A (ja) 分岐先アドレス算出回路
JPH03122718A (ja) パイプライン計算機における条件分岐命令実行制御方式
EP0162929B1 (en) Method of controlling branching
JP2869376B2 (ja) データ依存関係を持つ複数のデータ処理を実行するパイプラインデータ処理方法
KR100384875B1 (ko) 파이프라인구조를갖는마이크로프로세서에서의언세이프처리마이크로시퀀서
JPH05224926A (ja) 条件分岐命令制御方式
JPS6116334A (ja) デ−タ処理装置
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JPS6116111B2 (ja)
JPH03119424A (ja) 情報処理方式及び装置
JP2000305782A (ja) 演算装置
JPH03255529A (ja) パイプライン処理装置
JPS60247743A (ja) パイプライン演算制御装置
JPS63195735A (ja) 命令実行方式
JPH01124029A (ja) タグ付きデータ処理装置
JPH0431134B2 (ja)
JPH0266628A (ja) 情報処理装置
JPH02184922A (ja) プログラムカウンタ
JPH05134866A (ja) マイクロプログラム制御方式
JPS61117625A (ja) マイクロプログラム条件分岐方式