JP2503984B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2503984B2
JP2503984B2 JP61164748A JP16474886A JP2503984B2 JP 2503984 B2 JP2503984 B2 JP 2503984B2 JP 61164748 A JP61164748 A JP 61164748A JP 16474886 A JP16474886 A JP 16474886A JP 2503984 B2 JP2503984 B2 JP 2503984B2
Authority
JP
Japan
Prior art keywords
result
output
pipeline
register
circuit
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
JP61164748A
Other languages
English (en)
Other versions
JPS6320536A (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
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP61164748A priority Critical patent/JP2503984B2/ja
Publication of JPS6320536A publication Critical patent/JPS6320536A/ja
Application granted granted Critical
Publication of JP2503984B2 publication Critical patent/JP2503984B2/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図は本発明の一実施例のブロック図及
びその一部詳細図である。第1図に於て,乗算回路1,加
減算回路2,論理演算回路3はそれぞれ各段が1マシンサ
イクルで動作するパイプライン化された演算器であり,1
マシンサイクル毎に異なったオペランドの演算をパイプ
ライン式に処理することが出来る。また各演算に必要な
オペランドが入力オペランドパス1001,1002で与えられ
ると,それぞれ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への書込みパス1003に出力する回路であ
る。
本実施例には乗算回路1にはパイプライン用レジスタ
を設けていないが,これは説明を簡単にする為であり,
加減算回路2,論理演算回路3と同様に後段にパイプライ
ン用レジスタを適当な段数だけ設けても良い。この場合
乗算回路に設けたパイプライン用レジスタの段数だけ,
加減算回路,論理演算回路のパイプライン用レジスタの
段数を共に増やすことになる。
制御回路15は切替回路12,13,14の選択を制御する回路
である。まず切替回路14の選択制御は,各演算回路系の
間で結果の出力の競合が発生したときにどの演算回路系
からの出力を優先するかを決めるものであり,優先順は
乗算回路系,加減算回路系,論理演算回路系の順であ
る。これは例えば乗算回路にはパイプライン用レジスタ
が無いので結果が求まった時点ですぐに演算レジスタ16
に転送しなければ結果が失なわれてしまうので最優先に
するものであり,以下同様の考え方で演算に最低必要な
パイプライン段数が多いものをより優先的にしている。
次に切替回路12の選択制御は,加減算回路系の結果の
最大4ケースの出力の競合がある場合に,どれを優先す
るかを決めるものであり,特に結果を早く出力したいも
のが無い場合は,優先度はパイプラインのより後段のも
のを高くしている。これは例えば最後段のパイプライン
用レジスタ6に結果がある場合は,これを優先して演算
レジスタ16に転送しなければ,結果が失なわれてしまう
ので最優先にするものであり,以下同様の考え方で後段
側をより優先度を高くしている。また,特に結果を早く
出力したいものがある場合,例えばその結果をオペラン
ドとして使う命令が実行待ちになっている場合にはすぐ
に結果を演算レジスタ16に格納し,読み出して実行に入
らなければ性能の低下を招くので,これより後段側のパ
イプライン用レジスタに別の結果がまだ演算レジスタ16
に転送されなくて残っている場合でも,差しつかえない
限りこれを追い越して演算レジスタ16に格納するという
制御を行なっている。切替回路13についても切替回路12
と同様である。
フリップフロップ101〜107,201〜207,301〜307はそれ
ぞれ乗算回路系,加減算回路系,論理演算回路系の各パ
イプラインステージに有効データが存在することを表わ
す有効ビットすなわち有効フラッグを表わすものであ
り,これと制御回路15の詳細を示すと第2図のようにな
っている。
第2図は主に加減算回路2に注目して詳細が記されて
いる。加減算回路2にオペランドが与えられると,パイ
プライン式に演算が進むにつれ,フリップフロップ201,
202,203が順に“1"となり,演算結果が求まると同時に
フリップフロップ204が“1"になる。この時に求まった
結果を演算レジスタ16に転送できる場合は,転送が行な
われてしまうため,フリップフロップ204は“1"→“0"
になり,フリップフロップ205は1にならずに終了す
る。他との競合があり優先度が低くて転送できない場合
は,結果をパイプライン用レジスタ4に入れると同時に
フリップフロップ204は“1"→“0",フリップフロップ20
5は“0"→“1"になり,結果が演算レジスタ16に転送さ
れずにパイプライン用レジスタ4に移ったことを示す。
以下パイプライン用レジスタ5,6,フリップフロップ206,
207も同様である。
格納アドレスレジスタ221〜226は加減算結果を演算レ
ジスタ16に格納する場合の格納アドレスを持ち回るレジ
スタであり,オペランドアドレスレジスタ231,232はそ
れぞれ今から演算を開始しようとしている命令の2オペ
ランドの演算レジスタアドレスを保持するレジスタで,
現在実行中の命令の結果を待っている場合は実行に入れ
ずこのレジスタに保持され続けるものである。
オペランドアドレスレジスタ231,232の内容は格納ア
ドレスレジスタ226,225,224と比較され,一致するもの
があれば各パイプラインステージ対応に一致信号1601,1
602,1603が“1"となる。これらの信号から優先度変更信
号1701,1702が作られる。有効ビット201〜207に対応す
るパイプラインステージをA〜Gと呼ぶと,この論理テ
ーブルは次の様になっている。
つまりFステージにある演算結果よりD,Eステージにあ
る結果が早く欲しい場合は,Fステージの有効ビットを抑
える信号1701を“0"にし,Eステージにある演算結果より
Dステージにある結果が早く欲しい場合はEステージの
有効ビットを抑える信号1702を“0"にする論理となって
いる。
切替回路12の制御は,有効ビットをあらわすフリップ
フロップ204〜207と優先度変更信号1701,1702,加減算回
路系の結果を優先して出力できることを指示する信号14
02によって行なわれる。先ず優先度変更信号1701,1702
が共に“1"の場合,つまり優先度変更が無い場合につい
てみると,信号1402が“1"であればフリップフロップ20
7,206,205,204の順に見て例えば最初に“1"のあるフリ
ップフロップが206であるとするとこれに対応するパイ
プライン用レジスタ5の結果を演算レジスタ16に転送す
るめ,ANDゲート217〜214のうち対応するANDゲート216の
出力信号1206が“1"となり,切替回路12ではパイプライ
ン用レジスタ5が選択されて結果の転送が行なわれるこ
とになる。
信号1402が“0"であれば加減算回路系の結果は演算レ
ジスタ16に転送できないのでANDゲート217〜214のいず
れの出力(1207〜1204)も“0"となり,従って信号1306
〜1304は全て“1"となるのでフリップフロップ204〜206
の内容がそのままフリップフロップ205〜207に移され
る。
次に優先度変更がある場合についてみると,例えばフ
リップフロップ207,206,205,204のうち206と205が“1"
であり,格納アドレスレジスタ226の内容とオペランド
アドレスレジスタ231,232とは一致せず(信号1601=
“0"),格納アドレスレジスタ225の内容とオペランド
アドレスレジスタ231或は232が一致している(信号1602
=“1")とすると,次に実行に入ろうとしている命令は
Eステージにある演算結果を待っている状態であり,Fス
テージの結果よりも先にEステージの結果を優先して演
算レジスタ16に格納した方が待合せ時間が少なくて済
む。この場合,優先度変更信号1702=“0"となることに
よってフリップフロップ206の出力信号を抑え,ANDゲー
ト216の出力信号は“0",ANDゲート215の出力信号は“1"
となって,切替回路12ではパイプライン用レジスタ4が
選択され,Fステージにある結果よりEステージにある結
果が転送されることになる。この場合追い越されて転送
されなかったFステージ上の結果はGステージに移され
る。
なお、Gステージに有効なデータが格納されている場
合には、最優先でGステージのデータが出力され、追い
越しは中止される。これは、第2図において、Gステー
ジの有効性を表すフリップフロップ207が“1"になる
と、優先度変更信号1701、1702の如何にかかわらず、AN
Dゲート217、216、215、214の出力信号1207、1206、120
5、1204は、それぞれ“1"、“0"、“0"、“0"となり、
切替回路12ではGステージのデータが選ばれることで理
解されよう。
次に切替回路14の選択制御について説明する。各演算
回路系から演算レジスタ16に転送すべき結果が1つでも
存在することを表わす信号1501,1502,1503はそれぞれフ
リップフロップ107の出力,フリップフロップ204〜207
の出力の論理和,フリップフロップ302〜307の出力の論
理和である。
この3本の信号を入力し,優先順位つまり乗算回路
系,加減算回路系,論理演算系の順に従って,乗算回路
系の出力を選ぶ信号1401,加減算回路系の出力を選ぶ信
号1402,論理演算系の出力を選ぶ信号1403を作成し,こ
れによって切替回路14の選択制御を行なっている。
第3図は結果待ちを行なわない場合の高速化の一例を
説明する為の命令列である。の命令は演算レジスタ1
の内容と,演算レジスタ2の内容を乗算し,結果を演算
レジスタ3に格納することを意味する。〜について
も同様である。
第4−A図は,第3図の命令列に於ける従来の装置,
即ち第1図に於けるパイプライン用レジスタ4〜11,切
替回路12,13が無い場合の命令実行のタイムチャートで
ある。命令の実行起動がマシンサイクル毎に1命令で,
与えられた命令列順にのみ行なえる場合,〜の命令
については1マシンサイクルずれで乗算回路1,加減算回
路2,加減算回路2に演算を指示し,それぞれ7サイクル
目,4サイクル目,4サイクル目に演算結果が求まるので演
算レジスタ16への書込みパス103にはの命令順に
結果が得られる。結果の命令順が変わってもこの場合何
ら問題はない。ところがの命令については,タイミン
グ4から実行開始させたとすると(第4−A図の点
線),加減算である為4マシンサイクル後のタイミング
7で結果が求まり,の命令の結果が求まるタイミング
と一致し,不具合が生じる。従っての命令の実行開始
を1マシンサイクル遅らせ,タイミング5から実行させ
ることによってこれを避けるようにする(第4−A図の
実線)。の命令についても同様である。こうして7命
令を実行させると,全体で16マシンサイクルを必要とす
る。
第4−B図は第3図の命令列に於ける本発明の装置,
即ち第1図でのタイムチャートである。この場合〜
の命令すべてについて,前記の従来の場合とは異なり,
演算結果の競合を気にせず,1マシンサイクルずれで実行
開始させる。タイミング6でとの命令の結果が競合
するが,優先順に従って,の命令の結果が切替回路1
2,14で選択され,演算レジスタ16に転送される。の命
令の結果は演算レジスタ16には転送されず,パイプライ
ン用レジスタ7に移される。次にタイミング7ではと
ととの命令の結果が競合するが,優先順に従って
の命令の結果が切替回路14で選択され,演算レジスタ
16に転送される。の命令の結果はパイプライン用レジ
スタ4に移され,,の命令の結果はそれぞれパイプ
ライン用レジスタ8,7に移される。次にタイミング8で
はととの命令の結果が競合するが,優先順に従っ
ての命令の結果がパイプライン用レジスタ4から切替
回路12,14を通して演算レジスタ16に転送される。と
の命令の結果はそれぞれパイプライン用レジスタ9,8
に移される。次にタイミング9ではとの命令の結果
が競合するが,優先順に従っての命令の結果がパイプ
ライン用レジスタ9から切替回路13,14を通して演算レ
ジスタ16に転送される。の命令の結果はパイプライン
用レジスタ9に移される。タイミング10では競合なく
の命令の結果がパイプライン用レジスタ9から切替回路
13,14を通して演算レジスタ16に転送される。の命令
の結果はタイミング13で競合なく結果の格納が行なわ
れ,結果的には7命令の実行に13マシンサイクルで済む
ので,高速化されることが理解されよう。
尚,パイプラインの長さを同じ長さに合わせているの
は,パイプラインの長さがすべて同じであれば1マシン
サイクル毎の入力に対し必ず出力の競合なしに1マシン
サイクル毎に出力を得ることが出来るためであり,単に
転送の為のパイプライン用レジスタの任意の出力から結
果を取り出す構成にしているのは,競合さえなければ出
来るだけ早く,演算レジスタを更新し,この結果をオペ
ランドとして使用する命令が後続の命令の中にあれば早
く実行に移らせるためである。
第5図は結果待ちを行なう場合の一例を説明する為の
命令列である。記述方法は第3図と同様の為,説明は省
略する。
第6−A図は,第5図の命令列に於けるタイムチャー
トを優先変更回路が無いと仮定した場合のタイムチャー
トであり,,,の命令は順次タイミング9,10,11
で結果の転送が行なわれる。の命令はの命令の結果
が演算レジスタ16へ転送され読み出されて(タイミング
12)はじめてタイミング13から実行開始される。これに
対して,本発明の装置に於ける優先変更回路により,第
6−B図のタイムチャートに示すように,、、の
命令の結果の転送は、の命令がの命令の結果を待つ
実行待ちとなっているので、の結果を早く出力するよ
うに動作する。つまり、優先変更回路により、タイミン
グ9でDステージのアドレス一致信号1603が“1"となっ
ての命令の結果を先に出力し、続いて、の順に結
果出力されるようになる。これによって、の命令はタ
イミング11から実行開始され、第6−A図に比べて高速
化が計られているのが理解されよう。
〔発明の効果〕
以上説明したように,本発明はパイプライン化した機
能の異なる演算器を複数個持つ情報処理装置に於て,各
演算に最低必要なパイプライン段数が異なる場合,各演
算器に対してその後段に単に結果の転送のみを行なうパ
イプライン用のレジスタを必要な段数だけ付加すること
によって各演算系パイプラインの段数を等しくし,付加
したパイプライン用レジスタの任意のレジスタからも演
算結果を出力出来るように構成し,全結果出力のうちか
ら1つを選択しようとして同一演算器に於ける演算器出
力及び付加したパイプライン用レジスタ出力の間で競合
する場合には,結果を早く必要とするものがあればこれ
を優先し,さもなければパイプライン用レジスタのより
後段からの出力を優先させて出力させることによって必
要なマシンサイクルを減少し,動作を高速化させる効果
がある。
【図面の簡単な説明】 第1図は本発明の一実施例を示すブロック図,第2図は
第1図の一部を詳細に示した図,第3図,第5図は本発
明の効果を説明する為の命令列例,第4−A図,第4−
B図,第6−A図,第6−B図は本発明の効果を説明す
る為のタイムチャートである。 記号の説明:1……乗算回路,2……加減算回路,3……論理
演算回路,4〜11……パイプライン用レジスタ,12〜14…
…切替回路,15……制御回路,16……演算レジスタ,101〜
107,201〜207,301〜307……フリップフロップ(有効フ
ラグ),214〜217……AND回路,221〜223……結果アドレ
スレジスタ,224〜226……格納アドレスレジスタ,231,23
2……オペランドアドレスレジスタ,241……比較器,100
1,1002……オペランド供給パス,1003……結果格納パス,
1204〜1207……選択回路12に於ける選択信号,1401〜140
3……選択回路14に於ける選択信号,1501…1503……各演
算系に格納すべき結果があることを示す制御信号,1601
〜1603……結果アドレス/オペランドアドレス一致信
号,1701,1702……優先度変更信号。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】パイプライン化した機能の異なる演算器を
    複数個持つ情報処理装置に於て、各演算に最低必要なパ
    イプライン段数が異なる場合、各演算器に対してその後
    段に、単に結果の転送のみを行なうパイプライン用のレ
    ジスタを各演算系パイプラインの段数が等しくなるよう
    に必要な段数だけ付加し、前記付加したパイプライン用
    のレジスタの任意のレジスタからも演算結果を出力出来
    る切替手段と、各結果出力のうちから1つを選択しよう
    として同一演算器に於ける演算器出力及び付加したパイ
    プライン用レジスタ出力の間で競合する場合には、パイ
    プライン用レジスタのより後段からの出力を優先させる
    ことを基本とするが、そのなかのいずれかの結果出力を
    オペランドとして使う後続命令が待たされている場合に
    は、該結果出力を、後段からの出力より優先させて出力
    する制御手段とを含むことを特徴とする情報処理装置。
JP61164748A 1986-07-15 1986-07-15 情報処理装置 Expired - Lifetime JP2503984B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS6320536A JPS6320536A (ja) 1988-01-28
JP2503984B2 true JP2503984B2 (ja) 1996-06-05

Family

ID=15799166

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2503984B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986027B2 (en) * 2000-05-26 2006-01-10 International Business Machines Corporation Universal load address/value prediction using stride-based pattern history and last-value prediction in a two-level table scheme

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2007059C (en) * 1989-01-27 1994-05-24 Steven P. Davies Register and arithmetic logic unit
JPH04116726A (ja) * 1990-09-07 1992-04-17 Koufu Nippon Denki Kk 情報処理装置
GB2458487B (en) * 2008-03-19 2011-01-19 Imagination Tech Ltd Pipeline processors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986027B2 (en) * 2000-05-26 2006-01-10 International Business Machines Corporation Universal load address/value prediction using stride-based pattern history and last-value prediction in a two-level table scheme

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3442225B2 (ja) 演算処理装置
JP2539974B2 (ja) 情報処理装置におけるレジスタの読出制御方式
JPH052484A (ja) スーパースカラプロセツサ
EP0093430A2 (en) Pipeline data processing system
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
JP2518293B2 (ja) デ−タフロ−プロセツサ
JP2503984B2 (ja) 情報処理装置
JPH10143365A (ja) 並列処理装置及びその命令発行方式
JP2503983B2 (ja) 情報処理装置
JPS60178580A (ja) 命令制御方式
JPH0810431B2 (ja) 情報処理装置
EP1132813A2 (en) Computer with high-speed context switching
JPH0810432B2 (ja) 情報処理装置
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JP3855069B2 (ja) 論理回路
JP2503966B2 (ja) 情報処理装置
JP3771682B2 (ja) ベクトル処理装置
JP2819733B2 (ja) 情報処理装置
JP3743155B2 (ja) パイプライン制御型計算機
JP3708560B2 (ja) データフロー型情報処理装置
JPH07262008A (ja) 並列分岐処理装置
JPS5896346A (ja) 階層型演算方式
JP2001236223A (ja) 情報処理装置
JPH01309174A (ja) ベクトル処理装置
JPH0646412B2 (ja) デ−タフロ−プロセツサ