JPS6320536A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS6320536A
JPS6320536A JP61164748A JP16474886A JPS6320536A JP S6320536 A JPS6320536 A JP S6320536A JP 61164748 A JP61164748 A JP 61164748A JP 16474886 A JP16474886 A JP 16474886A JP S6320536 A JPS6320536 A JP S6320536A
Authority
JP
Japan
Prior art keywords
result
register
output
pipeline
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.)
Granted
Application number
JP61164748A
Other languages
English (en)
Other versions
JP2503984B2 (ja
Inventor
Hiroshi Matsumoto
寛 松本
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 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)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はパイプライン化した情報処理装置に関し、特に
複数の命令を並列に実行するパイプライン化した情報処
理装置に関する。
〔従来の技術〕
一般に、高性能を追求した情報処理装置に於ては、独立
した各糧演算器をノにイブライン化し、同種の演算につ
いては、同じ演算器だ対して連続的にオペランドを送シ
込んでノやイグライン処理し。
異なった演算については別の演算器に対して連続的にオ
ペランドを送り込んで並列に処理することが行なわれて
いる。また、各種演算器は、性能向上の為、それぞれ最
も少ないパイプライン段数で実現している。
〔発明が解決しようとする問題点〕
ところが、同一演算器については、・クイシライン処理
の為、演算結果が入力順に順次出力されるが・異なった
演算器からの結果の出力は、各演算器へのオペランドの
投入タイミング、各演算器のパイプライン段数の違いに
ニジ、同一タイミングに競合する可能性がある。演算結
果は一般にソフトウェア可視レジスタ群(以下、演算し
・ゾスタと呼ぶ)の中の−って格納されるが、これは普
通メモリ化されている為、同一タイミングに複数の結果
を格納することはできない。
これを避ける為、各演算器のパイプラインの段数から逆
算して、結果の出力タイミングが競合する場合には、各
演算器へのオペランドの投入タイミング、即ち命令の実
行起@を適当に遅らせている。命令の実行起動が、与え
られた命令列の順にしか出来ない制御方式を採用して込
る装置では。
l命令の実行起動を遅らせることによシ後続の命令も順
次遅れることになシ、性能の低下を招いている。
〔問題点を解決するための手段〕
本発明の情報処理装置はパイプライン化した機能の異な
る演算器を複数個持り清報処理装置において、各演算に
最低必要な・gイブライン段数が異なる場合、各演算器
て対してその後段に装置結果の転送のみを行なう・ぐイ
ゾライン用のレジスタを各演算系ノ?イブラインの段数
が等しくなるように必要な段数だけ付加し、前記付加し
たノ4イデライン用のレジスタの任意のレジスタからも
演算結果を出力出来る切替手段と、全結果出力のうちか
ら1つを選択しようとして同−演算器知於ける演算器出
力及び付加したパイプライン用レジスタ出力の間で競合
する場合には、結果を早く必要とするものがあればこれ
を優先し、さもなければパイプライン用レジスタのよゆ
後段からの出力を優先させる制御手段とを含んで構成さ
れる。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図及び第2図は本発明の一実施例のブロック図及び
その一部詳細図である。第1図に於て。
乗算回路1.加減算回路2.論理演算回路3はそれぞれ
7.各段が1マシンサイクルで動作・するパイプライン
化された演算器であシ、1マシンサイクル毎に異なった
第4ランドの演算をノクイゾライン式に処理することが
出来る。また各演算に必要なオペランドが入力オベラン
ドノクス1001,1002で与えられると、それぞれ
7マシンサイクル、4マシンサイクル、2マシンサイク
ル後忙演算結果を出力することが出来る。
加減算回路2及び論理演算回路3のノやイブライン段数
はそれぞれ4段、2段であシ2乗算回路l!多 のパイプライン段数17段であるから、その差分。
つま)3段及び5段分の/ぐイブライン用レジスタ4〜
6,7〜11が加減算回路2及び論理演算回路3に接続
されている。
切替回路12は加減算回路2の出力、パイプライン用レ
ジスタ4〜6の出力のうち、いずれかを選択して出力す
る回路であシ、切替回路13は論理演算回路3の出力、
ツクイブライン用レジスタ7〜11の出力のうち、いず
れかを選択して出力する回路である。また切替回路14
は乗算回路1゜切替回路12.13の出力のうちいずれ
かを選択して、演算レジスタ16への書込み・ぐス10
03に出力する回路である。
本実施例には乗算回路lにはパイプライン用レジスタを
設けていないが、これは説明を簡単にする為であシ、加
減算回路2.論理演算回路3と同様に後段にパイプライ
ン用レジスタを適当な段数だけ設けても良い。この場合
乗算回路に設けたパイプライン用レジスタの段数だけ、
加減算回路。
論理演算回路のパイプライン用レジスタの段数を共に増
やすことになる。
制御回路15は切替回路12,13.14の選択を制御
する回路である。まず切替回路14の選択制御は、各演
算回路系の間で結果の出力の競合が発生したときにどの
演算回路系からの出力を優先するかを決めるものであシ
、優先順は乗算回路系、加減算回路系、論理演算回路系
の順である。
これは例えば乗算回路にはツクイブライン用レジスタが
無いので結果が求まった時点ですぐに演算レジスタ16
に転送しなければ結果が失なわれてしまうので最優先に
するものであシ、以下同様の考え方で演算に最低必要な
パイプライン段数が多込ものをより優先的に巳ている。
次だ切替回路12の選択制御は、加減算回路系の結果の
最大4ケースの出力の競合がある場合に。
どれを優先するかを決めるものであり、特に結果を早く
出力したいものが無い場合は、優先度はパイプラインの
より後段のものを高くしている。これは例えば最後段の
・卆イゾライン用レジスタ6に結果がある場合は、これ
を優先して演算レジスタ16に転送しなければ、結果が
失なわれてしまうので最優先にするものであシ、以下同
様の考え方で後段側をよシ優先度を高くしている。また
1%に結果を早く出力したいものがある場合2例えばそ
の結果をオペランドとして使う命令が実行待ちになって
いる場合にはすぐに結果を演算レジスタ16に格納し、
読み出して実行に入らなければ性能の低下を招くので、
これより後段側のパイプライン用レジスタに別の結果が
まだ演算レジスタ16に転送されなくて残っている場合
でも、差しつかえない限シこれを追い越して演算レジス
タ16に格納するという制御を行なっている。切替回路
13についても切替回路12と同様である。
フリツノフロップ101〜107.201〜207.3
01〜307はそれぞれ乗算回路系。
加減算回路系、論理演算回路系の各パイプラインステー
ジだ有効データが存在することを表わす有効ビットすな
わち有効フラッグを表わすものであシ、これと制御回路
15の詳細を示すと第2図のようになっている。
第2図は主に加減算回路2に注目して詳細が記されてい
る。加減算回路2にオRランドが与えられると、・ヤイ
プライン式に演算が進むにつれ、フリップフロップ20
1,202,203が順に11となシ、演算結果が求ま
ると同時にフリップフロラf204が1”になる。この
時に求まった結果を演算レジスタ16に転送できる場合
は、転送が行なわれてしまうため、フリップフロップ2
04は%l”→@0”になう、フリップフロップ205
は1にならずに終了する。他との競合があり優先度が低
くて転送できない場合は、結果をパイプライン用レジス
タ4に入れると同時にフリップ70ノブ204は11”
→“0″、フリップフロップ205は′0m−4″l”
になシ、結果が演算レジスタ16に転送されずにノ?イ
ブライン用レジスタ4に移ったことを示す。以下ツクイ
ブライン用レジスタ5,6゜フリップフロラf206,
207も同様である。
格納アドレスレジスタ221〜226は加戒算結果を演
算レジスタ16に格納する場合の格納アドレスを持ち回
るレジスタであり、オー?ランドアドレスレジスタ23
1.232はそれぞれ今から演算を開始しようとしてい
る命令の2オぜランドの演算レジスタアドレスを保持す
るレジスタで。
現在実行中の命令の結果を待っている場合は実行忙入れ
ずこのレジスタに保持され続けるものである。
オ被ランドアドレスレジスタ231.232の内容は格
納アドレスレジスタ226,225゜224と比較され
、一致するものがあれば各・ンイブラインステージ対応
に一致信号1601,1602゜1603が”1#とな
る。これらの信号から優先度変更信号1701.170
2が作られる。有効ビット201〜207に対応するノ
J?イブラインステージをA−Gと呼ぶと、この論理テ
ーブルは次の様になっている。
つまシFステージにある演算結果よりり、Eステージに
ある結果が早く欲しい場合は、Fステージの有効ビット
を抑える信号1701を0”にし、Eステージにある演
算結果よシロステージにある結果が早く欲しい場合はE
ステージの有効ビラトラ抑える信号1702を′0#に
する論理となっている。
切替回路12の制御は、有効ビットをあられすフリッグ
フロッf204〜207と優先度変更信号1701,1
702 、加減算回路系の結果を優先して出力できるこ
とを指示する信号14021’l:よって行なわれる。
先ず優先度変更信号1701,1702か共に“1″の
場合、つまシ便先度変更が無い場合についてみると、信
号1402か“1#であればフリップフロップ207.
206.205.204の順に見て例えば最初に1″の
あるフリップフロップが206であるとするとこれに対
応するパイプライン用レジスタ5の結果を演算レジスタ
16に転送するため、 AND’l’−) 217〜2
140うち対応する椰ゲート216の出力信号1206
が11”となり、切替回路12ではパイプライン用し・
ゾスタ5が選択されて結果の転送が行なわれることにな
る。
信号1402が”0′であれば加減算回路系の結果は演
算レジスタ16に転送できないのでAND)r′″−ト
217〜214のいずれの出力(1207〜1204)
もO”となシ、従って信号1306〜1304は全て″
1”となるので7リツプフロツプ204〜206の内容
がそのままフリップフロップ205〜207に移される
。
次に優先度変更がある場合についてみると5例えばフリ
ップフロップ207,206,205゜204のうち2
06と205が”1″であり、格納アドレスレジスタ2
26の内容とオペランドアドレスレジスタ231.23
2とは一致せず(信号1601=”O″)、格納アドレ
スレジスタ225の内容とオペランドアドレスレジスタ
231iu232が一致している(信号1602=“1
”)とすると8次に実行に入ろうとしている命令はEス
テージにある演算結果を待っている状態であシ、Fステ
ージの結果よりも先にEステージの結果を優先して演算
レジスタ16に格納した方が待合せ時間が少なくて済む
。この場合、優先度変更信号1701=−”O=となる
ことばよって7リツプフロツゾ206の出力信号を抑え
、ANDゲート216の出力信号は”O”、 ANDダ
ート215の出力信号−′1#となって2.切替回路1
2ではノクイゾライン用レジスタ4が選択され、Fステ
ージにある結果よシEステージにある結果が転送される
ことになる。
この場合追い越されて転送されなかったFステージ上の
結果はGステージに移される。
次に切替回路14の選択制御たついて説明する。
各演算回路系から演算レジスタ16に転送すべき結果が
1つでも存在することを表わす信号1501゜1502
.1503はそれぞれフリップフロップ107の出力、
フリップフロップ204〜207の出力の論理和、フリ
ップフロップ302〜307の出力の論理和である。
この3本の信号を入力し、優先順位つまシ乗算回路系、
加減算回路系、論理演算系の順に従って。
乗算回路系の出力を選ぶ信号1401 、加減算回路系
の出力を選ぶ信号1402.論理演算系の出力全還ぶ信
号1403を作成し、これによって切替回路14の選択
制御を行なっている。
第3図は結果待ちを行なわない場合の高速化の一例を説
明する為の命令列である。■の命令は演意味する。O−
Oについても同様である。
第4−A図は、第3図の命令列に於ける従来の装置、即
ち第1図に於ける・ぐイゾライン用レジスタ4〜11.
切替回路12.13が無い場合の命令実行のタイムチャ
ートである。命令の実行起動がマシンサイクル毎に一1
命令で、与えられた命令列順にのみ行なえる場合、■〜
■の命令について?ilマシンサイクルずれて乗算回路
l、加減算回路2.加減算回路2に演算を指示し、それ
ぞれ7サイクル目、4サイクル目、4サイクル目に演算
結果が求まるので演算レジスタ16への書込ミハス10
3には■■■の命令類に結果が得られる。
結果の命令類が変わってもこの場合何ら問題はない。と
ころが■の命令については、タイミング4から実行開始
させたとすると(第4−A図の点線)。
加減算である為4マシンサイクル後のタイミング7で結
果か求まシ、■の命令の結果が求まるタイミングと一致
し、不具合が生じる。従って■の命令の実行開始を1マ
シンサイクル遅らせ、タイミング5から実行させること
によってこれを避けるようにする(第4−A図の実線)
。■の命令についても同様である。こうして7命令を実
行させると、全体で16マシンサイクルを必要とする。
第4−B図は第3図の命令列て於ける本発明の装置、即
ち第1図でのタイムチャートである。この場合■〜■の
命令すべてについて、前記の従来の場合とは異なり、演
算結果の競合を気にせず。
1マシンサイクルずれて実行開始させる。タイミング6
で■と■の命令の結果か競合するが、優先順に従って、
■の命令の結果が切替回路12゜14で選択され、演算
レジスタ16に転送される。
■の命令の結果は演算レジスタ16には転送されず、パ
イプライン用レジスタ7に移される。次にタイミング7
では■と■と■と■の命令の結果が競合するが、優先順
に従って■の命令の結果が切替回路14で選択され、演
算レジスタ16に転送される。■の命令の結果は・やイ
ブライン用レジスタ4に移され、■、■の命令の結果は
それぞれパイプライン用レジスタ8,7に移される。次
にタイミング8では■と■と■の命令の結果が競合する
が、優先順に従って■の命令の結果がパイプライン用レ
ジスタ4から切替回路12.14を通して演算レジスタ
16に転送される。■と■の命令の結果はそれぞれパイ
プライン用レジスタ9,8に移される。次にタイミング
9では■と■の命令の結果が競合するが、優先j頂に従
って■の命令の結果が・やイブライン用レジスタ9から
切替回路13.14を通して演算レジスタ16に転送さ
れる。■の命令の結果はパイプライン用しノスタ9に啓
される。タイミング1oでは競合なく■の命令の結果が
パイプライン用レジスタ9から切替回路13.14を通
して演算レジスタ16に転送される。■の命令の結果は
タイミング13で競合なく結果の格納か行なわれ、結果
的には7命令の実行に13マシンサイクルで済むので、
高速化されることが理解されよう。
尚、・ヤイプラインの長さを同じ長さえ合わせているの
は、ノやイブラインの長さがすべて同じであれば1マシ
ンサイクル毎の入力に対し必ず出力の競合なしに1マシ
ンサイクル毎に出力を得ることが出来るためであシ、単
に転送の為のパイプライン用レジスタの任意の出力から
結果を取シ出す構成にしているのは、競合さえなければ
出来るだけ早く、演算レジスタを更新し、この結果をオ
イランドとして使用する命令が後続の命令の中にあれば
早く実行に移らせるためである。
第5図は結果待ちを行なう場合の一例を説明する為の命
令列である。記述方法は第3図と同様の為、説明は省略
する。
第6−A図は、第5図の命令列に於けるタイムチャート
を優先変更回路が無いと仮定した場合のタイムチャート
であシ、■、■、■の命令は順次タイミング9,10.
11で結果の転送が行なわれる。■の命令は■の命令の
結果が演算し・ゾスタ16へ転送され読み出されて(タ
イミング12)はじめてタイミング13から実行開始さ
れる。これに対して9本発明の装置に於ける優先変更回
路【より、第6−B図のタイムチャートに示すように、
■、■、■の命令の結果の転送はタイミング9でDステ
ージのアドレス一致信号1603が11m忙なるため■
、■、■の順に行なわれ、■の命令はタイミング11か
ら実行開始され、高速化が計られているのが理解されよ
う。
〔発明の効果〕
以上説明したように2本発明はパイプライン化した機能
の異なる演算器を複数個持つ情報処理装置に於て、各演
算に最低必要なツクイブライン段数が異なる場合、各演
算器に対してその後段に単に結果の転送のみを行なうパ
イプライン用のレジスタを必要な段数だけ付加すること
によって各演算系パイプラインの段数を等しくシ、付加
したパイプライン用レジスタの任意のレジスタからも演
算結果を出力出来るように構成し、全納果出カのうちか
ら1つを選択しようとして同一演算器に於はル演算器出
力及び付加したパイプライン用レジスタ出力の間で競合
する場合には、結果を早く必要とするものがあればこれ
を優先し、さもなければ/’Pイブライン用レジスタの
より後段からの出方を優先させて出力させることによっ
て必要なマシンサイクルを減少し、動作を高速化させる
効果がある。
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図。 第2図は第1図の一部全詳細に示した図、第3図。 第5図は本発明の詳細な説明する為の命令列例。 第4−A図、第4−B図、第6−A図、第6−B図は本
発明の詳細な説明する為のタイムチャートである。 記号の説明:1・・・乗算回路、2・・・加減算回路。 3・・・論理演算回路、4〜11・・・ノクイゾライン
用しゾスタ、12〜14・・・切替回路、15・・・制
御回路。 効7:7/’)、 214〜21 ’I−AND回路、
 721〜223・・・結果アドレスレジスタ、224
