JPH0810432B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0810432B2
JPH0810432B2 JP61164750A JP16475086A JPH0810432B2 JP H0810432 B2 JPH0810432 B2 JP H0810432B2 JP 61164750 A JP61164750 A JP 61164750A JP 16475086 A JP16475086 A JP 16475086A JP H0810432 B2 JPH0810432 B2 JP H0810432B2
Authority
JP
Japan
Prior art keywords
pipeline
instruction
circuit
result
stages
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 - Lifetime
Application number
JP61164750A
Other languages
English (en)
Other versions
JPS6320538A (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.)
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 JP61164750A priority Critical patent/JPH0810432B2/ja
Publication of JPS6320538A publication Critical patent/JPS6320538A/ja
Publication of JPH0810432B2 publication Critical patent/JPH0810432B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はパイプライン化した情報処理装置に関し,特
に複数の命令を並列に実行するパイプライン化した情報
処理装置に関する。
〔従来の技術〕
一般に高性能を追求した情報処理装置に於ては,独立
した各種演算器をパイプライン化し,同種の演算につい
ては同じ演算器に対して連続的にオペランドを送り込ん
でパイプライン処理し,異なった演算については別の演
算器に対して連続的にオペランドを送り込んで並列に処
理することが行なわれている。また各種演算器は,性能
向上の為,それぞれ最も少ないパイプライン段数で実現
している。
〔発明が解決しようとする問題点〕
ところが,同一演算器についてはパイプライン処理の
為演算結果が入力順に順次出力されるが,異なった演算
器からの結果の出力は,各演算器へのオペランドの投入
タイミング,各演算器のパイプライン段数の違いにより
同一タイミングに競合する可能性がある。演算結果は一
般にソフトウェア可視レジスタ群(以下,演算レジスタ
と呼ぶ)の中の一つに格納されるが,これは普通メモリ
化されている為,同一タイミングに複数の結果を格納す
ることは出来ない。
これを避ける為,各演算器のパイプラインの段数から
逆算して,結果の出力タイミングが競合する場合には,
各演算器へのオペランドの投入タイミング,即ち命令の
実行起動を適当に遅らせている。命令の実行起動が,与
えられた命令列の順にしか出来ない制御方式を採用して
いる装置では,1命令の実行起動を遅らせることにより後
続の命令も順次遅れることになり,性能の低下を招いて
いる。
また演算器のパイプライン段数の違いにより後続命令
の方が先に実行を終了する場合もあり,演算命令でオー
バフロー等の例外が発生した場合,後続命令の実行を抑
止出来ない場合が発生するという欠点があった。
〔問題点を解決するための手段〕
本発明の情報処理装置は,パイプライン化した機能の
異なる演算器を複数個持つ情報処理装置において,各演
算に最低必要なパイプライン段数が異なる場合,各演算
器に対してその後段に単に結果の転送のみを行なうパイ
プライン用レジスタを各演算系パイプラインの段数が等
しくなるように必要な段数だけ付加し,前記付加したパ
イプライン用のレジスタの任意のレジスタからも結果を
出力できる切替手段と,指示された条件下では各演算系
パイプラインの最後段からのみ出力させる制御手段とを
含んで構成される。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。乗算
回路1,加減算回路2,論理演算回路3はそれぞれ各段が1
マシンサイクルで動作するパイプライン化された演算器
であり,1マシンサイクル毎に異なったオペランドの演算
をパイプライン式に処理することが出来る。また各演算
に必要なオペランドが入力オペランドパス101,102で与
えられると,それぞれ7マシンンサイクル,4マシンサイ
クル,2マシンサイクル後に演算結果を出力することが出
来る。
加減算回路2及び論理演算回路3のパイプライン段数
はそれぞれ4段,2段であり,乗算回路1のパイプライン
段数は7段であるから,その差分つまり3段及び5段分
のパイプライン用レジスタ4〜6,7〜11が加減算回路2
及び論理演算回路3に接続されている。
切替回路12は加減算回路2の出力,パイプライン用レ
ジスタ4〜6の出力のうち,いずれかを選択して出力す
る回路であり,切替回路13は論理演算回路3の出力,パ
イプライン用レジスタ7〜11の出力のうち,いずれかを
選択して出力する回路である。また切替回路14は乗算回
路1,切替回路12,13の出力のうちいずれかを選択して,
演算レジスタ16への書込みパス103に出力する回路であ
る。
制御回路15は切替回路12,13,14の選択を制御する回路
であり,その時その時で出力の優先判断を行ない,適切
な結果1つを選んで演算レジスタ16に転送させる制御を
行なう。
実行順序指定用フリップフロップ17はオーバフロー等
の演算例外発生時に後続命令の実行を抑止させる必要が
ある場合に予め設定されるもので,設定されていない場
合は何ら意味を持たないが,設定されていると制御回路
15による切替回路12,13,14の制御が変わり,各演算系パ
イプラインの最後段からしか出力しないように制御する
ことになっている。
本実施例には乗算回路1にはパイプライン用レジスタ
を設けていないが,これは説明を簡単にするためであ
り,加減算回路2,論理演算回路3と同様に後段にパイプ
ライン用レジスタを適当な段数だけ設けても良い。この
場合,乗算回路に設けたパイプライン用レジスタの段数
だけ加減算回路,論理演算回路のパイプライン用レジス
タの段数を共に増やすことになる。
第2図は高速化の一例を説明する為の命令列である。
の命令は演算レジスタ1の内容と,演算レジスタ2の
内容を乗算し,結果を演算レジスタ3に格納することを
意味する。〜についても同様である。
第3−A図は従来の装置,即ち第1図に於けるパイプ
ライン用レジスタ4〜11,切替回路12,13が無い場合の命
令実行のタイムチャートである。命令の実行起動がマシ
ンサイクル毎に1命令で,与えられた命令列順にのみ行
なえる場合,〜の命令については1マシンサイクル
ずれで乗算回路1,加減算回路2,加減算回路2に演算を指
示し,それぞれ7サイクル目,4サイクル目,4サイクル目
に演算結果が求まるので,演算レジスタ16への書込みパ
ス103にはの命令順に結果から得られる。結果の
命令順が変わってもこの場合何ら問題はない。ところが
の命令については,タイミング4から実行開始させた
とすると(第3−A図の点線),加減算である為4マシ
ンサイクル後のタイミング7で結果が求まり,の命令
の結果が求まるタイミングと一致し,不具合が生じる。
従っての命令の実行開始を1マシンサイクル遅らせ,
タイミング5から実行させることによってこれを避ける
ようにする(第3−A図の実線)。の命令についても
同様である。こうして6命令を実行させると,全体で15
マシンサイクルを必要とする。
第3〜B図は実行順序指定が無い場合の本発明の装
置,即ち第1図でのタイムチャートである。〜の命
令ついては前記と同じである。の命令については,前
記の従来の場合とは異なり,演算結果の競合を気にせ
ず,タイミング4から実行開始させる。タイミング7で
との命令の結果が競合するが,タイミング7では切
替回路14で乗算回路1の結果を選択し,タイミング8で
は加減算回路2の結果を1マシンサイクル遅らせたパイ
プラインレジスタ4の出力を切替回路12,14で選択する
ことによって,結果の格納の競合をなくすことができ
る。の命令についても同様で,タイミング5で実行開
始させると,タイミング6で結果が求まるが,これは
の命令の結果と競合し,1マシンサイクル遅らせたタイミ
ング7ではの命令の結果と競合し,さらに1マシンサ
イクル遅らせたタイミング8では,の命令の結果と競
合するので,さらに1マシンサイクル遅らせたタイミン
グ9で,パイプラインレジスタ9の出力を切替回路13,1
4で選択することによって競合をなくし,結果の格納を
行なうことが出来る。結果的には6命令の実行に12マシ
ンサイクルで済み,高速化されることが理解されよう。
尚,パイプラインの長さを同じ長さに合わせているの
は,パイプラインの長さがすべて同じであれば,1マシン
サイクル毎の入力に対し必ず出力の競合なしに1マシン
サイクル毎に出力を得ることが出来るためであり,単に
転送の為のパイプライン用レジスタの任意の出力から結
果を取り出す構成にしているのは,競合さえなければ出
来るだけ早く演算レジスタを更新し,この結果をオペラ
ンドとして使用する命令が後続の命令の中にあれば早く
実行に移らせるためである。
第3−C図は実行順序指定がある場合の本発明の装置
でのタイムチャートである。第3−B図のタイムチャー
トで判るように,の命令或はの命令は,の命令よ
り先に実行が終了して演算レジスタ16が先に更新され
る。の命令で演算例外が発生したとき,一般に演算例
外は演算パイプラインの最後で検出されるので,及び
の命令は実行を終了している(演算レジスタが更新さ
れてしまっている)ため,及びの命令の実行を抑止
(演算レジスタへの格納を抑止)することが出来ない。
演算例外発生時に後続命令の実行を抑止しなくて良い場
合はこれでも良いが,例外発生時割込みを発生させ,適
当な処理を行なったあと,後続命令に制御を戻して処理
を継続させる場合は,後続命令の実行を抑止する必要が
ある。この場合は実行順序指定をした状態でプログラム
を実行させると,第3−C図のタイムチャートに示す動
作になる。第3−C図の〜の命令はそれぞれ,各演
算パイプラインの必ず最後段から結果の転送が行なわ
れ,演算結果待ちの命令があれば性能は少し落ちるが,
各演算系パイプライン段差が等しいので命令列順に演算
レジスタの更新が行なわれ,ある命令で演算例外が発生
したとき,後続命令の実行を抑止することができる。
〔発明の効果〕
以上説明したように,本発明はパイプライン化した機
能の異なる演算器を複数持つ情報処理装置に於て,各演
算に最低必要なパイプライン段数が異なる場合,各演算
器に対し後段に単に結果の転送のみを行なうパイプライ
ン用のレジスタを必要な段数だけ付加することによって
各演算系パイプラインの段数を等しくし,任意のパイプ
ライン用レジスタからも出力出来るようにすることによ
って必要なマシンサイクルを減少し動作を高速化させ,
ある条件下では,各演算系パイプラインの最後段からの
み出力させることによって,例外発生時の後続命令抑止
を実現することができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図,第2図は
本発明の効果を説明する為の命令列例,第3−A図は第
2図の命令列を従来の装置で実行した場合のタイムチャ
ート,第3−B図は実行順序指定が無い場合に第2図の
命令列を本発明の装置で実行した場合のタイムチャー
ト,第3−C図は実行順序指定が有る場合に第2図の命
令列を本発明の装置で実行した場合のタイムチャートで
ある。 記号の説明: 1……乗算回路,2……加減算回路,3……論理演算回路,4
〜11……パイプライン用レジスタ,12〜14……切替回路,
15……制御回路,16……演算レジスタ,17……実行順序指
定用フリップフロップ,101,102……オペランド供給パ
ス,103……結果格納パス。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】パイプライン化した機能の異なる演算器を
    複数個持つ情報処理装置に於て,各演算に最低必要なパ
    イプライン段数が異なる場合,各演算器に対してその後
    段に単に結果の転送のみを行なうパイプライン用のレジ
    スタを各演算系パイプラインの段数が等しくなるように
    必要な段数だけ付加し,前記付加したパイプライン用の
    レジスタの任意のレジスタからも結果を出力できる切替
    手段と,指示された条件下では各演算系パイプラインの
    最後段からのみ出力させる制御手段とを含むことを特徴
    とする情報処理装置。
