JPH04125733A - パイプライン情報処理方式 - Google Patents

パイプライン情報処理方式

Info

Publication number
JPH04125733A
JPH04125733A JP24812490A JP24812490A JPH04125733A JP H04125733 A JPH04125733 A JP H04125733A JP 24812490 A JP24812490 A JP 24812490A JP 24812490 A JP24812490 A JP 24812490A JP H04125733 A JPH04125733 A JP H04125733A
Authority
JP
Japan
Prior art keywords
branch
instruction
instructions
stage
executed
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
JP24812490A
Other languages
English (en)
Inventor
Tsutomu Maruyama
勉 丸山
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 JP24812490A priority Critical patent/JPH04125733A/ja
Publication of JPH04125733A publication Critical patent/JPH04125733A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数の命令を同時に実行するパイプライン情
報処理方式に関するものである。
(従来の技術) 複数の命令を同時に実行するパイプライン情報処理方式
において、複数の分岐命令を同時に実行すると、複数の
分岐命令において分岐条件が成立した場合に、命令読み
出し番地の更新における競合が生じ、この競合を解決す
るためには複雑なハードウェアが必要となるから、従来
のパイプライン情報処理方式では、同時に2個以上の分
岐命令の実行を行なっていなかった。
(発明が解決しようとする課題) 上述したように、従来のパイプライン情報処理方式では
、同時に複数の分岐命令を実行してなかったから、同時
に実行できる命令の数が高々数個に抑えられていた。
(課題を解決するための手段) 本発明のパイプライン情報処理方式は、複数の命令を同
一゛のパイプラインステージで実行するパイプライン情
報処理方式であって、複数の分岐命令を実行する際に、
同時に実行される複数の分岐命令のうちのある一つの分
岐命令に優先権を与えておき、該優先権を持つ分岐命令
において分岐が成立した場合の命令読み出し番地の更新
および同一パイプラインステージ上の他の分岐命令の実
行の抑止を、前記優先権を持つ分岐命令以外の分岐命令
において分岐が成立した場合に行なわれる命令読み出し
番地の更新および同一パイプラインステージ上の他の分
岐命令の実行の抑止より、一段以上先行するパイプライ
ンステージで行なうことにより複数の分岐命令を同時に
実行することを特徴とする。
(作用) 複数の命令を同時に実行する本発明のパイプライン情報
処理方式において、複数の分岐命令を同時に実行する場
合の一例を第2図に示す。この例におけるパイプライン
処理は、 第1ステージ: 命令キャッシュ装置よりの命令の読み出し、命令のデコ
ード、 レジスタファイルからのデータの読み出し、分岐命令の
ための分岐条件判定、 第2ステージ: 演算器による命令の実行、 レジスタファイルへの演算結果の書き込みの2段である
第2図(1)は、このパイプライン処理で実行される命
令列であるとする。同時に実行される分岐命令には、命
令の位置等を用いて予め優先順位が定められており、第
2図(2)において、分岐命令Aが最も優先順位が高く
、Bが低いものとする。
分岐命令A、Bは、第1,2ステージにおいて分岐がそ
れぞれ行なわれる。即ち、分岐命令Aの分岐条件が成立
した場合には第1ステージにおいて、分岐命令Bの分岐
条件が成立した場合には第2ステージにおいてそれぞれ
命令読み出し番地の更新が行なわれる。以下、各分岐命
令において分岐条件が成立した場合の具体的な処理につ
いて説明する。
まず、第1ステージで分岐命令Aにおいて分岐が起きた
場合にはく第2図(2))、分岐命令Bの実行は抑止さ
れる。この時、分岐命令Bの分岐条件が成立していても
、これらの分岐命令の分岐条件が成立したことによる命
令読み出し番地の更新は、このステージでは行なわれな
いから、命令読み出し番地の更新における競合は生じな
い0次に、第2ステージで分岐命令Bにおいて分岐が起
きた場合には、(第2図(3))、同一ステージ内の分
岐命令Aの実行は既に終了しているから、命令読み出し
番地の更新を行なう命令は分岐命令B以外にはない、こ
の時、パイプライン第1ステージでは次命令が実行され
ているが、分岐命令Bの分岐条件の判定は、第1ステー
ジの次命令中の分岐命令の条件判断より先行して行なう
ことが可能である(第1ステージで分岐命令Aと同時に
行なうことが可能)、従って、予め命令キャッシュ装置
に命令読み出し番地を与えるセレクタ等の切替えを行な
うことが可能であるから、命令読み出し番地の更新を簡
単に行なうことができる。分岐に伴って、第1ステージ
の命令の実行は抑止される。
このように、2つの分岐命令の実行において、分岐が行
なわれるパイプラインステージを異なるステージとする
ことによって、命令読み出し番地の更新を行なう分岐命
令を簡単に特定できるから、ハードウェアが簡単なもの
となり、複数の分岐命令を同時に実行することができる
(実施例) 以下、本発明について図面を用いて詳細に説明する。
本発明のパイプライン情報処理方式の一実施例を実現す
るハードウェアの構成を第1図に示す。
第1図において、10は2語同時読み出しが可能な命令
キャッシュ装置、11は命令アドレスレジスタ、20は
レジスタファイル、30.31は分岐命令の分岐条件が
成立したかどうかを調べる分岐条件判定装置、40.4
1,42.43はレジスタファイルから読み出された値
を格納するラッチ、50.51は分岐条件判定装置30
.31の判定結果を保持するラッチ、60.61は演算
を行なう演算装置、70.71.72は命令読み出し番
地を計算する加算器、52は加算器72によって計算さ
れたアドレスを保持するラッチ、90゜91は命令キャ
ッシュ装置10と命令アドレスレジスタ11とに与える
命令読み出し番地を選択するセレクタ、80は全体の制
御を行なう制御装置である。本実施例は、パイプライン
段数を2段とした場合のものであり、各ステージはラッ
チ4041.42,43,50,51.52によって分
けられている。即ち、命令キャッシュ装置10からの命
令の読み出しと、レジスタファイル20からのレジスタ
の値の読み出しと、分岐条件判定装置30.31による
分岐条件の判定と、加算器70 71.72によるアド
レスの計算と、セレクタ90の切替えとが第1ステージ
の処理であり、演算装置60.61による演算と、その
演算結果のレジスタファイル20への書き込みと、セレ
クタ91の切替えとが第2ステージの処理である。
本実施例において、分岐命令以外の命令の実行は以下の
ように行なわれる。まず、第1ステージでは、命令キャ
ッシュ装置10から命令の読み出しか行なわれる。つい
で、読み出された命令に応じて、レジスタファイル20
からのレジスタの値の読み出しが行なわれる。この時、
加算器7071.72によって次の命令の読み出し番地
の計算が行なわれているが、実行している命令が分岐命
令でない場合には、制御装置80からの指示により、分
岐条件判定装置30.31の出力(300)、(310
)は共に0であるから、加算器71の計算結果がセレク
タ90.91によって選択され、その加算器71の計算
結果が命令キャッシュ装置10および命令アドレスレジ
スタ11に与えられ、次の命令の読み出しが引続き行な
われる。第2ステージでは、命令が演算装置60.61
によって実行され、それぞれの演算結果がレジスタファ
イル20に書き込まれる。
本実施例において、2つの分岐命令は以下のようにして
同時に実行される。この時、2つの分岐命令をそれぞれ
A、Bとし、Aが高い優先度を持つ分岐命令であるとす
る。分岐条件判定装置31か高い優先順位を持つ分岐命
令Aの分岐条件の判定を行なう分岐条件判定装置である
。分岐命令Aにおいて分岐条件が成立した場合には、分
岐条件判定装置31の出力(310)が1となり、セレ
クタ90によって加算器70の計算結果が選択される。
この時、第2ステージで実行されている命令において分
岐が行なわれなければセレクタ91がセレクタ90から
の入力を選択するから、加算器70の計算結果が次の命
令のアドレスとして命令キャッシュ装置10と命令アド
レスレジスタ11に与えられる。このによにして、優先
順位の高い分岐命令の分岐は、第1ステージで行なわれ
る。この時、分岐命令Bの分岐条件の判定が条件分岐判
定装置30によって、また分岐命令Bの分岐条件が成立
した場合の分岐先のアドレスの計算が加算器72によっ
て、同時に行なわれているが、それらの結果はラッチ5
0.52にそれぞれ保持される。
第2ステージにおいて、ラッチ50に保持されている分
岐命令Bの分岐条件判定結果は、セレクタ91に送られ
る。この時、ラッチ51に保持されている条件分岐判定
装置31の分岐条件判定結果の否定とのANDが論理回
路65でとられるから、ラッチ51の値が1であった場
合、即ち既に分岐命令Aにおいて分岐が成立していた場
合にはこの分岐命令Bによる分岐は無効となる。ラッチ
51の値が0であった場合には、セレクタ91において
ラッチ52の値が選択されて分岐命令Bの分岐が行なわ
れる。この場合には、一般に第1ステージにおいて次の
命令が実行されており、その命令が分岐命令であること
もあり得るが、セレクタ91がラッチ52の出力を選択
しているから、それらの命令の分岐条件判定の結果は無
視されることになる。これらの命令の実行は制御装置8
0によって抑止される。
このように、複数の分岐命令の同時実行においてそれら
複数の分岐命令の分岐条件が成立した場合に、他の命令
の実行の抑制および命令読み出し番地の更新をそれぞれ
興なるパイプラインステージで行なうことによって、セ
レクタの切替え、命令の実行の抑止を、一般に最も遅延
時間が大きく性能低下の要因となる条件分岐判定後では
なく、それ以降の各ステージの先頭で行なうことができ
るかち、パイプライン制御を行なうハードウェアの梢成
が簡単になる。
以上に本発明の一実施例について述べたが、本発明はこ
の実施例にのみ限定されるものではなく、同時に実行さ
れる命令数、パイプライン段数、条件分岐の判定が行な
われるステージ等が異なっていても基本的実施方法は変
わらない。
(発明の効果) 以上に説明した様に、本発明によれば、同時に複数の命
令を実行可能なパイプライン情報処理方式において、複
数の分岐命令を同時に実行することが可能となるから、
同時により多数の命令を実行することが可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は分岐
命令が実行されるパイプラインステージの一例を示す図
である。 10・・・命令キャッシュ装置、11・・・命令アドレ
スレジスタ、20・・・レジスタファイル、3゜31・
・・分岐条件判定装置、40.41,42゜43.50
.51.52・・・ラッチ、6o 61・・・演算装置
、65・・・理論回路、70,71.72・・・加算器
、80・・・制御装置、90.91・・・セレクタ。

