JPS61243536A - デ−タ処理装置における先行制御装置 - Google Patents

デ−タ処理装置における先行制御装置

Info

Publication number
JPS61243536A
JPS61243536A JP60084397A JP8439785A JPS61243536A JP S61243536 A JPS61243536 A JP S61243536A JP 60084397 A JP60084397 A JP 60084397A JP 8439785 A JP8439785 A JP 8439785A JP S61243536 A JPS61243536 A JP S61243536A
Authority
JP
Japan
Prior art keywords
instruction
branch
address
register
stage
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.)
Granted
Application number
JP60084397A
Other languages
English (en)
Other versions
JPH0789319B2 (ja
Inventor
Kenichi Wada
健一 和田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60084397A priority Critical patent/JPH0789319B2/ja
Priority to US06/854,511 priority patent/US4827402A/en
Publication of JPS61243536A publication Critical patent/JPS61243536A/ja
Publication of JPH0789319B2 publication Critical patent/JPH0789319B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、データ処理装置の先行制御に関し、特に、一
連の命令をパイプライン方式で実行する型のデータ処理
装置における、分岐命令のための先行制御に関する。
〔発明の背景〕
先行制御方式における分岐命令の取扱い、特に、パイプ
ライン方式のデータ処理装置における分岐命令のための
先行制御に関する問題の一つは1分岐先命令のアドレス
の確定である。先行制御において、分岐先命令を前以て
読出すために、そのアドレスが、分岐命令の指定するい
くつかのVジスタの内容を用いて、早い時期に計算され
、そのアドレスからの読出動作が開始される。ところが
、このアドレス計算の後で、命令列中の先行命令が実行
され、その結果、先のアドレス計算に用いられにレジス
タの内容が変更されることが、往々にして生じる。そう
すると、先に計算されたアドレスからの命令読出しは無
意味なものとなり、改めて、アドレス計算と命令読出し
を行なわなければならない。
特開昭50−39437号公報に記載された制御装置は
、前記の問題を解決するために、各汎用レジスタについ
てその内容の変更を行なう命令の存在を表示するレジス
タ(GPR情報レジスタ)と、その命令の実行の終了に
よって前記表示をリセットする回路とを有し、分岐先命
令のアドレスの計算は、それに必要なレジスタについて
の前記表示がリセットされている場合にのみ、行なわれ
るように構成されている。前記のレジスタとその関連回
路のハードウェア量は、相当々ものである。この装置は
、また、分岐先命令アドレスの計算のための専用の演算
器の設置を考慮しておシ、この点においても・・−ドウ
エア量の増大を招く。
先行制御方式における分岐命令の扱いについては、過去
にも種々の機構が提案されたが、その多くのものが、過
去な所要ノ・−ドウエア量のために、実用化を阻まれて
いる。
〔発明の目的〕
本発明の目的は、先行制御方式における分岐命令の処理
を、小量の・・−ドウエアで、効率良く遂行することに
ある。
〔発明の概要〕
本発明は、前掲公開公報記載の装置に不可欠なGPR情
報レジスタの類を必要としない。本発明によれば、命令
バッファ中で検出された分岐命令のアドレスデータ源(
インデクスレジスタ、ペースレジスタ等)指定部が、レ
ジスタ等に保持され、これに基づいて計算されたアドレ
スを用いて命令読出しが開始される。その後、この保持
されたアドレスデータ源情報は、解読された先行命令の
データ書込先(演算結果格納レジスタ等)指定情報と常
に比較され、一致が生じれば、先に計算したアドレスは
正しく々いことに々るから、アドレス計算とそれに読く
命令読出しかやシ直される。また、分岐先命令のアドレ
スの計算には、複数のオペランドアドレスを必要とする
命令のための、複数のアドレス計算機構の一つを利用す
ることができる。
前掲公開公報記載の装置におけるGPR情報レジスタは
、無用なアドレス計算とそれによる命令読出動作とを防
止するのに役立つが、しかし、後になって先行命令が分
岐命令のアドレスデータ源の内容を変更した場合に、正
しい分岐先命令の入手時期がそれによって早められるこ
とは、はとんど期待できない。それゆえ、本発明によれ
ば、前掲公開公報記載の装置と比較して、疾かに少ない
ハードウェア量により、はぼ同程度の分岐命令に関する
先行制御効果が得られる。
〔発明の実施例〕
第2図は、代表的な分岐命令のフォーマットを示す。O
Pフィールドは動作を指示し、M1フィールドは分岐条
件を示し、X2及びB2フィールドはそれぞれ汎用レジ
スタの一つを指定し、B2フィールドはメモリアドレス
におけるディスプレースメント値を与える。分岐先命令
の実効アドレスは、次式を計算することによって得られ
る。ただし、括弧はレジスタの内容を表わす。
(X2)+(B2)+D2 レジスタ内のオペランドと記憶装置内のオペランドの間
の演算を指定する型の命令は、前記フォーマットにおけ
るM1フィールドの代りに、第1オペランドを保持する
とともに演算結果を受けるべきレジスタを指定するR1
フィールドを持つ。
記憶装置内のオペランド相互の演算を指定する型の命令
(以下SSタイプの命令という)のためには、ペースレ
ジスタフィールドBとディスプレースメントフィールド
Dからなるデータが、第2図の命令に付加される。!、
た、レジスタ内のオペランド相互の演算を指定する命令
は、第2図の命令の半分の長さで、第1及び第2オペラ
ンドのためのR1フィールドとR2フィールドを持つ。
このように、本実施例においては、命令の長さに3種類
あり、各命令の長さは、OPフィールドの上位2桁の値
により示される。特に、SSタイプの命令では、この値
は°’ 11 ”である。
第3図(a)は、通常の(分岐命令の先取りが行なわれ
ない)パイプライン方式において、分岐命令を含む命令
列が実行されるタイミングを示す。
各命令は、ステージD、A、L、E、Pに分けて実行さ
れ、相次ぐ命令は、通常、1ステージずつの遅れを以て
パイプラインに入ることができ、かくて、複数の命令が
、異なるステージにおいて並行して実行される。
Dは命令の解読(デコード)及びオペランドのアドレス
計算をするステージであり、Aは求められたアドレスを
使って記憶装置にアクセスするステージであり、Lは読
出したオペランドを転送するステージであり、Eはオペ
ランドを使って演算  ・を行なうステージであり、P
は演算結果を各種レジスタに書込むステージである。2
つのメモリオペランドを持つSSタイプの命令の場合に
は、Dステージにおいて2個の加算器を用いて2個のオ
ペランドアドレスを並列に計算し、Aステージにおいて
は求められた2個のアドレスを使って並列に記憶装置に
アクセスする。通常、分岐先命令のへ取出しは、分岐命
令のり、A、Lステージの間に行なわれ、分岐先命令を
命令バッファに取込むのがEステージである。そのため
、第3図(a)に示すように、分岐命令が実行されると
、3ステ一ジ分の遅延が生じる。
第3図(b)は、本発明において分岐命令を含む命令列
が実行されるタイミングを示す。分岐命令3の先取シ/
−ケンスは、命令1の実行と並行して行なわれる。分岐
命令先取りシーケンスにおいて、DPは分岐命令の解読
と分岐先命令のアドレスの計算を行なうステージであり
、APは分岐先命令を記憶装置から読出すステージであ
シ、LPは記憶装置から分岐先命令を命令バッファに転
送するステージである。先取りシーケンス中に行なわれ
たアドレス計算に用いられたデータ源の内容が、命令1
及び命令2によって変更されない限り、分岐先命令は、
分岐命令3に続いて、特別の遅れなしに実行が開始され
る。
第1図は、本発明による命令制御部の実施例を示す。バ
ッファ記憶装置1から読出された命令は、その時のス)
 IJ−ム番号が0″ならば命令バッファ0(IBRo
)1oに入り、ストリーム番号が1″々らは命令バッフ
ァ1(IBRlj)11に入る。今、ス) IJ−ム番
号は0″であるとする。IBRO(10)内の命令は、
命令切出回路30により1命令ずつ切出され、命令レジ
スタ(IR,)20にセットされて、デコードされる。
Dステージにおいて、命令のX2フイールドとB2フィ
ールドを用いて汎用レジスタ40が読出され、加算器0
(60)でオペランドアドレスが計算されて、計算され
たアドレスがバッファ記憶装置0へ送出される。IT’
(,20にセットされた命令がSSタイプの命令の場合
には、加算器0 (60)を用いた第1オペランドのア
ドレス計算と、加算器1(61)を用いた第2オペラン
ドのアドレス計算が同時に行なわれ薫れそれの求まった
アドレスがバッファ記憶装置0とバッファ記憶装置1に
送出される。バッファ記憶装置0はオペランドのみを収
容し、記憶装置1はオペランドと命令の双方を収容して
いる。命令のデコード及びアドレス計算が完了すると、
デコードステージ制御回路33がデコード成功信号33
0を送出する。デコードステージ制御回路33は、スト
リーム番号103の管理も行なっており、分岐が成功す
るとストリーム番号103を切替える。
分岐命令切出回路31は、IBRO(10)より1命令
を切出して、命令先取レジス(PR,IR)21にセッ
トする。この切出しは、lR2Oのための命令切出回路
30とは独立に、それと並行して行なわれる。PRIR
21にセットされた命令は、分岐命令検出回路36によ
り分岐命令か否かが判断され、その結果は出力線101
に送出される。
PRIR21にセットされた命令が分岐命令でない場合
には、出力線101に°°0″が生じる。これに応じて
、分岐命令切出回路31は、PRIR21中の命令コー
ドの上位2ビツト100から命令長を知シ、次の命令の
切出位置を指示する命令バッファポインタを更新し、そ
の値に基づき、次の1命令を切出して、PR,IR21
にセットする。他方、PRIR21にセットされた命令
が分岐命令の場合には、分岐命令検出回路36の出力線
101にはII I IIが現われる。これに応じて、
分岐命令切出回路31中の命令バッファポインタが凍結
され、その結果、PRIR21中にこの分岐命令がホー
ルドされる。このホールドは、この分岐命令がlR2O
に送られてそのDステージが完了する捷で続く。
PRIR21に分岐命令がホールドされると、そのX2
フイールドとB2フィールドを用いて、加算器1(61
)による分岐先アドレスの計算が試みられる。このとき
、IR,20にある命令がSSタイプの命令であれば、
加算器1(61)は第2オペランドアドレスの計算を行
なう。SSタイプの命令の場合にはlR2Oの上位2ビ
ツトが” 11 ”であシ、この信号400が加算器1
(61)の入力セレクタ70,71.72を制御して、
ITt20の第2オペランドアドレスデータ源を選択さ
せる。ただし、SSタイプ命令の第2オペランドのアド
レス計算に用いられるレジスタは1個なので、セレクタ
72は0を選択する。この場合、PRIR21の分岐命
令の分岐先アドレスの計算は待たされる。lR2Oにセ
ットされた命令がSSタイプの命令でない場合には、セ
レクタ70.71.72はPRIn、21の出力を選択
するので、分岐先アドレスの計算が加算器1(61)で
行なわれ、求まったアドレスをバッファ記憶装置1へ送
出する。分岐先命令読出制御回路5oは、これを認識し
、読出リクエスト(REQ)線106を1″″にする。
すなわち、第3図(b)において。
命令1のDステージと分岐先命令読出しのDPステージ
が、同時に動作している。
第3図(b)に示すように、DPステージで分岐先アド
レスを計算する時点では、命令2以降の命令はまだデコ
ードされておらず、したがって、DPステージでのアド
レス計算に用いられmX2゜B2等のレジスタの内容が
、命令2以降の命令によって書替えられるのかどうかが
不明である。もしも、これらのレジスタの内容が書替え
られるのであれば、DPステージで計算された分岐先ア
ドレスは、無効にされなければならない。
前掲公開公報記載の装置は、各命令が内容の書替えを行
なうレジスタと、その書替えが終了したことを、G P
 l’(、情報レジスタに記録し、所要レジスタが書替
えを受けないか又は書替えが終ったことを確認してから
、分岐先アドレスの計算を行なう。そのために、大量の
ハードウェアを必要とする。しかも、このようにしても
、書替えが行なわれる場合に正しい分岐先アドレスの計
算が可能になるのは、先行命令のPステージが終了した
後である。
本発明は、前記のように、分岐命令が命令バッファ中で
発見されると、加算器が使用可能である限り、直ちに分
岐先アドレスの計算を実行する。
しかし、分岐先命令読出制御回路50は、読出リクエス
ト60を送出した後、以下詳述するように、分岐先アド
レスの計算に用いられたレジスタの内容が変更されたか
否かを監視する。第3図(b)を参照すれば、分岐命令
先取シーケンスのAPステージにおいて、命令2はDス
テージにある。この時、lR2Oには命令2が入ってお
り、PR,lR21には分岐命令3がホールドされてい
る。
PR,In21のX2フイールドとM2フィールドが、
lR2OのR,1(演算結果の書込まれるレジスタ)フ
ィールドと、比較器34及び35によりそれぞれ比較さ
れる。両比較の結果のOR,出力線105がパ0′″で
あれば、X2レジスタとM2レジスタの書替えはなく、
したがって、DPステージで計算されたアドレスは有効
である。しかし、これがII I IIならば、少なく
とも一方のレジスタの書替えが行なわれるはずであり、
したがって、DPステージで計算されたアドレスは無効
である。この比較は、当該分岐命令3がlR2Oにセッ
トされるまで続く。
第3図(b)の場合、比較結果線105は+10 II
で、分岐命令先取シーケンスのDP、DA、DLステー
ジは有効である。分岐先命令のDステージは、分岐命令
3のDステージが終り次第開始することができ、遅滞は
生じ々い。
第3図(C)は、命令2が分岐命令3のX2又はB2フ
ィールドが指示するレジスタの少なくとも一方を書替え
る場合を示す。比較結果線105が++ 1++に々る
と、分岐先命令読出制御回路50は、DPステージにお
けるアドレス計算を無効にする。やがて、分岐命令3が
I R,20にセットされると、そのDステージにおい
て再度分岐先アドレスが計算され、分岐先命令読出制御
回路50は、分岐命令を識別する分岐命令デコーダ32
の出力と、デコード成功信号330のAND出力線10
4上の信号によりトリガされて、分岐先命令の読出しを
改めて開始する。命令2のレジスタ書込みはそのPステ
ージで行なわれるから、出力線104が′1″になるの
は、命令2のPステージの次のサイクルである。分岐先
命令の読出しは、分岐命  ′令3のり、A、Lステー
ジを経て行なわれるから、分岐先命令のDステージは、
第3図(a)の場合と同様に遅れてしまう。このような
場合の動作は、前掲公開公報記載の装置でも全く同じで
ある。
第4図は、第1図中の分岐先命令切出回路31の詳細を
示す。この回路は、IBRO(10)のためのポインタ
(OOPR)3100、加算器31o2、セレクタ31
04.レジスタ3106.セレクタ3108と、IB:
R,1(1,1)のためのポインタ(10PR)310
1、加算器3103、セレクタ3105、レジスタ31
07、セレクタ3109の、2組の同型の要素群を有す
る。
今、IBR,0(10)に分岐命令以外の命令が格納さ
れており、ス) IJ−ム番号は°0″とする。
ポインタ3100とPRIR21の上位2ビツト(IL
CP)100により命令長が選択されて、加算器310
2で次のポインタ値が計算される。この場合、分岐命令
のデコード成功信号(分岐DSQ)104はII O+
+なので、線3149は°°0″であ見セレクタ310
4は加算器3102の出力を選択する。
PRIR,21にセットされた命令が分岐命令でない場
合は、線101は++ Onとなり、現在、ストリーム
番号103は0″なので、レジスタ3106のセット信
号3150が++ 1 ++となり、レジスタ3106
には次の命令のポインタ値が形成される。
レジスタ3106の内容を用いて、IBI(0(10)
の出力線200からセレクタ3108により、次の1命
令を切出す。ス) IJ−ム番号103は′0″なので
、セレクタ3110はセレクタ3108の出力を選択す
る。PR,lR21にセットされた命令が分岐命令の場
合には、線101は1″となるので、レジスタ3106
0セット信号315oはOIIとなり、レジスタ31o
6は更新されない。すなわち、レジスタ31o6は分岐
命令の切出位置を示している。したがって、線202は
分岐命令を出力する。
IR,20に分岐命令がセットされ、分岐命令のDステ
ージが完了すると、線104が°゛1″となる。ストリ
ーム番号103はまだ°゛0″なので、IBRI(11
)用ノセレクタ3105は線3151上の°1″により
加算器1の出力線102を選択し、寸た、レジスタ31
07のセット信号3152もu 1++となるので、線
102上の加算器1(61)の出力の下位3ビツトがレ
ジスタ31o7にセットされる。分岐が成功した場合、
ス) IJ−ム番号103は1″とカリ、セレクタ31
10が切替えられて、使用する命令バッファはIBRI
 (11)に移行する。この場合に備えて、先程、分岐
