JP2503983B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2503983B2
JP2503983B2 JP61164747A JP16474786A JP2503983B2 JP 2503983 B2 JP2503983 B2 JP 2503983B2 JP 61164747 A JP61164747 A JP 61164747A JP 16474786 A JP16474786 A JP 16474786A JP 2503983 B2 JP2503983 B2 JP 2503983B2
Authority
JP
Japan
Prior art keywords
arithmetic
result
pipeline
circuit
register
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
JP61164747A
Other languages
English (en)
Other versions
JPS6320535A (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 JP61164747A priority Critical patent/JP2503983B2/ja
Publication of JPS6320535A publication Critical patent/JPS6320535A/ja
Application granted granted Critical
Publication of JP2503983B2 publication Critical patent/JP2503983B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置に関し,特に複数の命令を並列
に実行するパイプライン化した情報処理装置に関する。
〔従来の技術〕
一般に高性能を追求した情報処理装置に於ては,独立
した各種演算器をパイプライン化し,同種の演算につい
ては同じ演算器に対して連続的にオペランドを送り込ん
でパイプライン処理し,異なった演算については別の演
算器に対して連続的にオペランドを送り込んで並列に処
理することが行なわれている。また,各種演算器は,性
能向上の為,それぞれ最も少ないパイプライン段数で実
現している。
〔発明が解決しようとする問題点〕
ところが,同一演算器については,パイプライン処理
の為,演算結果が入力順に順次出力されるが,異なった
演算器からの結果の出力は,各演算器へのオペランドの
投入タイミング,各演算器のパイプライン段数の違いに
より,同一タイミングに競合する可能性がある。演算結
果は一般にソフトウェア可視レジスタ群(以下,演算レ
ジスタと呼ぶ)の中の一つに格納されるが,これは普通
メモリ化されている為,同一タイミングに複数の結果を
格納することは出来ない。
これを避ける為,各演算器のパイプラインの段数から
逆算して,結果の出力タイミングが競合する場合には,
各演算器へのオペランドの投入タイミング,即ち命令の
実行起動を適当に遅らせている。命令の実行起動が与え
られた命令列の順にしか出来ない制御方式を採用してい
る装置では,1命令の実行起動を遅らせることにより後続
の命令も順次遅れることになり,性能の低下を招いてい
る。
〔問題点を解決するための手段〕
本発明の情報処理装置はパイプライン化した機能の異
なる演算器を複数個持つ情報処理装置に於て,各演算に
最低必要なパイプライン段数が異なる場合,少ない段数
で済む演算器に対してはその後段に単に結果の転送のみ
を行なうパイプライン用のレジスタを必要な段数だけ最
も長い段数が必要な演算器の段数に合わせ付加し,前記
付加したパイプライン用レジスタの任意のレジスタから
も演算結果を出力できる切替手段と,全結果出力のうち
から1つを選択する場合の競合時には同一演算器につい
ては後段のパイプライン用レヅスタの出力を,異なる演
算器間については演算に最低必要なパイプライン段数の
多い演算器からの出力を優先させる制御手段を含んで構
成される。
〔実施例〕
次に本発明について図面を参照して説明する。
第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に出力する回路
である。
制御回路15は切替回路12,13,14の選択を制御する回路
である。まず切替回路14の選択制御は,各演算回路系の
間で結果の出力の競合が発生したときに,どの演算回路
系からの出力を優先するかを決めるものであり,優先順
は乗算回路系,加減算回路系,論理演算回路系の順であ
る。これは例えば乗算回路にはパイプライン用レジスタ
が無いので結果が求まった時点ですぐに演算レジスタ16
に転送しなければ結果が失われてしまうので最優先にす
るものであり,以下同様の考え方で演算に最低必要なパ
イプライン段数が多いものをより優先的にしている。
次に切替回路12の選択制御は,加減算回路系の結果の
最大4ケースの出力の競合がある場合に,どれを優先す
るかを決めるものであり,優先度はパイプライン上のよ
り後段の出力を高くしている。これは,例えば最後段の
パイプライン用レジスタ6に結果がある場合は,これを
優先して演算レジスタ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,フリップフロップ205は0→1にな
り,結果が演算レジスタ16に転送されずにパイプライン
用レジスタ4に移ったことを示す。以下パイプライン用
レジスタ5,6,フリップフロップ206,207も同様である。
切替回路12の制御はこのフリップフロップ204〜207と
加減算回路系の結果を優先して出力できることを指示す
る信号1402によって行なわれる。信号1402が1であれば
フリップフロップ207,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〜13
04はすべて1となるのでフリップフロップ204〜206の内
容がそのままフリップフロップ205〜207に移される。
次に切替回路14の選択制御について説明する。各演算
回路系から演算レジスタ16に転送すべき結果が1つでも
存在することを表わす信号1501,1502,1503はそれぞれフ
リップフロップ107の出力,フリップフロップ204〜207
の出力の論理和,フリップフロップ302〜307の出力の論
理和である。
この3本の信号を入力し,優先順位つまり乗算回路
系,加減算回路系,論理演算系の順に従って,乗算回路
系の出力を選ぶ信号1401,加減算回路系の出力を選ぶ信
号1402,論理演算系の出力を選ぶ信号1403を作成し,こ
れによって切替回路14の選択制御を行なっている。
第3図は,高速化の一例を説明する為の命令列であ
る。の命令は演算レジスタ1の内容と,演算レジスタ
2の内容を乗算し,結果を演算レジスタ3に格納するこ
とを意味する。〜についても同様である。
第4−A図は,従来の装置,即ち第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図は本発明の装置,即ち第1図でのタイムチ
ャートである。この場合〜の命令すべてについて,
前記の従来の場合とは異なり演算結果の競合を気にせ
ず,1マシンサイクルずれで実行開始させる。タイミング
6でとの命令の結果が競合するが,優先順に従って
の命令の結果が切替回路12,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マシ
ンサイクル毎に出力を得ることが出来るためであり,単
に転送の為のパイプライン用レジスタの任意の出力から
結果を取り出す構成にしているのは,競合さえなければ
出来るだけ早く演算レジスタを更新し,この結果をオペ
ランドとして使用する命令が後続の命令の中にあれば早
く実行に移らせるためである。
〔発明の効果〕
以上説明したように,本発明はパイプライン化した機
能の異なる演算器を複数持つ情報処理装置に於て,パイ
プライン段数の短い演算器には単に結果の転送のみを行
なうパイプライン用のレジスタを必要な段数だけ付加
し,任意のパイプライン用のレジスタからも結果を出力
出来るようにし,全結果出力のうちから1つを選択する
場合の競合時には同一演算器については後段のパイプラ
イン用レジスタの出力を,異なる演算器間については演
算に最低必要なパイプライン段数の多い演算器からの出
力を優先させることによって,必要なマシンサイクルを
減少,動作を高速化させる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図,第2図は
第1図の一部を詳細に示した図,第3図は本発明の効果
を説明する為の命令列例,第4−A図は第3図の命令列
を従来の装置で実行した場合のタイムチャート,第4−
B図は第3図の命令列を本発明の装置で実行した場合の
タイムチャートである。 記号の説明: 1……乗算回路,2……加減算回路,3……論理演算回路,4
〜11……パイプライン用レジスタ,12〜14……切替回路,
15……制御回路,16……演算レジスタ,101〜107,201〜20
7,301〜307……フリップフロップ(有効フラグ),214〜
217……AND回路,1001,1002……オペランド供給パス,100
3……結果格納パス,1204〜1207……切替回路12に於ける
選択信号,1301〜1303……各演算回路系に格納すべき結
果があることを示す制御信号,1401〜1403……切替回路1
4に於ける選択信号。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】パイプライン化した機能の異なる演算器を
    複数個持つ情報処理装置に於て,各演算に最低必要なパ
    イプライン段数が異なる場合,少ない段数で済む演算器
    に対してはその後段に単に結果の転送のみを行ないパイ
    プライン用のレジスタを必要な段数だけ最も長い段数が
    必要な演算器の段数に合わせ付加し,前記付加したパイ
    プライン用レジスタの任意のレジスタからも演算結果を
    出力できる切替手段と,全結果出力のうちから1つを選
    択する場合の競合時には,同一演算器については後段の
    パイプライン用レジスタの出力を,異なる演算器間につ
    いては演算に最低必要なパイプライン段数の多い演算器
    からの出力を優先させる制御手段とを含むことを特徴と
    する情報処理装置。
JP61164747A 1986-07-15 1986-07-15 情報処理装置 Expired - Lifetime JP2503983B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS6320535A JPS6320535A (ja) 1988-01-28
JP2503983B2 true JP2503983B2 (ja) 1996-06-05

Family

ID=15799146

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2503983B2 (ja)

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3578883B2 (ja) データ処理装置
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
JP2518293B2 (ja) デ−タフロ−プロセツサ
JP2503984B2 (ja) 情報処理装置
JP2503983B2 (ja) 情報処理装置
US6981130B2 (en) Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel
JP2875864B2 (ja) パイプライン処理方式
JPH0810431B2 (ja) 情報処理装置
JP2503966B2 (ja) 情報処理装置
EP1132813A2 (en) Computer with high-speed context switching
JPH0810432B2 (ja) 情報処理装置
JP2558831B2 (ja) パイプライン制御方式
JP3855069B2 (ja) 論理回路
JP3708560B2 (ja) データフロー型情報処理装置
JPH0789320B2 (ja) 演算処理装置
JP2001092658A (ja) データ処理回路及びデータ処理装置
JP3759742B2 (ja) データ処理装置
JP3743155B2 (ja) パイプライン制御型計算機
JP3144004B2 (ja) 条件分岐処理装置
JP2747353B2 (ja) アドレス発生装置
JPH07262008A (ja) 並列分岐処理装置
JP2000187591A (ja) ループ処理方式
JP2000181705A (ja) 命令制御装置
JPH09101891A (ja) 情報処理装置及び例外処理用シーケンサ
JPH04116726A (ja) 情報処理装置