Claims (1)

    【特許請求の範囲】
  1. 複数の命令を同一のパイプラインステージで実行するパ
    イプライン情報処理方式において、複数の分岐命令を実
    行する際に、同時に実行される複数の分岐命令のうちの
    ある一つの分岐命令に優先権を与えておき、該優先権を
    持つ分岐命令において分岐が成立した場合の命令読み出
    し番地の更新および同一パイプラインステージ上の他の
    分岐命令の実行の抑止を、前記優先権を持つ分岐命令以
    外の分岐命令において分岐が成立した場合に行なわれる
    命令読み出し番地の更新および同一パイプラインステー
    ジ上の他の分岐命令の実行の抑止より、一段以上先行す
    るパイプラインステージで行なうことにより複数の分岐
    命令を同時に実行することを特徴とするパイプライン情
    報処理方式。
JP24812490A 1990-09-18 1990-09-18 パイプライン情報処理方式 Pending JPH04125733A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24812490A JPH04125733A (ja) 1990-09-18 1990-09-18 パイプライン情報処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24812490A JPH04125733A (ja) 1990-09-18 1990-09-18 パイプライン情報処理方式

Publications (1)

Publication Number Publication Date
JPH04125733A true JPH04125733A (ja) 1992-04-27

Family

ID=17173593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24812490A Pending JPH04125733A (ja) 1990-09-18 1990-09-18 パイプライン情報処理方式