先アドレス(すなわち初期値)の下位3ピツ)102を
、レジスタ3107にセットしたのである。以後、IB
RO(10)を用いる場合と同じように、加算器310
3、セレクタ3105、レジスタ31o7、セレクタ3
109.セレクタ311oは動作する。この場合、ス)
 IJ−ム番号103が°゛1″″となっている点が前
と違う点である。
分岐が不成功の場合、分岐命令のDステージが完了する
と線104が1″となり、分岐命令の次の命令のための
ポインタ値は、レジスタ3106のセット信号3150
が°°1″となることにより、レジスタ3106にセッ
トされる。そして、この場合、ストリーム番号103は
°′0″のままであるから、セレクタ311oは、セレ
クタ31o8がらの、IBR,0(10)から切出され
た命令を選択し、以下、前に述べたと全く同じ動作が続
く。
第5図は、第1図における分岐先命令読出制御回路50
を更に詳細に示した図である。PRIR21にセットさ
れた命令が分岐命令であると、線101は1″となる。
前に述べたように、そのときlR2Oにセットされてい
る命令の上位2ビツトからの線400が°’ 11 ”
でない(すなわちSSタイプの命令でない)場合、加算
器1 (61)で分岐先アドレスの計算をし、バッファ
記憶装置1ヘリクエスト106を出すことができる。第
5図において、線101が1″で、線400が11″で
ない場合、フリップフロップ5000がセットされる。
フリップフロップ5000は、ディレィフリップフロッ
プ5010により一定時間後にリセットされて、1サイ
クルパルスを線5100に出力する。この信号により読
出リクエスト106に1″が送出される。
一方、フリップフロップ5000の出力は、プリデコー
ド有効フリップフロップ5020をセットする。、しか
し、比較器34.35の出力のOR,ゲート信号線10
5が1″にkると、フリップフロップ5020がリセッ
トされる。すなわち、後続の命令がDPステージでのア
ドレス計算に使用したX2及びB2フィールドの指定す
るレジスタを書替える場合、フリップフロップ5020
がリセットされる。IRI Oに分岐命令がセットされ
た後Dステージが完了すると、線104が°1″となる
この時、フリップフロップ5020の出力線5021が
′0″、す彦わちDPステージで計算したアドレスが無
効であれば、線104によシリクエスト線106を改め
て9°1″″とする。一方、線5021が1″、すなわ
ちDPステージで計算したアドレスが有効の場合、リク
エスト線106はII OIIに保たれ、バッファ記憶
装置1の再読出しは行なわれない。線104が°1″に
なると、フリップフロップ5020はリセットされて初
期状態に戻り、次の分岐命令を捜す動作に移る。
〔発明の効果〕
本発明によれば、レジスタ類の内容の変更の予定や完了
を記録・調査する機構を必要とせず、分岐先命令の先取
りのためのアドレス計算の有効性は、簡単々比較回路に
よって確認できる。したがって、少量のハードウェアを
追加するだけで、分岐命令の処理を大幅に促進できる。
【図面の簡単な説明】
第1図は本発明の一実施例のブロックダイヤグラム、第
2図は分岐命令のフォーマット図、第3図は分岐命令を
含む命令列のパイプライン方式による実行のタイムチャ
ート、第4図は第1図における分岐命令切出回路のブロ
ックダイヤグラム、第5図は第1図における分岐先命令
読出制御回路のブロックダイヤグラムである。 10’、11・・・命令バッファ、20・・・命令レジ
スタ、21・・・分岐命令保持用の先取レジスタ、34
゜35・・・レジスタの一致を検出するための比較器、
36・・・分岐命令検出回路、50・・・分岐先命令読
出制御回路、61・・・分岐先アドレスの計算と第2オ
ペランドアドレスの計算に共用される加算器。

