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

分岐命令制御方式

Info

Publication number
JPH0433021A
JPH0433021A JP13487490A JP13487490A JPH0433021A JP H0433021 A JPH0433021 A JP H0433021A JP 13487490 A JP13487490 A JP 13487490A JP 13487490 A JP13487490 A JP 13487490A JP H0433021 A JPH0433021 A JP H0433021A
Authority
JP
Japan
Prior art keywords
microinstruction
instruction
branching
main memory
condition
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
JP13487490A
Other languages
English (en)
Inventor
Yoshiko Yamaguchi
佳子 山口
Koji Takeuchi
功治 竹内
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
NEC Engineering Ltd
Original Assignee
NEC Corp
NEC Engineering 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 NEC Corp, NEC Engineering Ltd filed Critical NEC Corp
Priority to JP13487490A priority Critical patent/JPH0433021A/ja
Publication of JPH0433021A publication Critical patent/JPH0433021A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は電子計算機制御方式に関し、特にパイプライン
処理を行うRISC(ReducedInstruct
ion  Set  Computer)型マイクロプ
ロセンサを有する電子計算機において分岐命令(分岐を
指示するマイクロ命令)の実行制御を行う分岐命令制御
方式に関する。
〔従来の技術〕
パイプライン処理を行うマイクロプロセッサには、RI
SC型の形態とCI SC(Comp l ex  I
n5truction  Set  Compu t 
e r)型の形態とがある。
前者は、ハードウェア簡略化のために単純なマイクロ命
令セットを有しており、この単純なマイクロ命令セント
をハードウェア制御の下で実行することにより大部分の
マイクロ命令を1クロツク内で実行している(CPU(
Central  Processing  Unit
)を効率的に利用している)。
しかし、このようなパイプライン処理を行うRISC型
マイクロプロセッサでも、分岐命令を実行する場合にお
いては、その分岐命令の実行に伴いCPU時間に損失が
生しる。例えば、無条件分岐命令の実行においては、無
条件分岐命令の実行サイクルの後でないとその分岐先の
マイクロ命令のフェッチサイクルを実行できないので、
無条件分岐命令のフェッチサイクルと実行サイクルとの
間に待ち合わせ時間(損失時間)が生じる。
従来、このような場合の分岐命令制御方式では、その損
失の発生を回避するために、分岐命令で分岐するしない
に関わらず実行できるマイクロ命令(実行しても差し支
えない命令)を分岐命令に続くマイクロ命令として設定
する等の最適化が図られていた。
なお、そのような最適化のための適切なマイクロ命令が
存在せずそのような最適化が図れない場合には、上述の
CPU時間の損失は避けられないものであった。
〔発明が解決しようとする課題〕
上述した従来の分岐命令制御方式では、CPU時間の損
失を回避するために所定の最適化を図る必要があるので
、その最適化のためのプラミング上の手数が必要になる
という欠点がある。
また、そのような最適化を図らない場合または図れない
場合には、CPU時間の損失の発生を回避することがで
きないという欠点がある。
本発明の目的は、上述の点に鑑み、無条件分岐命令(本
発明は無条件分岐命令を対象としており条件分岐命令は
対象外である)の実行に際して、上述のような最適化を
必要とせずにCPU時間の損失を回避することができる
分岐命令制御方式を提供することにある。
〔課題を解決するための手段〕
本発明の分岐命令制御方式は、パイプライン処理を行う
RISC型マイクロプロセッサを有する電子計夏機にお
いて、無条件分岐命令の存在を予測するための情報であ
る無条件分岐予測情報を含むマイクロ命令を格納する主
記憶と、プログラムカウンタの内容、パイプライン段数
に基づ(定数およびディスプレースメントを加算する3
入力加算器と、実行サイクルのマイクロ命令に含まれる
無条件分岐予測情報が無条件分岐命令の存在を予測する
指示である場合に前記3入力加算器の加算結果を次にフ
ェッチすべきマイクロ命令のアドレスとして前記玉記憶
に送る分岐予測機構とを有する。
〔作用〕
本発明の分岐命令制御方式では、主記憶が無条件分岐命
令の存在を予測するための情報である無条件分岐予測情
報を含むマイクロ命令を格納し、3入力加算器がプログ
ラムカウンタの内容、パイプライン段数に基づく定数お
よびディスプレースメントを加算し、分岐予測機構が実
行サイクルのマイクロ命令に含まれる無条件分岐予測情
報が無条件分岐命令の存在を予測する指示である場合に
3入力加算器の加算結果を次にフェッチすべきマイクロ
命令のアドレスとして主記憶に送る。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例の構成(ハードウェア構成
)を示すブロック図である0本実施例の分岐命令制御方
式は、主記憶1と、命令レジスタ2と、デコーダ3と、
分岐予測レジスタ5を存するパイプラインレジスタ4と
、プログラムカウンタ6と、定数レジスタ7と、3入力
加算器8と、ディスプレースメント信号線9とを含んで
構成されている(分岐予測レジスタ5に格納される無条
件分岐予測情報10(第2図参照)によって3入力加算
器8の出力を主記憶1に送るか否かを制御する機構が分
岐予測機構に該当する)。
第2回は、王記憶1にあらかしめ格納されているマイク
ロプログラム(マイクロ命令の集合)の−例をマイクロ
命令の流れ図として示す図である。
このマイクロプログラムは、レジスタの減算命令である
マイクロ命令■と、レジスタの加算命令であるマイクロ
命令■と、無条件分岐命令であるマイクロ命令■とを含
んでいる。
全てのマイクロ命令は、無条件分岐命令の存在を予測す
るための1ビツトの情報である無条件分岐予測情報10
を有している。無条件分岐予測惰報10にセントされる
値のrlJは無条件分岐命令の存在(2ステツプ後のマ
イクロ命令が無条件分岐命令であること)を予測する指
示を表し、その値の「0」はそのような無条件分岐命令
の存在を予測しない指示を表す。
マイクロ命令■中の無条件分岐予測情報10には、マイ
クロ命令■が無条件分岐命令であることを指示するため
に「1」がセントされている。
第3図は、本実施例の分岐命令制御方式によって第2図
に示すマイクロプログラムを実行する際のパイプライン
処理のタイムチャートを示す図である。
第4図は、従来技術によって第2図に示すマイクロプロ
グラムを実行する際のパイプライン処理のタイムチャー
トを示す図である。
次に、このように構成された本実施例の分岐命令制御方
式の動作について説明する。なお、ここでは第2図に示
すマイクロプログラムをマイクロ命令■から順次実行し
ていく際の動作(ハードウェア動作およびタイミング等
)について、第1図〜第3図を参照して説明する。
T1サイクルで、マイクロ命令■が主記憶1より命令レ
ジスタ2にフェッチされる。
T2サイクルで、マイクロ命令■はデコーダ3によりデ
コードされてパイプラインレジスタ4にデコード結果が
ロードされる。マイクロ命令■中の無条件分岐命令情@
10には「1」がセットされているので、このデコード
の際にパイプラインレジスタ4内の分岐予測レジスタ5
に「1」がセントされる。
また、T2サイクルで、マイクロ命令■が主記憶1より
命令レジスタ2にフェッチされる。
T3サイクルで、マイクロ命令■が実行されてレジスタ
の減算が行われる。同時に、マイクロ命令■のデコード
サイクル(T2サイクル)で「1」がセントされた分岐
予測レジスタ5の内容(無条件分岐命令の存在を予測す
る指示)に基づいて、3入力加算器8の出力が主記憶1
に送られる。
すなわち、命令レジスタ2の内容の一部であるディスプ
レースメント信号線9上の情報(ディスプレースメント
)、プログラムカウンタ6の内容および定数レジスタ7
の内容の3要素が3入力加算器8によって加算され、こ
の加算結果が主記憶lに送られる。
この3入力加算器8の加算結果は、3要素が以下に示す
ような値を存するので、マイクロ命令■で分岐する分岐
先のアドレス(ここでは、ラベルAAのアドレス)を意
味するものとなる。
3入力加算器8に入力される3要素の1つであるプログ
ラムカウンタ6の内容は、この時点(T3サイクル)に
て実行中の(実行サイクルにある)マイクロ命令のアド
レスである。T3サイクルではマイクロ命令■が実行中
であるから、マイクロ命令■のアドレスが該当する。
3要素の1つである定数レジスタ7の内容は、あらかし
め定数レジスタ7にロードされている「パイプライン段
数−1」の値を示す定数「2」である、なお、この場合
のパイプライン段数は、フェフチサイクル、デコードサ
イクルおよび実行サイクルの3段である。
プログラムカウンタ6の内容と定数レジスタ7の内容と
を加算することにより、無条件分岐命令であるマイクロ
命令■のアドレスを計算することができる。
さらに、3要素の1つであるディスプレースメント信号
線9上の情報であるディスプレースメントは、簗条件分
岐命令であるマイクロ命令■における分岐元と分岐先と
の間の相対アドレス(マイクロ命令■からラベルAAへ
の変位)である。
上述のマイクロ命令■のアドレスとディスプレースメン
ト信号vA9上の情報(マイクロ命令■からラベルAA
への変位)とを加算することにより、主記憶1内のラベ
ルAA(マイクロ命令■の分岐先)のアドレスを計算す
ることができる。
T4サイクルで、3入力加算器8の出力である新しいフ
ェンチアドレスに基づき、主記憶lより命令レジスタ2
にラベルAAのマイクロ命令がフェッチされる。
また、T4サイクルで、マイクロ命令■の実行およびマ
イクロ命令■のデコードも行われる。
次に、本発明の特長を明確にするために、従来技術にお
ける第2図に示すマイクロプログラムの実行のタイミン
グについて、第4図を参照して説明する。
この場合には、無条件分岐命令の存在が検出されるのは
マイクロ命令■の実行時であるので、第4図に示すよう
にT5サイクルにおけるマイクロ命令■の実行後のT6
サイクルでラベルAAのマイクロ命令のフェッチが行わ
れることになる。
このときに、マイクロ命令■に後続するマイクロ命令■
および■は、パイプライン処理の性質上からT4サイク
ルおよびT5サイクルでフェッチおよび実行が行われて
しまう。したがって、これらのマイクロ命令■および■
は、無条件分岐命令に対して実行しても差し支えないマ
イクロ命令に最適化しておく必要がある(このような最
適化はプログラマに負担を強いることになる)。
しかし、そのような最適化のための適切なマイクロ命令
が存在しない場合には、T6サイクルおよびT7サイク
ルにおけるマイクロ命令の実行は行われず、CP IJ
待時間損失は避けられないものになる。
〔発明の効果〕
以上説明したように本発明は、パイプライン処理を行う
RISC型マイクロプロセッサおよびそのマイクロプロ
セッサに係る主記憶において、主記憶に格納されるマイ
クロ命令に無条件分岐予測情報を設け、マイクロプロセ
ッサに3入力加算器および分岐予測機構を設けることに
より、プログラミング上の手数を要する最適化を必要と
せずに、無条件分岐命令の実行の際のCPU時間の損失
を回避すること(高速に無条件分岐命令を実行すること
)ができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、 第2図は第1図中の主記憶に格納されるマイクロプログ
ラムの一例をマイクロ命令の流れ図として示す図、 第3図は第1図に示す分岐命令制御方式による第2図に
示すマイクロプログラムの実行時におけるタイムチャー
トを示す図、 第4図は従来技術による第2図に示すマイクロプログラ
ムの実行時におけるタイムチャートを示す図である。 図において、 1・・・主記憶、 2・・・命令レジスタ、 3・・・デコーダ、 4・・・パイプラインレジスタ、 5・・・分岐予測レジスタ、 6・・・プログラムカウンタ、 7・・・定数レジスタ、 8・・・3入力加算器、 9・・・ディスプレースメント信号線、10・・無条件
分岐予測情報である。 第1図 第2図 特許出願人 日 本 電 気 株 式 会 社日本電気
エンジニアリング株式会社

Claims (1)

  1. 【特許請求の範囲】 パイプライン処理を行うRISC型マイクロプロセッサ
    を有する電子計算機において、 無条件分岐命令の存在を予測するための情報である無条
    件分岐予測情報を含むマイクロ命令を格納する主記憶と
    、 プログラムカウンタの内容、パイプライン段数に基づく
    定数およびディスプレースメントを加算する3入力加算
    器と、 実行サイクルのマイクロ命令に含まれる無条件分岐予測
    情報が無条件分岐命令の存在を予測する指示である場合
    に前記3入力加算器の加算結果を次にフェッチすべきマ
    イクロ命令のアドレスとして前記主記憶に送る分岐予測
    機構と を有することを特徴とする分岐命令制御方式。
JP13487490A 1990-05-24 1990-05-24 分岐命令制御方式 Pending JPH0433021A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13487490A JPH0433021A (ja) 1990-05-24 1990-05-24 分岐命令制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13487490A JPH0433021A (ja) 1990-05-24 1990-05-24 分岐命令制御方式

Publications (1)

Publication Number Publication Date
JPH0433021A true JPH0433021A (ja) 1992-02-04

Family

ID=15138505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13487490A Pending JPH0433021A (ja) 1990-05-24 1990-05-24 分岐命令制御方式

Country Status (1)

Country Link
JP (1) JPH0433021A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724565A (en) * 1995-02-03 1998-03-03 International Business Machines Corporation Method and system for processing first and second sets of instructions by first and second types of processing systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724565A (en) * 1995-02-03 1998-03-03 International Business Machines Corporation Method and system for processing first and second sets of instructions by first and second types of processing systems

Similar Documents

Publication Publication Date Title
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US6647489B1 (en) Compare branch instruction pairing within a single integer pipeline
JP3397081B2 (ja) 複数の分岐予測方式のうちの選択された1つを使用して条件分岐命令を推測的に実行するためのプロセッサ、データ処理システム及び方法
US5381531A (en) Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
US6058471A (en) Data processing system capable of executing groups of instructions in parallel
EP0227117B1 (en) Program skip operation control system
JPH01214932A (ja) データ処理装置
JPH0769795B2 (ja) コンピュータ
KR880001418B1 (ko) 데이터 처리장치
US5634047A (en) Method for executing branch instructions by processing loop end conditions in a second processor
US6182211B1 (en) Conditional branch control method
JPH0433021A (ja) 分岐命令制御方式
JPH10124312A (ja) 中央処理装置
JPH01183737A (ja) 情報処理装置
JP2581565B2 (ja) ガード付命令を実行するデータ処理装置
JPH0212429A (ja) ディレイド・ジャンプ対応機能付情報処理装置
JPH0793151A (ja) 命令供給装置
JP2503223B2 (ja) 先行制御方式
JP3419276B2 (ja) 命令プリフェッチ装置、および命令プリフェッチ方法
JP2825315B2 (ja) 情報処理装置
JP2597744B2 (ja) 分岐制御方法
JPH07175650A (ja) 演算処理装置
KR100357175B1 (ko) 디지탈 신호 프로세서