Country Status (1)

Country Link
JP (1) JPH04125733A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334184B1 (en) 1998-03-24 2001-12-25 International Business Machines Corporation Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334184B1 (en) 1998-03-24 2001-12-25 International Business Machines Corporation Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request

Similar Documents

Publication Publication Date Title
EP0378830B1 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
EP0293851A2 (en) Digital signal processor
EP0093430A2 (en) Pipeline data processing system
EP0201833A2 (en) Instruction processor
EP0163740A1 (en) Pipeline control system
JPH1011301A (ja) マルチタスク処理装置及びマルチタスク処理制御方法
JPH04125733A (ja) パイプライン情報処理方式
JP2503984B2 (ja) 情報処理装置
JP2513765B2 (ja) パイプライン処理における条件分岐制御方式
JPH05274143A (ja) 複合条件処理方式
EP1132813A2 (en) Computer with high-speed context switching
US9250898B2 (en) VLIW processor, instruction structure, and instruction execution method
JPH08305563A (ja) データ処理装置
JPH06309165A (ja) 情報処理装置
JP2626087B2 (ja) 並列尤度演算装置
JP2503983B2 (ja) 情報処理装置
JPS63228330A (ja) 演算処理装置
JP2636566B2 (ja) パイプライン制御方式
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JPH0619705A (ja) パイプライン制御方式
JPH05134866A (ja) マイクロプログラム制御方式
JPH0810431B2 (ja) 情報処理装置
JP2000250869A (ja) マルチプロセッサの制御方法およびその装置
JPH09106344A (ja) パイプライン処理装置
JPH0667879A (ja) パイプライン処理計算機