Claims (1)

  1. 【特許請求の範囲】 1、実行中の命令に後続する予め読出された少なくとも
    1個の命令を保持する命令バッファと、前記命令バッフ
    ァ中の分岐命令を検出する手段と、前記の検出された分
    岐命令中のアドレスデータ源指定情報を保持するための
    保持手段と、前記保持手段中のアドレスデータ源指定情
    報が示すデータ源のデータを用いて分岐先命令のアドレ
    スを計算するアドレス計算手段と、前記の計算されたア
    ドレスからの命令読出しを開始する分岐先命令読出制御
    手段と、前記保持手段中のアドレスデータ源指定情報が
    示す前記データ源と先行命令が指定するデータ書込先の
    一致を検出する手段と、前記の一致の検出に応答して先
    に開始した命令読出しを無効にするとともに前記アドレ
    ス計算手段と前記分岐先命令読出制御手段を再動作させ
    る手段とを備えた、データ処理装置における先行制御装
    置。 2、特許請求の範囲1において、そのアドレス計算手段
    は複数のオペランドアドレス計算手段の一つと演算器を
    共有する先行制御装置。
JP60084397A 1985-04-22 1985-04-22 デ−タ処理装置における先行制御装置 Expired - Lifetime JPH0789319B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60084397A JPH0789319B2 (ja) 1985-04-22 1985-04-22 デ−タ処理装置における先行制御装置
US06/854,511 US4827402A (en) 1985-04-22 1986-04-22 Branch advanced control apparatus for advanced control of a branch instruction in a data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60084397A JPH0789319B2 (ja) 1985-04-22 1985-04-22 デ−タ処理装置における先行制御装置

