JPH0290326A - 先行制御方式 - Google Patents

先行制御方式

Info

Publication number
JPH0290326A
JPH0290326A JP24089588A JP24089588A JPH0290326A JP H0290326 A JPH0290326 A JP H0290326A JP 24089588 A JP24089588 A JP 24089588A JP 24089588 A JP24089588 A JP 24089588A JP H0290326 A JPH0290326 A JP H0290326A
Authority
JP
Japan
Prior art keywords
instruction
branch
buffer
instructions
address
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
JP24089588A
Other languages
English (en)
Inventor
Fumio Matsunoshita
松野下 文郎
Masato Tanaka
正人 田中
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 JP24089588A priority Critical patent/JPH0290326A/ja
Publication of JPH0290326A publication Critical patent/JPH0290326A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概 要] パイプライン処理方式を用いた計算機システムにおける
分岐命令が連続する場合の命令の先取り制御方式に関し
、 従来、・分岐命令が連続し、分岐先命令を保持するバッ
ファ群に空きがなくなった場合には、新たな分岐命令は
インターロックされ、先行する分岐命令の判断が確定す
るまで先取り要求を出せなかったという問題の解決を目
的とし、先行する分岐命令の動作状態を確認し、インタ
ーロック状態でない場合には、バッファ群中の先行する
分岐命令の分岐先命令の格納されていた部分に新たな分
岐先命令を格納して構成する。
[産業上の利用分野コ 本発明は計算機システムにおける命令の先取り方式に関
し、特にパイプライン処理方式を用いた計算機システム
における分岐命令が連続する場合の命令の先取り方式に
関する。
[従来の技術] 第5図は従来例の先取り命令制御部のシステム構成図を
示しており、51はバッファ・レジスタA、52はバッ
ファ・レジスタB、53はバッファ・レジスタC154
はアドレス・レジスタa155はアドレス・レジスタb
156はアドレス・レジスタc、57はバッファ・レジ
スタD、51バッファ・レジスタE、59はバッファ・
レジスタF、60はアドレス計算部、61は分岐判断・
バッファフル判断部、62は命令取り出しアドレスを計
算するだめの加算器、63は命令取り出し要求を出した
アドレスを保持するレジスタを表している。
第6図は分岐命令l、2.3が連続する場合の従来のパ
イプライン制御のタイムチャートを示しており、70は
命令Aによるコンデイション・コード、71 a 、 
72 a 、 73 aは先取り要求、71b 、 7
2 b 、 72 bは分岐命令で先取りされた分岐先
命令(先取り命令)、74はインターロック期間、75
は分岐命令1の分岐判断を表しており、また図中の期間
区分記号り、A、TSB、E。
Wはパイプライン制御中の各処理ステージ(「ステート
」ともいう)を表している。
本例の場合は現在実行中の命令及び分岐命令で先取りさ
れる分岐先命令を保持するバッファ・レジスタ (以下
、単に「バッファjともいう)としては、51〜53で
示すバッファASBSCの3つが用いられ、1つは現在
実行中の命令を保持するために用いられ、実際に分岐先
命令を保持できるのは2つまでである。
また、54〜56で示すアドレス・レジスタa1bSc
は上記バッファA、B、Cにそれぞれ対応して設けられ
、分岐先命令のアドレスを保持するものであり、例えば
命令へが現在バッファAに入っていると仮定すると、分
岐命令1で先取りされる分岐先命令はBステートの終り
でバッファBに保持され、その分岐先命令のアドレスが
アドレス・レジスタbに保持され、同様にして、分岐命
令2に対しては、バッファCとアドレス・レジスタCが
使用される。
尚、バッファD,E,Fには現在の命令が入っているバ
ッファA,BSCの内のいずれかが選択されて移行して
行くよう構成される。
以下、第6図のタイムチャートに基づき、従来例の動作
の説明をする。
同図において、分岐命令lと分岐命令2はパイプライン
制御中のAステートで分岐先アドレスを計算して、先取
り要求71 a 、 72aを記憶制御部に対して発行
する。
該先取り要求、71a,72aで先取りされた分岐先命
令は、第5図のブロック図中のバッファA,B,Cのい
ずれかに保持される。
第6図のタイムチャートの例では、分岐命令lによる分
岐先命令(先取り命令)71bはバッファAに、分岐命
令2による分岐先命令72bはバッファBにそれぞれ保
持され、バッファCには現在実行中の命令が保持されて
いる。
次に分岐命令3が入ってきた場合には、バッファA,B
SC及びアドレス・レジスタaSb。
Cとも既に使用され空きがなく、該分岐命令3はAステ
ートでインターロック(図で74で示す期間)され、先
行する分岐命令lが分岐判断75を終えるのを待ってか
ら、先取り要求73aを記憶制御部に出す。
〔発明が解決しようとする課題〕
第6図のタイムチャートで示されるように、分岐命令3
が入ってきた場合に、バッファΔ、B,C及びアドレス
・レジスタa,bScには現在実行中の命令及び先取り
された分岐先命令とそれらのアドレスがすでに保持され
ており、バッファに空きがなく、分岐命令3は先行する
分岐命令1が分岐判断を終了するまで、パイプライン制
御中のAステートでインターロックされ、その間命令の
先取り処理が停留し処理効率が低下する。
本発明は上記問題点に鑑みなされたものであり、分岐命
令が連続し、バッファ群中に分岐先命令を保持するため
の空きがなくなり、パイプライン制御中の命令先取りが
インターロックされることを回避し得る先行制御方式を
提供することを目的とする。
〔課題を解決するための手段〕
本発明によれば、上述の目的は、前記特許請求の範囲に
記載した手段により達成される。
すなわち、本発明は命令をパイプライン方式で処理する
計算機システムであって、該システム中には、記憶装置
から取り出された命令群を保持するバッファ群と、パイ
プライン制御中に分岐命令が投入された場合に分岐先命
令の先取りを行う命令先取り手段と、該先取りされた分
岐先命令を上記バッファ群に保持する手段とを設けた計
算機システムにおいて、分岐命令が連続し、先取りした
命令を保持するバッファ群にデータ格納のための空きが
無くなった場合には、先行する分岐命令の処理状態を確
認し、該先行する分岐命令がインターロック状態でなけ
れば、該先行する分岐命令の分岐先命令が格納されてい
るバッファを選択して、新たな分岐先命令の先取りを行
なわせる先行制御方式である。
〔作用〕
パイプライン制御方式の計算機システムにおいて、分岐
命令が連続し、各分岐命令の分岐先命令が先取りされて
順にバッファ群に保持されて行く場合には、バッファ群
が上記先取りされた分岐先命令のデータで満杯となり、
新たな分岐先命令の先取りが行なえなくなる。
しかしながら、先行する分岐命令の分岐判断が終了した
時点では、該先行する分岐命令が、(a)分岐成功の場
合は、新たな分岐先命令の取り出しは必要がなくなり、 ら)分岐不成功の場合には、該先行する分岐命令の使用
していたバッファの内容は不要となる。
すなわち、いずれにしても先行する分岐命令の分岐判断
の終了時点以降は、該先行する分岐命令が命令先取りに
使用していたバッファの保持データは必要がなくなり、
また、先取り要求を出してから実際に分岐先命令がバッ
ファに格納されるまでには時間遅れが存在するので、新
たな分岐命令に対しては、先行する分岐命令の分岐判断
の確定するのを待たずして、上記バッファを選択して、
分岐先命令の先取りを行なわせる。
〔実施例〕
第1図は本発明の先行制御方式の原理説明のためのタイ
ムチャートであり、同図(a)は各分岐命令の先取り要
求、先取りされた分岐先命令のバッファへの格納及び分
岐判断のタイミングを示しており、同図(ハ)はバッフ
ァ識別符号(以下単に「バッファrDJという)の流れ
について説明する図である。
本例では、3つのバッファA、BSCを有し、その内、
バッフ、A、Bの2つが先取りされた分岐先命令(以下
単に「先取り命令」ともいう)の保持に使用され、バッ
ファCには現在実行中の命令が保持される場合であり、
かつ、命令Aに引き続き分岐命令!2.3と連続する場
合を例に取っている。
また、タイムチャート上の期間区分記号はノ<イブライ
ン制御の各処理のステージ(「ステート」ともいう)、
Dはデコード・ステージ、Aはオペランドアドレス計算
ステージ、Tはアドレス変換ステージ、Bはオペランド
データ読み出しステージ、Eは演算実行ステージ、Wは
演算結果の格納ステージを表している。
さらに、同図において、la、2a、3aは各分岐命令
1.2.3の先取り要求、1b12b、3bは各分岐命
令12.3による先取りされた分岐先命令(先取り命令
)、ICは分岐命令lにおける分岐判断、4はキャンセ
ル信号、5〜7はバッファID保持用レジスタ、8はノ
1ソファID選択ゲート、9a〜9Cは記憶制御部へ送
られるバッファID信号を表している。
以下、本発明の先行制御方式の動作説明を行う。
第1図(a)のタイムチャートにおいて、命令へがコン
デイションコード(cc)を出し、分岐命令が1.2.
3と連続する場合には、分岐命令1のAステートで分岐
先アドレスを計算し、先取り要求1aを記憶制御部に発
行し、Bステートの終りからEステートにかけて先取り
命令1bがバッファAに格納される。
分岐命令2においても同様にして、先取り要求2aが出
され、先取り命令2bがバッファBに格納される。
次に、分岐命令1.2に引き続き分岐命令3が入ってき
た場合には、バッファA、B共に既にデータ保持の為に
使用され満杯である、構わず分岐命令3のAステートで
先取り要求3aを記憶制御部に対して発行する。
先行する分岐命令lの分岐判断ICはEステートで終了
するので、 (a)先行する分岐命令1の分岐判断1cにて分岐する
場合には、分岐命令3の先取り命令3bは不要となりキ
ャンセル信号(CANCELL)  41.: 1’先
取り要求3a及び先取り命令3bを無効とする。
(5)先行する分岐命令1が分岐不成功の場合には、バ
ッファ八に保持された先取り命令1bは不要となるので
、分岐命令3のBステートの終わりで得られた先取り命
令3bをバッファAに格納しても良いことになる。
すなわち、分岐命令3がきた場合には、先行する分岐命
令1のために使用していたバッファAを用いて、円滑に
命令の先取りを進めることができる。
以上説明した動作を実現するには、バッファA、BSC
を適宜選択して分岐先命令を保持する必要があり、第1
図(b)に示されるごとく、分岐先命令の先取りを行う
ときは、分岐先のアドレストトモに、バッファID(バ
ッファA−Cのどれかを選択)を記憶制御部に送り(図
で9a〜9Cで示す信号)、記憶制御部はキャッシニメ
モリ及び主メモリから読み出した命令をバッファIDと
ともに送り返し、該バッファIDにより先取りされた分
岐先命令がバッファA。
B1C中のいずれかに保持されるよう構成する。
すなわち分岐命令1.2に続いて分岐命令3が引き続い
てパイプラインに投入され、Aステートに移行した時に
は、分岐命令lと同じバッファIDで先取り要求を出さ
せる。すなわち、バッファID選択ゲート8により、バ
ッファ■D保持用レジスタ5の内容を選択し、レジスタ
7に移行する。
前述のごとく、分岐命令3の分岐先命令が入ってくるの
はBステートの終わりであり、このときはすでに分岐命
令1は分岐判断を終了しており、分岐不成功の場合は分
岐命令1で得た先取り命令は不要であり、分岐命令3は
同じバッファIDでも使用可能である。
逆に分岐成功であったときは、分岐命令3のBステージ
で記憶制御部に対してキャンセル(CANCELL)信
号を出し先取り中止を知らせる。
また、このときはすでに記憶制御部から先取り命令とバ
ッファIDが送られてきているのでバッファ側で同じキ
ャンセル信号とノイツファIDを用いて先取り命令を保
持するのを中止させる。
なおキャンセル信号を記憶制御部に送る理由は、先取り
したデータが有効である事を示すノくリッド(VALI
D)信号が記憶制御部よりト〕ステートで帰されてくる
のでそれを禁止させる為である。 以上の説明は、分岐
命令が3つ連続する場合を例に取って説明しているが特
にこれに限定されるわけではなく分岐命令が3つ以上連
続する場合にも本発明は適用され得る。
第2図は、分岐命令1.2.3が全部分岐不成功の場合
のパイプライン制御のタイムチャートであり、同図(a
)は従来技術の場合、同図(b)は本発明の先行制御方
式による場合を示している。
同図(a)の従来技術の場合には、分岐命令3のパイプ
ライン制御動作中Aステートが2回余分に付加され2τ
の時間ロスが生じている。
第3図は分岐命令1.2が不成功で分岐命令3が分岐成
功の場合のパイプライン制御のタイムチャートであり、
同図(a)は従来技術の場合、同図(b)は本発明の先
行制御方式による場合を示している。
同図(a)の従来技術の場合には、分岐命令3のパイプ
ライン制御動作中Aステートが2回余分に付加され2τ
の時間ロスが生じている。
第4図は本発明の先行制御方式が適用されるシステムの
一構成例を示す図であり、同図において、11はバッフ
ァA、12はバッファB113はバッファC114はア
ドレスレジスタa、15はアドレスレジスタb116は
アドレスレジスタc117はバッファD118はバッフ
ァE119はバッファF120はアドレス計算部、21
は記憶制御部、22 a 、 22 b 、 22 c
はクロックゲート、23は命令先取りアドレスを計算す
る加算器、24は分岐判断・バッファフル判断部、25
は命令の先取りアドレスを保持するレジスタ、26〜2
9はセレクタゲート、aは分岐先アドレス又はオペラン
ドアドレス信号、bは命令先取りアドレス信号、Cはバ
ッファID信号、eはEステート分岐不成功信号、fは
記憶制御部よりバッファA、B。
Cに送られるバッファID信号、gはバッファ・フル信
号を表している。
バッファASBSC(11〜13)は現在実行中の命令
及び先取りされた分岐先命令を保持するバッファであり
、その内の2つが先取りされた分岐先命令の保持に使用
される。
また、アドレスレジスタa1bScはバッファA、B、
Cに対応して設けられた分岐先命令のアドレスを保持す
るレジスタである。
バッファA、B、、Cに保持された命令は、セレクタゲ
ート26により選択されアドレス計算部20にて分岐先
アドレスまたはオペランドアドレスが計算され、該アド
レスは記憶制御部21に送られるとともに、セレクタゲ
ート27、アドレスレジスタaSb、 c (14〜1
6) 、セレクタグート29、加算器23で構成される
アドレス計算部に送られ、命令先取りアドレスが求めら
れる。なお、加算器13の一方の入力の数値“+8”は
8バイト単位の命令の取り出しを意味する。
分岐判断・バッファフル判断部24は、分岐命令のコン
デイションコードを見て、分岐する場合には、例えば現
在実行中の命令が保持されているバッファBを、次の分
岐先アドレスを保持するバッファAに切り替える等の動
作をし、また、バッファID信号C及びキャンセル信号
dを発行する。
ナオ、バッファフル判断部は、バッファへのデータ格納
が満杯になった場合には、新しい命令の取り出しを全て
禁止するバッファフル信号gを発生する機能を有する。
またクロックグー)22a〜22Cは下記機能を有する
例えば先行する分岐命令lが分岐成功であった場合には
、分岐判断及びバッファフル判断部24は分岐命令3の
Bステートで記憶制御部21に対してキャンセル信号d
を送出し、先取り中止を通知するが、この時点では既に
記憶制御部21よりバッファID信号fと先取り命令が
送られてきており、これ等がバッファASB、 C(1
1〜13)に格納される恐れがあり、これを阻止するだ
めのものである。
すなわち、クロックゲート22a〜22Cの一方の入力
条件信号として、分岐判断・バッファフル判断部24か
ら供給させるEステート分岐不成功信号eが与えられ、
分岐成功であった場合は該クロックグー)22a〜22
Cは開放せず、上記の目的が達成される。
〔発明の効果〕
以上説明したごとく本発明によれば、分岐命令が連続し
、先取りされた分岐先命令を保持するバッファに空きが
無くなった場合にも、パイプライン処理の流れにインタ
ーロックをかける必要がなく命令が先取りがなされ、処
理の高速化が達成される。
【図面の簡単な説明】
第1図は本発明の先行制御方式の原理説明のためのパイ
プライン制御のタイムチャート、第2図は分岐命令1.
2.3が全部不成功の場合のパイプライン制御のタイム
チャート、第3図は分岐命令1.2が不成功で分岐命令
3が分岐成功の場合のパイプライン制御のタイムチャー
ト、第4図は本発明の先行制御方式が適用されるンステ
ムの一構成例を示す図、第5図は従来例の先取り命令制
御部のシステム構成図、第6図は分岐命令1.2.3が
連続する場合の従来のパイプライン制御のタイムチャー
トである。 1a・・・・・分岐命令1の先取り要求、1b・・・・
・・分岐命令1による先取り命令、1c・・・・・・分
岐命令1の分岐判断、2a・・・・・・分岐命令2の先
取り要求、2b・・・・・・分岐命令2による先取り命
令、3a・・・・・・分岐命令3の先取り要求、3b・
・・・・・分岐命令3の先取り命令、4・・・・・・キ
ャンセル(CAMCBLL)信号、5〜7・・・・・・
バッファID保持用レジスタ、8・・・・・・バッファ
ID選択ゲート、9a19b、9c・・・・・・記憶制
御部に送られるバッファID信号、ll−13・=−ハ
フ 7 y A−CS14〜16・・・・・・アドレス
レジスタa−c、17〜19・旧・・バッファD−F、
、20・・・・・・アドレス計算部、21・・・・・・
記憶制御部、22 a 、 22 b 、 22 c・
・・・・・クロックゲート、23・・・・・・加算器、
24・・・・・・分岐判断・バッファフル判断部、25
・・・・・・命令の先取りアドレスを保持するレジスタ
、26〜29・・目・・セレクタゲート代理人 弁理士
   水量  崇 φ

