JPH04160638A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH04160638A
JPH04160638A JP28969890A JP28969890A JPH04160638A JP H04160638 A JPH04160638 A JP H04160638A JP 28969890 A JP28969890 A JP 28969890A JP 28969890 A JP28969890 A JP 28969890A JP H04160638 A JPH04160638 A JP H04160638A
Authority
JP
Japan
Prior art keywords
instruction
branch
fetch
prefix
pointer
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
JP28969890A
Other languages
English (en)
Inventor
Nariko Suzuki
鈴木 奈利子
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP28969890A priority Critical patent/JPH04160638A/ja
Publication of JPH04160638A publication Critical patent/JPH04160638A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に関し、特にパイプライン方式
を用いた情報処理装置に関する。
〔従来の技術〕
従来のパイプライン方式を用いた情報処理装置のパイプ
ラインの流れを図を用いて説明する。第3図は、従来の
情報処理装置のパイプライン処理の一例を示す図である
。各パイプライン・ステージは、フェッチ(F)、デコ
ード(D)、オペランドの読み出しくR)、命令の実行
(E)、書き込み(W)から構成され、最大5命令の同
時処理を行う。また、ひとつのパイプライン・ステージ
の処理を最小1クロツクで行う。
第4図(a)、(b)は、条件分岐命令を実行した場合
のパイプライン処理を示している。命令シーケンスは、
条件分岐命令(JMPcc)の直前にある比較命令(C
MP)によって分岐条件を判定し2.条件が成立すると
分岐先命令(TARGET)を処理する。分岐条件の判
定は、CMP命令の実行(E)が終了した時点で確定す
る。従来では、条件分岐命令は分岐条件が確定するまで
分岐しない方向に処理を進める。
まず、第4図(a)は、条件分岐命令の分岐条件が不成
立の場合であり、分岐しない方向に処理を進めるため、
処理の流れは第3図と同様になる。
これに対して、図4(b)のように分岐条件が成立した
場合には、無効な2命令の処理(Foll o w 1
、Follow2)を行った後、TARGETをフェッ
チする。つまり、次の命令処理は、3クロツク後になる
〔発明か解決しようとする課題〕
以上説明したように、従来のパイプライン動作を行う情
報処理装置では、条件分岐命令が分岐する場合、少なく
とも2クロツクの空き時間が存在してしまい、その空き
時間は直前命令の実行時間が長い程大きくなる。
一般的なプログラムでは、条件分岐命令の出現頻度が高
いため分岐が発生する度にパイプライン動作は大きく乱
れる。このように、分岐の発生はパイプライン動作の大
きな損失となり、情報処理装置の性能の低下を招く。
本発明の目的は、分岐の発生によるパイプライン動作の
損失を軽減できる情報処理装置を提供することにある。
〔課題を解決するための手段〕 本発明の情報処理装置は、パイプライン処理を行う情報
処理装置において、命令フェッチアドレスを保持するフ
ェッチポインタと、条件分岐命令に付加されたプリフィ
ックスをデコードする命令デコーダと、前記命令デコー
ダが取り込んだ命令に応じて前記フェッチポインタを更
新する演算器と、前記プリフィックスに応じて前記フェ
ッチポインタに対する入力を切り替えるセレクタとを有
することを特徴とする。
〔実施例〕
本発明について図面を参照して説明する。第1図は、本
発明の一実施例を示すブロック図である。
まず、情報処理装置が処理する条件分岐命令の命令フォ
ーマットについて説明する。条件分岐命令の基本的な命
令フォーマットは、オペコードと分岐先を示す絶対アド
レス値から構成される。ただし、条件分岐命令の分岐方
向を予測し、分岐する方向が期待される動作である場合
にはオペコードの直前にプリフィックスを付加する。
次に、命令フォーマットを有する条件分岐命令を処理し
た場合の本発明の情報処理装置の動作について、第1図
のブロック図を用いて説明する。
命令デコーダ1’02は命令バス100が転送する内容
を解読し、条件分岐命令の検出等を行う。
命令デコーダ102がデコードした命令の命令長を演算
器103が加算してフェッチポインタを計算し、分岐ア
ドレスラッチ105に出力する。
マルチプレクサ104は、フェッチボンインタ101に
対して演算器103の出力と条件分岐命令の分岐先アド
レス(TARGET)とを切り替える。通常フェッチポ
インタ101は、演算器103の出力を選択するが、命
令デコーダ102がプリフィックス付き条件分岐命令を
検出するとTARGETに切り替え、分岐アドレスラッ
チ105は条件分岐命令の次の命令(Followl)
の命令長を加算した演算器103の出力を保持する。
このような情報処理装置において、条件分岐命令を処理
した時のパイプライン動作を第2図(a)、(b)に示
す。処理する命令シーケンスは、従来例と同様のシーケ
ンスを処理した例である。また各パイプライン・ステー
ジは、従来の情報処理装置と同様に最小処理時間は1ク
ロツクであり、5命令の同時実行が可能である。
第2図(a)は、プリフィックス付きの条件分岐命令を
処理し、条件分岐命令が予測通り分岐した場合のパイプ
ライン動作を示す図である。
まず命令バス100から転送されたプリフィックス付き
JMPccを、命令デコーダ102がデコードすると、
マルチプレクサ104を切り替えて、JMPcc命令で
指定した絶対アドレスをフェッチポインタ101にセッ
トする。以降TARGETの命令のフェッチを行う。そ
の間の無効な命令フェッチは、1命令(Followl
)のみであり、CMP命令の実行(E)が終了し分岐が
確定する前に、TARGETの命令フェッチを開女合す
る。つまり、TARGETのフエ・ンチを1クロツク後
に行う。
第2図(b、 )は、プリフィックス付きの条件分岐命
令を処理し、予測が外れ分岐しなかった時のパイプライ
ン動作である。第2図(a)と同様に、プリフィックス
付きJMPcc命令をデコードすると、マルチプレクサ
104を切り替えて、TARGETをフェッチボンイン
タ101にセットする。その後条件分岐命令の次命令(
FollOwl)を処理し、TARGETのフェッチに
移る。F’ollowlをデコードした時点で、分岐ア
ドレスラッチ105に演算器104から算出された次命
令(Follow2)のフェッチアドレスを格納する。
TARGETをフェッチするが、分岐が不成立であるた
めブリフェッチアドレスを切り替えて、分岐アドレスラ
ッチ105の内容をフェッチポインタにセットする。以
降Foll。
w2命令から処理を再開する。
第2図(a)は、プリフィックス無しの条件分岐命令を
処理し、分岐しないと予測して分岐しなかった時のパイ
プライン動作である。プリフィックス無しのJMPcc
であるため、マルチプレクサ104を切り替えることな
く演算器103の出力をフェッチポインタ101に設定
し、分岐しない方向に命令処理が行われる。分岐不成立
が確定するとそのままパイプライン動作は継続する。こ
の処理は、第4図(a)で示した分岐しない時の従来の
パイプライン動作と同様である。
次に、本発明の第2の実施例について説明する。本実施
例でも、第1の実施例で用いた第1図をそのまま適用す
る。第1の実施例では、通常モードの処理は、分岐しな
い方向に処理を進め、プリフィックス付きであると分岐
する方向に予測するが、本実施例では、通常モードの処
理を分岐するとして分岐先の処理を進め、分岐しない方
向に予測する。そのため、プリフィックス無しJMPc
c命令を命令デコーダ102が検出すると、マルチプレ
クサ104を切り替えて、TARGETをフェッチポイ
ンタ101に設定してTARGETのフェッチを行う。
プリフイツクス付きJMPcc命令を検出すると、マル
チプレクサ104を切り替えることなく演算器103の
出力をフェッチポインタに設定し、分岐しない方向に命
令処理が行われる。
本実施例のパイプライン動作は、第2図に示したパイプ
ライン動作と同様になる。
〔発明の効果〕
以上説明したように、従来の情報処理装置では、TAR
GETをフェッチするのに最低2クロツクの空き時間が
存在してしまうのに対し、本発明では、分岐方向を予測
し、条件分岐命令にプリフィックスを付加することによ
り1クロツクでTARGETをフェッチすることができ
る。
また、分岐方向の予測は、プログラムの処理フローから
予測することができるため、その成功率は高い。さらに
分岐方向の選択は、プリフィックスを付加するか否かの
操作だけで良い。また、簡単なハードウェアを追加する
ことで実現することができる。
以上のことから本発明は、分岐の発生によるパイブライ
ン動作の損失を軽減することに効果があり、情報処理装
置の性能向上を図ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
本発明における条件分岐命令のパイプライン動作を示す
図、第3図は従来の基本的なパイプライン動作を示す図
、第4図は従来の条件分岐命令のパイプライン動作を示
す図である。 100・・・命令バス、101・・・フェッチポインタ
、102・・・命令デコーダ、103・・・演算器、1
04・・・マルチプレクサ、105・・・分岐アドレス
ラッチ。