Publications (2)

Publication Number Publication Date
JPS61243536A true JPS61243536A (ja) 1986-10-29
JPH0789319B2 JPH0789319B2 (ja) 1995-09-27

Family

ID=13829443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60084397A Expired - Lifetime JPH0789319B2 (ja) 1985-04-22 1985-04-22 デ−タ処理装置における先行制御装置

Country Status (2)

Country Link
US (1) US4827402A (ja)
JP (1) JPH0789319B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0376258A2 (en) * 1988-12-27 1990-07-04 Fujitsu Limited Control system for fetching an instruction

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1250667A (en) * 1985-04-15 1989-02-28 Larry D. Larsen Branch control in a three phase pipelined signal processor
US4991080A (en) * 1986-03-13 1991-02-05 International Business Machines Corporation Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions
JP2565495B2 (ja) * 1986-08-27 1996-12-18 株式会社日立製作所 デ−タ処理システム
JP2902402B2 (ja) * 1987-09-30 1999-06-07 三菱電機株式会社 データ処理装置
US5058007A (en) * 1987-11-05 1991-10-15 Raytheon Company Next microinstruction generator in a microprogram control unit
JP2723238B2 (ja) * 1988-01-18 1998-03-09 株式会社東芝 情報処理装置
US5522053A (en) * 1988-02-23 1996-05-28 Mitsubishi Denki Kabushiki Kaisha Branch target and next instruction address calculation in a pipeline processor
US5228131A (en) * 1988-02-24 1993-07-13 Mitsubishi Denki Kabushiki Kaisha Data processor with selectively enabled and disabled branch prediction operation
JPH0766324B2 (ja) * 1988-03-18 1995-07-19 三菱電機株式会社 データ処理装置
US5155818A (en) * 1988-09-28 1992-10-13 Data General Corporation Unconditional wide branch instruction acceleration
JPH0769806B2 (ja) * 1988-10-14 1995-07-31 三菱電機株式会社 データ処理装置
EP0402524B1 (en) * 1988-11-25 1996-10-02 Nec Corporation Microcomputer capable of quickly processing a branch instruction code
JP2504149B2 (ja) * 1988-12-02 1996-06-05 三菱電機株式会社 命令キュ―管理装置
JPH03185530A (ja) * 1989-12-14 1991-08-13 Mitsubishi Electric Corp データ処理装置
US5163140A (en) * 1990-02-26 1992-11-10 Nexgen Microsystems Two-level branch prediction cache
US5226130A (en) * 1990-02-26 1993-07-06 Nexgen Microsystems Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
US5230068A (en) * 1990-02-26 1993-07-20 Nexgen Microsystems Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence
JP2845578B2 (ja) * 1990-06-19 1999-01-13 甲府日本電気 株式会社 命令制御方式
US5317703A (en) * 1990-06-29 1994-05-31 Hitachi, Ltd. Information processing apparatus using an advanced pipeline control method
US5249280A (en) * 1990-07-05 1993-09-28 Motorola, Inc. Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
US5454090A (en) * 1990-10-12 1995-09-26 Siemens Aktiengesellschaft Apparatus for furnishing instructions in a microprocessor with a multi-stage pipeline processing unit for processing instruction phase and having a memory and at least three additional memory units
US5276825A (en) * 1991-03-12 1994-01-04 Chips & Technologies, Inc. Apparatus for quickly determining actual jump addresses by assuming each instruction of a plurality of fetched instructions is a jump instruction
US5287467A (en) * 1991-04-18 1994-02-15 International Business Machines Corporation Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit
US5434986A (en) * 1992-01-09 1995-07-18 Unisys Corporation Interdependency control of pipelined instruction processor using comparing result of two index registers of skip instruction and next sequential instruction
JP2922723B2 (ja) * 1992-06-29 1999-07-26 キヤノン株式会社 情報処理装置
US5644779A (en) * 1994-04-15 1997-07-01 International Business Machines Corporation Processing system and method of operation for concurrent processing of branch instructions with cancelling of processing of a branch instruction
US5659722A (en) * 1994-04-28 1997-08-19 International Business Machines Corporation Multiple condition code branching system in a multi-processor environment
US5905881A (en) * 1995-11-30 1999-05-18 Unisys Corporation Delayed state writes for an instruction processor
US5867699A (en) * 1996-07-25 1999-02-02 Unisys Corporation Instruction flow control for an instruction processor
US6636960B1 (en) 2000-02-16 2003-10-21 Hewlett-Packard Development Company, L.P. Method and apparatus for resteering failing speculation check instructions
GB2403833B (en) * 2000-02-16 2005-02-23 Hewlett Packard Co Method and apparatus for resteering failing speculation check instructions field
FR2821450B1 (fr) * 2001-02-27 2004-07-09 St Microelectronics Sa Procede de gestion d'instructions de branchement au sein d'un processeur, en particulier un processeur de traitement numerique du signal, et processeur correspondant
CN1266591C (zh) * 2001-10-02 2006-07-26 皇家飞利浦电子股份有限公司 用于java硬件加速器的猜测执行的方法和装置
US8185721B2 (en) * 2008-03-04 2012-05-22 Qualcomm Incorporated Dual function adder for computing a hardware prefetch address and an arithmetic operation value

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58195255A (ja) * 1982-05-10 1983-11-14 Nec Corp デ−タ処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4443848A (en) * 1979-09-10 1984-04-17 Nixdorf Computer Corporation Two-level priority circuit
US4310880A (en) * 1979-09-10 1982-01-12 Nixdorf Computer Corporation High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
JPS56149646A (en) * 1980-04-21 1981-11-19 Toshiba Corp Operation controller
US4430706A (en) * 1980-10-27 1984-02-07 Burroughs Corporation Branch prediction apparatus and method for a data processing system
US4435756A (en) * 1981-12-03 1984-03-06 Burroughs Corporation Branch predicting computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58195255A (ja) * 1982-05-10 1983-11-14 Nec Corp デ−タ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0376258A2 (en) * 1988-12-27 1990-07-04 Fujitsu Limited Control system for fetching an instruction
EP0376258A3 (en) * 1988-12-27 1992-07-15 Fujitsu Limited Control system for fetching an instruction

