JPH0766325B2 - パイプライン制御装置 - Google Patents

パイプライン制御装置

Info

Publication number
JPH0766325B2
JPH0766325B2 JP29181387A JP29181387A JPH0766325B2 JP H0766325 B2 JPH0766325 B2 JP H0766325B2 JP 29181387 A JP29181387 A JP 29181387A JP 29181387 A JP29181387 A JP 29181387A JP H0766325 B2 JPH0766325 B2 JP H0766325B2
Authority
JP
Japan
Prior art keywords
instruction
cycle
arithmetic
stage
unit
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.)
Expired - Fee Related
Application number
JP29181387A
Other languages
English (en)
Other versions
JPH01134530A (ja
Inventor
文郎 松野下
芳宏 水島
孝一 上田
聡 杉浦
哲也 萩原
正人 田中
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 JP29181387A priority Critical patent/JPH0766325B2/ja
Publication of JPH01134530A publication Critical patent/JPH01134530A/ja
Publication of JPH0766325B2 publication Critical patent/JPH0766325B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔概要〕 電子計算機システムの処理高速化の手段として用いられ
るパイプライン処理制御装置に関し、 本来演算を必要としないロード系の命令中に、Vサイク
ルとして、他の命令処理フローの演算ステージのVサイ
クル以外のサイクルと同時に実行可能な特定演算サイク
ルを強制的に設けることにより一層の高速処理を実現す
ることを目的とし、 処理すべき命令の制御データを記憶する第1の記憶手段
と、前記処理すべき命令の次に実行する命令の制御デー
タを記憶する第2の記憶手段と、演算を実行する演算部
と、演算命令実行時に前記第1の記憶手段からの出力に
より該演算命令実行ステージのうちの前記特定演算サイ
クルを前記演算部に実行させ、また演算不要の命令実行
時に前記第1の記憶手段と前記第2の記憶手段からの出
力により前記特定演算サイクルに相当する特定演算サイ
クルを強制的に発生させるパイプライン制御部を有する
ように構成する。
〔産業上の利用分野〕
本発明は電子計算機システムにおける処理高速化の手段
として用いられるパイプライン処理制御装置に係り、特
に本来演算を必要としないロード系の命令中に、Vサイ
クルとして、他の命令処理フローの演算ステージのVサ
イクル以外のサイクルと同時に実行可能な演算サイクル
を強制的に設けることにより処理の一層の高速化を可能
とするパイプライン処理制御方式に関する。
〔従来の技術〕
電子計算機の処理を高速化する目的でパイプライン処理
が広く用いられている。これは与えられた命令の実行手
順を、例えば命令解読、アドレス計算、オペランド取出
し、演算、結果の格納といった各段階(ステージ)の動
作に分割し、各ステージを実行するハードウェア機構を
用意し、各ステージの実行部はステージ動作の終了後そ
の結果を次のステージ実行部に渡すとともに、次の命令
に対する同一ステージを実行するものである。ある時点
をみると見かけ上複数の命令が同時、かつ並列に処理さ
れ、全体の処理速度が向上する。
一方、計算機のマシンサイクルは機種により決定され、
上述の命令解読、アドレス計算等の各ステージがすべて
1マシンサイクルで実行されるか否かはパイプライン処
理の速度に大きな影響がある。すべてのステージが1サ
イクルで終了する場合にはパイプラインの乱れもなく、
最短時間で処理を行なうことができるが、実際には2マ
シンサイクル以上の時間を要するステージも少なくな
い。その典型的な例が演算命令中の演算実行ステージで
ある。演算実行には、その内容によって数サイクルを必
要とすることもある。
演算命令の実行時にパイプラインの乱れをなくし、高速
化をはかる手段として、演算ステージを構成する複数サ
イクルのうちの特定サイクルが、特定サイクル以外のサ
イクルを実行するハードウェア機構と同時に実行可能な
ハードウェア機構で実行される場合に、特定サイクル
を、他の命令の演算ステージにおける特定サイクル以外
のサイクルと同時に実行可能とする方法がある。この同
時に実行可能な演算サイクルは必要に応じてマイクロコ
ードによって設けられるものでバニッシュサイクルと呼
ばれ、以下Vサイクルと称する。
上述のように演算ステージを分割し、同時に実行可能な
演算サイクル、すなわちVサイクルを設けた場合の処理
高速化を第5図を例にとって説明する。同図(a)はV
サイクルを設けない場合、(b)は設けた場合を示す。
各ステージを表す記号D,A,T,B,E,WはそれぞれDは命令
解読(デコード)、Aはデータ読出し等の場合のアドレ
ス計算、Tはデータがバッファ記憶にあるか否かのチェ
ックと論理アドレスから実アドレスへの変換(トランス
レーション)、Bはバッファデータのリード、Eは実行
(エグゼキューション)、Wは結果をレジスタ等に格納
するライトのステージである。
第5図(a)で命令IとIIは同種の演算命令でその最短
処理時間は等しいものとする。ただし演算ステージは2
サイクルにわたっており、命令IはD,A,T,B,E,E,Wの7
サイクルで処理される。命令IIは命令Iより1サイクル
だけ遅れてその処理が開始され、D,A,T,B,の順にステー
ジ動作が進行した後、本来は次のEステージに直ちに移
行するはずであるが、命令IのEステージが続いている
ためにEステージに移行できず、Bステージを再度繰り
返して待機する必要がある。その結果、命令IIの処理に
は8サイクルを要し、処理が遅れる。
これに対して第5図(b)では演算ステージ2サイクル
をEとVの各サイクルに分割し、Vサイクルを同時に実
行可能な演算サイクルとするために、命令IのVサイク
ルのところで命令IIの演算ステージを実行開始すること
ができ、Bステージでの待機が不要となり、命令IIも7
サイクルで終了する。
〔発明が解決しようとする問題点〕
上述のように演算命令中に同時に実行可能な演算サイク
ル、すなわちVサイクルを設けることにより、演算命令
が連続する場合には処理の高速化に有効である。しかし
ながら演算の途中でレジスタを用いる場合にはレジスタ
へのデータセット等のためにロード系の命令を使うこと
が必要となる。このロード系命令は一般に1サイクルで
処理され、しかも演算ステージを必要としないため、前
述のVサイクルを発生できず、その結果パイプラインの
乱れを生じ、高速化を妨げる原因になるという問題があ
る。その例を第6図により説明する。
第6図で演算命令Iで演算ステージはEとVの2サイク
ルにわたっている。次のロード命令では、D,A,T,Bまで
の各ステージの処理に問題はない。その後の実行ステー
ジ、すなわちロード実行ステージEは命令IのVサイク
ルが実行されている区間で実行可能ではあるが、その次
のWステージの区間が演算命令IのWステージと重なっ
てしまう。そこでBステージで待機して、D,A,T,B,B,E,
Wの順でロード命令は処理される。ここで、D、A、
T、B、E、E、WのようにEで待機することはできな
い。その理由はE,EとE動作を続ける場合には演算ユニ
ットからの処理終了信号によりE動作を終了することに
なっており、ロード系命令では演算ユニットが起動され
ず、処理終了信号も発生せず、E動作終了時点が指示さ
れないためである。
ロード命令でのBステージの繰返は以後の演算命令処理
を遅らせる原因となる。すなわち、次の演算命令IIでは
D,A,Tの各ステージをそれぞれ1サイクルで処理した
後、直ちにBステージに移行できずにTステージで待機
する必要があり、また演算命令IIIの処理ではAステー
ジでの待機が必要となる。
本発明は、上述の問題点に鑑み、ロード系命令中に強制
的に同時に実行可能な演算サイクル、すなわちVサイク
ルを設けることにより一層の処理高速化を実現するパイ
プライン処理制御装置を提供することを目的とする。
〔問題点を解決するための手段〕
本発明の原理ブロック図を第1図に示す。同図は、第1
の記憶手段1が先に処理すべき命令である演算命令の制
御記憶中の制御データを記憶し、第2の記憶手段2が演
算命令に続く演算を必要としない命令、例えばロード命
令の制御データを記憶した状態を示すものである。パイ
プライン制御部4は命令が演算命令であるときには第1
の記憶手段1からの出力により演算部3に同時に実行可
能な演算サイクル、すなわちVサイクルを実行させ、命
令が演算不要のものであるときには第1の記憶手段1と
第2の記憶手段2からの出力により演算部3をデータス
ルーの状態に保ったままでVサイクルを1サイクルだけ
強制的に発生させるためのものである。
〔作用〕
第1図は先に処理すべき命令が演算命令である場合を示
し、例えば計算機の制御記憶(コントロールストレージ
(CS))に格納されているマイクロコードの制御データ
が第1の記憶手段、例えばデータレジスタ(A)1に格
納されている。これに続くロード系命令の制御データは
第2の記憶手段、例えばデータレジスタ(B)2に格納
されている。二つのレジスタの出力選択は、例えばマイ
クロコードのある特定ビットが‘1'であるときにレジス
タ(A)、別の特定ビットが‘1'であるときにレジスタ
(B)とする方式で行なわれる。
演算命令に対しては、第1の記憶手段1、例えばデータ
レジスタ(A)からのVサイクル信号により、パイプラ
イン制御部4は演算部3に起動信号を出力し、演算部を
起動させる。演算が終了すると演算部3はパイプライン
制御部4に処理終了信号を出力し、Vサイクル動作が終
わる。
これに対して、命令がロード系のものであるときには、
第2の記憶手段2、例えばデータレジスタ(B)からの
Vサイクル強制信号と第1の記憶手段1のVサイクル信
号によって、パイプライン制御部4は演算部3にデータ
スルー信号を出力する。このとき演算部3はVサイクル
用には起動されず、図示しないレジスタへのデータ入出
力等のためにデータスルーの状態に保たれる。パイプラ
イン制御部4はVサイクルを強制的に発生させ、それを
1サイクルのみで終了させる。
以上のように本発明ではパイプラインの乱れを防ぐこと
を目的として演算を必要としない命令中に、同時に実行
可能な演算サイクル、すなわちVサイクルを強制的に発
生させる。
〔実施例〕
第2図に本発明のパイプライン処理制御装置の実施例全
体ブロック図を示す。同図でデータレジスタ(A)1は
先に処理すべき命令である演算命令の制御記憶中の制御
データを、またデータレジスタ(B)2は演算命令の次
に実行する演算不要の命令の制御記憶中の制御データを
記憶している。演算部(Eユニット)3は複数のマシン
サイクルから成る演算ステージの一部であり、他の部分
と同時に実行可能な演算サイクル、すなわちVサイクル
演算を実行できるものである。パイプライン制御部4は
命令のパイプライン処理を制御する。制御記憶(CS)5
は制御用の複数のマイクロコードを格納しているもの
で、各マイクロコードの格納アドレスは制御記憶5に与
えられる命令のオペレーションコード(OP−CODE)と一
対一に対応して指定される。レジスタ群6は、演算の途
中で演算結果を演算部3から受け取って一時記憶するた
めのものであり、バッファ制御部(Sユニット)7は演
算結果を外部メモリ8に格納したり、外部メモリ8から
データを取り込むためにバッファの制御を行なう。
本発明では、演算を必要としない命令のパイプライン処
理のフロー中に、制御データによる同時に実行可能な演
算サイクル、すなわちVサイクルを強制的に1サイクル
だけ発生させる方式をとるので、制御記憶の形式を概念
的に第3図に示す。同図でオペレーションコードに対応
して、制御記憶5内のマイクロコードの格納アドレスが
指定され、そのアドレスにあるマイクロコード、同図で
はマイクロコードIIが読み出される。マイクロコードII
は例えば10ビットで構成され、そのうちの特定の1ビッ
ト、A欄は、命令が演算命令であるときに‘1'をたてる
ビット、また別の特定の1ビット、B欄は、演算不要の
命令であるときに‘1'をたてるビットである。他の8ビ
ットには、バッファ制御部(Sユニット)7、演算部
(Eユニット)3等を制御するための制御データが格納
されている。これらのデータは二つのデータレジスタ1,
2のいずれかに記憶された後に、各部の制御用信号とし
て出力される。
第2図と第3図を用いて本発明の実施例の動作について
説明する。第2図で命令のオペレーションコードが与え
られ、制御記憶(CS)5のアドレスが指定され、そのア
ドレスにあるマイクロコードが読み出される。そのコー
ドを第3図でマイクロコードIIとする。マイクロコード
IIのある特定ビット、A欄に‘1'がたっていると演算命
令であるので、データレジスタ(A)1からパイプライ
ン制御部4に対して演算ステージのVサイクルであるこ
とがVサイクル信号として通知され、パイプライン制御
部4は演算部3に対して起動信号を出す。演算部3はそ
の起動信号を受け取ると、演算データをレジスタ群6、
又はバッファ制御部7から取り出し、演算を行なってそ
の結果をレジスタ群6、又はバッファ制御部7に戻すと
同時に、パイプライン制御部4に対して処理終了信号を
出力する。
第3図のマイクロコードの別の特定ビット、B欄に‘1'
がたっている場合には、例えばロード系の命令であり、
データレジスタ(B)2からパイプライン制御部4に対
してVサイクルを強制的に発生させることを指示する信
号が送られる。また、データレジスタ(A)1から先行
する命令がVサイクルを実行するかどうかを示すVサイ
クル信号が送られる。パイプライン制御部4は先行する
命令がVサイクルを発生させるもので、その次に実行す
る命令がロード系命令の時に、演算部3に対して起動信
号は出さずにVサイクルを発生させ、1サイクルのみで
それを終了させる。すなわち、ロード系命令であれば、
パイプライン制御部4は演算部3にデータスルー信号を
出力し、演算部3は、例えばバッファ制御部7からのデ
ータをそのままレジスタ群6に送るデータスルー動作を
行なう。演算部3は処理終了信号を出力せず、Vサイク
ル終了はパイプライン制御部4により制御される。
以上に詳しく説明したように、演算を必要としない命
令、例えばロード命令中に強制的にVサイクルを発生さ
せた場合のパイプライン処理の例を第4図に示す。同図
で演算命令Iより1サイクルだけ遅れてロード命令の処
理が開始されるが、そのロード実行ステージ、すなわち
Eステージの直後に同時に実行可能な演算サイクルであ
るVサイクルが強制的に設けれている。これにより、次
の演算命令IIでは、第6図のようにロード命令中にVサ
イクルを設けない場合と比較してTステージでの待機が
不要となり、その実行は7サイクルで終了し、第6図の
場合より1サイクル、処理が速くなる。また、同様に演
算命令IIIも7サイクルで実行され、処理が1サイクル
速くなる。
この実施例では第3図の制御記憶5内のマイクロコード
中の特定ビットが‘1'である場合に強制的にVサイクル
を発生させる方式としたが、命令のオペレーションコー
ドを見て、ハード的にVサイクル強制発生を行なうこと
もできることはもちろんである。
〔発明の効果〕
命令をパイプライン方式で処理する計算機システムにお
いて、連続する演算命令の間にロード命令等の演算不要
の命令が介在する場合、その処理フロー中に同時に実行
可能な演算サイクルを強制的に発生させることにより、
パイプラインの乱れをなくし、高速化が実現される。
【図面の簡単な説明】
第1図は本発明のパイプライン処理制御装置の原理ブロ
ック図、 第2図は本発明の実施例の全体ブロック図、 第3図はVサイクル発生のための制御記憶の概念図、 第4図はロード命令中にVサイクルを発生させたときの
パイプライン処理説明図、 第5図(a),(b)は演算命令中にのみVサイクルを
設ける従来例におけるパイプライン処理説明図、 第6図は連続する演算命令の間にロード命令がある場合
の処理遅れの説明図である。 1……データレジスタ(A)、 2……データレジスタ(B)、 3……演算部(Eユニット)、 4……パイプライン制御部、 5……制御記憶(CS)、 6……レジスタ群、 7……バッファ制御部(Sユニット)、 8……外部メモリ.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 杉浦 聡 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 萩原 哲也 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 田中 正人 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】演算命令処理時に、複数のマシンサイクル
    から成る演算実行ステージ中のある特定演算サイクル
    (V)を、他の演算命令の演算実行ステージ中で該特定
    演算サイクル(V)に相当するサイクル(V)以外のサ
    イクル(E)と同時に実行することのできるパイプライ
    ン方式の計算機において、処理すべき命令の制御データ
    を記憶する第1の記憶手段(1)と、前記処理すべき命
    令の次に実行する命令の制御データを記憶する第2の記
    憶手段(2)と、演算を実行する演算部(3)と、演算
    命令実行時に前記第1の記憶手段(1)からの出力によ
    り該演算命令実行ステージのうちの前記特定演算サイク
    ル(V)を前記演算部(3)に実行させ、また演算不要
    の命令実行時に前記第1の記憶手段(1)と前記第2の
    記憶手段(2)からの出力により前記特定演算サイクル
    (V)に相当する特定演算サイクル(V)を強制的に発
    生させるパイプライン制御部(4)を有することを特徴
    とするパイプライン制御装置。
  2. 【請求項2】前記演算不要の命令はロード命令であるこ
    とを特徴とする特許請求の範囲第1項記載のパイプライ
    ン制御装置。
  3. 【請求項3】前記演算命令の演算実行ステージは2サイ
    クルであることを特徴とする特許請求の範囲第1項記載
    のパイプライン制御装置。
  4. 【請求項4】前記演算不要の命令の命令実行ステージは
    1サイクルであることを特徴とする特許請求の範囲第1
    項記載のパイプライン制御装置。
JP29181387A 1987-11-20 1987-11-20 パイプライン制御装置 Expired - Fee Related JPH0766325B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29181387A JPH0766325B2 (ja) 1987-11-20 1987-11-20 パイプライン制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29181387A JPH0766325B2 (ja) 1987-11-20 1987-11-20 パイプライン制御装置

Publications (2)

Publication Number Publication Date
JPH01134530A JPH01134530A (ja) 1989-05-26
JPH0766325B2 true JPH0766325B2 (ja) 1995-07-19

Family

ID=17773748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29181387A Expired - Fee Related JPH0766325B2 (ja) 1987-11-20 1987-11-20 パイプライン制御装置

Country Status (1)

Country Link
JP (1) JPH0766325B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0503968B1 (en) * 1991-03-14 1999-01-07 Fujitsu Limited Pipeline operation control method and system

Also Published As

Publication number Publication date
JPH01134530A (ja) 1989-05-26

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
US5051896A (en) Apparatus and method for nullifying delayed slot instructions in a pipelined computer system
EP0272705B1 (en) Loosely coupled pipeline processor
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
JPS5816490B2 (ja) 複数の命令を同時に実行する方法
JPS63131230A (ja) 情報処理装置
JP3237858B2 (ja) 演算装置
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH0766325B2 (ja) パイプライン制御装置
JP2567134B2 (ja) ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ
JPS60178580A (ja) 命令制御方式
US5812836A (en) System for processing iterative tasks in data processing systems
JP2558831B2 (ja) パイプライン制御方式
GB2069733A (en) Conditional instruction execution in a pipelined processor
JPS6125166B2 (ja)
JP2812610B2 (ja) パイプライン制御方式
JP2545594B2 (ja) オペランドデータ先取り方式
EP0211487A1 (en) Conditional operations in computers
JPH0634205B2 (ja) ベクトル演算処理装置
JPH0222417B2 (ja)
JPS63205732A (ja) 情報処理装置
JPH04116726A (ja) 情報処理装置
JPS60144874A (ja) ベクトルデ−タ処理装置
JPH0243626A (ja) コンピュータ・プロセッサの実行速度を制御する装置
JPH10320380A (ja) ベクトル処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees