JPH0228724A - 分岐命令制御方式 - Google Patents

分岐命令制御方式

Info

Publication number
JPH0228724A
JPH0228724A JP17851988A JP17851988A JPH0228724A JP H0228724 A JPH0228724 A JP H0228724A JP 17851988 A JP17851988 A JP 17851988A JP 17851988 A JP17851988 A JP 17851988A JP H0228724 A JPH0228724 A JP H0228724A
Authority
JP
Japan
Prior art keywords
instruction
branch
register
instructions
execution
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
JP17851988A
Other languages
English (en)
Inventor
Tsutomu Akasaka
赤坂 勉
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 JP17851988A priority Critical patent/JPH0228724A/ja
Publication of JPH0228724A publication Critical patent/JPH0228724A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 少なくとも、アドレスを生成する回路と、命令の実行を
複数個のステージに分割して、該複数個の命令をオーハ
ラツブさせながら実行するパイプライン制御を行う回路
とを備えるデータ処理装置における分岐命令制御方式に
関し、 分岐命令実行時にパイプラインの流れを止めることによ
り、分岐命令の実行速度が遅くなることを解消するのに
、分岐命令の指定する分岐先命令を命令の実行に先行し
て読み出し、パイプラインの流れを止めない機構を提供
することを目的とし、分岐命令以外の命令の実行を開始
するステージに先行して、分岐命令の分岐アドレスを上
記アドレスを生成する回路を使用して生成し、分岐先命
令を読み出す複数個のステージと、各ステージに対応し
て、それぞれに命令を蓄積するレジスタと。
各レジスタの内容の有効性を示すフラグ(v)と分岐命
令を検出するデコーダとを設け、上記デコダにより、そ
れぞれのステージに投入した命令が分岐命令であること
を検出したとき、そのステツに対応して、選択的に上記
パイプライン動作を停止させて、該分岐命令を実行し、
該実行された分岐命令に基づいて読み出された分岐先命
令を、分岐条件成立時に、命令実行部のパイプラインに
投入するように構成する。
処理装置における分岐命令制御方式に関する。
パイプライン方式のデータ処理装置においては、該パイ
プラインを効率良く動かす為には、命令が次々とパイプ
ラインに投入され、各ステージを絶えず、 “空き”が
生じることなく動作するように制御することが要求され
る。
特に、分岐命令の場合には、分岐条件の成立によって分
岐先の命令列を読み出して実行する必要があり、分岐条
件が不成立のときには、該分岐命令に続く命令を実行す
る必要があり、一般に、パイプラインの流れを乱す要因
となることから、該分岐命令を実行しているときでも、
該パイプラインの流れを乱すことの少ない分岐命令制御
方式が必要とされる。
〔産業上の利用分野〕
本発明は、少なくとも、アドレスを生成する回路と、命
令の実行を複数個のステージに分割して、該複数個の命
令をオーバラップさせながら実行するパイプライン制御
を行う回路とを備えるデータ〔従来の技術と発明が解決
しようとする課題〕第4図は従来の分岐命令制御方式を
説明する図であり、(a)は構成例の主要部を示し、(
b)は動作タイムチャートを示している。
従来のパイプライン実行のデータ処理装置においては、
ブリフェッチキュー1から命令解読部2を介して命令が
逐次、命令実行部のパイプライン5に投入され、分岐命
令以外の命令は逐次的に実行される為、予め、現在実行
中の命令アドレスに連続するアドレスの命令を上記ブリ
フェッチキュ1に読み出しておくことにより、見掛は上
、命令の読み出しに要する時間なしにパイプライン5に
投入されるが、分岐命令実行の時には、分岐先が判るの
は該分岐命令を実行してからであり、それまで、先行し
て読み出していた、該分岐命令に続く先行命令は、分岐
条件の決定時において、パイプライン制御部11からの
キ中ンセル信号により全てキャンセルされ、そこから分
岐先命令のパイプライン実行を開始していた為、該分岐
先命令を読み出す迄の間、パイプライン5への新たな分
岐先の命令は見掛は上投入されないように制御されてい
た。(第4図(b)の動作タイムチャート参照) 従って、従来のパイプライン方式のデータ処理装置では
、分岐命令の実行はパイプラインの流れを止めることに
なり、結果とし・で、第2図(b)の動作タイムチャー
トに示した如く、見掛は主分岐命令の実行に4サイクル
かかることになり、分岐命令の実行速度が遅くなるとい
う問題があった。
本発明は上記従来の欠点に鑑み、少な(とも、アドレス
を生成する回路と、命令の実行を複数個のステージに分
割して、該複数個の命令をオーバラップさせながら実行
するパイプライン制御を行う回路とを備えるデータ処理
装置における分岐命令制御方式において、分岐命令の指
定する分岐先アドレスの命令も命令実行に先行して読み
出せるようにして、結果的にパイプライブの流れを止め
ない分岐命令制御方式を提供することを目的とするもの
である。
〔課題を解決するための手段〕
第1図は本発明の分岐命令制御方式の原理構成図である
上記の問題点は下記の如くに構成された分岐命令制御方
式によって解決される。
少なくとも、アドレスを生成する回路7と、命令の実行
を複数個のステージに分割して、該複数個の命令をオー
バラップさせながら実行するパイプライン制御を行う回
路11とを備えるデータ処理装置において、 分岐命令以外の命令の実行を開始するステージに先行し
て、分岐命令の分岐アドレスを上記アドレスを生成する
回路7を使用して生成し、分岐先命令を読み出す複数個
のステージと、 各ステージに対応して、それぞれに命令を蓄積するレジ
スタ2,3.4と、各レジスタ2,3.4の内容の有効
性を示すフラグ(V) 110と3分岐命令を検出する
デコーダ10とを設け、 上記デコーダ10により、それぞれのステージに投入し
た命令が分岐命令であることを検出したとき、そのステ
ージに対応して、選択的に上記パイプライン動作を停止
させて、該分岐命令を実行し、 該実行された分岐命令に基づいて読み出された分岐先命
令を、分岐条件成立時に、命令実行部のパイプラインに
投入するように構成する。
〔作用〕
即ち、本発明によれば、少なくとも、アドレスを生成す
る回路と、命令の実行を複数個のステージに分割して、
該複数個の命令をオーハラツブさせながら実行するパイ
プライン制御を行う回路とを備えるデータ処理装置にお
いて、命令の実行に先行して分岐先アドレスの命令を読
み出す為のステージ対応にレジスタ2〜4を設け、分岐
命令以外の命令の実行は、これらのレジスタ2〜4を経
由して命令実行部のレジスタ5に命令がセットされてか
ら開始される。
該レジスタ2〜5に命令が既に格納されている状態の時
には、デコーダ10はレジスタ2に対応するものだけが
有効化され、新たに、該レジスタ2にロードされた命令
がデコーダ10により分岐命令であることが検出される
と、アドレス生成部7には該レジスタ2の内容が送出さ
れ、アドレス生成部7で生成された分岐先アドレスが記
憶制御部9に送出される。
該分岐命令コードがレジスタ2→レジスタ3に)レジス
タ4呻レジスタ5に移る間に、上記分岐先アドレスから
分岐先命令が読み出され、本発明においては、上記分岐
命令がレジスタ5にセットされた次のサイクル、或いは
、同じサイクルにレジスタ5にセントされるように機能
する。
命令フェッチバス91のバス幅が十分広ければ、このと
き、同時に、レジスタ4.或いは、レジスタ3,2へも
命令をセントすることができる。
第3図は本発明による分岐命令制御方式の動作タイムチ
ャートである。
分岐命令がレジスタ5にセットされた次のサイクルでレ
ジスタ5に該分岐先命令がセントされるケースを示した
ものが、第2図(a)であり、分岐命令がレジスタ5に
セントされるタイミングで、該レジスタ5に分岐先命令
をセントするケースを示したものが第2図(b)である
第2図(a)の例では、見掛は上の分岐命令実行時間は
1サイクルであり、第2図(b)の例では、0ザイクル
である。
従来方式では、前述の第4図(b)に示したように分岐
命令の実行時間は4サイクルに見えているので、本発明
を実施するごとにより、3〜4サイクルの高速化が達成
できる。
又、分岐命令直後に記憶制御部9から直接レジスタ3〜
5に送られた命令は、各にのレジスタに設けられている
デコーダ10でデコードされ、分岐命令を検出するよう
に動作し、ここで分岐命令が検出された場合には、その
レジスタからの出力を前述のアドレス生成部7に送出す
ると共に、パイプライン制御部11では分岐先アドレス
の命令を読み出してレジスタ5にセットするのに必要な
サイクル数だけパイプライン動作を停止させるように機
能する。
従って、パイプライン実行中において、分岐先命令に対
しても命令の先行読み出しができるので、分岐命令の高
速化が得られる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
前述の第1図が本発明の分岐命令制御方式の原理構成図
であり、第2図は本発明の一実施例を示した図であり、
(a)は全体の構成例を示し、(b)はパイプライン制
御部の一部を示したものあり、第3図は本発明による分
岐命令制御方式の動作タイムチャートであって、第1図
、第2図における分岐先命令を読み出すステージに対応
して設けたレジスタ2〜4.それぞれのステージのレジ
スタ2〜4において分岐命令を検出したとき、その検出
したステージ位置に対応して選択的にパイプラインを停
止する手段11.及び、分岐先命令を命令実行部の、例
えば、レジスタ5に、分岐命令が存在するタイミング、
又はその次のタイミングに設定する手段が本発明を実施
するのに必要な手段である。尚、全図を通して同じ符号
は同じ対象物を示している。
以下、第1図を参照しながら第2図によって本発明の分
岐命令制御方式を説明する。
本発明においては、前述のように、命令の実行に先行し
て分岐先アドレスの命令を読み出す為のステージ対応に
レジスタ2〜4を設け、分岐命令以外の命令の実行は、
これらのレジスタ2〜4を経由して命令実行部のレジス
タ5に命令がセットされてから開始される。
該レジスタ2〜5に命令が既に格納されて、そのバリッ
ドビットm 110が°オン゛になっている状態の時に
は、第2図(b)に示した優先回路11aからの信号1
00によってデコーダ10ばレジスタ2に対応するもの
だけが有効化され、新たに、該レジスタ2にロードされ
た命令が該デコーダ10により分岐命令であることが検
出されると、命令アドレス生成部7には該レジスタ2の
内容が送出される。
該命令アドレス生成部7においては、例えば、加算器7
1で汎用レジスタ(GR)からのペースレジスタ(BR
)と、レジスタ2からのデイスプレィすメンI−(DR
)(変位)とが加算される。
該命令アドレス生成部7の加算器70は分岐命令以外の
命令の命令アドレス計算に使用し、第2図(b)に示し
たパイプライン制御部11からのレジスタ2等にセット
された命令が分岐命令であることを示す信号の論理和信
号105によって、マルチプレクサ(MPX) 72を
制御することで、該レジスタ2に設定された命令が分岐
命令の時(即ち、分岐命令実行時)は加算器71の出力
を、そうでない時は加算器70の出力を、記憶制御部9
に送出するように機能する。
従って、該レジスタ2にセントされた命令が分岐命令の
場合には、加算器71の出力である分岐先アドレスが記
憶制御部9に送出される。
そして、該分岐命令コードがレジスタ2−0レジスタ3
−6レジスタ4=Oレジスタ5に移る間に、上記分岐先
アドレスから分岐先命令が読み出される。
このとき、命令アライン回路12は、記憶制御部9から
の命令フェッチバス91の出力データを命令単位に分割
し、通常のブリフェッチキューへの詰め方に従って該ブ
リフェッチキュー1.レジスタ2〜5に供給する。
一般に、分岐命令の分岐条件の決定ステージは、先行命
令が条件コードを変更しない命令、例えば、ストア命令
等の場合、演算ステージ(Eステツ)ではなくて、例え
ば、Dステージにおいて、分岐命令と認識された時点で
、即、分岐条件を決定することが行われる。
このような場合、該分岐命令のDステージで分岐条件が
決定されると、上記供給される命令が分岐先の命令の場
合、該分岐命令がDステージの動作を行うレジスタ5に
セントされた次のサイクル。
或いは、同じサイクルにレジスタ5に、該分岐先の命令
がセットされる。(第3図(a) 、 (b)の動作タ
イムチャート参照) 上記命令フェッチバス91のバス幅が十分広ければ、同
時に、レジスタ4.或いは、レジスタ3゜2へも、続く
分岐先の命令列がセットされる。
第3図は本発明による分岐命令制御方式の動作タイムチ
ャートである。
分岐命令がレジスタ5にセントされた次のサイクルでレ
ジスタ5に該分岐先命令がセットされるケースを示した
ものが、第3図(a)であり、分岐命令がレジスタ5に
セットされるタイミングで、該レジスタ5に分岐先命令
をセットするケースを示したものが第3図(b)である
第3図(a)の例では、見掛は上の分岐命令実行時間は
1サイクルであり、第3図(b)の例では、0サイクル
である。 (尚、各パイプライン実行中での動作は、図
示されているとおりであり、()内で示されている部分
が分岐命令の動作である)従来方式では、前述の第4図
(b)に示したように分岐命令の実行時間は4サイクル
に見えているので、本発明を実施することにより、3〜
4ザイクルの高速化が達成できる。
従って、該分岐命令に先行する命令が条件コドを変更す
る命令の場合には、図示していないEステージのレジス
タに、上記と同じ手順で分岐先の命令が設定されるよう
に動作する為、例えば、第3図の例に比較して、4サイ
クル遅れることになる。
又、分岐命令直後に記憶制御部9から直接レジスタ3〜
5に送られた命令は、各々のレジスタに設けられている
デコーダ10でデコードされ、分岐命令を検出するよう
に動作し、ここで分岐命令が検出された場合には、その
レジスタからの出力を前述のアドレス生成部7に送出す
ると共に、パイプライン制御部11では分岐先アドレス
の命令を読み出してレジスタ5にセットするのに必要な
サイクル数だけパイプライン動作を停止させるように機
能する。
例えば、レジスタ4に分岐命令がセットされた場合、分
岐先命令は、例えば、4サイクル後に読み出されてくる
とすると、パイプラインの停止期間は3サイクルとなる
このように、本発明は、少なくとも、アドレスを生成す
る回路と、命令の実行を複数個のステジに分割して、該
複数個の命令をオーバラップさせながら実行するパイプ
ライン制御を行う回路とを備えるデータ処理装置におい
て、分岐命令以外の命令の実行を開始するステージ(レ
ジスタ5)に先行して分岐命令の分岐先アドレスを、例
えば、命令アドレス生成回路で生成し、分岐先の命令列
を読み出す複数個のステージレジスタを設け、該ステー
ジレジスタに設定された命令が分岐命令であると、上記
命令アドレス生成回路で分岐先アドレスを生成して分岐
先命令を先行して読み出し、命令実行部のパイプライン
に投入するようにして、見掛は上の分岐命令の実行時間
を小さくするようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明の分岐命令制御方
式は、少なくとも、アドレスを生成する回路と、命令の
実行を複数個のステージに分割して、該複数個の命令を
オーバラップさせながら実行するパイプライン制御を行
う回路とを備えるブタ処理装置における分岐命令制御方
式において、分岐命令以外の命令の実行を開始するステ
ージに先行して、分岐命令の分岐アドレスを上記アドレ
スを生成する回路を使用して生成し、分岐命令を読み出
す複数個のステージと、各ステージに対応して、それぞ
れに命令を蓄積するレジスタと、各レジスタの内容の有
効性を示すフラグ(v)と1分岐命令を検出するデコー
ダとを設け、上記デコダにより、それぞれのステージに
投入した命令が分岐命令であることを検出したとき、そ
のステジに対応して、選択的に上記パイプライン動作を
停止させて、該分岐命令を実行し、該実行された分岐命
令に基づいて読み出された分岐先命令を、分岐条件成立
時に、命令実行部のパイプラインに投入するようにした
ものであるので、パイプライン実行中において、分岐先
命令に対しても命令の先行読み出しができるので、分岐
命令の高速化が得られる効果がある。
【図面の簡単な説明】
第1図は本発明の分岐命令制御方式の原理構成図。 第2図は本発明の一実施例を示した図。 第3図は本発明による分岐命令制御方式の動作タイムチ
ャート 第4図は従来の分岐命令制御方式を説明する図。 である。 図面において、 1は命令ブリフェッチキュー。 2〜4.5はレジスタ、110はフラグ(■)7は命令
アドレス生成部。 70.71は加算器。 72はマルチプレクサ(MPX)。 9は記憶制御部、91は命令フェッチバス。 10はデコーダ、11はパイプライン制御部11aは優
先回路、    100,101は制御信号をそれぞれ
示す。

