JPH0528870B2 - - Google Patents

Info

Publication number
JPH0528870B2
JPH0528870B2 JP62165686A JP16568687A JPH0528870B2 JP H0528870 B2 JPH0528870 B2 JP H0528870B2 JP 62165686 A JP62165686 A JP 62165686A JP 16568687 A JP16568687 A JP 16568687A JP H0528870 B2 JPH0528870 B2 JP H0528870B2
Authority
JP
Japan
Prior art keywords
circuit
vector
register
arithmetic
multiplication
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
JP62165686A
Other languages
English (en)
Other versions
JPH011059A (ja
JPS641059A (en
Inventor
Hideshi Ishii
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 JP62165686A priority Critical patent/JPS641059A/ja
Publication of JPH011059A publication Critical patent/JPH011059A/ja
Publication of JPS641059A publication Critical patent/JPS641059A/ja
Publication of JPH0528870B2 publication Critical patent/JPH0528870B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトル演算システムに関し、特にフ
アームウエア制御を用いたベクトル演算システム
に関する。
〔従来の技術〕
従来、科学技術計算を高速化するための手段と
して、米国特許4620275号公報に示すように大量
のベクトルデータに対して同一の演算を実行する
ベクトル演算命令をそなえた演算装置が多く用い
られている。
いわゆるスーパーコンピユータでは、ベクトル
演算命令はベクトル演算専用の演算回路を使用し
て実行される場合が多い。一方、スーパーコンピ
ユータほどの性能が要求されないシステムでは、
ハードウエア量の増加を抑えるためにベクトル演
算命令は通常のスカラー演算で使用する演算回路
を共用して実行される場合が多い。
スカラー演算で使用する演算回路はパイプライ
ン構造をとらないのが普通である。したがつてあ
るベクトル要素の演算実行中はその要素の演算が
終了するまで次の要素の演算が開始できない。
各ベクトル要素の演算実行をハードウエア制御
により行い、要素毎の演算のスタート指示をフア
ームウエア制御により行つているような装置で
は、上記の理由によりある要素の演算のスタート
指示は、前の要素の演算が終了したことを判定し
た後に出力される。米国特許第4589067号に示す
フアームウエア制御の浮動小数点ベクトルプロセ
ツサにおいても一般に、浮動小数点演算の実行時
間は、演算データあるいは演算結果たとえば事後
正規化の要/不要に依存して変わる場合が多い。
したがつて、フアームウエアが演算終了を認識す
るためには演算回路から送られてくる終了信号を
使用して分岐する必要がある。
〔発明が解決しようとする問題点〕
フアームウエアの分岐を行う場合、性能が低下
するのが一般的であるため、上述した従来のベク
トル演算装置では、あるベクトル要素の演算が終
了してから次の要素の演算が開始されるまでに無
駄な時間が生じ、命令実行時間が遅くなるという
欠点がある。
〔問題点を解決するための手段〕
本発明のベクトル演算システムはフアームウエ
アによるスタート指示に応答して1つのベクトル
要素に対する演算を実行する演算回路を有するベ
クトル演算システムにおいて、 前記演算回路で演算実行中に前記スタート指示
に応答してセツトされるスタート指示保留フラグ
保持手段と、 前記演算回路で演算実行中でないときに前記ス
タート指示に応答して対応するベクトル要素に対
する演算実行開始を指示する演算実行開始指示手
段と、 前記スタート指示保留フラグ保持手段のセツト
中における演算実行終了に応答して次のベクトル
要素に対する演算実行開始を前記演算実行開始手
段に指示するとともに前記スタート指示保留フラ
グ保持手段をリセツトする手段とを含む。
本発明のベクトル演算装置は、フアームウエア
からの乗算スタート指示に応答して1つのベクト
ル要素に対する乗算を実行する乗算回路と、前記
フアームウエアからの加算スタート指示に応答し
て1つのベクトル要素に対する加算を実行する加
算回路とを有するベクトル演算装置において、 ベクトル演算の種類が積和演算であることを表
示する演算タイプ表示手段と、 この演算タイプ表示手段による積和演算の表示
時、前記乗算回路の乗算実行終了信号に応答して
前記加算回路の加算実行を指示する演算リンク手
段とを含む。
〔実施例〕
次に本発明の一実施例を図面を参照して詳細に
説明する。
第1図を参照すると、本発明の一実施例は、ベ
クトル演算命令を含む各種命令を実行するための
複数のマイクロ命令からなるマイクロプログラム
を格納する制御記憶1と、この制御記憶1に線1
08を介して読出アドレスを与えるマイクロアド
レス制御回路2と、このマイクロアドレス制御回
路2からの読出アドレスに応答して前記制御記憶
1から読出されたマイクロ命令を格納するマイク
ロ命令レジスタ3と、ベクトル演算命令で使用す
るベクトルデータ、その他命令のオペランド、お
よび命令を記憶するメインメモリ4と、このメイ
ンメモリ4から読出されたベクトルデータを一時
的にストアするベクトルデータバツフア5と、前
記マイクロ命令レジスタ3のマイクロ命令中の書
込ビツトWの指示に応答して前記ベクトルデータ
バツフア5からのベクトルデータを格納するオペ
ランドレジスタ7および8と、これらレジスタ7
および8からのベクトルデータを線103を介し
て与えられる指示に基づいて浮動小数点加減算を
行なう浮動小数点加算回路9と、線104の選択
指示により前記浮動小数点加算回路9からの演算
結果を選択するセレクタ10と、このセレクタ1
0で選択された結果を線105の指示により格納
するリザルトレジスタ11と、このリザルトレジ
スタ11にセツトされたデータが正規化済であれ
ば、線109のストア指示に応答してストアされ
メインメモリ4に送られるベクトルストアバツフ
ア6と、浮動小数点加算回路9からの加算結果が
正規化されているか否かを判定する正規化判定回
路14と、正規化のために必要なシフト数を検出
し、検出されたシフト数を送出する正規化桁数検
出回路12と、この正規化桁数検出回路12で検
出されたシフト数だけリザルトレジスタ11のデ
ータをシフトし出力する正規化レジスタ13と、
浮動小数点加減算の制御を行うための演算制御回
路15とから構成されている。
次に本発明の一実施例を第1図から第5図を参
照しながら、詳細に説明する。
第5図を参照すると、まずタイミングT1でマ
イクロ命令ステツプAが読出される。
第4図を参照すると、このステツプAはオペラ
ンドレジスタ7,8にデータをセツトし、加算ス
タートを指示するステツプである。
第1図を参照すると、制御記憶1から読出され
たステツプAはレジスタ3に格納される。次のタ
イミングT2でこのうちの書込ビツトWがオペラ
ンドレジスタ7および8にストア指示信号として
線102を介して与えられる。これとともにレジ
スタ3の演算スタートビツトSは線101を介し
て演算制御回路15に与えられる。線101を介
して与えられる演算スタート指示信号は、ゲート
213および219を介してシーケンスフラグフ
リツプフロツプ201をセツトする。このセツト
に応答して線103を介して加算指示信号が第1
図の浮動小数点加算回路9に与えられる。また前
記セツトとともに、第2図の演算実行中フラグフ
リツプフロツプ204がセツトされる。このフリ
ツプフロツプ204は演算実行開始に応答してセ
ツトされ、演算実行終了に応答してリセツトされ
る。なお、演算終了と次の演算開始が同時に生ず
るときにはセツトされる。
第1図を参照すると、マイクロ命令ステツプA
のレジスタ3のネクストアドレスフイールドNの
アドレスが線107を介してマイクロアドレス制
御回路2に与えられる。
第2図を参照すると、線107を介して与えら
れるアドレスはセレクタ304を介して線108
に送出される。この線108を介して与えられる
アドレスでマイクロ命令ステツプBが読出されレ
ジスタ3に格納される。
次のタイミングT3で第2図に示すシーケンス
フラグフリツプフロツプ202がセツトされる。
第1図、第4図および第5図を参照すると、こ
のタイミングT3でマイクロ命令ステツプCが制
御記憶1から読出されレジスタ3にセツトされ
る。このステツプCでは、オペランドレジスタ7
および8にデータをセツトし、演算をスタートす
るとともに全てのベクトル要素に対する演算のス
タート指示が終了したか否かの判定が行なわれ
る。
このステツプCにより線101を介して与えら
れる信号がアンドゲート212に供給される。ア
ンドゲート212のもう一方の信号はフリツプフ
ロツプ204からゲート216を介して与えられ
る。次のタイミングT4でこの2つの信号に応答
してアンドゲート212の信号はスタート指示保
留フラグフリツプフロツプ205がセツトされ
る。このフリツプフロツプ205のフラグは、演
算実行中にマイクロ命令により次の演算のスター
ト指示が出された場合に、現在実行中の演算が終
了するまでその指示を保留するためのフラグであ
る。このフリツプフロツプ205は演算実行終了
に応答してリセツトされ、演算実行終了と次の実
行開始とが同時に生じたときにはリセツトされ
る。第1図および第5図を参照すると、タイミン
グT3では浮動小数点加算回路9での加算結果が
セレクタ10で選択されるとともに正規化判定回
路14で正規化済でないと判定された信号が線1
06に出力される。
この最終的判定はタイミングT4でマイクロ命
令ステツプDによりマイクロアドレス制御回路2
で線106の信号にもとづいて行なわれる。
第3図を参照すると、線106を介して与えら
れる信号は分岐条件信号として分岐条件レジスタ
302にセツトされる。このレジスタ302の内
容は分岐制御回路303に与えられる。分岐制御
回路303ではマイクロ命令の条件分岐のとき第
1図のマイクロ命令レジスタ3に格納されたマイ
クロ命令ステツプDのネクストアドレスフイール
ドNから線107を介して送られてくるアドレス
信号と、条件分岐レジスタ302の内容を使用し
て、次に実行すべきマイクロ命令ステツプEのア
ドレスが作成される。条件分岐の場合は、分岐制
御回路303の出力がセレクタ304を介して線
108に出力される。
第2図および第5図を参照すると、線106を
介して与えられる正規化済でないと判定された信
号はアンドゲード211に与えられ、フリツプフ
ロツプ202の出力がタイミングT4でフリツプ
フロツプ203にセツトされる。
第1図および第5図を参照すると、タイミング
T2でオペランドレジスタ7および8に格納され
ていたオペランドは、浮動小数点加算回路9で加
算され、タイミングT3でセレクタ10を介して
タイミングT4でリザルトレジスタ11にセツト
される。このリザルトレジスタ112の格納指示
は、第3図のフリツプフロツプ202の出力で指
示される。
第1図および第5図を参照すると、タイミング
T5ではマイクロ命令ステツプEが制御記憶1か
ら読出されレジスタ3に格納される。
これとともに、タイミングT4からタイミング
T5にかけて、セレクタ10を介して格納された
リザルトレジスタ11の内容により正規化桁数検
出回路12で正規化のための必要なシフト数が検
出される。
次にこのシフト数に基づき正規化シフタ13で
リザルトレジスタ11の内容がシフトされる。こ
のシフト結果はセレクタ10を介してタイミング
15でリザルトレジスタ11に格納される。この
格納動作は第3図のフリツプフロツプ203の出
力で指示される。このリザルトレジスタ11の内
容はタイミングT6でベクトルストアバツフア6
にストアされる。
第2図および第5図を参照すると、タイミング
T4でフリツプフロツプ203および205がセ
ツトされているためアンドゲート214およびオ
アゲート219を介してタイミングT5でフリツ
プフロツプ201がセツトされる。同じタイミン
グT5でフリツプフロツプ204もセツトし直さ
れる。
第1図、第4図および第5図を参照すると、タ
イミングT5におけるマイクロ命令ステツプEの
次にタイミングT6ではマイクロ命令ステツプC
が読出される。このステツプCのマイクロ命令は
レジスタ3に格納され、このマイクロ命令中の書
込ビツトWが線102を介してオペランドレジス
タ7および8に与えられ、タイミングT7で新た
なオペランドが格納される。タイミングT4−T6
でオペランドレジスタ7および8に格納されてい
たデータは浮動小数点加算回路9で加算され、セ
レクタ10を介してタイミングT7でリザルトレ
ジスタ11に格納される。この格納指示は、加算
回路9の出力が正規化済であると正規化判定回路
14で判定されているため、フラグフリツプフロ
ツプ202の出力が線105を介して与えられ
る。このように、加算回路9の出力が正規化済で
ないときにはフリツプフロツプ201の内容はフ
リツプフロツプ202を介してフリツプフロツプ
203に与えられる。また、加算回路9の出力
が、正規化済のときは、フリツプフロツプ201
の内容はフリツプフロツプ202に与えられる。
なお、タイミングT7でリザルトレジスタ11
に格納された内容はタイミングT8でベクトルス
トアバツフア6に格納される。第5図を参照する
と、この例では、3要素分のベクトル演算が実行
されており、各々のベクトル演算の実行時間は1
番目の要素が正規化のために1クロツク増加して
3クロツク、2,3番目の要素が2クロツクとな
つている。
従来の装置では演算スタート指示がフアームウ
エアにより出力された場合は直ちにシーケンスフ
ラグ201がセツトされるようになつており、そ
の場合、1番目の要素の演算が終了したかどうか
をフアームウエアにより判断しなければタイミン
グT3で2番目の要素の演算スタート指示が出せ
ない。しかしながら、1番目の要素の演算が終了
したことをフアームウエアが判断できるのはタイ
ミングT5、すなわちステツプEであり、遅れて
しまうことになる。
したがつて従来の装置では、第6図に示すよう
に、全ベクトル要素の演算時間を3クロツクとみ
なしてフアームウエアを作成する必要があつた。
しかしその場合、第7図に示すようにi+1番目
およびi+2番目の要素のように正規化処理が不
要な要素に対しても3クロツクの実行時間が与え
られるため、タイミングT7およびT10のような遊
びの時間が発生し、性能が低下していた。
一方、本実施例の装置ではタイミングT3すな
わちステツプCでフアームウエアから演算スター
ト指示が出力されたときには前の要素の演算がま
だ終了していない、すなわち、演算実行中フラグ
204が“1”であるため、スタート指示保留フ
ラグ204が“1”にセツトされ、演算終了まで
指示が保留された後次の要素の演算が開始され
る。したがつてフアームウエアは2番目の要素よ
り以後の演算スタート指示は常にステツプCで行
えば良く、また正規化により実行時間が1クロツ
ク増加した場合のみステツプEを実行して演算制
御回路15との同期をとるだけで良い。
以上説明したように本発明は、スタート指示保
留フラグによりフアームウエアの分岐による遅れ
を吸収することによりフアームウエア制御による
ベクトル演算命令の実行を高速に行うことができ
るという効果がある。
第8図を参照すると、本発明の一実施例は、 ベクトル演算命令を含む各種命令を実行するた
めの複数のマイクロ命令からなるマイクロプログ
ラムを格納する制御記憶1と、この制御記憶1に
信号線108を介して読出しアドレスを与えるマ
イクロアドレス制御回路2と、このマイクロアド
レス制御回路2からの読出アドレスに応答して制
御記憶1から読出されたマイクロ命令を格納する
マイクロ命令レジスタ3と、ベクトル演算命令で
使用するベクトルデータ、その他の命令のオペラ
ンド、及び命令を記憶するメインメモリ4と、こ
のメインメモリ4から読出されたベクトルデータ
を一時的にストアするベクトルデータバツフア5
と、演算用のスカラーデータを保持するスカラー
レジスタ16と、演算実行中にこの演算で使用さ
れるオペランドを保持するオペランドレジスタ7
及び8と、このオペランドレジスタ7及び8の入
力をそれぞれ選択するセレクタ17及び18と、
オペランドレジスタ7及び8からのデータの浮動
小数点乗算を行う浮動小数点乗算回路25と、オ
ペランドレジスタ7及び8からのデータの浮動小
数点加算を行う浮動小数点加算回路9と、演算結
果データが格納されるリザルトレジスタ11と、
このリザルトレジスタ11への入力データを選択
するセレクタ10と、浮動小数点乗算回路25の
出力が正規化済(正規形)か否かを判定する正規
化判定回路14と、正規化のために必要なシフト
数を検出し、シフト数を送出する正規化桁数検出
回路12と、この正規化桁数検出回路12で検出
されたシフト数だけリザルトレジスタ11のデー
タをシフトして出力する正規化シフタ13と、マ
イクロ命令レジスタ3に格納されたマイクロ命令
により与えられるベクトル演算タイプコードTが
セツトされるタイプレジスタ19と、このタイプ
レジスタ19の出力をデコードし、ベクトル演算
タイプコードが積和演算を表わしているときに信
号線115に“1”を出力するデコーダ20と、
浮動小数点乗算回路25で実行される演算の制御
を行なう乗算制御回路21と、浮動小数点加算回
路19で実行される演算の制御を行なう加算制御
回路24と、アンドゲート22と、オアゲート2
3,26および27とを備えている。
次に第3図、および第8図〜第10図を参照し
て、ベクトル演算装置の動作を説明する。ここで
は、積和演算として次の演算を実行するものとす
る。
V3←V2i+S×V1i ここでV1i,V2i、及びV3iはメインメモリ4に
格納された3つのベクトルデータのそれぞれのi
番目の要素を表わしている。またSはスカラーレ
ジスタ16に格納されたスカラーデータを表わし
ている。
第3図に示すように、マイクロアドレス制御回
路2は分岐条件レジスタ302、分岐制御回路3
03、及びセレクタ304を備えている。正規化
判定回路14で浮動小数点乗算回路25の出力が
正規化でないと判定されると正規化判定回路14
は信号線106を介して分岐条件レジスタ302
に“1”をセツトする。分岐制御回路303では
条件分岐を行う際にマイクロ命令レジスタ3のネ
クストアドレスフイールドNから信号線107を
介して送られてくるアドレス情報と分岐条件レジ
スタ302の内容とから次に読出すべき制御記憶
1のアドレスを作成する。セレクタ304は条件
分岐を行わないときは信号線107を選択し、そ
の結果制御記憶1のアドレスとしてマイクロ命令
レジスタ3のネクストアドレスフイールドNの値
がそのまま使用される。また条件分岐を行うとき
には分岐制御回路302の出力が選択される。
ここで第13図に積和演算命令のフアームウエ
アのフローチヤートを示すとともに、第14図に
積和演算命令の実行のタイムチヤートを示す。な
お第14図のマイクロ命令ステツプA〜Fは第1
3図のフローチヤートにおけるステツプA〜ステ
ツプFにそれぞれ対応している。
第8図および第13図を参照すると、フアーム
ウエアはオペランドレジスタ7と8にスカラーレ
ジスタ16の内容Sとベクトルデータバツフア5
の内容(V1iとV2i)とをセツトするための制御、
乗算制御回路21による乗算の実行のスタート指
示、乗算結果が正規形かどうかの判定、及びベク
トル要素を全て実行したかどうかの判定を行う。
一方、乗算及び加算の実行制御、結果のベクトル
ストアバツフア6への書込み制御等はハードウエ
アにより制御される。なお、第13図に示すステ
ツプB,C,E,及びFはハードウエアとのタイ
ミングをとるためのステツプである。
第13図および第14図を参照すると、積和演
算命令のフアームウエアではタイミングT1にお
いてマイクロ命令ステツプAが実行される。マイ
クロ命令ステツプAでは、マイクロ命令レジスタ
3のマイクロ命令中の書込ビツトWの指示に応答
してスカラーレジスタ16の内容Sがオペランド
レジスタ7に、ベクトルデータバツフア5から
V1iが読出されてオペランドレジスタ8にそれぞ
れセツトされ、乗算制御回路21に対して浮動小
数点乗算のスタート指示が出力される。
第8図、第9図および第11図を参照すると、
乗算制御回路21では、マイクロ命令レジスタ3
のMフイールドから線110を介して与えられる
乗算スタート指示信号に応答して、シーケンスフ
ラグF/F220、シーケンスフラグF/F22
1がセツトされる。このセツトによりF/F22
0および221から線112および113および
浮動小数点乗算回路25のオア回路259を介し
てSレジスタ256およびCレジスタ257にセ
ツト指示が与えられる。
浮動小数点乗算回路25では、オペランドレジ
スタ7および8に格納されているオペランドの指
数部が加算器251により加算されリザルトレジ
スタ11の指数部に送られる。オペランドレジス
タ8に格納されている乗数の仮数部は、部分乗数
作成回路252により2つの部分乗数に分割され
る。分割された部分乗数とオペランドレジスタ7
からの被乗数の仮数部とは2回に分けて乗算され
る。倍数発生器254では、Boothの方法にもと
づいて複数の部分積が発生され、これらの部分積
はキヤリーセーブアダーツリー255により加算
される。最終的にはsumとcarryの2つのデータ
に分かれた形でSレジスタ256とCレジスタ2
57に上述のセツト指示に応答してタイミング
T3で格納される。1回目の部分乗算でこれらレ
ジスタ256および257に格納された部分積
は、2回目の部分乗算で倍数発生器255により
発生された部分積とキヤリーセーブアダーツリー
255により加算され、タイミングT4でレジス
タ256および257に再び格納される。タイミ
ングT4で、Sレジスタ256の内容とCレジス
タ257の内容とは加算器258で加算されタイ
ミングT5でリザルトレジスタ11の仮数部に格
納される。
一方、乗算制御回路21では、シーケンスフラ
グF/F221からのセツト信号に応答して、タ
イミングT4でシーケンスフラグF/F222が
セツトされる。このF/F222の出力はオアゲ
ート227、線105、およびオアゲート26を
介してタイミングT5でリザルトレジスタ11に
与えられる。
すなわち、タイミングT2〜T4では浮動小数点
乗算回路25により浮動小数点乗算(S×V1i
が実行され、その結果Pi′がタイミングT5でリザ
ルトレジスタ11とオペランドレジスタ8とにセ
ツトされる。そして、タイミングT4において正
規化判定回路14により乗算結果Pi′が正規形で
あるかどうかの判定がなされる。判定の結果正規
形であつた場合にはPi′は最終的な乗算結果であ
るので、タイミングT4で浮動小数点乗算は終了
し、終了信号106が出力される。一方、乗算結
果Pi′が正規形でなかつた場合、タイミングT5
正規化処理が行われ、最終的な乗算結果であるPi
がリザルトレジスタ11およびオペランドレジス
タ8にあらためてセツトされて、タイミングT5
で終了信号106が出力される。
第8図、第13図および第14図を参照する
と、フアームウエアは乗算がタイミングT4で終
了するかタイミングT5で終了するかの如何にか
かわらずタイミングT4でマイクロ命令ステツプ
Dを実行し、ベクトルデータバツフア5からベク
トルデータV2iをオペランドレジスタ10に読み
出す。積和演算命令では予めタイプレジスタ19
に積和演算タイプをあらわすコードが格納されて
おり、積和演算タイプのコードがデコーダ20に
よりデコードされて信号線115に論理“1”が
出力されている。従つて終了信号114が出力さ
れるとアンドゲート22、オアゲート23および
線116を介して加算制御回路24に対してスタ
ート指示が行われる。
第8図、第12図および第14図を参照する
と、オアゲート23および線116を介して与え
られた信号はタイミングT6でシーケンスフラグ
F/F241をセツトする。
浮動小数点加算処理は2クロツクにわたつて実
行される。
第8図および第10図を参照すると、まず、タ
イミングT6で、オペランドレジスタ7および8
に格納されているオペランドの指数部は、絶対値
減算器91によりその差が求められる。この演算
により大きいと判断された方のオペランドの指数
部がセレクタ92で選択されてリザルトレジスタ
11の指数部に送られる。桁合せ回路93では絶
対値減算器91により求められた指数部の差にも
とづいてオペランドレジスタ7および8の仮数部
に対する桁合せ処理が行なわれる。桁合せ回路9
3による桁合せの後、加算器94により加算され
る。
再び第8図、第12図および第14図を参照す
ると、加算制御回路24では、シーケンスフラグ
F/F241の出力は、オアゲート242、線1
17およびオアゲート26を介してリザルトレジ
スタ11にセツト指示信号として与えられる。こ
のセツト指示信号に応答してリザルトレジスタ1
1は加算結果をセツトする。
タイミングT7では、リザルトレジスタ11に
格納された正規化前の結果にもとづいて正規化桁
数検出回路12および正規化シフタ13を使用し
て正規化処理が行なわれる。
第8図、第11図、第12図および第14図を
参照すると、セレクタ10は初期状態において浮
動小数点乗算回路25の出力を選択する。次にタ
イミングT5での乗算制御回路21のシーケンス
フラグF/F226のセツトに応答して線104
およびオアゲート27を介して選択指示信号がセ
レクタ10に与えられる。この選択指示信号に応
答してセレクタ10は浮動小数点加算回路9の出
力を選択する。タイミングT7での加算制御回路
24のシーケンスフラグF/F243のセツトに
応答して線118およびオアゲート27を介して
選択指示信号がセレクタ10に与えられる。この
選択指示信号に応答してセレクタ10は正規化シ
フタ13の出力を選択する。この選択により正規
化後の結果がリザルトレジスタ11にセツトされ
る。タイミングT8では、加算制御回路24のシ
ーケンスフラグF/F244がセツトされ、線1
19を介してベクトルストアバツフア6にストア
指示信号が出力される。このストア指示信号に応
答してベクトルストアバツフア6は、リザルトレ
ジスタ11からの正規化後の結果をストアする。
すなわち加算スタート指示によりタイミング
T6〜T7において浮動小数点加算(V2i+Pi)が実
行され、加算結果V3iはリザルトレジスタ11に
セツトされた後ベクトルストアバツフア6に書き
込まれ、最終的にはメインメモリ4に書き込まれ
る。このようにして1要素分の積和演算が終了す
る。
第8図、第13図および第14図を参照する
と、フアームウエアはタイミングT5においてマ
イクロ命令ステツプEを実行し、分岐条件レジス
タ201の内容に従つて条件分岐を行う。このと
き第3図の分岐条件レジスタ302の値が“0”、
即ち正規形であればマイクロ命令ステツプEの後
に、次の要素の処理を開始するためのマイクロ命
令ステツプAへ分岐する。一方、タイミングT5
において分岐条件レジスタ302の値が“1”す
なわち正規形でないことをあらわしている場合に
は、浮動小数点乗算の実行時間が正規化のために
1クロツク分増加している。このため、ハードウ
エア制御による演算処理との時間的同期をとるた
めにマイクロ命令ステツプFへ分岐し、その後マ
イクロ命令ステツプAへ分岐する。
タイミングT7以降は以上延べた動作がくり返
して実行されるが、タイミングT8〜T12に示した
ように浮動小数点乗算の結果が正規形である場合
にはタイミングT2〜T7の処理に比較して1クロ
ツク分実行時間が高速化されている。
第15図を参照すると、従来の装置では、全ベ
クトル要素の演算時間を乗算4クロツク、および
加算2クロツクの計6クロツクとみなしてフアー
ムウエアを作成する必要がある。第16図を参照
すると、その場合、i+1番目の乗算結果のよう
に正規化処理が不要な要素に対しても4クロツク
の乗算時間が与えられるため、タイミングT11
示す遊び時間が発生し性能が低下していた。
以上説明したように本発明は、積和演算である
ことを表示する演算タイプ表示手段を設け、乗算
終了後直ちに加減算のスタートを指示することに
よりフアームウエアの分岐による遅れを吸収し、
フアームウエア制御によるベクトル積和演算命令
の実行を高速に行うことができるという効果があ
る。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示す図、第2
図は第1図の演算制御回路15の詳細な構成を示
す図、第3図は第1図のマイクロアドレス制御回
路2の詳細な構成を示す図、第4図は第1の実施
例のフアームウエア動作を示す図、第5図は第1
の実施例のベクトル演算動作を示すタイムチヤー
ト、第6図および第15図は従来のフアームウエ
ア動作を示す図、第7図および第16図は従来の
動作を示すタイムチヤート、第8図は本発明の第
2の実施例を示す図、第9図は第2の実施例の浮
動小数点乗算回路25の詳細な構成を示す図、第
10図は第2の実施例の浮動小数点加算回路9の
詳細な構成を示す図、第11図は第2の実施例の
乗算制御回路21の詳細な構成を示す図、第12
図は第2の実施例の加算制御回路24の詳細な構
成を示す図、第13図は第2の実施例のフアーム
ウエア動作を示す図、および第14図は第2の実
施例の積和演算動作を示す図である。 第1図から第14図において、1……制御記
憶、2……マイクロアドレス制御回路、3……マ
イクロ命令レジスタ、4……メインメモリ、5…
…ベクトルデータバツフア、6……ベクトルスト
アバツフア、7,8……オペランドレジスタ、9
……浮動小数点加算回路、10……セレクタ、1
1……リザルトレジスタ、12……正規化桁数検
出回路、13……正規化シフタ、14……正規化
判定回路、15……演算制御回路、16……スカ
ラーレジスタ、17,18……セレクタ、19…
…タイプレジスタ、20……デコーダ、21……
乗算制御回路、24……加算制御回路、25……
浮動小数点乗算回路、91……絶対値減算器、9
2……セレクタ、93……桁合せ回路、94,2
51,258……加算器、252……部分乗数作
成回路、253……デコーダ、254……倍数発
生回路、255……キヤリーセーブアダー。

Claims (1)

  1. 【特許請求の範囲】 1 フアームウエアによるスタート指示に応答し
    て1つのベクトル要素に対する演算を実行する演
    算回路を有するベクトル演算システムにおいて、 前記演算回路で演算実行中に前記スタート指示
    に応答してセツトされるスタート指示保留フラグ
    保持手段と、 前記演算回路で演算実行中でないときに前記ス
    タート指示に応答して対応するベクトル要素に対
    する演算実行開始を指示する演算実行開始指示手
    段と、 前記スタート指示保留フラグ保持手段のセツト
    中における演算実行終了に応答して次のベクトル
    要素に対する演算実行開始を前記演算実行開始手
    段に指示するとともに前記スタート指示保留フラ
    グ保持手段をリセツトする手段とを含むことを特
    徴とするベクトル演算システム。 2 フアームウエアからの乗算スタート指示に応
    答して1つのベクトル要素に対する乗算を実行す
    る乗算回路と、前記フアームウエアからの加算ス
    タート指示に応答して1つのベクトル要素に対す
    る加算を実行する加算回路とを有するベクトル演
    算システムにおいて、 ベクトル演算の種類が積和演算であることを表
    示する演算タイプ表示手段と、 この演算タイプ表示手段による積和演算の表示
    時、前記乗算回路の乗算実行終了信号に応答して
    前記加算回路の加算実行を指示する演算リンク手
    段とを含むことを特徴とするベクトル演算システ
    ム。
JP62165686A 1986-07-16 1987-07-01 Vector computing system Granted JPS641059A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62165686A JPS641059A (en) 1986-07-16 1987-07-01 Vector computing system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP61-168626 1986-07-16
JP16862686 1986-07-16
JP62-41326 1987-02-26
JP62165686A JPS641059A (en) 1986-07-16 1987-07-01 Vector computing system

Publications (3)

Publication Number Publication Date
JPH011059A JPH011059A (ja) 1989-01-05
JPS641059A JPS641059A (en) 1989-01-05
JPH0528870B2 true JPH0528870B2 (ja) 1993-04-27

Family

ID=26490335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62165686A Granted JPS641059A (en) 1986-07-16 1987-07-01 Vector computing system

Country Status (1)

Country Link
JP (1) JPS641059A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2553783B (en) * 2016-09-13 2020-11-04 Advanced Risc Mach Ltd Vector multiply-add instruction

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60134975A (ja) * 1983-12-24 1985-07-18 Fujitsu Ltd 積和演算回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60134975A (ja) * 1983-12-24 1985-07-18 Fujitsu Ltd 積和演算回路

Also Published As

Publication number Publication date
JPS641059A (en) 1989-01-05

Similar Documents

Publication Publication Date Title
US5311458A (en) CPU with integrated multiply/accumulate unit
US5212662A (en) Floating point arithmetic two cycle data flow
JP2645669B2 (ja) データ処理システム
US4498136A (en) Interrupt processor
US5682545A (en) Microcomputer having 16 bit fixed length instruction format
EP0377994B1 (en) Apparatus for performing floating point arithmetic operations
US5093908A (en) Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
US5596733A (en) System for exception recovery using a conditional substitution instruction which inserts a replacement result in the destination of the excepting instruction
CA1119731A (en) Multibus processor for increasing execution speed using a pipeline effect
EP0097956A2 (en) Arithmetic system having pipeline structure arithmetic means
US4539635A (en) Pipelined digital processor arranged for conditional operation
US4974198A (en) Vector processing system utilizing firm ware control to prevent delays during processing operations
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
JPS58182758A (ja) 演算制御装置
JPH0528870B2 (ja)
JPH0461390B2 (ja)
JPS6161416B2 (ja)
Gillies A flow chart notation for the description of a speed-independent control
JPH011059A (ja) ベクトル演算システム
JP2000029696A (ja) プロセッサおよびパイプライン処理制御方法
JP3310316B2 (ja) 演算装置
JPH0222413B2 (ja)
JP2654451B2 (ja) データ出力方法
JPS6259829B2 (ja)
JPS59223846A (ja) 演算処理装置