JPH03269728A - パイプライン計算機における命令実行制御方式 - Google Patents

パイプライン計算機における命令実行制御方式

Info

Publication number
JPH03269728A
JPH03269728A JP2070377A JP7037790A JPH03269728A JP H03269728 A JPH03269728 A JP H03269728A JP 2070377 A JP2070377 A JP 2070377A JP 7037790 A JP7037790 A JP 7037790A JP H03269728 A JPH03269728 A JP H03269728A
Authority
JP
Japan
Prior art keywords
instruction
instruction execution
execution control
control data
flag
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
JP2070377A
Other languages
English (en)
Inventor
Akira Yasusato
安里 彰
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 JP2070377A priority Critical patent/JPH03269728A/ja
Publication of JPH03269728A publication Critical patent/JPH03269728A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 パイプライン方式の計算機において、パイプラ[産業上
の利用分野] 本発明は、パイプライン方式の計算機においてパイプラ
イン上の命令シーケンスの中の各命令の実行の有効、無
効を制御する方式に関する。
〔従来の技術〕
計算機を高速に動作させるための技術としてパイプライ
ン技術がある。これは命令の動作を複数のステージに分
解し、連続した複数の命令の異なるステージを同時に実
行することで見かけのマシンサイクルを短縮しようとす
るものである。
第8図は、パイプラインの概念図である。図示のように
、命令はn個のステージ80〜S n−Iを順に通過し
ていく、各ステージでは、命令デコード、オペランドの
アドレス計算、アドレス変換。
バンファアクセス、演算実行などの独立した仕事が行わ
れる。このパイプラインに複数の命令が連続して入力さ
れると、各命令は別々のステージで並列に実行されなが
ら、順次最終ステージへ進められる。通常、最終ステー
ジでレジスタやメモリへの書き込み動作が行われる。す
なわち、最終ステージで何もしなければ実際的な作用は
なかったことになり、その命令は実行されなかったのと
同しになる。
このようなパイプラインを用いると、命令が連続してい
るケースでは効率良く動作するが1分岐等によって命令
実行シーケンスを変更し、不連続な処理を行う場合には
2分岐先の命令の処理を開始できるまでに、ソーケンス
の乱れからパイプラインのステージに空きが生して、高
速性を活かせないという欠点があった。
従来、上記の欠点を緩和するために、遅延分岐スキップ
等の技術が提案されており、それなりの効果はあげてい
たが、なお満足できるものではなかった。
〔発明が解決しようとする課B] 本発明は基本的にパイプライン機構の効果を低下させる
要因であるところの分岐命令を極力使用せずに済ますこ
とを可能にする手段を提供することを目的としている。
[!II!を解決するための手段] 本発明は、バイブラインの実行ステージを通過する複数
個の命令のセットについて、順次の命令の有効/無効を
ON/○FFで制御する複数ビットのフラグを設けると
ともに、このフラグに条件付きで制御データを設定する
条件付選択スキップ命令を設けて、命令実行制御を行う
ようにしたものである。
第1図は1例示的手段を用いて示した本発明の原理図で
ある。
第1図において。
1は、パイプラインであり、n個(n≧2)のステージ
SO,S、、・・・+511−1をもつ。
2は、命令実行制御フラグであり、1個(r≧2)のビ
ット数をもつ。
3は、最終ステージS、−1に設けられた無効化制御回
路であり、最終ステージS、−8を命令が通過するごと
に命令実行制御フラグ2を1ビツト左シフトさせ、その
結果の命令実行制御フラグ会の最上位ビットのON10
 F F (ON=有効、 OFF −無効)の値によ