JP61164750A 1986-07-15 1986-07-15 情報処理装置 Expired - Lifetime JPH0810432B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61164750A JPH0810432B2 (ja) 1986-07-15 1986-07-15 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61164750A JPH0810432B2 (ja) 1986-07-15 1986-07-15 情報処理装置

Publications (2)

Publication Number Publication Date
JPS6320538A JPS6320538A (ja) 1988-01-28
JPH0810432B2 true JPH0810432B2 (ja) 1996-01-31

Family

ID=15799206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61164750A Expired - Lifetime JPH0810432B2 (ja) 1986-07-15 1986-07-15 情報処理装置

Country Status (1)

Country Link
JP (1) JPH0810432B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01301779A (ja) * 1988-05-31 1989-12-05 Fuji Xerox Co Ltd 接着剤塗布方法
JP2812610B2 (ja) * 1992-07-03 1998-10-22 富士通株式会社 パイプライン制御方式

Also Published As

Publication number Publication date
JPS6320538A (ja) 1988-01-28

Similar Documents

Publication Publication Date Title
US5261113A (en) Apparatus and method for single operand register array for vector and scalar data processing operations
KR0180580B1 (ko) 데이타 의존관계를 가지는 복수의 데이타처리를 실행하는 파이프라인 데이타 처리장치 및 처리방법
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH03286332A (ja) デジタルデータ処理装置
JP2518293B2 (ja) デ−タフロ−プロセツサ
JPH0810432B2 (ja) 情報処理装置
JP2503984B2 (ja) 情報処理装置
JPH0650512B2 (ja) デ−タ処理装置
JP2513765B2 (ja) パイプライン処理における条件分岐制御方式
JP2503966B2 (ja) 情報処理装置
US6981130B2 (en) Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel
JP2503983B2 (ja) 情報処理装置
JPH0810431B2 (ja) 情報処理装置
JP2869376B2 (ja) データ依存関係を持つ複数のデータ処理を実行するパイプラインデータ処理方法
JP2558831B2 (ja) パイプライン制御方式
JPH04116726A (ja) 情報処理装置
JP2925842B2 (ja) パイプライン処理装置
JPH09325953A (ja) プロセッサおよびデータ処理装置
JP2888710B2 (ja) ベクトル命令実行制御方式および命令制御処理装置
JP2560120B2 (ja) 演算装置
JP2989829B2 (ja) ベクトル処理方法
JPH0512007A (ja) データ処理方式
JP3489360B2 (ja) デジタル信号処理装置
JPH04135239A (ja) パイプライン制御方式
JPH06149864A (ja) ベクトル処理装置