JPS5815809B2 - ジヨウホウシヨリソウチ - Google Patents

ジヨウホウシヨリソウチ

Info

Publication number
JPS5815809B2
JPS5815809B2 JP4842175A JP4842175A JPS5815809B2 JP S5815809 B2 JPS5815809 B2 JP S5815809B2 JP 4842175 A JP4842175 A JP 4842175A JP 4842175 A JP4842175 A JP 4842175A JP S5815809 B2 JPS5815809 B2 JP S5815809B2
Authority
JP
Japan
Prior art keywords
instruction
branch
signal
prediction
success
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
Application number
JP4842175A
Other languages
English (en)
Other versions
JPS51123534A (en
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP4842175A priority Critical patent/JPS5815809B2/ja
Publication of JPS51123534A publication Critical patent/JPS51123534A/ja
Publication of JPS5815809B2 publication Critical patent/JPS5815809B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 本発明は情報処理装置に関し、特に命令の先取り機能を
有して先行制御を行なうようになされた情報処理装置に
関するものである。
従来、先行制御を行なう情報処理装置における分岐命令
処理は、設計段階で分岐成功の確率が犬であると判断し
た場合には分岐成功側を無条件に先取りするか、逆に分
岐不成功の確率が犬であると判断した場合には分岐不成
功側を先取りするか、または分岐成功側および分岐不成
功側の両方を先取りすることにより、高速化が計られて
いる。
しかしながら、分岐成功/不成功の確率は不確定である
というプログラムの特質により、前の2つの場合には期
待とは反対方向に先取りする結果となることがしばしば
起こり、最後の場合にはそのようなプログラムの特質に
は強いかわりに先取りの情報を保存する為の金物量が大
幅に増大するという欠点があった。
本発明の目的は、上述した欠点に鑑み、金物量の増大を
ほとんど起こすことなくループを形成する分岐命令に後
続する命令の誤先取りを極力防止できる情報処理装置を
提供することにある。
本発明の他の目的は、プログラム実行に伴ないその特質
を適時判断し、後続命令のより有効な方向(分岐成功側
/分岐不成功側)への先取り動作を進めるようにした情
報処理装置を提供し、金物量の増大を極力おさえること
にある。
本発明によれば、命令の先取り機能を有して先行制御を
行なうようにした情報処理装置において、分岐成功側に
ループが形成されると共に分岐不成功側に前記ループを
抜は出るルートが形成されている分岐命令の分岐成功あ
るいは分岐不成功を予測するフリップフロップと、該フ
リップフロップの予測を前記分岐命令の実行によって得
られる情報に応じて行なわせ且つ該フリップフロップの
予測に従う方向の命令の先取りを指令するための分岐命
令制御回路とを設けたことを特徴とする情報処理装置が
得られる。
以下、図面を参照して本発明の詳細な説明する。
第1図は本発明による情報処理装置の第1の実施例を示
したブロック図である。
第1図にも示したように、高度の先取り制御を行なう情
報処理装置は、命令の準備段階として、命令先取り部1
、命令解読部2、およびオペランド先取り部3を有する
のが普通である。
一般にこれらをまとめて先行命令処理部と呼ぶ。
この先行命令処理部は、これとは独立に働く命令実行処
理部4へ命令の実行に必要な情報を揃えて供給する。
命令先取り部1、命令解読部2、オペランド先取り部3
、および命令実行処理部4は並行処理が可能であり、そ
の並行処理動作をパイプライニングという。
このパイプライニングを用いた情報処理装置による分岐
命令の一般的な先取り制御をまず説明する。
記憶装置5に実行しようとするプログラムが格納されて
おり、命令語群7は命令アドレス6に従って記憶装置5
から読み出される。
読み出された命令語群は、命令先取り部1に一時設定さ
れるとともに所定の命令が命令解読部2内の命令レジス
タに設定される。
命令解読部2はこれを解読してその命令の実行処理に必
要とする情報をオペランド先取り部3が収集する。
ここで、図中9はオペランド語アドレスバス、8はオペ
ランド語読み出しパスである。
オペランド先取り部3は、必要情報の収集が完了した時
点にそれらの情報を命令実行処理部4へ供給する。
前述の命令解読部2で、解読された命令が分岐命令であ
ると、該分岐命令の分岐成功および分岐不成功のうち進
む確率が高い方向(情報処理装置の設計段階に判断し定
義する。
)に先取りを続ける。
すなわち、該分岐命令が不成功側に進む確率。が犬であ
れば記憶装置5内の該分岐命令0こ後続している命令(
不成功側命令)を先取りする方向に動作を続行し、成功
側に進む確率が犬であれば記憶装置5内の該分岐命令に
後続している命令(不成功側命令)の先取りを中止して
、命令先取り部。
1により、新たに記憶装置5内の別のアドレス(分岐成
功側アドレス)より命令(成功側命令)の先取りを再開
する。
このような先取り制御を用いた情報処理装置では、命令
実行処理部4で分岐命令を実行した時に判明する命令処
理順序と、先。
行命令処理部で準備した命令とが、プログラムの特質に
よりたびたび異なることがある。
この様な場合は、新たな命令の先取りを行なうように命
令実行処理部4よりの指示により、先行命令処理部を初
期起動する必要がある。
本発明は、金物量の微少な追加のみにより、上述のよう
なプログラムの特質による後続命令の誤先取りを極力防
ぎ、より有効な方向に先取り動作を進めることができる
ようにしたものである。
すなわち、本発明は第1図に示したように、分岐命令の
成功/不成功を予測するフリップフロップ(以下、予測
FFという。
)11と、そのフリップフロップ11の予測を分岐命令
の実行によって得られる信号101および102に応じ
て行なわせ且つ該フリップフロップ11の予測に従う方
向の命令の先取りを指令103するための分岐命令制御
回路10とを先行命令処理部に設け、分岐命令に後続す
る命令を有効に先取りするようにしたことを特徴とする
情報処理装置である。
第2図は第1図の予測FF11と分岐命令制御回路10
とを具体的に示した図で、以下、第1図および第2図を
参照してこの実施例を詳細に説明する。
この実施例はループ回数を計数することによりループを
形成する分岐命令の処理に適した構成となっている。
まず、ループ回数を計数することによりループを形成す
る分岐命令の成功/不成功を予測する予測FF11の初
期値を、オア(OR)ゲート回路202を介して予測F
F11に入力される先行命令処理部からの初期設定信号
108により、゛′成功”(FF値−1)として設定し
、予測FF11にその値を記憶させておく。
その後、上記分岐命令が命令解読部2に設定された時、
予測FF11の指示103に応じた方向に後続命令の先
取り動作を行なう。
(この予測信号103とは分岐命令が命令解読部2に設
定された特発する分岐命令表示信号106と予測FF1
1の出力信号とを2人力とするアンド(AND )ゲ゛
−ト回路205の出力信号である。
)すなわち、先行命令処理部キャンセル後、初めて該分
岐命令が命令解読部2に設定された場合には、予測FF
11は゛成功“となっている為、記憶装置5内の該分岐
命令に後続している不成功側命令の先取りを無効として
記憶装置5内に在る分岐先命令語を先取りするように、
命令解読部2は命令先取り部1に分岐成功側先取り指令
信号104を送出して指令する。
該分岐命令が命令実行処理部4で実行された時、命令実
行処理部4は、その実行結果信号101(分岐成功の場
合−1信号、分岐不成功の場合−〇信号)、及び、次回
予測信号102(命令実行処理部4でカウントを計数し
7、次回分岐不成功側に動作することが予測できる場合
に0信号)を、分岐命令制御回路10に報告する。
該分岐命令以後の先取り動作(珊在、分岐成功側に先取
りがなされている。
)が正しかったか否かは、その時に報告される実行結果
信号101と予測FF11の値との一致を排他的論理オ
ア回路204にて確認することにより可能である。
先取り方向と該分岐命令の実行結果とが異なった場合に
は、アンドゲート回路206を介して命令先取り部1に
入力される排他的論理オア回路204からの論理1を有
する信号(先取り再スタート信号)105により、先行
命令処理部に先取りした該分岐命令以後の命令を無効と
し、改めて正しい方向への先取りを行なう指示を命令先
取り部1に対して指令する。
先取り方向と該分岐命令の実行結果が一致した場合には
、実行結果信号101と同時に報告される次回予測信号
102により、予測FF11の値を設定しなおす。
すなわち、次回予測信号102が再び゛成功″側(次回
予測信号−1信号)であれば、予測FF11の値を”成
功”(FF値−1)のままとし、次回、分岐不成功側に
動作することが予測できる場合(次回予測信号=0信号
)には、予測FF11の値を”不成功”(FF値−〇)
と設定する。
この動作は図示のごとくインヒビツ) (1nhibi
t ) ’y’−ト回路203によりなされる。
ここで、107は命令実行処理部4よりの分岐命令実行
タイミング信号である。
予測FFI 1の値を゛成功″と設定した場合には、゛
不成功″と設定しなおすまで上述の動作を繰り返し、予
測FF11の値を゛不成功″と設定した場合(次回の分
岐命令により、プログラム上のループを抜は出でると予
測した場合)には、命令先取り部1は次回の分岐命令が
命令解読部2に設定された時に、記憶装置5内の該分岐
命令に後続している命令(不成功側命令)を先取りする
方向に動作を続行する。
予測FF11の値が゛不成功″側(FF値−〇)を示し
、命令実行処理部4から報告される実行結果信号101
が゛°分岐不成功パであった場合、すなわち、プログラ
ム上のループを正しく抜は出る場合には、インヒビット
ゲート回路207により予測FF11の値を゛成功”(
FF値=1)として設定し、予測FF11は後続する分
岐命令のループ動作の為にその値を配憶する。
なお、第2図において201は他制御部とのインクフェ
ースである。
ループ回数を計数することによりループを形成する上述
の如き分岐命令の一例を第3図に示す。
第3図において、Slはx=n、S2は処理ステップ、
S3はx=x−1,84はx=0?、Blは分岐命令で
ある。
分岐命令BIの分岐成功側(即ちNO側)にはループが
形成され、分岐命令BIの分岐不成功側(即ちYES側
)には前記ループを抜は出るルートが形成されている。
次に第2図および第3図を参照して前記予測FF11の
設定推移を説明する。
予測FF11の初期値は前述のごとく初期設定信号10
8により“成功”(FF値−1)と設定される。
プログラムの指示によるS2の処理ステップを例えば1
0回実行するとした場合、Slによりx−10となり、
S2の処理を行った後、S3によりx=10−1=9が
実行され、S4によりX=Oでない為にNO側(即ち分
岐成功側)へ処理が進み、S2→S3→S4処理の1回
目のループが実行されたことになる。
その後、同様な方法でXが順次減算され、S2→S3→
S4処理が10回実行され、10回実行した後はS4に
よりX=0となる為にYES側(即ち分岐不成功側)に
処理が進む。
本発明は、10回実行する過程で84からN。
側(即ち分岐成功側)への命令語を無駄なく先取りし、
かつ10回目の84実行後に処理すべきYES側(即ち
分岐不成功側)の命令語を誤りなく先取りする効果を出
す為、9回目の83の実行結果でX=1(次回はループ
を抜は出し、分岐不成功側に動作が進むことが十分予測
できる。
)となった場合に、命令実行処理部4は前記次回予測信
号102を0信号として前記分岐命令制御回路10に報
告する。
X=1以外の場合は、すべて、次回予測信号102は1
信号となる。
該次回予測信号102がO信号であることと命令実行処
理部4からの分岐命令実行タイミング信号107の条件
によって、予測FF11を゛不成功”(FF値−〇)に
設定することにより、10回目の84実行後に処理すべ
きYES側(即ち分岐不成功側)の命令の先取りの予測
が正しく行われる。
なお、10回目の84実行後に予測FF11の設定は後
続するループを形成する分岐命令の為に゛′成功”(F
F値=1)に設定される。
以上の実施例は、パイプライン制御を使用した従来の先
行命令処理部に、フリップ・フロップを2.3ビツト(
分岐命令タイプ別に各1個)と、わずかな周辺回路を加
えることにより実現できる。
以上の説明から明らかなように、本発明は従来の先行命
令処理部にループを形成する分岐命令の成功あるいは不
成功を予測するフリップフロップと、該フリップフロッ
プの予測を前記分岐命令の実行によって得られる情報に
応じて行なわせ且つ該フリップフロップの予測に従う方
向の命令の先取りを指令するための分岐命令制御回路と
を付加することにより、はとんど金物量の増大なしにプ
ログラムの実行に伴ないその特質を適時判断して分岐命
令後の先取り動作を有効に進めることができるという効
果がある。
即ち、本発明では、金物量の増大をほとんど起こすこと
なく、ループを形成する分岐命令に後続する命令の誤先
取りを極力防止できる効果がある。
【図面の簡単な説明】
第1図は本発明による情報処理装置の第1の実施例を示
したブロック図、第2図はループを形成する分岐命令に
用いて有効な第1図における予測フリップフロップ11
および分岐命令制御回路10を具体的に示した図、第3
図はループを形成する分岐命令の一例を示したフローチ
ャートである。 1・・・・・・命令先取り部、2・・・・・・命令解読
部、3・・・・・・オペランド先取り部、4・・・・・
・命令実行処理部、5・・・・・・記憶装置、6−・・
・・・命令語アドレス、I・・・・・・命令語読み出し
パス、8・・・・・・オペランド語読み出しパス、9・
・・・・・オペランド語アドレスパス、10・・・・・
・分岐命令制御回路、11・・・・・・予測フリップフ
ロップ、101・・・・・・分岐命令成功信号、102
・・・・・・次回予測信号、103・・・・・・予測信
号、104・・・・・・分岐成功側先取り命令信号、1
05・・・・・・先取り再スタート信号、106・・・
・・・命令解読部よりの分岐命令表示信号、107・・
・・・・命令実行処理部よりの分岐命令実行タイミング
信号、108・・・・・・先行命令処理部よりの初期設
定信号、201・・・・・・他制音部インターフェース
、202・・・・・・オアゲート回路、203,207
・・・・・・インヒビットゲート回路、204・・・・
・・排他的論理オア回路、205,206・・・・・・
アンドゲート回路。