って、そのとき最終ステージ5N−1にある命令の有効
/無効を制御する。
4は、バイブラインで実行される複数の命令のセットで
ある。
5は1本発明により設けられた命令実行制御用の条件付
選択スキップ命令であり(SSで表す)。
条件を指定して、その成立/不成立に応じた命令実行制
御を行う機能をもつ、後続シーケンスの1個(r22)
の命令が制御対象となる。
6は1条件付選択スキップ命令5 (SS)によって実
行の可否を制御される対象の1個の後続命令である(a
O+  al + ”’+  at−1で表す)。
7.8は、命令実行制御フラグ2に設定される制御デー
タであり、命令5で指定された条件の成立/不成立によ
り選択されて、命令実行制御フラグ2に格納される。
制御データ(7,8)は、命令5のオペランドの一部に
予め設定されるかあるいは専用の記憶領域に設定される
ことができる。また制御データは。
複数個用意して条件の成立/不成立によって選択し、フ
ラグ2に格納する方法のはか、1個のみ用意して条件成
立の場合にフラグ2に格納し、そして条件不成立の場合
にはフラグ2に格納せず、フラグ2の全ビットの値をO
Nにして命令を全て有効にする方法や2条件不成立の場
合は制御データの全ビット値を反転してフラグ2に格納
し1条件成立時と条件不成立時とで命令の有効/無効を
逆転させ、実行命令を入れ替える方法などをとることが
できる。
〔作 用〕
本発明方式を用いることにより、ある条件の成立、不成
立によって後の動作を変化させるが、すぐに元の流れに
戻るようなプログラムを処理する場合、成立の場合に実
行する命令のグループと不成立の場合に実行するグルー
プとを命令実行制御フラグのビット列上にパターン化し
ておき2条件付選択スキップ命令で条件を指定すること
により。
簡単に一方のグループの命令を無効化、すなわちスキッ
プして実質的に命令シーケンスを切り分けることかでき
る。
各グループの命令は、1本のストリング上に混在して並
んでいるため1条件の成立/不成立によって実行する命
令のグループが一方に限定されても、命令フェッチの順
序はストリングの配列順。
つまりアドレス順に行われ1分岐命令の場合のようなパ
イプラインの乱れは生じない。このため処理の高速化が
可能となる。
〔実施例〕
第2図ないし第7図を用いて1本発明の詳細な説明する
第2図は本発明の1実施例回路の構成国で、第1図の命
令実行制御フラグ2および無効化制御回路3に対応する
回路部分を示したものである。
第2図において、21はシフトレジスタで構成された命
令実行制御フラグ回路、22は最終ステージで実行結果
データを書き込む先のメモリ領域あるいはレジスタなど
のディスティネーション。
23は実行結果を書き込むために最終ステージでつくら
れる従来のものと同しWE(ライトイ2−プル〉信号、
24は命令実行制御フラグ回路21からの最上位ビット
出力、25はWE信号23とフラグ回路21の最上位ビ
ット出力24との一致をとり、WE信号を有効化/無効
化するANDゲート、26はANDゲート25の出力の
WE’信号27は最終ステージの直前のステージから出
力される命令移動を通知するステージ移動信号、28は
第1図の制御データ7または8に対応する制御データ、
29は実行結果データである。
従来の方式では、最終ステージでの実行結果データ29
をディスティネーションに書き込む動作を支配するもの
はWE信号23であったが1本発明では、WE信号23
を、そのとき対応する命令の有効/無効を制御する命令
実行制御フラグビットである最上位ビット出力24の値
でゲーティングすることにより、有効(最上位ピント出
力24=ON)とされたWE信号23が、WE’信号2
6としてディスティネーション22を書き込み可能にす
るために印加されるようになっている。つまり有効な命
令に対応するWE’信号はON、無効な命令に対応する
WE’信号はOFFに制御され、OFFの場合はディス
ティネーション22への実行結果データ29の書き込み
は禁止されることによって命令実行の無効化が行われる
第3図は、命令実行制御フラグ回路の細部構成を示した
もので、30はシフトレジスタ、310ないし3l−r
−1は、rビットの命令実行制御フラグの各々のビット
f直をセットするための1個レジスタ段、32−0ない
し32−r−1はセレクタであり、セット時には制御デ
ータ入力の各ビットを対応するレジスタ段31−0ない
し31r−1の入力へ結合し、またシフト時には、レジ
スタ段31−0ないし3l−r−2の入力の各々にそれ
ぞれの右隣のレジスタ段31−1ないし3l−r−1の
出力を結合し、シフト動作を可能にする。なおレジスタ
段3l−r−1については右隣にレジスタ段がないので
シフト時に°l′が入力される。
パイプラインの最終ステージ(第1図のS−+)に条件
付選択スキップ命令SSが到達したとき第3図の“セッ
ト°信号がONになり、制御データのレジスタへのセッ
トが行われるが、以後は゛シフト″信号がONで゛セッ
ト信号はOFFとなり、シフト動作が行われる。
′セット°/“シフト°信号は、第1図の無効化制御回
路3によって発行される。
第4図は7制御データの設定方法(その1)を示し、命
令内フィールドに制御データを直接記述する方法である
0図中、40は条件付選択スキ・ノブ命令、41はオペ
コード(SS)フィールド42は(条件)フィールド、
43は制御データを記述するフィールドである。(条件
)フィールドには、成立/不成立の定まる何らかの条件
(たとえばあるレジスタの値がゼロである場合は取立そ
の他の場合は不成立)が記述される。もしもこの条件判
定結果が取立であれば、フィールド43の制御データが
第2図の命令実行制御フラグ回路21にセットされ、そ
れに基づく命令実行制御が行われる。他方9条件が不成
立であれば、制御データのセットは行わずに、命令実行
制御フラグ回路21の全ビットの値を、有効指示にし、
後続の全命令をキャンセルせずに実行させる。
第5図は他の制御データの設定方法(その2)を示す。
図中、50はメモリ、51は制御データ専用の記憶領域
で制御データを複数種類格納できるもの、52はコンデ
イションコードで1条件判定結果によりセットされた値
をもち、メモリ50のアドレスとなるものである。
これにより1条件付選択スキップ命令で指定された条件
の判定結果に対応する制御データを自動的にメモリ50
から読み出し、第2図の命令実行制御フラグ回路21に
セットすることができる。
この方法は、命令内に制御データの記述フィールドを設
ける必要がないという利点がある。
第6図は1条件の成立、不成立によって制御データの値
を反転する場合の制御データの反転設定回路の例である
。図中、60はEORゲート、61は制御データ、62
は条件成立時にONとなる信号である。この動作を次の
プログラム例で説明する。
SS(条件)制御データ 後続命令の 後続命令■ 後続命令■ 後続命令■ 0101’ フィールド、73は条件成立時の制御データ、74は条
件不成立時の制御データ、75は制御データ73.74
を条件の成立/不成立により選択するセレクタである。
この第7図の方法では9条件成立時と条件不成立とでそ
れぞれ独立に任意のパターンの制御データを設定するこ
とができる。
制御データ’0101°から1条件成立時には。
後続命令■、■が有効、■、■が無効となる指示が行わ
れる。また条件不成立の場合には、第4図で説明した例
、では全命令が有効となる。ここで第6図の回路を使用
した場合(たとえばモード指定により使用できるように
する)には1条件不成立時に、制御データ“0101’
 はEORゲート60の出力で“1010” となり、
後続命令の、■のみが有効となるように制御できる。
第7図は更に他の制御データの設定方法(その3)を示
す0図中、70は条件付選択スキップ命令、71はオペ
コード(SS)、72は(条件)〔発明の効果〕 本発明によれば、バイブラインでの命令実行制御に乱れ
を生じることなく実行命令の切り替えを行うことができ
るため、処理の高速化を図ることができ、また複雑な処
理を簡潔に記述できるためプログラムの構成が簡単にな
り、プログラム開発や保守が容易になる利点が得られる
【図面の簡単な説明】
第1図は本発明の原理図、第2図は本発明の一実施例回
路の構成図、第3図は命令実行制御フラグ回路の細部構
成図、第4図は制御データの設定方法(その1)の説明
図、第5図は制御データの設定方法(その2)の説明図
、第6図は制御データの反転設定回路の構成図、第7図
は制御データの設定方法(その3)の説明図、第8図は
バイブラインの概念図である。 第1図中。 l:バイブライン 2:命令実行制御フラグ 3:無効化制御回路 4:命令セット 5:条件付選択スキップ命令(SS) 6:後続命令(ao+a++ ・・・、a、−+ )7
.8二制御データ

Claims (5)

    【特許請求の範囲】
  1. (1)パイプライン方式で命令のセットを実行する計算
    機において、 複数のビットからなる命令実行制御フラグと、指定した
    条件が成立したか否かにより予め設定されている制御デ
    ータを上記命令実行制御フラグに複写する機能をもった
    条件付選択スキップ命令とを設け、 パイプラインの実行ステージを命令が通過するごとに上
    記命令実行制御フラグの各ビットの値を一方向へ1ビッ
    トシフトし、当該フラグのシフト方向の端のビットの値
    がONである場合は現在実行ステージにある命令を実行
    し、また上記端のビットの値がOFFである場合は上記
    実行ステージにある命令をキャンセルするように制御し
    、命令のセット中に上記条件付選択スキップ命令を挿入
    することにより、後続の命令シーケンスにおける個々の
    命令の実行の有効、無効を条件付きで制御することを特
    徴とするパイプライン計算機における命令実行制御方式
  2. (2)請求項1において、条件付選択スキップ命令は、
    指定した条件が成立した場合に自己のオペランドの特定
    部分の制御データを上記命令実行制御フラグに複写し、
    また指定した条件が不成立の場合には複写をしない機能
    をもったものであることを特徴とするパイプライン計算
    機における命令実行制御方式。
  3. (3)請求項1において、条件付選択スキップ命令は、
    指定した条件が成立した場合に自己のオペランドの特定
    部分の制御データを上記命令実行制御フラグに複写し、
    また指定した条件が不成立の場合には上記制御データを
    反転して複写する機能をもったものであることを特徴と
    するパイプライン計算機における命令実行制御方式。
  4. (4)請求項1において、条件付選択スキップ命令は、
    指定した条件が成立した場合に自己のオペランドの特定
    部分の制御データを上記命令実行制御フラグに複写し、
    また指定した条件が不成立の場合には他の特定部分の制
    御データを複写する機能をもったものであることを特徴
    とするパイプライン計算機における命令実行制御方式。
  5. (5)請求項1において、命令シーケンス中の命令の実
    行の可否を個々に指定する複数のビットからなる制御デ
    ータを複数個予め格納する専用の記憶領域をそなえ、 条件付選択スキップ命令は、指定した条件の成立、不成
    立により上記専用の記憶領域に格納されている制御デー
    タの定められた1つを指定して上記命令実行制御フラグ
    に複写する機能をもったものであることを特徴とするパ
    イプライン計算機における命令実行制御方式。
JP2070377A 1990-03-20 1990-03-20 パイプライン計算機における命令実行制御方式 Pending JPH03269728A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2070377A JPH03269728A (ja) 1990-03-20 1990-03-20 パイプライン計算機における命令実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2070377A JPH03269728A (ja) 1990-03-20 1990-03-20 パイプライン計算機における命令実行制御方式

Publications (1)

Publication Number Publication Date
JPH03269728A true JPH03269728A (ja) 1991-12-02

Family

ID=13429693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2070377A Pending JPH03269728A (ja) 1990-03-20 1990-03-20 パイプライン計算機における命令実行制御方式

Country Status (1)

Country Link
JP (1) JPH03269728A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010670B2 (en) 2000-07-04 2006-03-07 Matsushita Electric Industrial Co., Ltd. Data processing device that controls an overriding of a subsequent instruction in accordance with a conditional execution status updated by a sequencer
SG122930A1 (en) * 2004-11-30 2006-06-29 Air Prod & Chem Method and apparatus fot utilizing a sequence interpreter approach to control logic of a programmable logic controller
JP2006309454A (ja) * 2005-04-27 2006-11-09 Denso Corp プログラム制御方法及びプロセッサ
US7406584B2 (en) 2003-06-18 2008-07-29 Ambric, Inc. IC comprising network of microprocessors communicating data messages along asynchronous channel segments using ports including validity and accept signal registers and with split / join capability
US7725694B2 (en) 2004-12-21 2010-05-25 Denso Corporation Processor, microcomputer and method for controlling program of microcomputer

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010670B2 (en) 2000-07-04 2006-03-07 Matsushita Electric Industrial Co., Ltd. Data processing device that controls an overriding of a subsequent instruction in accordance with a conditional execution status updated by a sequencer
US7406584B2 (en) 2003-06-18 2008-07-29 Ambric, Inc. IC comprising network of microprocessors communicating data messages along asynchronous channel segments using ports including validity and accept signal registers and with split / join capability
US7409533B2 (en) 2003-06-18 2008-08-05 Ambric, Inc. Asynchronous communication among hardware object nodes in IC with receive and send ports protocol registers using temporary register bypass select for validity information
US7673275B2 (en) 2003-06-18 2010-03-02 Nethra Imaging, Inc. Development system for an integrated circuit having standardized hardware objects
US7865637B2 (en) 2003-06-18 2011-01-04 Nethra Imaging, Inc. System of hardware objects
SG122930A1 (en) * 2004-11-30 2006-06-29 Air Prod & Chem Method and apparatus fot utilizing a sequence interpreter approach to control logic of a programmable logic controller
US7272453B2 (en) 2004-11-30 2007-09-18 Air Products And Chemicals, Inc. Method and apparatus for utilizing a sequence interpreter approach to control logic of a programmable logic controller
US7725694B2 (en) 2004-12-21 2010-05-25 Denso Corporation Processor, microcomputer and method for controlling program of microcomputer
JP2006309454A (ja) * 2005-04-27 2006-11-09 Denso Corp プログラム制御方法及びプロセッサ

Similar Documents

Publication Publication Date Title
US5710902A (en) Instruction dependency chain indentifier
JP3101560B2 (ja) プロセッサ
US5577259A (en) Instruction processor control system using separate hardware and microcode control signals to control the pipelined execution of multiple classes of machine instructions
US5131086A (en) Method and system for executing pipelined three operand construct
JPS6217252B2 (ja)
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
US6938149B2 (en) Renaming apparatus and processor
JP3725547B2 (ja) 限定ラン分岐予測
JPH03269728A (ja) パイプライン計算機における命令実行制御方式
JP3789937B2 (ja) ベクトルプロセッサのためのチャンク連鎖
CN105988775A (zh) 处理器、程序代码转换装置以及软件
JP3532835B2 (ja) データ処理装置およびプログラム変換装置
JPH04215129A (ja) 連続指令実行方法及び装置
JP3490005B2 (ja) 命令制御装置及びその方法
JPH03204030A (ja) コンピュータ用プロセツサ
JP2553728B2 (ja) 演算装置
JPH02197924A (ja) 中央演算処理装置
US7200739B2 (en) Generation of modified command sequence from original command by feeding back for subsequent modification based on decode control signal
JP2904624B2 (ja) 並列演算処理装置
JP2636566B2 (ja) パイプライン制御方式
KR100515039B1 (ko) 조건부 명령어를 고려한 파이프라인 상태 표시 회로
JPH07111683B2 (ja) タスク切換機能付プロセッサ
JP5013966B2 (ja) 演算処理装置
JP2763450B2 (ja) パイプライン処理データ処理装置
JPH09146769A (ja) パイプライン処理装置