JPH011059A - ベクトル演算システム - Google Patents

ベクトル演算システム

Info

Publication number
JPH011059A
JPH011059A JP62-165686A JP16568687A JPH011059A JP H011059 A JPH011059 A JP H011059A JP 16568687 A JP16568687 A JP 16568687A JP H011059 A JPH011059 A JP H011059A
Authority
JP
Japan
Prior art keywords
vector
circuit
register
multiplication
timing
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
JP62-165686A
Other languages
English (en)
Other versions
JPH0528870B2 (ja
JPS641059A (en
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 JP62165686A priority Critical patent/JPS641059A/ja
Priority claimed from JP62165686A external-priority 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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトル演算システムに関し、特にフアームウ
ェア制御を用いたベクトル演算システムに関する。
〔従来の技術〕
従来、科学技術計算を高速化するための手段として、米
国特許4,620.275号公報に示すように大量のベ
クトルデータに対して同一の演$を実行するベクトル演
算命令をそなえた演算装置が多く用いられている。
いわゆるスーパーコンピュータでは、ベクトル演算命令
はベクトル演算専用の演算回路を使用して実行される場
合が多い。一方、スーパーコンピュータはどの性能が要
求されないシステムでは、ハードウェア量の増加を抑え
るためにベクトル演算命令は通常のスカラー演算で使用
する演算回路を共用して実行される場合が多い。
スカラー演算で使用する演算回路はパイプライ/構造を
とらないのが普通である。したがっであるベクトル要素
の演算実行中はその要素の演算が終了するまで次の要素
の演算が開始できない。
各ベクトル要素の演算実行をノ・−ドウエア制御により
行い、要素毎の演算のスタート指示をファームウェア制
御により行っているような装置では、上記の理由により
ある要素の演算のスタート指示は、前の要素の演算が終
了したことを判定した後に出力される。米国特許第4,
589,067号に示すファームクエア制御の浮動小数
点ベクトルプロセッサにおいても一般に、浮動小数点演
算の実行時間は、演算データあるいは演算結果たとえば
事後正規化の要/不要に依存して変わる場合が多い。
したがって、ファームウェアが演算終了全認識するため
には演算回路から送られてくる終了信号を使用して分岐
する必要がある。
〔発明が解決しようとする問題点〕
ファームウェアの分岐を行う場合、性能が低下するのが
一般的であるため、上述し几従来のベクトル演3に装置
では、あるベクトル要素の演算が終了してから次の要素
の演算が開始されるまでに無駄な時間が生じ、命令実行
時間が遅くなるという欠点がある。
〔問題点を解決するための手段〕
本発明のベクトル演算システムはファームウェアによる
スタート指示に応答して1つのベクトル要素に対する演
算を実行する演算回路を有するベクトル演算システムに
おいて、 前記演算回路で演算実行中に前記スタート指示に応答し
てセットされるスタート指示保留フラグ保持手段と、 前記演算回路で演算実行中でないときに前記スタート指
示に応答して対応するベクトル要素に対する演算実行開
始を指示する演算実行開始指示手段と、 前記スタート指示保留フラグ保持手段のセット中におけ
る演算実行終了に応答して次のベクトル要素に対する演
算実行開始を前記演算実行開始手段に指示するとともに
前記スタート指示保留フラグ保持手段をリセットする手
段とを含む。
本発明のベクトル演算装置は、ファームウェアからの乗
算スタート指示に応答して1つのベクトル要素に対する
乗算を実行する乗算回路と、前記ファームウェアからの
加算スタート指示に応答して1つのベクトル要素に対す
る加算を実行する加算回路とを有するベクトル演算装置
において、ベクトル演算の種類が積和演算であることを
表示する演算タイプ表示手段と、 この演算タイプ表示手段による積和演算の表示時、前記
乗算回路の乗算実行終了信号に応答して前記加算回路の
加算実行を指示する演算リンク手段とを含む。
〔実施例〕
次に本発明の一実施例を図面を参照して詳細に説明する
vJ1図を参照すると、本発明の一実施例は、ベクトル
演算命令を含む各種命令を実行するだめの複数のマイク
ロ命令からなるマイクロプログラムを格納する制御記憶
1と、この制御記憶lに線108を介して読出アドレス
を与えるマイクロアドレス制御回路2と、このマイクロ
アドレス制御回路2からの続出アドレスに応答して1l
iiJ記制御記を似1から1trl出さ九たマイクロ命
令分格納するマイクロ命令レジスタ3と、ベクトル演算
命令で使用するベクトルデータ、その他命令のオペラン
ド、および命令を記憶するメインメモリ4と、このメイ
ンメモリ4から3f出されたベクトルデータを一時的に
ストアするベクトルデータバッファ5と、前記マイクロ
命令レジスタ3のマイクロ命令中の書込ピッ) (W)
  の指示に応答して前記ベクトルデータバッファ5か
らのベクトルデータを格納するオペランドレジスタ7お
よび8と、これらレジスタ7および8からのベクトルデ
ータを線103を介して与えられる指示に基づいて浮動
小数点加減算を行なう浮動小数点加算回路9と、線10
4の選択指示により前記浮動小数点加算回路9からの演
葺結呆を選択するセレクタ10と、このセレクタ10で
選択された結果をi!#105の指示により格納するり
サルトレジスタ11と、このリザルトレジスタ11にセ
ットされたデータが正規北隣でおれば、1lociのス
トア指示に応答してストアされメインメモリ4に送られ
るベクトルストアバッファ6と、浮動小数点加算回路9
からの加算結果が正規化されているか否かを判定する正
規化判定回路14と、正規化のために必要なシフト数を
検出し、検出されたシフト数を送出する正規化桁数検出
回路12と、この正規化桁数検出回路12で検出された
シフト数だけりザルトレジスタ11のデータをシフトし
出力する正規化レジスタ13と、オ中が浮動小数点加減
算の制御を行うだめの演算制御回路15とから構成され
ている。
次に本発明の一実施例を第1図から第5図を参照しなが
ら、詳細に説明する。
第5図を参照すると、まずタイミングTlでマイクロ命
令ステップAが読出される。
第4図を参照すると、このステップAはオペランドレジ
スタ7.8にデータをセットし、加算スタートを指示す
るステップである。
第1図を参照すると、制御記憶1から読出されたステッ
プAはレジスタ3に格納される。次のタイミングT!で
このうちの書込ビット (W)がオペランドレジスタ7
および8にストア指示信号として線102を介して与え
られる。これとともにレジスタ3の演算スタートビット
 (S)は線101を介して演算制御回路15に与えら
れる。線101を介して与えられる演算スタート指示信
号は、ゲート213および219を介してシーケンスフ
ラグフリップフロップ201をセットする。このセット
に応答して線103を介して加算指示信号が第1図の浮
動小数点加算回路9に与えられる。また前記セットとと
もに、第2図の演算実行中フラグフリップフロップ20
4がセットされる。このフリップ70ツブ204は演算
実行開始に応答してセットされ、演算実行終了に応答し
てリセットされる。なお、演算終了と次の演算開始が同
時に生ずるときにはセットされる。
第1図を参照すると、マイクロ命令ステップAのレジス
タ3のネクストアドレスフィールド(N)のアドレスが
線107を介してマイクロアドレス制御回路2に与えら
れる。
第2図を参照すると、線107を介して与えられるアド
レスはセレクタ304を介して線108に送出される。
この線108t−介して与えられるアドレスでマイクロ
命令ステップBが読出されレジスタ3に格納される。
次のタイミングT3で第2図に示すシーケンスフラグフ
リップフロップ202がセットされる。
第1図、第4図および第5図を参照すると、このタイミ
ングT3でマイクロ命令ステップCが制御記憶lから読
出されレジスタ3にセットされる。
このステップCでは、オペランドレジスタ7および8に
データをセットし、演算をスタートするとともに全ての
ベクトル要素に対する演算のスタート指示が終了したか
否かの判定が行なわれる。
このステップCにより@1o1 を介して与えられる信
号がアンドゲート212に供給される。アンドゲート2
12のもう一方の信号は7リツプフロツプ204からゲ
ート216を介して与えられる。次のタイミングT4で
この2つの信号に応答してアンドゲート212の信号は
スタート指示保留7ラグフリツプ70ツブ205がセッ
トされる。
このフリッグフロヴブ205のフラグは、演算実行中に
マイクロ命令により次の演算のスタート指示が出された
場合に、現在実行中の演算が終了するまでその指示を保
留するための7ラグである。
このフリップフロップ205は演算実行終了に応答して
リセットされ、演算実行終了と次の実行開始とが同時に
生じたときにはリセットされる。第1図および第5図を
参照すると、タイミングIll。
では浮動小数点加算回路9での力q!結果がセレクタ1
0で選択されるとともに正規化判定回路14で正規化源
でないと判定された信号が練106に出力される。
この最終的判定はタイミングT4でマイクロ命令ステッ
プDによりマイクロアドレス制御回路2で−106の信
号にもとづいて行なわれる。
第3図を参照すると、線106を介して与えられる信号
は分岐条件信号として分岐条件レジスタ302にセット
される。このレジスタ302の内容は分岐制御回路30
3に与えらnる。分岐制御回路303ではマイクロ命令
の条件分岐のとき第1図のマイクロ命令レジスタ3に格
納され九マイクロ命令ステップDのネクストアドレスフ
ィールド(N)から、fil!107t−介して送られ
てくるアドレス信号と、条件分岐レジスタ302の内容
を使用して、次に実行すべきマイクロ命令ステップEの
アドレスが作成される。条件分岐の場合は、分岐制御回
路303の出力がセレクタ304を介して線108)こ
出力される。
、′A2図および第5図を参照すると、線106を介し
て与えられる正規化源でないと判定された信号はアンド
ゲート211に与えられ、フリップフロップ202の出
力がタイミングT4で7リツプ70ツブ203にセット
される。
41図および第5園を参照すると、タイミングT2でオ
ペランドレジスタ7および8に格納されていたオペラン
ドは、浮動小数点加算回路9で加算され、タイミングT
3でセレクタ10を介してタイミングT4でリザルトレ
ジスタ11にセットされる。このリザルトレジスタ11
2の格納指示は、第3図の7リツプフロツプ202の出
力で指示される。
第1図および2g5図を参照すると、タイミングT5で
はマイクロ命令ステップEが制御記憶lから読出されレ
ジスタ3に格納される。
これとともに、タイミングT4からタイミングTIにか
けて、セレクタ10を介して格納されたりザルトレジス
タ11の内容により正規化桁数検出回路12で正規化の
ための必要なシフト数が検出される。
次にこのシフト数に基づき正規化シフタ13でリザルト
レジスタ11の内容がシフトされる。このシフト結果は
セレクタ10を介してタイミング15でリザルトレジス
タ11に格納される。この格納動作は第3図の7リツプ
フロツプ203の出力で指示される。このリザルトレジ
スタ11の内容はタイミングT6でベクトルストアバッ
ファ6にストアされる。
第2図および第5図を参照すると、タイミングT4でフ
リップフロップ203および205がセットされている
ためアンドゲート214およびオアゲート219を介し
てタイミングTsでフリップフロップ201がセットさ
れる。同じタイミングT8で7リツプフロツグ204も
セクトし直される。
第1図、第4図および第5図を参照すると、タイミング
l1lsにおけるマイクロ命令ステップEの次にタイミ
ング′r6ではマイクロ命令ステップCが続出さ几る。
このステップCのマイクロ命令はレジスタ3に格納され
、このマイクロ命令中の書込ビット(W)が線102を
介してオペランドレジスタ7および8に与えられ、タイ
ミングT7で新7jなオペランドが格納される。タイミ
ングT4−T6でオペランドレジスタ7および8に格納
されていたデータは浮動小数点770.4回路9で加算
され、セレクタIO’t”介し”Cタイミングl117
でリザルトレジスタ11に格納される。この格納指示は
、加算回路9の出力が正規化源であると正規化シフタL
614で判定されているため、フラグフリップフロップ
202の出力が線105t−介して与えられる。このよ
うに、加算回路9の出力が正規化源でないときにμ7リ
ツグフロツプ201の内容はクリップフロッグ202を
介してフリップフロップ203に与えられる。また、加
算回路9の出力が、正規化遺のときは、フリップ70ツ
ブ201の内容はフリップフロップ202に与えらf’
Lる。
なお、タイミングT7でリザルトレジスタ11に格納さ
れた内容はタイミングT8でベクトルストアバッファ6
に格納される。第5図を参照すると、この例では、3要
素分のベクトル演算が実行されでおり、各々のベクトル
演算の実行時間は1番目の公紫が正規化の7れめに1ク
ロツク増ガロして:3クロック、2.36目の−a’J
Irが2クロツクとなっ−Cいる。
従来の装置では演算スタート指示がファームウェアによ
り出力された場合は直ちに7−ケンスフラグ201がセ
ットされるようになっており、その場合、1番目の要¥
の演算が終了したかどうかをファームウェアにより判断
しなをすればタイミングT3で2番目の要素のIA算ス
スタート指示出せない。しかしながら、1番目の要素の
演算が終了したことを7アームウエアが判断できるのは
タイミングT 5、すなわちステップEであり%遅れて
しまうことになる。
したがって従来の装置では、第6図に示すように、全ベ
クトル要素の演算時間を3クロツクとみなしてファーム
ウェアを作成する必要があった。
しかしその場合、第7図に示すようにi+1番目および
i+24目の要素のように正規化処理が不要な要素に対
しても3クロツクの実行時間が与えられるため、タイミ
ングT7および’I”toのような遊びの時間が発生し
、性能が低下していた。
一方、本実施例の装置ではタイミングT3すなわちステ
ップCで7アームウエアから演算スタート指示が出力さ
れたときには前の要素の演算がまだ終了していない、す
なわち、演算実行中7ラグ204が′1” であるため
、スタート指示保留フラグ204が1′ にセットされ
、演算終了まで指示が保留された後天の要素の演算が開
始される。
したがってファームウェアは2番目の要素より以後の演
算スタート指示は常にステップCで行えば良く、また正
規化により実行時間が1クロツク増加した場合のみステ
ップEを実行して演算制御回路15との同期をとるだけ
で良い。
以上説明したように本発明は、スタート指示保留フラグ
によりファームウェアの分岐による遅れを吸収すること
によりファームウェア制御によるベクトル演算命令の実
行を高速に行うことができるという効果がある。
第8図を参照すると、本発明の一実施例は、ベクトル演
算命令を含む各種命令を実行するための複数のマイクロ
命令からなるマイクロプログラムを格納する制御記憶1
と、この制御記憶1に信号a1osを介して読出しアド
レスを与えるマイクロアドレス制御回路2と、このマイ
クロアドレス制御回路2からの読出アドレスに応答して
制御記憶1から読出されたマイクロ命令を格納するマイ
クロ命令レジスタ3と、ベクトル演算命令で使用するベ
クトルデータ、その他の命令のオペランド、及び命令を
記憶するメインメモリ4と、このメインメモリ4から読
出されたベクトルデータを一時的にストアするベクトル
データバッファ5と、演算用のスカラーデータを保持す
るスカラーレジスタ16と、演算実行中にこの演算で使
用されるオペランドを保持するオペランドレジスタ7及
び8と、このオペランドレジスタ7及び8の入力をそれ
ぞれ選択するセレクタ17及び18と、オペランドレジ
スタ7及び8からのデータの浮動小数点乗算を行う浮動
小数点乗算回路25と、オペランドレジスタ7及び8か
らのデータの浮動小数点加算を行う浮動小数点加算回路
9と、演算結果データが格納されるリザルトレジスタ1
1と、このリザルトレジスタ11への入力データを選択
するセレクタ10と、浮動小数点乗算回路25の出力が
正規北隣(正規形)か否かを判定する正規化判定回路1
4と、正規化のために必要なシフト数を検出し、シフト
数を送出する正規化桁数検出回路12と、この正規化桁
数検出回路12で検出されたシフト数だけりザルトレジ
スタ11のデータをシフトして出力する正規化シフタ1
3と、マイクロ命令レジスタ3に格納されたマイクロ命
令により与えられるベクトル演算タイプコード(T)が
セットされるタイプレジスタ19と、このタイプレジス
タ19の出力をデコードし、ベクトル演算タイプコード
が積和演算を表わしているときに信号線】15に”1″
 を出力するデコーダ20と、浮動小数点乗算回路25