Claims (1)

    【特許請求の範囲】
  1. 1 命令の先取り機能を有して先行制御を行なうように
    した情報処理装置において、分岐成功側にループが形成
    されると共に分岐不成功側に前記ループを抜は出るルー
    トが形成されている分岐命令の分岐成功あるいは分岐不
    成功を予測するフリップフロップと、該フリップフロッ
    プの予測を前記分岐命令の実行によって得られる情報に
    応じて行なわせ且つ該フリップフロップの予測に従う方
    向の命令の先取りを指令するための分岐命令制御回路と
    を設けたことを特徴とする情報処理装置。
JP4842175A 1975-04-21 1975-04-21 ジヨウホウシヨリソウチ Expired JPS5815809B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4842175A JPS5815809B2 (ja) 1975-04-21 1975-04-21 ジヨウホウシヨリソウチ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4842175A JPS5815809B2 (ja) 1975-04-21 1975-04-21 ジヨウホウシヨリソウチ

Publications (2)

Publication Number Publication Date
JPS51123534A JPS51123534A (en) 1976-10-28
JPS5815809B2 true JPS5815809B2 (ja) 1983-03-28

Family

ID=12802843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4842175A Expired JPS5815809B2 (ja) 1975-04-21 1975-04-21 ジヨウホウシヨリソウチ

