JPH0269825A - パイプライン制御方式 - Google Patents

パイプライン制御方式

Info

Publication number
JPH0269825A
JPH0269825A JP22139888A JP22139888A JPH0269825A JP H0269825 A JPH0269825 A JP H0269825A JP 22139888 A JP22139888 A JP 22139888A JP 22139888 A JP22139888 A JP 22139888A JP H0269825 A JPH0269825 A JP H0269825A
Authority
JP
Japan
Prior art keywords
instruction
cycle
arithmetic
stage
instructions
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
JP22139888A
Other languages
English (en)
Other versions
JP2558831B2 (ja
Inventor
Fumio Matsunoshita
松野下 文郎
Akisumi Koike
小池 夫澄
Masato Tanaka
正人 田中
Yoshihiro Mizushima
水島 芳宏
Tetsuya Hagiwara
哲也 萩原
Satoshi Sugiura
聡 杉浦
Yoshitaro Shinoda
信太 由太郎
Tatsuki Nakada
達己 中田
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 JP63221398A priority Critical patent/JP2558831B2/ja
Publication of JPH0269825A publication Critical patent/JPH0269825A/ja
Application granted granted Critical
Publication of JP2558831B2 publication Critical patent/JP2558831B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [Ja  要] 命令をパイプライン方式で処理する計算機におけるパイ
プラインの制御に関し、 演算不要の命令の処理に際して特定の演算サイクルを発
生せしめて処理を高速化する如く構成されたパイプライ
ンをより効率的に動作せしめることを目的とし、 演算不要の命令がパイプラインに投入されたとき、該命
令の直前の命令および直後の命令が演算命令であるか否
かを識別する手段と、前記演算不要の命令の直前の命令
および直後の命令が演算命令でないとき、前記特定演算
サイクル(V)の発生を抑止する手段とを設けることに
より構成する。
[産業上の利用分野] 本発明は電子計算機システムにおける処理高速化の手段
として用いられるパイプライン処理制御装置に係り、特
に本来演算を必要としないロード系の命令等に、■サイ
クルとして、他の命令処理フローの演算ステージのVサ
イクル以外のサイクルと同時に実行可能な演算サイクル
を強制的に設けることにより処理の一層の高速化を可能
とするパイプライン処理制御方式に関する。
[従来の技術] 電子計算機の処理を高速化する目的でパイプライン処理
が広く用いられている。これは与えられた命令の実行手
順を、例えば命令解読、アドレス計算、オペランド取出
し、演算、結果の格納といった各段階(ステージ)の動
作に分割し、各ステージを実行するハードウェア機構を
用意し、各ステージの実行部はステージ動作の終了後そ
の結果を次のステージ実行部に渡すとともに、次の命令
に対する同一ステージを実行するものである。この方式
では、複数の命令が並列的に処理されるので、処理速度
が向上する。
一方、計算機のマシンサイクルは機種により決定され、
上述の命令解読、アドレス計算等の各ステージがすべて
1マシンサイクルで実行されるか否かはパイプライン処
理の速度に大きな影背がある。すべてのステージが1サ
イクルで終了する場合にはパイプラインの乱れもなく、
最短時間で処理を行なうことができるが、実際には2マ
シンサイクル以上の時間を要するステージも少なくない
。その典型的な例が演算命令中の演算実行ステージであ
る。演算実行には、その内容によって数サイクルを必要
とすることもある。
演算命令の実行時にパイプラインの乱れをなくし、高速
化をはかる手段として、演算ステージを構成する複数サ
イクルのうちの特定サイクルを、他の命令の演算ステー
ジにおけるこの特定サイクル以外のサイクルと同時に実
行可能とする方法がある。この同時に実行可能な演算サ
イクルは必要に応じてマイクロコードによって設けられ
るものでバニッシュサイクルと呼ばれる。以下これをV
サイクルと言う。
上述のように演算ステージを分割し、同時に実行可能な
演算サイクル、すなわち■サイクルを設けた場合の処理
高速化を、第5図を例にとって説明する。同図(a)は
Vサイクルを設けない場合、ら)は設けた場合を示す。
各ステージを表す記号り、A、T、B、E、Wはそれぞ
れDは命令解読(デコード)、Aはデータ読出し等の場
合のアドレス計算、Tはデータがバッファ記憶にあるか
否かのチエツクと論理アドレスから実アドレスへの変換
(トランスレーション)、Bはバッファデータのリード
、Eは実行(エグゼキューション)、Wは結果をレジス
タ等に格納するライトのステージを示している。
第5図(a)で命令Iと■は同種の演算命令でその最短
処理時間は等しいものとする。ただし演算ステージは2
サイクルにわたっており、命令Iはり、A、T、B、E
、E、Wの7サイクルで処理される。命令■は命令■よ
り1サイクルだけ遅れてその処理が開始され、D、A、
T。
B、の順にステージ動作が進行した後、本来は次のEス
テージに直ちに移行するはずであるが、命令■にEステ
ージが続いているためにEステージに移行できず、Bス
テージを再度繰り返して待機する必要がある。その結果
、命令Hの処理には8サイクルを要し、処理が遅れる。
これに対して第5図ら)では演算ステージ2サイクルを
EとVの各サイクルに分割し、■サイクルを同時に実行
可能な演算サイクルとするために、命令■のVサイクル
のところで命令Hの演算ステージを実行開始することが
でき、Bステージでの待機が不要となり、命令■も7サ
イクルで終了する。
上述のように演算命令中に同時に実行可能な演算サイク
ル、すなわちVサイクルを設けることにより、演算命令
が連続する場合には処理の高速化に有効である。しかし
ながら演算の途中でレジスタを用いる場合にはレジスタ
へのデータセット等のためにロード系の命令を使うこと
が必要となる。このロード系命令は一般に1サイクルで
処理され、しかも演算ステージを必要としないため、前
述のVサイクルを発生できず、その結果パイプラインの
乱れを生じ、高速化を妨げる原因になるという問題があ
る。その例を第6図により説明する。
第6図で演算命令Iで演算ステージはEとVの2サイク
ルにわたっている。次のロード命令では、D、A、T、
Bまでの各ステージの処理に問題はない。その後の実行
ステージ、すなわちロード実行ステージEは命令【の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ステージの繰返は以後の演算命令処理
を遅らせる原因となる。すなわち、次の演算命令■では
り、A、Tの各ステージをそれぞれ1サイクルで処理し
た後、直ちにBステージに移行できずにTステージで待
機する必要があり、また演算命令■の処理ではAステー
ジでの待機が必要となる。
このような問題を解決するため、すでに、特願昭62−
291813号により、ロード命令などの演算を必要と
しない命令を実行する場合に、■サイクルを強制的に発
生させることによってバイブライン上のデータの流れを
円滑化して、処理速度を向上せしめる技術的手段が開示
されている。
[発明が解決しようとする課題] 上述したような、演算を必要としない命令を実行する場
合にVサイクルを強制的に発生させる方法は、マイクロ
コード中に特定フィールドを設定し、該フィールドの内
容が“1”であるか“0”であるかによって制御を行な
っている。
そして、この特定フィールドの値は、マイクロコードを
処理装置にロードした時点で決定し、以降、マイクロコ
ードを変更しない限り不変であった。
そのため、例えばロード命令のマイクロコード中にVサ
イクル制御フィールドが“有効”を指示していた場合、
該ロード命令は実行の都度Vサイクルを発生する。
この方式では、演算命令が連続する中にロード命令が孤
立的に存在する場合には第7図(a)に示すように、パ
イプラインは各ステージが整然と円滑に移行するから、
損失時間を生ずることがなく高速な処理を期待できる。
ところが、ロード命令の前後に演算命令がない場合につ
いて見ると、第7図ら)に表示したように、英字群して
示す損失時間を生ずることになる。 そして、このよう
に、ロード命令が間に挿入された命令群では、ロード命
令の数だけ損失時間を生ずることになる。
本発明はこのような従来の問題点に鑑み、ロード命令な
どの演算を必要としない命令でVサイクルを強制的に発
生させる場合に、該命令が他の演算を必要としない命令
群の中に存在する場合であっても損失時間を生ずること
のないバイブライン制御方式を提供することを目的とし
ている。
[課題を解決するだめの手段] 本発明によれば、上述の目的は前記特許請求の範囲に記
載した手段により達成される。すなわち、本発明は、演
算命令処理時に、複数のマシンサイクルから成る演算実
行ステージ中のある特定演算サイクル(V)を、他の演
算命令の演算実行ステージ中で該特定演算サイクル(V
)に相当するサイクル(V)以外のサイクル(E)と同
時に実行することが可能であり、処理すべき命令が演算
不要の命令であるとき強制的に前記特定演算サイクル(
V)を発生せしめる如く構成させたバイブライン方式の
計算機において、演算不要の命令がパイプラインに投入
されたとき、該命令の直前の命令および直後の命令が演
算命令であるか否かを識別する手段と、前記演算不要の
命令の直前の命令および直後の命令が演算命令でないと
き、前記特定演算サイクル(V)の発生を抑止する手段
とを設けたパイプライン制御方式である。
[作 用] 第1図は本発明の詳細な説明するための図であって、l
はコントロールストレージ(以下C8とも言う。図にお
いてもC8と記載している。)、21〜2.はマイクロ
コードのVサイクル制御フィールドの移行を表わしてい
る。
同図に示すようにC81からデコード(D)ステージで
読み出されたVサイクル制御フィールド2.は順次各ス
テージΔ〜Eへ22〜2.として移行するが、その値が
“1”であるときVサイクルが発生する。
本発明による前述の手段においては、ロード命令などの
演算不要の命令がパイプラインに投入されたとき、該命
令の直前の命令および直後の命令を見て、それらが演算
不要の命令であるとき、前記マイクロコードのVサイク
ル制御フィールドの値を例えばハードウェアによって強
制的に0″にしてVサイクルの発生を抑止する。
これによって、第2図のタイムチャートに示すように、
演算不要の命令が連続して発生し、例えばロード命令が
演算不要の命令間に存在する同図のような場合において
の損失時間の発生を防止することができる。
[実施例] 第3図は本発明の一実施例のブロック図である。
同図は、大きく分けて3つの部分(ユニット)からなる
。すなわち、それらは、命令の解読およびオペランド・
アドレスを計算しリクエストを出す命令制御部8と該命
令制御部8からのリクエストとアドレス情報とにより、
データを読み出してくるバッファ制御部10と該データ
により演算を行う演算部9である。
また、同図において5は命令のオペコード等から読み出
されるマイクロコードを記憶しておくコントロール・ス
トレージ(C3) 、11〜14はCS5から読み出さ
れたコードを保持しておく各ステートのレジスタである
また、15はロード命令を示すレジスタで、これはC3
又は命令のオペコードでセットされる。
一方、6はロード命令とその直前の命令との関係を検出
する検出回路、7は■サイクル制御フィールドを受けて
パイプラインのステートを制御するパイプライン制御孔
、3は演算部とのインタフェース部、4はバッファ制御
部とのインタフェース部を表わしている。以下実施例の
動作について第4図のタイムチャートを用いて説明する
第4図(a)は演算命令AのVサイクル制御フィールド
がC8から読み出されて各ステートのレジスタ11.1
2.13に伝搬されて行き、一方、次のロード命令がパ
イプラインに投入され、同様にC8から読み出されたフ
ィールドがレジスタに伝搬されて行く様子を示している
演算命令のTステートすなわちロード命令のAステート
のタイミングで、レジスタ12とレジスタ11そしてレ
ジスタ15の出力が検出回路6に入る。該検出回路6で
はレジスタ12がオンでかつレジスタ11がオンでかつ
レジスタ15がオン(ロード命令)であったらレジスタ
12ヘセツトするためのセレクト信号を出す。この信号
によってレジスタ11からレジスタ12へ値が伝搬され
る。もし、このタイミングでレジスタ12がオフ(すな
わち演算命令でない)であったらレジスタ12へのセレ
クトが出すにレジスタ11からの値は伝搬されない。そ
してレジスタ12がオフとなるとその処理はVステート
を発生せずに第4図(b)のタイムチャートに示すよう
に通常の動きとなる。■ステートを発生させるかどうか
は、レジスタ12以降の出力がバイブライン制御部7へ
送られオンの場合はVステートを発生しオフの場合はV
ステートを発生しないように制御される。又、それと同
時にE−ユニット9及びS−ユニット10のインタフェ
ースもバイブラインのステートと同期をとらなければな
らないので、これらの処理をインタフェース部3および
4で行なっている。
この方法によれば、ロード命令はC8から読み出された
時点ではVステート発生となっているが、直前の命令が
演算命令であるか演算不要命令であるかによってVステ
ートの発生の有無を自由に設定できる。
[発明の効果] 以上説明したように、本発明によれば、命令をパイプラ
イン方式で処理する計算機における、連続する演算命令
の間にロード命令等の演算不要の命令が介在する場合に
その処理フロー中に同時に実行可能な演算サイクル(V
サイクル)を強制的に発生させることにより、バイブラ
インの乱れをなくし処理の高速化を図ったバイブライン
制御方式において、演算不要の命令の間にロード命令等
の演算不要の命令が存在し、■サイクルを発生すること
が、むしろ損失を招く状態であるとき該Vサイクルの発
生を抑止することができるので、バイブラインの処理効
率を一層高めることができる利点がある。
【図面の簡単な説明】
第1図は本発明の詳細な説明するための図、第2図は本
発明の詳細な説明するためのタイムチャート、第3図は
本発明の一実施例のブロック図、第4図は実施例の動作
の例を示すタイムチャート、第5図は従来のVサイクル
を設けて処理を高速化する例について説明する図、第6
図は連続する演算命令の中にロード命令がある場合の処
理の遅れについて説明する図、第7図は、強制的にVサ
イクルを発生すると演算不要命令中にロード命令が存在
する場合に損失時間を生ずることを説明する図である。 1.5・・・・・・コントロールストレージ2、〜2g
・・・・・・Vサイクル制御フィールドの移行、3.4
・・・・・・インタフェース部、6・・・・・・検出回
路、7・・・・・・パイプライン制御部、8・・・・・
・命令制御部、9・・・・・・演算部、10・・・・・
・バッファ制御部、11〜15・・・・・・レジスタ ホ発朗の一実箋伊1のブロック図