〜226・・・格納アドレスレジスタ、231,232
−・・オイランドアドレスレジスタ、241・・−比較
器、1001゜1002・・・オペランド供給ノ4ス、
1003・・・結果格納パス、1204〜1207・・
・選択回路12に於ける選択信号、1401〜1403
・・・選択回路14に於ける選択信号、1501・・・
1503・・・各演算系に格納すべき結果があることを
示す制御信号、 1601−1603・・・結果アドレ
ス/片にランドアドレス一致信号。 1701.1702・・・優先度変更信号。 范3図 OR3−1’?1XR2 ■ R6−R4すR5 ■ R9−R’7 + R8 ■ R12−R70fRJI ■ 尺フ5−R73・R14 ■R7ε−R76・R77 OR;27−  R79・R20 范4−A図 第4−8図 第5図 ■ R+03− RIOI X R+02■ R106
−R+04XR+Q5 ■ R109−R+07 十RI08 ■  RI+2 − RIIC1+RIIl■ 尺1+
5 ←RI+3十尺114 第6−B図

Claims (1)

    【特許請求の範囲】
  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 true JPS6320536A (ja) 1988-01-28
JP2503984B2 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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02239323A (ja) * 1989-01-27 1990-09-21 Hughes Aircraft Co レジスタ論理演算ユニット
JPH04116726A (ja) * 1990-09-07 1992-04-17 Koufu Nippon Denki Kk 情報処理装置
JP2011528817A (ja) * 2008-03-19 2011-11-24 イマジネイション テクノロジーズ リミテッド パイプラインプロセッサ

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10121792C2 (de) * 2000-05-26 2003-09-25 Ibm Universelle Ladeadresse/Wertevorhersageschema

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02239323A (ja) * 1989-01-27 1990-09-21 Hughes Aircraft Co レジスタ論理演算ユニット
JPH04116726A (ja) * 1990-09-07 1992-04-17 Koufu Nippon Denki Kk 情報処理装置
JP2011528817A (ja) * 2008-03-19 2011-11-24 イマジネイション テクノロジーズ リミテッド パイプラインプロセッサ

Also Published As

Publication number Publication date
JP2503984B2 (ja) 1996-06-05

Similar Documents

Publication Publication Date Title
JPS63136138A (ja) 情報処理装置
JPS58114274A (ja) デ−タ処理装置
JP2518293B2 (ja) デ−タフロ−プロセツサ
JP2503984B2 (ja) 情報処理装置
JPH09212360A (ja) データ処理装置
JP2008242947A (ja) 半導体装置
JP2503983B2 (ja) 情報処理装置
JP2875864B2 (ja) パイプライン処理方式
JP3560482B2 (ja) 命令制御装置
JPS6320537A (ja) 情報処理装置
JPS6320538A (ja) 情報処理装置
JPH11119998A (ja) 情報処理装置
JP3211791B2 (ja) ループ処理方式
JP3526773B2 (ja) マルチプロセッサ装置およびその制御方法
JP2812610B2 (ja) パイプライン制御方式
JP2503966B2 (ja) 情報処理装置
JP3855069B2 (ja) 論理回路
JP2636192B2 (ja) 情報処理装置
JP2001092658A (ja) データ処理回路及びデータ処理装置
JPH04116726A (ja) 情報処理装置
JP2008102599A (ja) プロセッサ
JP3708560B2 (ja) データフロー型情報処理装置
JP3743155B2 (ja) パイプライン制御型計算機
JP2001034603A (ja) 積和演算処理装置
JPS5896346A (ja) 階層型演算方式