Also Published As

Publication number Publication date
US4827402A (en) 1989-05-02
JPH0789319B2 (ja) 1995-09-27

Similar Documents

Publication Publication Date Title
JPS61243536A (ja) デ−タ処理装置における先行制御装置
EP0380859B1 (en) Method of preprocessing multiple instructions
JP2746549B2 (ja) コンピュータシステム及びその動作方法
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
US5193205A (en) Pipeline processor, with return address stack storing only pre-return processed address for judging validity and correction of unprocessed address
EP0381447B1 (en) Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system
JP3871883B2 (ja) 間接分岐ターゲットを計算するための方法
JP2504830Y2 (ja) デ―タ処理装置
JPS58125148A (ja) 条件付きブランチ命令の予測装置
US6832305B2 (en) Method and apparatus for executing coprocessor instructions
JPH07129413A (ja) 割込み処理装置
US6212621B1 (en) Method and system using tagged instructions to allow out-of-program-order instruction decoding
US5276825A (en) Apparatus for quickly determining actual jump addresses by assuming each instruction of a plurality of fetched instructions is a jump instruction
US5381532A (en) Microprocessor having branch aligner between branch buffer and instruction decoder unit for enhancing initiation of data processing after execution of conditional branch instruction
JP3499135B2 (ja) 情報処理装置
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JP2570859B2 (ja) データ処理装置
JP2723238B2 (ja) 情報処理装置
US6044455A (en) Central processing unit adapted for pipeline process
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP2581565B2 (ja) ガード付命令を実行するデータ処理装置
JPH0773034A (ja) 情報処理装置
JP2902847B2 (ja) 自己変更コード実行方式
JPH0248733A (ja) 情報処理装置
JP2559416B2 (ja) 情報処理装置