Claims (1)

  1. 【特許請求の範囲】 命令をパイプライン方式で処理する計算機システムであ
    って、該システム中には、記憶装置から取り出された命
    令群を保持するバッファ群と、パイプライン制御中に分
    岐命令が投入された場合に分岐先命令の先取りを行う命
    令先取り手段と、該先取りされた分岐先命令を上記バッ
    ファ群に保持する手段とを設けた計算機システムにおい
    て、 分岐命令が連続し、先取りした命令を保持するバッファ
    群にデータ格納のための空きが無くなった場合には、 先行する分岐命令の処理状態を確認し、該先行する命令
    がインターロック状態でなければ、該先行する分岐命令
    の分岐先命令が格納されているバッファを選択して、新
    たな分岐先命令の先取りを行わせることを特徴とする先
    行制御方式。
JP24089588A 1988-09-28 1988-09-28 先行制御方式 Pending JPH0290326A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24089588A JPH0290326A (ja) 1988-09-28 1988-09-28 先行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24089588A JPH0290326A (ja) 1988-09-28 1988-09-28 先行制御方式

Publications (1)

Publication Number Publication Date
JPH0290326A true JPH0290326A (ja) 1990-03-29

Family

ID=17066282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24089588A Pending JPH0290326A (ja) 1988-09-28 1988-09-28 先行制御方式

