JPH02254541A - 条件分岐命令の制御方式 - Google Patents

条件分岐命令の制御方式

Info

Publication number
JPH02254541A
JPH02254541A JP7715089A JP7715089A JPH02254541A JP H02254541 A JPH02254541 A JP H02254541A JP 7715089 A JP7715089 A JP 7715089A JP 7715089 A JP7715089 A JP 7715089A JP H02254541 A JPH02254541 A JP H02254541A
Authority
JP
Japan
Prior art keywords
instruction
address
branch
register
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.)
Granted
Application number
JP7715089A
Other languages
English (en)
Other versions
JP2550408B2 (ja
Inventor
Takumi Maruyama
拓巳 丸山
Takahito Noda
野田 敬人
Yuji Kamisaka
神阪 裕士
Kazuyasu Nonomura
野々村 一泰
Toru Watabe
徹 渡部
Takumi Takeno
巧 竹野
Shinya Kato
慎哉 加藤
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 JP1077150A priority Critical patent/JP2550408B2/ja
Publication of JPH02254541A publication Critical patent/JPH02254541A/ja
Application granted granted Critical
Publication of JP2550408B2 publication Critical patent/JP2550408B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [e&要] アドレス計n機構を備えた計算機の条件分岐命令の制御
方式に関し、 条件分岐成立時の実行サイクル数を最小限に抑えて高速
化することを目的とし、 条件分岐命令の解読時に計算された分岐先アドレスを、
条件判定に必要なオペランドアドレスを格納する他のレ
ジスタ群の中の1つを使用することで共用し、分岐条件
の判定と分岐条件成立時の分岐先アドレスの命令アドレ
スへのコピーを同一サイクルで行なうように構成する。
[産業上の利用分野コ 本発明は、アドレス計算機構を備えた計算機における条
件分岐命令の制御方式に関する。
近年、コンピュータシステムの高速化の要求に伴い、命
令の解釈・実行の方法としてパイプライン制御が一般的
になっているが、パイプの流れを乱す条件分岐命令が高
速化のネックとなっており、実行サイクル数を可能な限
り低減することが望まれる。
[従来の技術] 近年、コンピュータシステムの高速化の要求に対応して
行なわれているパイプライン制御とは、命令の解釈・実
行をいくつかのステージに分け、各ステージ機構は、あ
る命令の実行後、この命令の全ステージでの実行終了を
待たずに、次の命令を当該ステージで実行する方式であ
るが、条件分岐命令、即ち、命令の実行結果によって分
岐先が変わる命令、例えば命令中で示されるアドレスの
メモリ内容によって分岐・非分岐が確定する分岐命令に
ついては、条件分岐命令が終了しなければ次に解釈・実
行すべき命令が確定しないため、その間、パイプライン
制御が止ってしまい、高速化のネックとなっている。
第5図に従来方式の構成図を示す。
第5図において、1はメモリ6からフェッチした命令を
バッファリングする命令バッファ、2はフェッチされた
命令を解釈する命令デコーダ、3は汎用レジスタや実行
中の命令アドレスからオペランドや分岐先アドレスを計
算するアドレス計算部である。4はアドレスレジスタで
おり、命令用アドレスレジスタ4−1、第1オペランド
用アドレスレジスタ4−2、第2オペランド用アドレス
レジスタ4−3、及び命令分岐用アドレスレジスタ4−
4の4種を備える。
また、5は命令実行部でおり、命令デコーダ2のデコー
ド結果に従ってオペランドリードヤライト、各種演算を
行なう。更に6は主記憶としてのメモリである。
次に第6図のタイミング説明図を参照して動作を説明す
る。
命令バッファ1はメモリ6から命令アドレスレジスタ4
−1によってアドレスされる命令をフェッチしバッファ
リングしている。命令デコーダ2はデコード結果が条件
分岐命令であった場合、アドレス計算部3に条件判定に
必要なオペランドのアドレス計算を指示する。アドレス
計算部3で計算されたオペランドアドレスは第1、第2
オペランドアドレスレジスタ4−2.4−3のいずれか
に一方にセットされる。
次に命令デコーダ2は分岐条件が成立した場合にフェッ
チすべき命令のアドレス、即ち、分岐先アドレスの計算
をアドレス計算部”3に指示し、計算結果は専用の命令
分岐先アドレスレジスタ4−4にセットされる。
以上のアドレス計算が終了すると、分岐命令が成立しな
いことを仮定して命令アドレスレジスタ4−1をカウン
トアツプし、命令バッファ1に対しカウントアツプされ
た命令アドレスで指定される次の命令をフェッチする。
一方、命令実行部5は分岐条件の判定に必要なオペラン
ドアドレスが確定した時点でメモリ6上のオペランドを
リードし、次に分岐条件の成立の有無を判定する。
分岐条件が成立していなかった場合、そのとき命令バッ
ファ1にバッファリングされている次の命令のデコード
以降の動作が実行される。
逆に分岐条件が成立していた場合には、命令分岐先アド
レスレジスタ4−4の値を命令アドレスレジスタ4−1
に格納し、分岐先命令のフェッチから再実行する。
[課題を解決するための手段] しかしながら、このような従来の条件分岐命令の制御方
式にあっては、分岐先のアドレス計算結果を格納する専
用レジスタ4−4を必要とし、また分岐条件の成立を判
定した場合に、命令分岐先アドレスを格納した専用レジ
スタの値を命令アドレスレジスタに格納した後に、命令
フェッチから再実行するために実行サイクル数が多くな
る問題があった。
本発明は、このような従来の問題点に鑑みてなされたも
ので、条件分岐命令成立時の実行サイクル数を最小限に
抑えて高速化する条件分岐命令の制御方式を提供するこ
とを目的とする。
[課題を解決するための手段] 第1図は本発明の原理説明図である。
まず本発明は、条件分岐命令を解読した場合に、分岐条
件の判定に必要なオペランドアドレスAを計算してレジ
スタにセットし、次に分岐条件成立時にフェッチすべき
命令の分岐先アドレスBを計算してレジスタにセットし
、一方、分岐条件の判定に必要なオペランドアドレスA
が確定した時点でメモリ上のオペランドをリードして分
岐条件成立の有無を判定し、分岐条件不成立時にはカウ
ントアツプされた命令アドレスCにより次の命令をフェ
ッチし、逆に、分岐条件成立時には分岐先アドレスBを
命令アドレスとして命令をフェッチする条件分岐命令の
制御方式を対象とする。
このような条件分岐命令の制御方式について本発明にあ
っては、分岐先アドレスBを格納する1ノジスタを前記
オペランドアドレスAを格納する少なくとも2つのレジ
スタ4−2.4−3のいずれかと共用すると共に、分岐
条件の判定と分岐条件成立時の分岐先アドレスBの命令
アドレスCへのコピーを同一サイクルで行なうようにし
たものである。
[作用] このような構成を備えた本発明による条件分岐命令の制
御方式にあっては、命令の分岐先アドレスを専用のレジ
スタに格納せずに空き状態におる少なくとも2つのオペ
ランドレジスタのいずれかに格納して共用し、かつ、分
岐条件の判定と分岐条件成立時のオペランドレジスタか
ら命令レジスタへの分岐先アドレスのコピーを同一サイ
クルで行なうようにしたため、ハード量の削減が可能で
あり、また専用レジスタを設けていたことによる従来の
専用レジスタから命令レジスタへの分岐先アドレスのセ
ットサイクルが不要となり、条件成立時の実行サイクル
数を最小限に抑えて高速化を図ることができる。
[実施例コ 第2図は本発明の一実施例を示した実施例構成図でおる
第2図において、1はメモリ6からフェッチした命令を
バッファリングする命令バッファ、2は命令バッファ1
にフェッチされた命令を解除する命令デコード部、3は
汎用レジスタや実行中の命令アドレスからオペランドや
分岐先アドレスを計算するアドレス計算部、4はアドレ
スレジスタであり、本発明にあっては命令用アドレスレ
ジスタ4−1、第1オペランド用アドレスレジスタ4−
2及び第2オペランド用アドレスレジスタ4−3の3種
を備え、従来のように分岐用アドレスレジスタは設けて
いない。5は命令実行部であり、命令デコード部2によ
る命令のデコード結果に従ってオペランドリードやライ
ト、各種の演算を行なう。更に、6は主記憶としてのメ
モリである。
このような第2図に示した本発明の実施例にあっては、
条件分岐命令に対し第3図の分岐命令動作タイミング説
明図に示す制御を行なう。
まず、命令バッファ1はメモリ6から命令アドレスレジ
スタ4−1によってアドレスされる命令をフェッチして
バッフ7リングしている。命令デコード部2はデコード
結果が条件分岐命令であった場合、アドレス計算部3に
対し条件判定に必要なメモリ6のオペランドのアドレス
計算を指示する。このアドレス計算部3によるオペラン
ドのアドレス計算結果は、第1及び第2オペランドアド
レスレジスタ4−2または4−3のいずれか一方にセッ
トされる。
続いて、命令デコード部2はアドレス計算部3に対し分
岐条件が成立した場合にフェッチすべき命令のアドレス
の計算を指示する。このアドレス計算に得られた分岐先
アドレスは、第1及び第2のオペランドアドレスレジス
タ4−2または4−3のうち、この命令実行時において
オペランドアドレスとして使用されていない側のレジス
タにセットされる。
以上のアドレス計算を終了すると、分岐条件が成立しな
いことを仮定して命令アドレスレジスタ4−1はカウン
トアツプし、命令バッファ1はカウントアツプされた命
令アドレスによる次の命令をフェッチする。
一方、命令実行部5はオペランドアドレスが確定した時
点でメモリ6上のオペランドをリードし、次に分岐条件
を判定する。分岐条件が成立していなかった場合、その
とき命令バッファ1にバッファリングされている命令の
デコード以降の動作が実行される。逆に分岐条件が成立
していた場合、この分岐条件の判定と同一サイクル中に
オペランドアドレスレジスタ4−2または4−3のいず
れか一方に格納されていた命令分岐先アドレスの値を命
令アドレスレジスタ4−1にコピーし、次に命令フェッ
チから再実行するようになる。
ここで、第3図に示す本発明による分岐命令の動作タイ
ミングと第6図に示した従来の動作タイミンクを対比し
てみると、(b)に示す分岐条件が成立しなかった場合
については実行サイクル数は同じであるが、(a)の分
岐条件が成立した場合については、第6図の従来例にあ
ってはオペランドフェッチ、分岐条件判定及び命令アド
レスセットの3サイクルを必要としたものが、第3図の
本発明にあってはオペランドフェッチ条件判定及び命令
アドレスセットの2サイクルで済ますことができる。
次に、第2図の実施例について条件分岐命令の1つであ
るTH命令(Test Half Word ) ヲ例
にとって具体的に説明する。
TH命令のフォーマット構成は第4図に示すように、O
Pコードが96となる4バイト長の命令である。このT
H命令において、2バイト目のベース部B(2ビツト)
によって指示されるレジスタ値及びインデックス部X(
2ビツト)によって指示されるレジスタ値及び2〜3バ
イト目となる命令中で直接、指示されるディスプレイス
メント(12ビツト)を加算して得られるアドレスのメ
モリ上のハーフワード(16ビツト)を参照する。
このメモリ上のハーフワードの値が分岐条件となってお
り、分岐条件を示す値がOならば、この命令が格納され
ているアドレスに命令中で直接指示されるアドレスAd
r(,8ビツト)を加算したアドレスに分岐する。
逆に分岐条件の値がO以外であったならば、この命令が
格納されているアドレスに命令長4を加算したアドレス
に加算されている値が次の命令となる。
このようなTH命令について、第2図による制御を具体
的に説明すると、次のようになる。なお、第2図におけ
る数値は16進表現としている。
今、メモリ6上のアドレスaに第4図に示したTH命令
が入っており、命令アドレスレジスタ4−1はアドレス
aの値を保持しているものとする。
まず、このとき命令用アドレスレジスタ4−1にセット
されているアドレスaから始まるメモリ6上の4バイト
データが命令バッファ1にフェッチされる。命令デコー
ド部2は先頭1バイトの値96からこの命令がTH命令
であることをデコードし、アドレス計算部3に対し第1
オペランドアドレスCの計算を指示する。
アドレス計算部3はOPコードに続く2バイトの値62
00から第ルジスタの値及び第2のレジスタの値、更に
命令中で直接指示されるディプレイスメントの値200
を加算して第1オペランドアドレスの値Cを求め、この
計算されたオペランドアドレスCの値を第1オペランド
用レジスタ4−2に格納する。
次に、残り1バイトのAdr値31と、そのときの命令
アドレス用レジスタ4−1の値aとを加算して(a+3
1)を求め、この(a+31>を分岐条件が成立した場
合にフェッチすべき命令アドレスとして第2オペランド
用アドレスレジスタ4−3に格納する。
以上のアドレス計算及びレジスタセットを終了すると、
命令アドレス用レジスタ4−1は命令長4だけカウント
アツプして(a+4>となり、命令バッフ?1はアドレ
ス(a+4>の命令XXをフェッチする。
一方、命令実行部5は第1オペランド用アドレスレジス
タ4−2に格納された値Cによってアドレスされるメモ
リ6上のオペランドYYYYをリードし、次に分岐条件
を判定する。
ここで、オペランドYYYYの値がO以外ならば分岐条
件不成立であることから、そのとき命令バッファ1にフ
ェッチされている命令X×のデコード以降の動作が実行
される。
逆にオペランドYYYYの値がOならば分岐条件成立と
判定し、同一サイクル中に第2オペランド用アドレスl
ノジスタ4−3に格納されている命令分岐先アドレスの
値(a+31>を命令用アドレスレジスタ4−1にコピ
ーし、アドレス(a+31)に存在するデータZZを次
の命令としてフェッチして再実行する。
尚、上記の実施例はTH命令の具体例を例にとるもので
あったが、本発明はこれに限定されず、適宜の条件分岐
命令につきそのまま適用できる。
[発明の効果] 以上説明してきたように本発明によれば、分岐先のアド
レス計算結果を格納する専用レジスタを必要としないた
め、ハード量の削減が可能である。
また、分岐条件の判定と分岐条件成立の分岐先アドレス
の命令アドレスへのコピーを同一サイクルで行なうこと
ができ、条件分岐命令の実行サイクル数を最少限に抑え
、パイプライン制御のネックとなっている条件分岐命令
による負担を軽減して、より高速化を図ることができる
【図面の簡単な説明】
第1図は本発明の原理説明図: 第2図は本発明の実施例構成図: 第3図は本発明の分岐動作タイミング説明図;第4図は
本発明の対象となるTH命令フ汁−マット説明図; 第5図は従来方式の構成図: 第6図は従来方式の動作タイミング説明図である。 図中、 1:命令バッファ 2:命令デコード部 3ニアドレス計算部 4ニアドレスレジスタ 4−1:命令用アドレスレジスタ(FA)4−2=第1
オペランド用アドレスレジスタ(DA)4−3=第2オ
ペランド用アドレスレジスタ(SA)5:命令実行部 6:メモリ

Claims (1)

    【特許請求の範囲】
  1. (1)条件分岐命令を解読した場合に、分岐条件の判定
    に必要なオペランドアドレス(A)を計算してレジスタ
    にセットし、次に分岐条件成立時にフェッチすべき命令
    の分岐先アドレス(B)を計算してレジスタにセットし
    、 一方、分岐条件の判定に必要な前記オペランドアドレス
    (A)が確定した時点でメモリ上のオペランドをリード
    して分岐条件成立の有無を判定し、分岐条件不成立時に
    はカウントアップされた命令アドレス(C)により次の
    命令をフェッチし、分岐条件設立時には前記分岐先アド
    レス(B)を命令アドレス(C)として命令をフェッチ
    する条件分岐命令の制御方式に於いて、 前記分岐先アドレス(B)を格納するレジスタを前記オ
    ペランドアドレス(A)を格納する少なくとも2つのレ
    ジスタ(4−2、4−3)のいずれかと共用すると共に
    、又は前記分岐条件の判定と分岐条件成立時の分岐先ア
    ドレス(B)の命令アドレス(C)へのコピーを同一サ
    イクルで行なうことを特徴とする条件分岐命令の制御方
    式。
JP1077150A 1989-03-29 1989-03-29 条件分岐命令の制御方式 Expired - Lifetime JP2550408B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1077150A JP2550408B2 (ja) 1989-03-29 1989-03-29 条件分岐命令の制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1077150A JP2550408B2 (ja) 1989-03-29 1989-03-29 条件分岐命令の制御方式

Publications (2)

Publication Number Publication Date
JPH02254541A true JPH02254541A (ja) 1990-10-15
JP2550408B2 JP2550408B2 (ja) 1996-11-06

Family

ID=13625764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1077150A Expired - Lifetime JP2550408B2 (ja) 1989-03-29 1989-03-29 条件分岐命令の制御方式

Country Status (1)

Country Link
JP (1) JP2550408B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003127A (en) * 1995-10-04 1999-12-14 Nippondenso Co., Ltd. Pipeline processing apparatus for reducing delays in the performance of processing operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003127A (en) * 1995-10-04 1999-12-14 Nippondenso Co., Ltd. Pipeline processing apparatus for reducing delays in the performance of processing operations
US6308263B1 (en) 1995-10-04 2001-10-23 Nippondenso Co., Ltd. Pipeline processing apparatus for reducing delays in the performance of processing operations

Also Published As

Publication number Publication date
JP2550408B2 (ja) 1996-11-06

Similar Documents

Publication Publication Date Title
JPH0283735A (ja) 命令先取り装置
JPH0348537B2 (ja)
JPH0248732A (ja) 命令パイプライン方式のマイクロプロセッサ
JPH04188229A (ja) 浮動小数点演算処理装置
JPH0743648B2 (ja) 情報処理装置
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JPH02254541A (ja) 条件分岐命令の制御方式
JP2553200B2 (ja) 情報処理装置
JPH10124312A (ja) 中央処理装置
JPH0326862B2 (ja)
JP2814683B2 (ja) 命令処理装置
JP2812610B2 (ja) パイプライン制御方式
JP2503223B2 (ja) 先行制御方式
JPH0419575B2 (ja)
JP2819733B2 (ja) 情報処理装置
JPH0248733A (ja) 情報処理装置
JPS6047618B2 (ja) 情報処理装置
JP2597744B2 (ja) 分岐制御方法
JP2545594B2 (ja) オペランドデータ先取り方式
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPH01271842A (ja) 情報処理装置
JPH07219771A (ja) 命令プロセッサ
JPS6354632A (ja) 電子計算機の命令先読み制御方法
JPH04174041A (ja) データアクセス制御方式
JPH03113535A (ja) パイプライン制御機構