Claims (1)

  1. 【特許請求の範囲】 演算命令処理時に、複数のマシンサイクルから成る演算
    実行ステージ中の、ある特定演算サイクル(V)を、他
    の演算命令の演算実行ステージ中で該特定演算サイクル
    (V)に相当するサイクル(V)以外のサイクル(E)
    と同時に実行することが可能であり、処理すべき命令が
    演算不要の命令であるとき強制的に前記特定演算サイク
    ル(V)を発生せしめる如く構成されたパイプライン方
    式の計算機において、 演算不要の命令がパイプラインに投入されたとき、該命
    令の直前の命令および直後の命令が演算命令であるか否
    かを識別する手段と、 前記演算不要の命令の直前の命令および直後の命令が演
    算命令でないとき、前記特定演算サイクル(V)の発生
    を抑止する手段とを設けたことを特徴とするパイプライ
    ン制御方式。
JP63221398A 1988-09-06 1988-09-06 パイプライン制御方式 Expired - Fee Related JP2558831B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63221398A JP2558831B2 (ja) 1988-09-06 1988-09-06 パイプライン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63221398A JP2558831B2 (ja) 1988-09-06 1988-09-06 パイプライン制御方式

Publications (2)

Publication Number Publication Date
JPH0269825A true JPH0269825A (ja) 1990-03-08
JP2558831B2 JP2558831B2 (ja) 1996-11-27