Claims (1)

  1. 【特許請求の範囲】 少なくとも、アドレスを生成する回路(7)と、命令の
    実行を複数個のステージに分割して、該複数個の命令を
    オーバラップさせながら実行するパイプライン制御を行
    う回路(11)とを備えるデータ処理装置において、 分岐命令以外の命令の実行を開始するステージに先行し
    て、分岐命令の分岐アドレスを上記アドレスを生成する
    回路(7)を使用して生成し、分岐先命令を読み出す複
    数個のステージと、 各ステージに対応して、それぞれに命令を蓄積するレジ
    スタ(2、3、4)と、各レジスタ(2、3、4)の内
    容の有効性を示すフラグ(V)(110)と、分岐命令
    を検出するデコーダ(10)とを設け、 上記デコーダ(10)により、それぞれのステージに投
    入した命令が分岐命令であることを検出したとき、その
    ステージに対応して、選択的に上記パイプライン動作を
    停止させて、該分岐命令を実行し、 該実行された分岐命令に基づいて読み出された分岐先命
    令を、分岐条件成立時に、命令実行部のパイプラインに
    投入することを特徴とする分岐命令制御方式。
JP17851988A 1988-07-18 1988-07-18 分岐命令制御方式 Pending JPH0228724A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17851988A JPH0228724A (ja) 1988-07-18 1988-07-18 分岐命令制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17851988A JPH0228724A (ja) 1988-07-18 1988-07-18 分岐命令制御方式