Claims (1)

    【特許請求の範囲】
  1. パイプライン処理を行う情報処理装置において、命令フ
    ェッチアドレスを保持するフェッチポインタと、条件分
    岐命令に付加されたプリフィックスをデコードする命令
    デコーダと、前記命令デコーダが取り込んだ命令に応じ
    て前記フェッチポインタを更新する演算器と、前記プリ
    フィックスに応じて前記フェッチポインタに対する入力
    を切り替えるセレクタとを有することを特徴とする情報
    処理装置。
JP28969890A 1990-10-25 1990-10-25 情報処理装置 Pending JPH04160638A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28969890A JPH04160638A (ja) 1990-10-25 1990-10-25 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28969890A JPH04160638A (ja) 1990-10-25 1990-10-25 情報処理装置

Publications (1)

Publication Number Publication Date
JPH04160638A true JPH04160638A (ja) 1992-06-03

Family

ID=17746590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28969890A Pending JPH04160638A (ja) 1990-10-25 1990-10-25 情報処理装置

Country Status (1)

Country Link
JP (1) JPH04160638A (ja)

Similar Documents

Publication Publication Date Title
JP2640454B2 (ja) ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法
JP5889986B2 (ja) 実行された命令の結果を選択的にコミットするためのシステムおよび方法
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
JPH10133873A (ja) 複数の分岐予測方式のうちの選択された1つを使用して条件分岐命令を投機的に実行するためのプロセッサおよび方法
US6687812B1 (en) Parallel processing apparatus
EP1241567B1 (en) Method and apparatus for executing coprocessor instructions
JP2006520964A (ja) 分岐ターゲットに基づいて分岐予測をするための方法および装置
JP2006520964A5 (ja)
JPH06266556A (ja) データ処理装置
JP3802038B2 (ja) 情報処理装置
US20050144427A1 (en) Processor including branch prediction mechanism for far jump and far call instructions
JP3602801B2 (ja) メモリデータアクセス構造およびその方法
JP2001100994A (ja) モードを変更する分岐命令を制御する命令処理装置および方法
JPH04160638A (ja) 情報処理装置
JP4728877B2 (ja) マイクロプロセッサおよびパイプライン制御方法
JP2772100B2 (ja) 並列命令フェッチ機構
JP2503223B2 (ja) 先行制御方式
JPH09311787A (ja) データ処理装置
JPH01271842A (ja) 情報処理装置
JPH0760385B2 (ja) 分岐予測機能を有するデ−タ処理装置
JPH05224924A (ja) データ処理装置及びデータ処理方法
JPH06139070A (ja) プロセッサにおける分岐制御方式
JP2000132392A (ja) 分岐予測システムおよび分岐予測方法
JPH07271581A (ja) マイクロプロセッサ
JPH0433021A (ja) 分岐命令制御方式