Family

ID=16766134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63221398A Expired - Fee Related JP2558831B2 (ja) 1988-09-06 1988-09-06 パイプライン制御方式

Country Status (1)

Country Link
JP (1) JP2558831B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520064A (ja) * 1991-07-17 1993-01-29 Fujitsu Ltd パイプライン制御方式
US5548736A (en) * 1991-03-14 1996-08-20 Fujitsu Limited Method and apparatus overcoming delay introduced by instruction interlocking in pipelined instruction execution

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5710872A (en) * 1980-06-25 1982-01-20 Fujitsu Ltd Instruction control device
JPS58182758A (ja) * 1982-04-20 1983-10-25 Toshiba Corp 演算制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5710872A (en) * 1980-06-25 1982-01-20 Fujitsu Ltd Instruction control device
JPS58182758A (ja) * 1982-04-20 1983-10-25 Toshiba Corp 演算制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548736A (en) * 1991-03-14 1996-08-20 Fujitsu Limited Method and apparatus overcoming delay introduced by instruction interlocking in pipelined instruction execution
JPH0520064A (ja) * 1991-07-17 1993-01-29 Fujitsu Ltd パイプライン制御方式

Also Published As

Publication number Publication date
JP2558831B2 (ja) 1996-11-27

Similar Documents