Publications (1)

Publication Number Publication Date
JPH0228724A true JPH0228724A (ja) 1990-01-30

Family

ID=16049896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17851988A Pending JPH0228724A (ja) 1988-07-18 1988-07-18 分岐命令制御方式

Country Status (1)

Country Link
JP (1) JPH0228724A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512010A (ja) * 1991-07-04 1993-01-22 Nec Corp 分岐予測方式
JPH06341407A (ja) * 1993-12-06 1994-12-13 Hasegawa Taiiku Shisetsu Kk 油圧供給装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512010A (ja) * 1991-07-04 1993-01-22 Nec Corp 分岐予測方式
JPH06341407A (ja) * 1993-12-06 1994-12-13 Hasegawa Taiiku Shisetsu Kk 油圧供給装置

Similar Documents

Publication Publication Date Title
US6233670B1 (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
US4758949A (en) Information processing apparatus
US4677549A (en) Pipelined data processor system having increased processing speed
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
EP1050809A1 (en) Computer instruction dependency
JPH0228724A (ja) 分岐命令制御方式
US5771376A (en) Pipeline arithmetic and logic system with clock control function for selectively supplying clock to a given unit
JPH02100137A (ja) 命令実行制御方式
JP2002268876A (ja) パイプライン処理方法、及び情報処理装置
JP2897049B2 (ja) 分岐命令方式
JP2000305782A (ja) 演算装置
JPH0269825A (ja) パイプライン制御方式
JPH0419574B2 (ja)
JPS61294553A (ja) 命令処理方式
JPH02254541A (ja) 条件分岐命令の制御方式
JPH07113891B2 (ja) パイプライン処理装置
JPH1097422A (ja) マイクロプロセッサ
JPH08171492A (ja) 情報処理装置
JPH02206836A (ja) データ処理装置
JPH0258128A (ja) データ処理装置
JPH04286026A (ja) マイクロプロセッサ内の命令準備のための装置
JPH04245333A (ja) 情報処理装置
JPS60247743A (ja) パイプライン演算制御装置
JPH0419575B2 (ja)
JPH034326A (ja) 命令デコード方式