Country Status (1)

Country Link
JP (1) JPH0290326A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9732665B2 (en) 2013-06-20 2017-08-15 Toyota Jidosha Kabushiki Kaisha Compression ignition internal combustion engine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9732665B2 (en) 2013-06-20 2017-08-15 Toyota Jidosha Kabushiki Kaisha Compression ignition internal combustion engine

Similar Documents

Publication Publication Date Title
JP3981378B2 (ja) データ処理装置におけるパイプライン間の同期
US6088788A (en) Background completion of instruction and associated fetch request in a multithread processor
JPS63136138A (ja) 情報処理装置
JPH0115093B2 (ja)
JPS621032A (ja) 情報処理装置
JP2560988B2 (ja) 情報処理装置および処理方法
KR930000097B1 (ko) 데이타 처리장치
US5978905A (en) Program translating apparatus and a processor which achieve high-speed execution of subroutine branch instructions
JPH0348536B2 (ja)
JPH0348537B2 (ja)
JPS63317828A (ja) マイクロコ−ド読み出し制御方式
JP3469469B2 (ja) 情報処理装置
JPH0743648B2 (ja) 情報処理装置
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JPS60107141A (ja) プランチ制御方式
JPH0290326A (ja) 先行制御方式
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
US6601162B1 (en) Processor which executes pipeline processing having a plurality of stages and which has an operand bypass predicting function
US6789185B1 (en) Instruction control apparatus and method using micro program
JP2001166934A (ja) 命令フェッチ制御装置
JP2814683B2 (ja) 命令処理装置
JPH10283178A (ja) 命令を発行するための方法及びシステム
JPH04220722A (ja) パイプライン処理装置
JP2591325B2 (ja) 分岐制御装置
JP2812615B2 (ja) 命令バッファ回路制御方式