Publication Publication Date Title
KR0133238B1 (ko) 컴퓨터 프로세싱 시스템 및 인스트럭션 실행방법
EP0111776B1 (en) Interrupt processor
JPH04367936A (ja) スーパースカラープロセッサ
EP0094535A2 (en) Pipe-line data processing system
JPH03286332A (ja) デジタルデータ処理装置
JPH0269825A (ja) パイプライン制御方式
JPH09138748A (ja) 浮動小数点命令の早期完了方法および装置
US4935849A (en) Chaining and hazard apparatus and method
JP3014682B2 (ja) プログラム制御方法及び装置
JP2812610B2 (ja) パイプライン制御方式
JP2553728B2 (ja) 演算装置
JPS5896345A (ja) 階層型演算方式
JPH07244588A (ja) データ処理装置
JP3743155B2 (ja) パイプライン制御型計算機
JPH06149569A (ja) レジスタ番号変更装置
JP2000003279A (ja) Vliwプロセッサ、プログラム生成装置、および記録媒体
WO1993018451A1 (en) Elimination of the critical path in memory control unit and input/output control unit operations
JPH04353923A (ja) 電子計算機の並列命令実行方式
JP2545594B2 (ja) オペランドデータ先取り方式
JPH0228724A (ja) 分岐命令制御方式
JPH0769800B2 (ja) データ処理装置
JPH0766325B2 (ja) パイプライン制御装置
JPH04116726A (ja) 情報処理装置
JPH0342721A (ja) 情報処理装置
JPH08202687A (ja) パイプライン制御方式

Legal Events

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