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

パイプライン制御方式

Info

Publication number
JPH0227429A
JPH0227429A JP17776688A JP17776688A JPH0227429A JP H0227429 A JPH0227429 A JP H0227429A JP 17776688 A JP17776688 A JP 17776688A JP 17776688 A JP17776688 A JP 17776688A JP H0227429 A JPH0227429 A JP H0227429A
Authority
JP
Japan
Prior art keywords
operand
stage
instruction
main memory
address
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
JP17776688A
Other languages
English (en)
Inventor
Kunihiro Sugawa
酉川 晋宏
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 JP17776688A priority Critical patent/JPH0227429A/ja
Publication of JPH0227429A publication Critical patent/JPH0227429A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 パイプラインによって制御されるデータ処理装置におい
て、主記憶に対するオペランドフェッチと、レジスタに
対するオペランドフェッチとの間に時間差1のあるオペ
ランドフェッチを行う際のパイプライン制御方式に係り
、特に、主記憶に対するオペランドフェッチの制御方式
に関し、主記憶に対するオペランドフェッチと、レジス
タに対するオペランドフェッチとの間に時間差のあるオ
ペランドフェッチを行う命令を実行する際の演算ステー
ジでの空き時間を無くすることを目的とし、 前命令の処理中の主記憶オペランドのアドレス計算の為
の演算器の空き時間に、該アドレス演算器を用いて、当
該命令の主記憶オペランドのアドレス計算、及び該主記
憶に対するフェッチ要求を送出するように制御する。
〔産業上の利用分野〕
本発明は、パイプラインによって制御されるデータ処理
装置において、主記憶に対するオペランドフェッチと、
レジスタに対するオペランドフェッチとの間に時間差の
あるオペランドフェッチを行う際のパイプライン制御方
式に係り、特に、主記憶に対するオペランドフェッチの
制御方式に関する。
従来から、計算機システムの処理能力を向上させる為に
、複数個の命令をパイプラインに投入して、該投入され
た複数個の命令を並列に実行することが行われている。
然しなから、例えば、主記憶に対するオペランドフェッ
チと、レジスタに対するオペランドフェッチとの間に時
間差があると、レジスタオペランドは、例えば、1τで
得られるのに比較して、主記憶オペランドは、例えば、
2rかかるようなケースでは、該主記憶からのオペラン
ドデータが得られる迄、演算ステージを実行することが
できないことから、パイプラインの演算ステージ(Eス
テージ)に空きが生じるという問題があり、該演算ステ
ージの空きを生じさせないパイプライン制御方式が必要
とされていた。
〔従来の技術と発明が解決しようとする課題〕第2図は
従来のパイプライン制御方式を説明する図であって、(
a)はレジスタオペランドと主記憶オペランドによる加
算命令の場合を示し、(b)は2オペランドの除算命令
の場合を示している。
通常、パイプライン計算機においては、演算ステージ(
Eステージ)に空きが生じないように制御されており、
例えば、オペランドアドレスの計算、オペランドフェッ
チ要求を行うAステージにおいては、前の命令のEステ
ージが終了する迄、同じAステージの状態で待ち続ける
ように動作する。
又、該Aステージは1回実行されると、直ぐ、次のEス
テージに遷移するように動作する為、例えば、2つの主
記憶オペランドを持つ命令を実行する場合、Aステージ
で第1オペランドのアドレス計算を行うと、第2オペラ
ンドは次のEステージにおいて、同じアドレス計算用の
演算器を使用してアドレス計算を行うように機能する。
そして、Aステージでは、純ハードウェア論理によりア
ドレス計算を行うが、Eステージでは、元々マイクロプ
ログラム化されていることから、該アドレス計算に対し
てもマイクロプログラムによって演算される。
又、一般に、主記憶に対するオペランドフェッチは、レ
ジスタに対するオペランドフェッチに比較してフェッチ
時間が長く、例えば、2τ必要とする為、あるEステー
ジでフェッチ要求を送出しても、咳主記憶オペランドの
データが得られるのは2τ後であることから、該アドレ
ス演算器に空きが生じることがある。
該Eステージで実行されるアドレス演算器の空きは、例
えば、マイクロプログラムレジスタの内容が、無操作命
令(NOP)であるかどうかを検出することで知ること
ができる。
上記パイプライン計算機の一般的な動作態様を前提にし
て、第2図(a) 、 (b)に示した各ケースの動作
を説明する。
(a)  レジスタに対するオペランドフェッチ(例え
ば、1τ必要)と、主記憶に対するオペランドフェッチ
(例えば、2τ必要)に時間差があって、該主記憶に対
するオペランドフェッチが1つである加算命令(ADD
)の場合: 先ず、Dステージで、該加算命令(ADD)■がデコー
ドされ、次のAステージで主記憶に対する第2オペラン
ド(OF2)のアドレスの計算と、フェッチ要求が送出
されると共に、汎用レジスタに対する第1オペランド(
OPI)のアクセス要求が送出される。
本例においては、前の命令■のEステージ(E7)は、
図示されている如(に、本加算命令(ADD)のAステ
ージで終了しているので、当該加算命令(八〇〇)は、
該Aステージの終了で、即、E0ステージに遷移でき、
上記第1オペランド(OPI)は、ワークのAレジスタ
30に設定されるが、第2オペランド(OF2)である
主記憶オペランドは、前述のように2τかかるので、当
該E0ステージではワークのBレジスタ31に設定でき
ず、次のE1ステージで、該Bレジスタ31に設定され
る。
従って、該加算演算(ADD)は、該E、ステージで実
行されることになり、図示されている如くに、E0ステ
ージが空き(オペランド演算器4.アドレス演算器lの
空き)サイクルとなってしまうという問題があった。
(b)主記憶オペランドが2オペランド(OPI、0P
2)である除算命令の場合: この場合には、当該除算命令■のAステージにおいて、
主記憶オペランド(OF2)に対するアドレス計算と、
フェッチ要求が送出され、m<、EOステージで主記憶
オペランド(OPI)に対するアドレス計算とフェッチ
要求が送出される結果、2τ後のE3ステージで該2つ
の主記憶オペランド(OPl、0P2)のデータが揃い
、該Btステージにm < E、ステージ塩において、
除算が実行されることになる。
従って、この場合には、E、ステージに空き(オペラン
ド演算器4.アドレス演算器1の空き)が生じることに
なる。
このように、パイプライン計算機のEステージにおいて
は、その命令の形式によって空きサイクルが生じるとい
う性質がある。
本発明は上記従来の欠点と性質に鑑み、パイプラインに
よって制御されるデータ処理装置において、主記憶に対
するオペランドフェッチと、レジスタに対するオペラン
ドフェッチとの間に時間差のあるオペランドフェッチを
行う際の演算ステージの空きサイクルを無くするパイプ
ライン制御方式を提供することを目的とするものである
〔課題を解決するための手段〕
上記の問題点は下記の如くに構成されたパイプライン制
御方式によって解決される。
パイプラインによって制御されるデータ処理装置におい
て、主記憶に対するオペランドフェッチと、レジスタに
対するオペランドフェッチとの間に時間差のあるオペラ
ンドフェッチを必要とする命令■を実行する際、 前命令の処理中の主記憶オペランドのアドレス計算の為
の演算器の空き時間に、該アドレス演算器を用いて、上
記命令■の主記憶オペランドのアドレス計算、及び主記
憶に対するフェッチ要求を送出するように制御する 〔作用〕 即ち、本発明によれば、パイプラインによって制御され
るデータ処理装置において、主記憶に対するオペランド
フェッチと、レジスタに対するオペランドフェッチとの
間に時間差のあるオペランドフェッチを必要とする命令
■を実行する際、該主記憶に対する複数個のオペランド
フェッチのみを実行する命令においては、一般に、主記
憶に対するオペランドフェッチの動作態様によって、E
ステージの種々のステージにおいて、アドレス計算器に
空きが生じること、及び、一般に、該Eステージが終了
する迄、次の命令のAステージが待っていることに着目
して、前の命令の上記Eステージの空きサイクルを当該
命令■のAステージにおいて捕捉し、主記憶オペランド
のアドレス計算。
フェッチ要求を行い、予め、該主記憶オペランドを特定
のレジスタに先取りしておいて、当該命令■のEステー
ジに空きサイクルが生じないように制御する。
従って、本発明を実施した場合には、主記憶に対するオ
ペランドフェッチと、レジスタに対するオペランドフェ
ッチとの間に時間差のあるオペランドフェッチを必要と
する命令のEステージでの空き (オペランド演算器の
空き)サイクルがな(なり、該パイプライン計算機の性
能を向上させることができる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
第1図は本発明の一実施例を模式的に示した図であり、
(a)は前命令の61 ステージでアドレス演算器が空
いている場合を示し、(b)は前命令のE6ステージで
アドレス演算器が空いている場合を示し、(c)はアド
レス演算器の空きステージの検出手段を示しており、該
前命令におけるアドレス演算器の空きステージを次の命
令のAステージにおいて捕捉し、主記憶オペランドをフ
ェッチする為のアドレス計算、フェッチ要求を行う手段
が本発明を実施するのに必要な手段である。尚、全図を
通して同じ符号は同じ対象物を示している。
以下、第1図によって本発明のパイプライン制御方式を
説明する。
前述のように、主記憶オペランドのアドレスを計算する
為のアドレス計算器1は、Aステージで使用される場合
には、純ハードウェア論理で使用されるが、Eステージ
で使用される場合には、マイクロプログラムによって使
用されている。
従って、該アドレス計算器1が該Eステージで使用され
ているか否かは、(c)図に示したように、マイクロプ
ログラムのマイクロ命令レジスタ2に、例えば、無操作
命令(NOP)が設定されているか否かをデコーダ2a
で検出することにより認識することができる。
該検出信号[相]により、該アドレス計算器1に対する
入力レジスタ(インデックスレジスタ(XR) 。
ペースレジスタ(BR) 、ディスプレイスメント(D
R))を、命令パイプラインのAステージから取り出す
か、Eステージから取り出すかを切り換えると共に、該
アドレス計算の実行制御をマイクロプログラムで行うか
、ハードウェア論理で行うかを切り換えるように機能さ
せることで、以下に説明するアドレス計算器1の切り換
え制御が実現できる。
先ず、(a)の例について説明する。この例では、注目
している加算命令(該命令が、前述のように、主記憶(
MS)に対するオペランドフェッチと、レジスタに対す
るオペランドフェッチとの間に時間差のあるオペランド
フェッチを必要とする命令である) (ADD)■の前
の命令■がOPI’ 、 ’OP2’で示す主記憶オペ
ランドを2つ持っている除算命令であって、Eステージ
は、図示されている如くに、E。〜E、、迄を必要とし
、前述のように、E、ステージでアドレス演算器が空い
ている場合、当該加算命令(ADD)■において、待ち
状態にあるAステージの上記E、ステージのサイクルに
おいて、(C)図に示した手段で、該アドレス計算器1
を取り込み、該加算命令(ADD)■の為の主記憶オペ
ランドのアドレス計算、フェッチ要求を行い、例えば、
2τ後において得られた該フェッチデータを、先取り用
のPレジスタ33にセットしておき、前命令■のEステ
ージ(E、ステージ)の終了と同時に、該加算命令(A
DD)■を実行ステージ(E+ステージ)に遷移させ、
又、上記先取りしている主記憶オペランドのPレジスタ
33からBレジスタ31への転送と、汎用レジスタ(G
Rで示す)からのレジスタオペランドのフェッチ(Aレ
ジスタ30へのセット)を行い、従来方式で必要として
いたE0ステージを省略して、E、ステージで該加算処
理を実行させるようにすることができる。
次の(b)図に示した例は、主記憶オペランドデータを
受は取るタイミングと同時に、前命令が終了する場合で
ある。
即ち、注目している上記の加算命令(ADD)■の簡の
命令■が命令■と同様加算命令(ADD)であって、E
ステージは、図示されている如(に、Eo。
及びE1迄の2ステージを必要とし、前述のように、E
0ステージでアドレス演算器が空いている場合であって
、当該加算命令(ADD)■において、待ち状態にある
Aステージの上記E0ステージのサイクルにおいて、(
C)図に示した手段で、該アドレス計算器1を取り込み
、該加算命令(ADD)■の為の主記憶オペランドのア
ドレス計算、フェッチ要求を行い、例えば、2τ後のに
おいて得られた該フェッチデータを受は取るタイミング
において、前命令■のEステージ(E、ステージ)の終
了となるので、該主記憶オペランドデータを直接ワーク
のBレジスタ31にセットすると共に、汎用レジスタ(
GR)からのレジスタオペランドをAレジスタ30にセ
ットして、該加算命令(ADD)■を実行ステージ(E
lステージ)に遷移させることで、従来方式で必要とし
ていたE0ステージを省略して、E、ステージで該加算
処理を実行させることができる。
この例においては、(a)図に示した例のように、主記
憶オペランドデータをPレジスタ33に設定して、続く
該加算命令のE、ステージにおいて、へ十P =OCな
る演算を行うようにしても良いことはいう迄もないこと
である。
尚、第1図(a) 、 (b)において示したA、ステ
ーシバ、315 Aステージの処理が既に実行済みであ
ることを示している。
このように、本発明は、命令処理中のEステージにおい
て、アドレス計算器が空いている場合があることに着目
し、後続の命令が、例えば、主記憶に対するオペランド
フェッチと、レジスタに対するオペランドフェッチとの
間に時間差のあるオペランドフェッチを行う命令の場合
に、上記前命令中のアドレス演算器の空き時間を検出し
て、当該命令の主記憶オペランドフェッチの為のアドレ
ス計算、フェッチ要求を行い、該主記憶オペランドを先
取りして、当該命令の演算ステージでの空きの発生を無
くするようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明のパイプライン制
御方式は、パイプラインによって制御されるデータ処理
装置において、主記憶に対するオペランドフェッチと、
レジスタに対するオペランドフェッチとの間に時間差の
あるオペランドフェッチを行う命令を実行する際に、前
命令の処理中の主記憶オペランドのアドレス計算の為の
演算器の空き時間に、該アドレス演算器を用いて、当該
命令の主記憶オペランドのアドレス計算、及び主記憶に
対するフj−ソチ要求を送出するようにしたものである
ので、該主記憶に対するオペランドフェッチと、レジス
タに対するオペランドフェッチとの間に時間差のあるオ
ペランドフェッチを必要とする命令のEステージでの空
きサイクルがなくなり、該パイプライン計算機の性能を
向上させることができる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を模式的に示した図。 第2図は従来のパイプライン制御方式を説明する図。 である。 図面において、 1はアドレス計算器、又はアドレス演算器。 2はマイクロ命令レジスタ。 2aはデコーダ。 4はオペランド演算器。 ■は前命令、父はm’ti伜卒、■は加算命令。 [相]はデコーダ出力で°NOP’を示す信号。 D、A、Et、C,−はパイプラインの各ステージ。 OPI、OP2はオペランド。 GRは汎用レジスタ、   MSは主記憶。 をそれぞれ示す。

Claims (1)

  1. 【特許請求の範囲】 パイプラインによって制御されるデータ処理装置におい
    て、主記憶に対するオペランドフェッチと、レジスタに
    対するオペランドフェッチとの間に時間差のあるオペラ
    ンドフェッチを必要とする命令([2])を実行する際
    、 前命令の処理中の主記憶オペランドのアドレス計算の為
    の演算器(1)の空き時間に、該アドレス演算器(1)
    を用いて、上記命令([2])の主記憶オペランドのア
    ドレス計算、及び該主記憶に対するフェッチ要求を送出
    するように制御することを特徴とするパイプライン制御
    方式。
JP17776688A 1988-07-15 1988-07-15 パイプライン制御方式 Pending JPH0227429A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17776688A JPH0227429A (ja) 1988-07-15 1988-07-15 パイプライン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17776688A JPH0227429A (ja) 1988-07-15 1988-07-15 パイプライン制御方式

Publications (1)

Publication Number Publication Date
JPH0227429A true JPH0227429A (ja) 1990-01-30

Family

ID=16036753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17776688A Pending JPH0227429A (ja) 1988-07-15 1988-07-15 パイプライン制御方式

Country Status (1)

Country Link
JP (1) JPH0227429A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003222525B2 (en) * 2002-04-10 2009-09-24 Fisher & Paykel Appliances Limited A laundry appliance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003222525B2 (en) * 2002-04-10 2009-09-24 Fisher & Paykel Appliances Limited A laundry appliance
AU2003222525C1 (en) * 2002-04-10 2010-04-08 Fisher & Paykel Appliances Limited A laundry appliance

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US6233670B1 (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
JPH10222368A (ja) データ処理装置
JPH0227429A (ja) パイプライン制御方式
JPH09138748A (ja) 浮動小数点命令の早期完了方法および装置
JPS6134188B2 (ja)
JP2581565B2 (ja) ガード付命令を実行するデータ処理装置
JPH04288625A (ja) マイクロコンピュータ
JP2924735B2 (ja) パイプライン演算装置及びデコーダ装置
JP3493110B2 (ja) 高速分岐処理装置
JP2503223B2 (ja) 先行制御方式
JP2925842B2 (ja) パイプライン処理装置
JP2825315B2 (ja) 情報処理装置
JPH052485A (ja) パイプライン制御方式
KR100515039B1 (ko) 조건부 명령어를 고려한 파이프라인 상태 표시 회로
JPS63195736A (ja) パイプライン制御のための分岐命令処理装置
JPH0424731B2 (ja)
JPS63221428A (ja) デ−タ処理装置
JPH01271842A (ja) 情報処理装置
JPH0774992B2 (ja) データ処理装置
JPH0433021A (ja) 分岐命令制御方式
JPS6389930A (ja) マイクロプログラム制御装置
JPS6116111B2 (ja)
JPS6277648A (ja) 命令読出し制御方法