Country Status (1)

Country Link
JP (1) JPS5815809B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374857A (en) * 1976-12-15 1978-07-03 Fujitsu Ltd Data processor
JPS55143653A (en) * 1979-04-25 1980-11-10 Nec Corp Branch prefetch computer
JPH0342723A (ja) * 1989-07-11 1991-02-22 Nec Corp データ処理装置
JP4728877B2 (ja) * 2006-05-29 2011-07-20 エヌイーシーコンピュータテクノ株式会社 マイクロプロセッサおよびパイプライン制御方法

Also Published As

Publication number Publication date
JPS51123534A (en) 1976-10-28

Similar Documents

Publication Publication Date Title
JP3729087B2 (ja) マルチプロセッサシステム、データ依存投機実行制御装置およびその方法
JPS623340A (ja) 分岐方法
JPH10149285A (ja) 命令実行制御方法および情報処理装置
JPH0520067A (ja) 並列演算処理装置における分岐命令処理方式
JPH1021074A (ja) 割り込み制御方式、プロセッサ及び計算機システム
JPH0553806A (ja) 並列処理制御装置
JPS63307535A (ja) パイプライン制御回路
JPS5815809B2 (ja) ジヨウホウシヨリソウチ
CN113918225A (zh) 指令预测方法、指令数据处理装置、处理器以及存储介质
JP2020086897A (ja) 演算処理装置及び演算処理装置の制御方法
JP2503223B2 (ja) 先行制御方式
JPH0342723A (ja) データ処理装置
JP3471691B2 (ja) マイクロ命令における分岐命令制御方式
JPH06324861A (ja) Cpu制御システム及び制御方法
JP2845578B2 (ja) 命令制御方式
JPS6353644A (ja) 命令制御装置
JPS59178547A (ja) 命令リトライ方式
JPH0247725A (ja) データ処理装置
JPS63303432A (ja) 分岐ヒストリテーブル書込制御方式
JPH02138625A (ja) データ処理装置
JPS59121540A (ja) 演算制御方式
JPH04308930A (ja) 電子計算機
JPH0769800B2 (ja) データ処理装置
JPS5819957A (ja) 計算機における命令制御の先行方式
JPH1021072A (ja) 計算機処理装置