で実行される演算の制御を行なう乗算制御回路21と、
浮動小数点加算回路19で実行される演算の制御を行な
う加算制御回路24と、アンドゲート22と、オアゲー
ト23.26  および27とを備えている。
次に第3図、および第8図〜第10図を参照して、ベク
トル演算装置の動作を説明する。ここでは、積和演算と
して次の演算を実行するものとする。
■3←■2イ + S X V 1 tここでVls 
、V2s、及びV3(はメインメモリ4に格納された3
つのベクトルデータのそれぞれの(番目の要素を表わし
ている。またSはスカラーレジスタ16に格納されたス
カラーデータを表わしている。
第3図に示すように、マイクロアドレス制御回路2は分
岐条件レジスタ302、分岐制御回路303、及びセレ
クタ304を備えている。正規化判定回路14で浮動小
数点乗算回路25の出力が正規形でないとイ(定される
と正規化判定回路14は信号線106を介して分岐条件
レジスタ302に1”をセットする。分岐制御回路30
3では条件分岐を行う際にマイクロ命令レジスタ3のネ
クストアドレスフィールド(N)から信号線107を介
して送られてくるアドレス情報と分岐条件レジスタ30
2の内容とから次に続出すべき制?I!4+記憶1のア
ドレスを作成する。セレクタ304は条件分岐を行わな
いときは信号線107を選択し。
その結果制御記憶1のアドレスとしてマ・fクロ命令レ
ジスタ3のネクストアドレスフィールド(N)の値がそ
のまま使用される。また条件分岐を行うときには分岐制
御回路302の出力が選択される。
ここで第13図に積和演算命令のファームウェアの70
−チャートを示すとともに、第14図に積和演算命令の
実行のタイムチャートを示す。なお第14図のマイクロ
命令ステップ(A〜F)は第13図のフローチャートに
おけるステップA〜ステップFにそれぞれ対応している
第8図および第13図を参照すると、ファームウェアは
オペランドレジスタ7と8にスカラーレジスタ16の内
容(8)とベクトルデータバッファ5の内容(■14と
v2.)とをセットするための制御、乗算制御回路21
による乗算の実行のスタート指示、乗算結果が正規形か
どうかの判定、及びベクトル要素を全て実行したかどう
かの判定を行う。一方1乗算及び加算の実行制御、結果
のベクトルストアバッファ6への31込み制御等はハー
ドウェアにより制御される。なお、第13図に示すステ
ップB、 C,E、及びFはハードウェアとのタイミン
グをとるためのステップである。
第13図および第14図′f:#照すると、積和演算命
令のファームウェアではタイミングT1においてマイク
ロ命令ステラプ人が実行される。マイクロ命令ステップ
Aでは、マイクロ命令レジスタ30マイクロ命令中の書
込ビット(W)の指示に応答してスカラーレジスタ16
の内容(S)がオペランドレジスタ7に、ベクトルデー
タバッファ5からMl(が続出されてオペランドレジス
タ8にそれぞれセットされ、乗算制御回路21に対して
浮動小数点乗算のスタート指示が出力される。
第8図、第9図および第11図を参照すると、乗)制御
回路21では、マイクロ命令レジスタ3のMフィールド
から−110を介してJ5えられる釆算ス1タート指示
fす号に応答して、シーケンスフラグF/F220% 
 シーケンスフラグF/F221がセットされる。この
セットによりF/F 220および221から線112
および113および浮動小数点乗算回路25のオア回路
259を介してSレジスタ256およびCレジスタ25
7にセット指示が与えられる。
浮動小数点乗算回路25では、オペランドレジスタ7お
よび8に格納されているオペランドの指数部が加算器2
51により加算されリザルトレジスタ11の指数部に送
られる。オペランドレジスタ8に格納されている乗数の
仮数部は、部分乗数作成回路252により2つの部分乗
数に分割される。分割された部分乗数とオペランドレジ
スタ7からの被乗数の仮数部とは2回に分けて乗算され
る。倍数発生器254では、Booth の方法にもと
づいて複数の部分積が発生され、これらの部分積はキャ
リーセーブアダーツリー255により加算される。最終
的にはsum  とcarryの2つのデータに分かれ
た形でSレジスタ256とCレジスタ257に上述のセ
ット指示に応答してタイミングT3で格納される。1回
目の部分乗算でこれらレジスタ256および257に格
納された部分積は、2回目の部分乗算で倍数発生器25
5により発生された部分積とキャリーセーブアダーツリ
ー255により加算され、タイミングT4でレジスタ2
56および257に再び格納される゛。タイミ/fT4
で、Sレジスタ256の内容とCレジスタ257の内容
とは加算器258で加算されタイミングT6でリザルト
レジスタ11の仮数部に格納される。
一方、乗算制御回路21では、シーケンスフラグF/F
221 からのセット信号に応答して、タイミングT4
でシーケンスフラグF/F 222  がセットされる
。このF/F 222  の出力はオアゲート227、
線105、およびオアゲート26を介してタイミングT
5でリザルトレジスタ11に与えられる。
すなわち、タイミングT2〜T4では浮動小数点乗算回
路25により浮動小数点乗算(S X V 1 i )
が実行され、その結果(p=’)がタイミングTsでリ
ザルトレジスタ11とオペランドレジスタ8とにセット
される。そして、タイミングT4において正規化判定回
路14により乗算結果Pi′が正規形であるかどうかの
判定がなされる。判定の結果正規形であった場合にはP
C′  は最終的な乗算結果であるので、タイミングT
4で浮動小数点乗算は終了し、終了信号106が出力さ
れる。一方、乗算結果P(′ が正規形でなかった場合
、タイミングTsで正規化処理が行われ、最終的な乗算
結果であるP4がリザルトレジスタ11およびオペラン
ドレジスタ8にあらためてセットされて、タイミングT
5で終了信号106が出力される。
第8図、第13図および第14図を参照すると、ファー
ムウェアは乗算がタイミングT4で終了するかタイミン
グT5で終了するかの々口側にかかわらずタイミングT
4でマイクロ金砂ステップDを実行し、ベクトルデータ
バッファ5からベクトルデータV 2 i  をオペラ
ンドレジスタ10に読み出す。積和演算命令では予めタ
イプレジスタ19に積和演算タイプをあられすコードが
格納されており、積和演算タイプのコードがデコーダ2
0によりデコードされて信号pJ115に論理″1″が
出力されている。従って終了信号114が出力されると
アンドゲート22.オアゲート23および線116を介
して加算制御回路24に対してスタート指示が行われる
第8図、第12図および第14図を参照すると、オアゲ
ート23およびi!1ill16&介して与えられた信
号はタイミングT6でシーケンスフラグF/F241を
セットする。
浮動小数点乗算処ぷけ2クロツクにわたりて実行される
第8図および第10図を参照すると、まず、タイミング
T6で、オペランドレジスタ7および8に格納されてい
るオペランドの指数部は、絶対値減算器91によりその
差が求められる。この演算により大きいと判断された方
のオペランドの指数部がセレクタ92で選択されてリザ
ルトレジスタ11の指数部に送られる。桁合せ回路93
では絶対値減算器91により求められた指数部の差にも
とづいてオペランドレジスタ7および8の仮数部に対す
る桁合せ処理が行なわれる。桁合せ回路93による桁合
せの後、加算器94により加算される。
■び第8図%第12図および第14図を参照すると、加
算制御回路24では、シーケンスフラグF/F 241
  の出力は、オアゲート242、線117およびオア
ゲート26ケ介してリザルトレジスタ11にセット指示
信号として与えられる。
このセット指示信号に応答してリザルトレジスタ11は
加算結果をセットする。
タイミングT7では、リザルトレジスタ11に格納され
た正規化前の結果にもとづいて正規化桁数検出回路12
および正規化シフタ13を使用して正規化処理が行なわ
れる。
紀8図、第11図、第】2図および第14図を参照する
と、セレクタ10は初期状態において浮動小数点乗算回
路25の出力を色沢する。次にタイミングT、での乗$
4.’ ?Iii+御回路21のシーケンスフラグl”
/7226  のセットに応答して線104およびオア
ゲート27を介して偏択指示信号がセレクタ10に与え
られる。この選択指示信号に応答してセレクタ10は浮
動小数点加算回路9の出力を選択する。タイミングT7
での加算制御回路24のシーケンスフラグY“/k”2
43 のセットに応答して線118およびオアゲート2
7を介して選択指示信号がセレクタ10に与えられる。
この選択指示信号に応答してセレクタ10は正規化シフ
タ13の出力を選択する。この選択により正規化後の結
果がりザルトレジスタ11にセットされる。タイミング
T8では、加算制御回路24のシーケンスフラグl’ 
/ i’ 244  がセットされ、線119を介して
ベクトルストアバッファ6にストア指示16号が出力さ
れる。このストア指示信号に応答してベクトルストアバ
ッファ6は、リザルトレシスタ11からの正規化後の結
果をストアする。
すなわち加算スタート指示によりタイミングT6〜T7
において浮動小V点加M” (V 2 i + P t
)が実行され、加uF?果V 3 i はリザルトレジ
スタ11にセットされた後ベクトルストアバッファ6に
書き込まれ、最終的にはメインメモリ4に書き込まれる
。このようにして1要素分の積和演算が終了する。
第8図、第13図および第14図をか照すふと、ファ−
ムウェアはタイミングT5においてマイクロ命令ステッ
プEを実行し、分岐条件レジスタ201の内容に従って
条件分岐を行う。このとき演3図の分岐−1件レジスタ
302の値が0″、fillち正規形であればマイクロ
命令ステップEの後に、久の要講の処mを開始するため
のマイクロ命令ステップAへ分岐する。一方、タイミン
グrsにおいて分岐条件レジスタ302の値が”1″す
なわち正規形でないことをあられしている場合には、浮
動小数点乗算の実行時間が正規化のために1クロツク分
増加している。このため、ハードウェア制御による演界
処理との時間的同期をとるためにマイクロ命令ステップ
Fへ分岐し、その後マイクロ命令ステップAへ分岐する
タイミングエフ以降は以上述べた動作がくり返して実行
されるが、タイミングT8〜′r!2に示したように浮
動小数点乗算の結果が正規形である場合にはタイミング
T2〜T7の処理に比較して1クロツク分実行時間が高
速化されている。
第15図を参照すると、従来の装置では、全ベクトル要
素の演算時間を乗算4クロツク、および加算2クロツク
の計6クロツクとみなしてファームウェアを作成する必
要がある。第16図を参照すると、その場合、i+1査
目の乗算結果のように正規化処理が不要な要素に対して
も4クロツクの乗算時間が与えられるため、タイミング
Toに示す遊び時間が発生し性能が低下していた。
以上説明したように本発明は、積和演算であることを表
示する演算タイプ表示中段を設け、乗算終了後直ちに加
減算のスタートを指示することによりファームウェアの
分岐による遅れを吸収し、ファームウェア制御によるベ
クトル積和演算命令の実行を高速に行うことができると
いう効果がある。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示す図、第2図は第1
図の演算制御回路15の詳細な構成を示す図、第3図は
第1図のマイクロアドレス制御回路2の詳細な構成を示
す図、第4図は第1の実施例のファームウェア動作を示
す図、第5図は第1の実施例のベクトル演算動作を示す
タイムチャート、第6図および第15図は従来の7ア一
ムウエア動作を示す図、第7図および第16図は従来の
動作を示すタイムチャート、第8図は本発明の第2の実
施例を示す図、第9図は第2の実施例の浮動小数点乗算
回路25の詳細な構成を示す図、第10図は第2の実施
例の浮動小数点加算回路9の詳細な構成を示す図、第1
1図は第2の実施例の乗算制御回路21の詳細な構成を
示す図、第12図は第2の実施例の加算制御回路24の
詳細な構成を示す図、第13図は第2の実施例のファー
ムウェア動作を示す図、および第14図は第2の実施例
の積和演算動作を示す図である。 第1図から第14図において、 1・・・・・・制御記憶、2・・・・・・マイクロアド
レス制御回路、3・・・・・・マイクロ命令レジスタ、
4・・・・・・メインメモリ、5・・・・・・ベクトル
データバッファ、6・・・・・・ベクトルストアバッフ
ァ、7,8・・・・・・オペランドレジスタ、9・・・
・・・浮動小数点加算回路、10・・・・・・セレクタ
、11・・・・・・リザルトレジスタ、12・・・・・
・正規化桁数検出回路、13・・・・・・正規化7フタ
、I4・・・・・・正規化判定回路、15・・・・・・
演算制御回路、16・・・・・・スカラーレジスタ、 
 17.18  ・・・・・・セレクタ、19・・・・
・・タイプレジスタ、20・・・・・・デコーダ、21
・・・・・・乗算制御回路、24・・・・・・加算制御
回路、25・・・・・・浮動小数点乗算回路、91・・
・・・・絶対値減算器、92・・・・・・セレクタ、9
3・・・・・・桁合せ回路、94,251,258・・
・・・・加算器、252・・・・・・部分乗数作成回路
、253・・・・・・デコーダ、254・・・・・・倍
数発生回路、255・・・・・・キャリーセーブアダー
。 $ 2  聞 第 3  凹 茅4I!I 茅 B 菌 $ ′7 図 井 /θ 面 1亭 1/  画 差/3 ゴ      茅15凹

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 true JPH011059A (ja) 1989-01-05
JPS641059A JPS641059A (en) 1989-01-05
JPH0528870B2 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

Family Cites Families (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 積和演算回路

Similar Documents

Publication Publication Date Title
US5311458A (en) CPU with integrated multiply/accumulate unit
CA1119731A (en) Multibus processor for increasing execution speed using a pipeline effect
US4498136A (en) Interrupt processor
US4589067A (en) Full floating point vector processor with dynamically configurable multifunction pipelined ALU
JP2645669B2 (ja) データ処理システム
US5682545A (en) Microcomputer having 16 bit fixed length instruction format
US4539635A (en) Pipelined digital processor arranged for conditional operation
US4999802A (en) Floating point arithmetic two cycle data flow
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
US5062041A (en) Processor/coprocessor interface apparatus including microinstruction clock synchronization
EP0452361A1 (en) Arithmetic unit
JP2993975B2 (ja) 中央演算処理装置
US3001708A (en) Central control circuit for computers
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH0326872B2 (ja)
JPH011059A (ja) ベクトル演算システム
JPS6161416B2 (ja)
CN112579168B (zh) 指令执行单元、处理器以及信号处理方法
GB2380283A (en) A processing arrangement comprising a special purpose and a general purpose processing unit and means for supplying an instruction to cooperate to these units
JPH0528870B2 (ja)
GB2069733A (en) Conditional instruction execution in a pipelined processor
JP2654451B2 (ja) データ出力方法
JP2000029696A (ja) プロセッサおよびパイプライン処理制御方法
EP0547230A1 (en) Apparatus for sum-of-product operation
JPS60134957A (ja) 並列型演算処理装置