JP3068406B2 - ベクトル演算装置 - Google Patents

ベクトル演算装置

Info

Publication number
JP3068406B2
JP3068406B2 JP6131720A JP13172094A JP3068406B2 JP 3068406 B2 JP3068406 B2 JP 3068406B2 JP 6131720 A JP6131720 A JP 6131720A JP 13172094 A JP13172094 A JP 13172094A JP 3068406 B2 JP3068406 B2 JP 3068406B2
Authority
JP
Japan
Prior art keywords
vector
instruction
register
data
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.)
Expired - Fee Related
Application number
JP6131720A
Other languages
English (en)
Other versions
JPH07334487A (ja
Inventor
秀之 佐藤
Original Assignee
甲府日本電気株式会社
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 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP6131720A priority Critical patent/JP3068406B2/ja
Publication of JPH07334487A publication Critical patent/JPH07334487A/ja
Application granted granted Critical
Publication of JP3068406B2 publication Critical patent/JP3068406B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクトル演算装置に関
し、特に、コンピュータなどの情報処理装置でベクトル
演算命令を連続して高速に実行するベクトル演算装置に
関する。
【0002】
【従来の技術】図4は従来のベクトル演算装置の一例を
示すブロック図である。図4に示したように、従来のベ
クトル演算装置は、加算演算器21に入力するためのベ
クトルデータを保持するRAMまたはレジスタファイル
またはレジスタ群で構成されるベクトルレジスタ1,2
と、乗算演算器22に入力するためのベクトルデータを
保持する同様のベクトルレジスタ3,4とを有してい
る。
【0003】そして、ベクトルレジスタ1は、ベクトル
データを一時保持して書込むときに使用されるライトデ
ータレジスタ5と、そのベクトルデータを書込むアドレ
スを一時保持するライトアドレスレジスタ9とを伴い、
ベクトルレジスタ2は、同様にベクトルデータを一時保
持して書込むときに使用されるライトデータレジスタ6
と、そのベクトルデータを書込むアドレスを保持するラ
イトアドレスレジスタ10とを伴い、同じくベクトルレ
ジスタ3,4は、それぞれのベクトルデータを一時保持
して書込むときに使用されるライトデータレジスタ7,
8と、それらのベクトルデータを書込むアドレスを保持
するライトアドレスレジスタ11,12とを伴ってい
る。
【0004】また、ベクトルレジスタ1は、ベクトルデ
ータを読出すときのアドレスを一時保持するリードアド
レスレジスタ13と、読出されたベクトルデータを一時
格納するリードデータレジスタ17kとを伴い、次のベ
クトルレジスタ2は、同様にベクトルデータを読出すと
きのアドレスを一時保持するリードアドレスレジスタ1
4と、読出されたベクトルデータを一時格納するリード
データレジスタ18kとを伴い、同じくベクトルレジス
タ3,4は、各ベクトルデータを読出すときのアドレス
を一時保持するリードアドレスレジスタ15,16と、
読出されたそれぞれのベクトルデータを一時格納するリ
ードデータレジスタ19k,20kとを伴っている。
【0005】一方、加算演算器21は、リードデータレ
ジスタ17k,18kからベクトルデータを受取って演
算して、演算結果を出力レジスタ23に一時格納してい
る。また、乗算演算器22は、リードデータレジスタ1
9k,20kからのベクトルデータを受取って演算し、
演算結果を出力レジスタ24に一時格納している。
【0006】一方、パス100kは、出力レジスタ23
からの出力をライトデータレジスタ5,6,7,8に送
っており、パス101kは、出力レジスタ24からの出
力をライトデータレジスタ5,6,7,8に送ってい
る。
【0007】他方、命令実行管理部25kは、実行する
命令を格納する命令レジスタ26kと、ライトデータレ
ジスタ5,6,7,8およびリードデータレジスタ17
k,18k,19k,20k並びに加算演算器21,乗
算演算器22などの使用状態を示して先行命令で処理し
たベクトルデータを後続命令で破壊しないために後続の
命令に必要なベクトルデータが使用できる時間まで命令
の発行を抑止する命令発行抑止フラグ群27kと、命令
レジスタ26k内に格納された命令および命令発行抑止
フラグ群27kを見て、命令レジスタ26k内に格納さ
れた命令が発行できるか否かを判断するとともに、命令
発行抑止フラグ群27kを制御する命令発行チェック回
路28kと、命令レジスタ26k内に格納された命令が
使用するリソースの命令発行抑止フラグをセットするフ
ラグセット回路29kとを有している。
【0008】そこで、例えば、下記の順で命令が実行さ
れたとすると、 VLD B VLD C VADD A = B + C 処理サイクル数
=8T VMPY E = A * D 処理サイクル数
=8T VST E 先ず最初にベクトルロード命令VLDによりベクトルレ
ジスタ1,2のそれぞれに1連の連続する要素数VL分
のオペランドであるベクトルデータB,Cを書込んでい
る。
【0009】そして、命令レジスタ26kに格納された
後続の命令の加算命令VADDと、先行命令によってセ
ットされた各リソースの使用状態を示して命令の発行を
抑止する命令発行抑止フラグ群27kとを見ることによ
り、加算命令VADDが発行できるのか否かを命令発行
チェック回路28kでチェックし、発行できるならばベ
クトルレジスタ1,2のリードアドレスレジスタ13,
14の中にアドレスのセットを行う指示を命令発行チェ
ック回路28kから出力し、ベクトルレジスタ1,2に
ロードされたベクトルデータB,Cは、リードデータレ
ジスタ17k,18kにそれぞれ読出されている。ま
た、この加算演算命令VADDで使用するリソースに対
応する命令発行抑止フラグ群27kは、フラグセット回
路29kによりセットされている。
【0010】次に、リードデータレジスタ17k,18
kに読出されたベクトルデータB,Cは、加算演算器2
1により演算され、加算演算結果Aが命令発行チェック
回路28kの指示により、出力レジスタ23を通じてラ
イトデータレジスタ7に一時格納されて、乗算演算器2
2に接続されているベクトルレジスタ3に書込まれてい
る。
【0011】また、後続命令の乗算命令VMPYが命令
レジスタ26kにセットされると、命令発行チェック回
路28kがリソースの使用状態を示す命令発行抑止フラ
グ群27kを絶えずチェックし、命令レジスタ26kに
格納されているベクトル命令の乗算命令VMPYが使用
するリソースの使用状態を示す命令発行抑止フラグ群2
7kの後続命令の発行抑止フラグがすべてリセットされ
たところで、後続命令の乗算命令VMPYが実行されて
いる。
【0012】上記の動作で、先行命令のベクトルレジス
タ1,2に格納されているベクトルデータが加算演算器
21による演算で出力され、出力レジスタ23に格納さ
れた演算結果を命令実行管理部25で後続命令が発行可
能の場合には、パス100を使用してライトデータレジ
スタ7に送っている。
【0013】図5は従来のベクトル演算装置における先
行命令に続く後続命令の動作の一例を示すタイムチャー
トである。各命令は、命令発行後にリードアドレスレジ
スタサイクル,リードデータレジスタサイクル,4サイ
クルの演算サイクル,演算器出力レジスタサイクル,ラ
イトデータレジスタサイクルの8個の処理サイクルを行
うので、図5に示すように、先行命令に続く後続命令
は、後続命令の発行抑止フラグが消えてから8個の処理
サイクル(処理サイクル数=8T)後に実行されてい
る。
【0014】これは、次から次へとデータを処理するベ
クトル演算で可能な後続命令発行の最も速いケースであ
って、ベクトルレジスタに先行命令により処理された最
初のベクトルデータが書込まれてから、直ちに、後続命
令により読出されて演算されている。
【0015】このような従来のベクトル演算装置の一例
としては、特開昭62−65169“ベクトル処理装
置”がある。
【0016】
【発明が解決しようとする課題】上述した従来のベクト
ル演算装置は、先ず最初に、ロード命令によりベクトル
データをベクトルレジスタに書込み、次の後続命令によ
りベクトルレジスタからリードデータレジスタにベクト
ルデータを1要素ずつ読出し、演算器により演算して指
定されたベクトルレジスタに書込んでいる。また、次の
命令が、先行命令で演算されたデータを使用する命令の
ときに、次の命令を発行しても良い状態になれば、その
先行命令で処理されたベクトルデータの最初の演算結果
がベクトルレジスタに書込まれたタイミングで、後続命
令が発行され、書込まれたベクトルデータが、直ちに、
ベクトルレジスタから読出されて演算されている。
【0017】しかし、従来のベクトル演算装置は、先行
命令で処理されたベクトルデータを後続命令で使用する
場合には、ベクトルレジスタに書込まれなくても、後続
命令で使用する演算器に直接取込ませても良いタイミン
グがあり、このタイミングが解ればベクトルレジスタに
先行のベクトルデータが書込まれるまで待たなくてもよ
いことになると考えられる。
【0018】
【課題を解決するための手段】第1の発明のベクトル演
算装置は、ベクトルデータを保持する複数のベクトルレ
ジスタと、前記ベクトルレジスタからの複数のベクトル
データに対する演算を実行する幾つかのベクトル演算器
と、前記ベクトルレジスタおよび前記ベクトル演算器を
使用した演算の実行状態を管理して続く命令の実行を指
示する命令実行管理部とを有するベクトル演算装置にお
いて、 (A)前記ベクトル演算器に入力される第1の入力デー
タとして、前記ベクトル演算器の第1の入力に対応させ
た第1のベクトルレジスタの読出しデータと前記第1の
ベクトルレジスタへの書込みデータとの何れを使用する
かを前記命令実行管理部からの信号により選択する第1
の選択回路と、 (B)前記ベクトル演算器に入力される第2の入力デー
タとして、前記ベクトル演算器の第2の入力に対応させ
た第2のベクトルレジスタの読出しデータと前記第2の
ベクトルレジスタへの書込みデータとの何れを使用する
かを前記命令実行管理部からの信号により選択する第2
の選択回路と、 (C)前記命令実行管理部にあって実行しようとする命
令が連続にデータを処理する命令であり、先行する命令
の結果の書込みデータを前記ベクトルレジスタの1つに
書込むときに、書込まれるタイミングを示すタイミング
指示回路が複数の前記ベクトルレジスタに対応してそれ
ぞれ存在するタイミング指示手段と、 (D)前記命令実行管理部にあって実行しようとする命
令が前記ベクトル演算器の使用命令であり、前記ベクト
ル演算器の第1の入力データとして使用する前記ベクト
ルレジスタが先行する命令により書込み動作を行ってい
るときには、前記タイミング指示手段からの信号により
前記第1の選択回路を前記第1のベクトルレジスタへの
書込みデータ側に切替える第1の選択制御手段と、 (E)前記命令実行管理部にあって実行しようとする命
令が前記ベクトル演算器の使用命令であり、前記ベクト
ル演算器の第2の入力データとして使用する前記ベクト
ルレジスタが先行する命令により書込み動作を行ってい
るときには、前記タイミング指示手段からの信号により
前記第2の選択回路を前記第2のベクトルレジスタへの
書込みデータ側に切替える第2の選択制御手段と、を備
えて構成されている。
【0019】そして、第2の発明のベクトル演算装置
は、第1の発明のベクトル演算装置において、第1の発
明の第1の選択回路で、第1の発明のベクトル演算器へ
と入力される第1の入力データを、(A)前記ベクトル
演算器の第1の入力に対応の第1の発明の第1のベクト
ルレジスタからの読出しデータパスと、(B)前記第1
のベクトルレジスタへの書込みデータを保持させるライ
トデータレジスタに対する入力データとする第1のデー
タパスと、(C)前記第1のベクトルレジスタへ書込む
ためのライトデータレジスタの出力データとする第2の
データパスと、から選択することを含んでいる。
【0020】さらに、第3の発明のベクトル演算装置
は、第1の発明のベクトル演算装置において、第1の発
明の第2の選択回路で、(A)前記ベクトル演算器の第
2の入力に対応する第1の発明の第2のベクトルレジス
タからの読出しデータパスと、(B)前記第2のベクト
ルレジスタへの書込みデータを保持させるライトデータ
レジスタに対する入力データとする第1のデータパス
と、(C)前記第2のベクトルレジスタへ書込むための
ライトデータレジスタの出力データとする第2のデータ
パスと、から選択することを含んでいる。
【0021】他方、第4の発明のベクトル演算装置は、
第2の発明や第3の発明のベクトル演算装置において、
第1の発明のタイミング指示手段で、先行命令が実行結
果の書込みデータを第1の発明のベクトルレジスタの1
つに書込み、次の命令が同一の前記ベクトルレジスタか
ら読出しを行う場合に、 (A)書込みデータが前記ベクトルレジスタのライトデ
ータレジスタに入力するタイミングを把握することによ
って、そのタイミングで前記ベクトルレジスタを読出す
次の命令を発行し、請求項2記載の第1の選択回路を請
求項2記載の第1のデータパスに切替える第1のタイミ
ング信号を出力する第1のタイミング指示回路と、 (B)書込みデータが前記ベクトルレジスタのライトデ
ータレジスタに入力するタイミングを把握することによ
って、そのタイミングで前記ベクトルレジスタを読出す
次の命令を発行し、請求項3記載の第2の選択回路を請
求項3記載の第1のデータパスに切替える第2のタイミ
ング信号を出力する第2のタイミング指示回路と、 (C)前記ベクトルレジスタにライトデータレジスタか
らの書込みデータを出力するタイミングを把握すること
により、そのタイミングで前記ベクトルレジスタを読出
す次の命令を発行し、前記第1の選択回路を請求項2記
載の第2のデータパスに切替える第3のタイミング信号
を出力する第3のタイミング指示回路と、 (D)前記ベクトルレジスタにライトデータレジスタか
らの書込みデータを出力するタイミングを把握すること
により、そのタイミングで前記ベクトルレジスタを読出
す次の命令を発行し、前記第2の選択回路を請求項3記
載の第2のデータパスに切替える第4のタイミング信号
を出力する第4のタイミング指示回路と、を備えて構成
されている。
【0022】そこで、第5の発明のベクトル演算装置
は、第4の発明のベクトル演算装置において、第1の発
明の第1の選択制御手段では、第4の発明の第1のタイ
ミング指示回路からの第1のタイミング信号および第4
の発明の第2のタイミング指示回路からの第2のタイミ
ング信号を受けて、前記第1のタイミング信号が点灯し
ているときには、第2の発明の第1の選択回路を第2の
発明の第1のデータパスに切替え、前記第3のタイミン
グ信号が点灯しているときには、前記第1の選択回路を
第2の発明の第2のデータパスに切替え、前記第1のタ
イミング信号および前記第3のタイミング信号がともに
点灯していないときに、前記第1の選択回路を第2の発
明の読出しデータパスに切替えることを含んでいる。
【0023】さらに、第6の発明のベクトル演算装置
は、第4の発明のベクトル演算装置において、第1の発
明の第2の選択制御手段では、第4の発明の第1のタイ
ミング指示回路からの第1のタイミング信号および第4
の発明の第2のタイミング指示回路からの第2のタイミ
ング信号を受けて、前記第2のタイミング信号が点灯し
ているときには、第3の発明の第2の選択回路を第3の
発明の第1のデータパスに切替え、前記第4のタイミン
グ信号が点灯しているときには、前記第2の選択回路を
第3の発明の第2のデータパスに切替え、前記第2のタ
イミング信号および前記第4のタイミング信号がともに
点灯していないときに、前記第2の選択回路を第3の発
明の読出しデータパスに切替えることを含んでいる。
【0024】
【実施例】続いて、本発明の実施例について、図面を参
照して説明する。図1は本発明のベクトル演算装置の一
実施例を示すブロック図である。本実施例のベクトル演
算装置は、図1に示すように、加算演算器21に入力す
るためのベクトルデータを保持するRAMまたはレジス
タファイルまたはレジスタ群で構成されるベクトルレジ
スタ1,2と、乗算演算器22に入力するためのベクト
ルデータを保持する同様のベクトルレジスタ3,4とを
有している。
【0025】そして、ベクトルレジスタ1は、ベクトル
データを一時保持して書込むときに使用されるとともに
その入力ゲートを切替え信号300で切替えるライトデ
ータレジスタ5と、ベクトルデータを書込むアドレスを
一時保持するライトアドレスレジスタ9とを伴い、ベク
トルレジスタ2は、同様にベクトルデータを一時保持し
て書込むときに使用されるとともにその入力ゲートを切
替え信号301で切替えるライトデータレジスタ6と、
ベクトルデータを書込むためのアドレスを保持するライ
トアドレスレジスタ10とを伴い、同じくベクトルレジ
スタ3,4は、それぞれのベクトルデータを一時保持し
て書込むときに使用されるとともにその入力ゲートを切
替え信号302,303で切替えるライトデータレジス
タ7,8と、ベクトルデータを書込むアドレスを保持す
るライトアドレスレジスタ11,12とを伴っている。
【0026】また、ベクトルレジスタ1は、ベクトルデ
ータを読出すときのアドレスを一時保持するリードアド
レスレジスタ13と、読出されたベクトルデータを一時
格納するとともにその入力ゲートとしての第1の選択回
路および切替え信号400で第1の選択回路を切替える
第1の選択制御手段を持つリードデータレジスタ17と
を伴い、そして、ベクトルレジスタ2は、同様にベクト
ルデータを読出すときのアドレスを一時保持するリード
アドレスレジスタ14と、読出されたベクトルデータを
一時格納するとともに入力ゲートとしての第2の選択回
路および切替え信号401で第2の選択回路を切替える
第2の選択制御手段を持つリードデータレジスタ18と
を伴い、同じくベクトルレジスタ3,4は、それぞれの
ベクトルデータを読出すときアドレスを一時保持するリ
ードアドレスレジスタ15,16と、読出されたベクト
ルデータをそれぞれ一時格納するとともにその入力ゲー
トとしてのそれぞれの第1の選択回路,第2の選択回路
および切替え信号402,403で第1の選択回路,第
2の選択回路のそれぞれを切替える第1の選択制御手
段,第2の選択制御手段を有するリードデータレジスタ
19,20とを伴っている。
【0027】そこで、加算演算器21は、リードデータ
レジスタ17,18からのベクトルデータを受取って演
算して、演算結果を出力レジスタ23に一時格納してい
る。また、乗算演算器22は、リードデータレジスタ1
9,20から受けたベクトルデータを受取って演算し、
演算結果を出力レジスタ24に一時格納している。
【0028】そして、パス100は、出力レジスタ23
からの出力をライトデータレジスタ5,6,7,8に送
ったりリードデータレジスタ17,18,19,20に
送ったりしており、パス101は、出力レジスタ24の
出力をライトデータレジスタ5,6,7,8に送ったり
リードデータレジスタ17,18,19,20に送った
りしている。さらに、パス200は、ベクトルレジスタ
1を通さないでライトデータレジスタ5の出力をリード
データレジスタ17へと送り、パス201は、ベクトル
レジスタ2を通さないでライトデータレジスタ6の出力
をリードデータレジスタ18に送り、パス202は、ベ
クトルレジスタ3を通さずライトデータレジスタ7の出
力をリードデータレジスタ19に送り、パス203は、
ベクトルレジスタ4を通さないでライトデータレジスタ
8の出力をリードデータレジスタ20に送っている。
【0029】一方、命令実行管理部25は、実行する命
令を格納する命令レジスタ26と、ライトデータレジス
タ5,6,7,8およびリードデータレジスタ17,1
8,19,20並びに加算演算器21,乗算演算器22
などの使用状態を示して先行命令で処理したベクトルデ
ータを後続命令で破壊しないために後続命令に必要なベ
クトルデータが使用できる時間まで命令の発行を抑止す
る命令発行抑止フラグ群27と、命令レジスタ26に格
納された命令および命令発行抑止フラグ群27を見て命
令レジスタ26に格納された命令が発行できるか否かを
判断するとともにその命令発行抑止フラグ群27を制御
する命令発行チェック回路28と、命令レジスタ26に
格納された命令が用いるリソースの命令発行抑止フラグ
をセットするフラグセット回路29と、出力レジスタ2
3,24の出力を各リードデータレジスタ17,18,
19,20にバイパスするタイミング信号を与える第1
のタイミング指示回路であるフラグ30Aと、ライトデ
ータレジスタ5,6,7,8の出力をリードデータレジ
スタ17,18,19,20にバイパスするためのタイ
ミング信号を与える第2のタイミング指示回路であるフ
ラグ30Bとを有している。
【0030】そこで、例えば、下記の順で命令が実行さ
れたとすると、 VLD B VLD C VADD A = B + C 処理サイクル数
=8T VMPY E = A * D 処理サイクル数
=8T VST E 先ず最初にベクトルロード命令VLDによりベクトルレ
ジスタ1,2のそれぞれに1連の連続する要素数VL分
のオペランドであるベクトルデータB,Cを書込んでい
る。
【0031】次に、命令レジスタ26内に格納された後
続命令の加算命令VADDと、先行命令によってセット
された各リソースの使用状態を示して命令の発行を抑止
する命令発行抑止フラグ群27とを見ることにより、加
算命令VADDが発行できるか否かを命令発行チェック
回路28でチェックして、発行できるならばベクトルレ
ジスタ1,2のリードアドレスレジスタ13,14にア
ドレスのセットを行う指示を命令発行チェック回路28
から出力し、ベクトルレジスタ1,2にロードされたベ
クトルデータB,Cは、リードデータレジスタ17,1
8のそれぞれに読出されている。また、この加算演算命
令VADDにより使用する各リソースに対応する命令発
行抑止フラグ群27は、フラグセット回路29によりセ
ットされている。
【0032】そこで、リードデータレジスタ17,18
に読出されたベクトルデータB,Cは、加算演算器21
により演算されて、加算演算結果Aが命令発行チェック
回路28の指示によって、出力レジスタ23を通じてラ
イトデータレジスタ7に一時格納されて、乗算演算器2
2に接続されているベクトルレジスタ3に書込まれてい
る。
【0033】そして、後続命令の乗算命令VMPYが命
令レジスタ26にセットされると、命令発行チェック回
路28が各リソースの使用状態を示す命令発行抑止フラ
グ群27を絶えずチェックし、命令レジスタ26内に格
納されているベクトル命令の乗算命令VMPYが使用す
る各リソースの使用状態を示す命令発行抑止フラグ群2
7の後続命令の発行抑止フラグがすべてリセットされた
ところで、後続命令の乗算命令VMPYが実行されてい
る。
【0034】上記の動作で、先行命令のベクトルレジス
タ1,2に格納されているベクトルデータが加算演算器
21による演算で出力され、出力レジスタ23に格納さ
れた演算結果を命令実行管理部25で後続命令が発行可
能の場合には、パス100を使用してライトデータレジ
スタ7に送るとともに、ライトデータレジスタ7からベ
クトルレジスタ3を通さずリードデータレジスタ19に
そのベクトルデータを格納する指示を出している。
【0035】すなわち、出力レジスタ23に最初の演算
結果のベクトルデータが格納されたときに、後続命令が
発行できずライトデータレジスタ7に最初のベクトルデ
ータが格納されたタイミングで後続命令が発行可能の場
合に、パス202を使用してベクトルレジスタ3を通さ
ずリードデータレジスタ19にそのベクトルデータを格
納させる指示を命令実行管理部25からリードデータレ
ジスタ17に出すことにより先行命令と後続命令との発
行間隔を短くすることができる。
【0036】図2は本実施例のベクトル演算装置におけ
る命令実行動作の一例を示すタイムチャートである。ま
た、図3は本実施例のベクトル演算装置における先行命
令に続く後続命令の動作例を示すタイムチャートであ
る。図2に示すように、各命令は、命令発行サイクルG
の後にリードアドレスレジスタ13,14,15,16
にアドレスをセットするリードアドレスレジスタサイク
ルRA,ベクトルデータを読出してリードデータレジス
タ17,18,19,20に一時格納するリードデータ
レジスタサイクルRD,加算演算器21や乗算演算器2
2で演算する演算サイクルE1,E2,E3,E4,演
算の結果のベクトルデータを出力レジスタ23,24に
保持する演算器出力レジスタサイクルEO,そのベクト
ルデータをライトデータレジスタ5,6,7,8に格納
するライトデータレジスタサイクルWDの8個の処理サ
イクル(処理サイクル数=8T)を行っている。
【0037】そして、先行命令の演算命令が実行される
と同時に、その演算命令が使用する各機能に対応した命
令発行抑止フラグ群27を点灯させ、後続命令が発行で
きるタイミングまで後続命令の発行を抑止している。
【0038】ここで、演算されている先行のベクトルデ
ータが演算サイクルE3にあるときのタイミングを示す
フラグ30Aがあって、後続命令に対する他の命令発行
抑止フラグ群27が点灯していない発行可能状態であれ
ば後続命令が発行される。
【0039】上記の例で、先行命令の加算命令VADD
に続く後続命令の乗算命令VMPYは、フラグ30Aに
続いて発行されて命令実行管理部25からベクトルレジ
スタ3,4のリードアドレスレジスタ15,16の中に
アドレスをセットする指示が出されている。また、リー
ドアドレスレジスタ15,16によりアクセスされたベ
クトルレジスタ3,4からベクトルデータA,Dを読出
す動作に移行するが、ベクトルレジスタ3のベクトルデ
ータは、この乗算命令VMPYに必要となったベクトル
データAではなくて、先行命令VADDで加算演算され
て出力レジスタ23にあるベクトルデータAである。こ
のために、命令実行管理部25は、出力レジスタ23の
演算結果を得るためライトデータレジスタ7とベクトル
レジスタ3とをバイパスするパス100を使用し、リー
ドデータレジスタ19の中にパス100のベクトルデー
タAを選択する指示を出力している。なお、出力レジス
タ23の演算結果は、ライトデータレジスタ7にも格納
され、ベクトルレジスタ3に書込まれている。
【0040】一方、ベクトルレジスタ4から読出された
ベクトルデータDは、リードデータレジスタ20に一時
格納されている。また、リードデータレジスタ19,2
0に一時格納されたベクトルデータA,Dは、乗算演算
器22で乗算されてベクトルデータEとなり、出力レジ
スタ24,ライトデータレジスタ5を通してベクトルレ
ジスタ1に格納されて、後続命令のベクトルストア命令
VSTによりメモリに格納されている。
【0041】また、演算された先行のベクトルデータの
演算結果が、ライトデータレジスタ7にあるときのタイ
ミングを示すフラグ30Bがあり、後続命令が発行可能
状態のときにフラグBが点灯していれば、命令実行管理
部25は、ベクトルレジスタ3をバイパスするパス20
3を使用し、ライトデータレジスタ7にある演算結果を
リードデータレジスタ19にバイパスを行うパス203
を選択する指示を出力している。なお、この場合にも、
その演算結果は、ライトデータレジスタ7からベクトル
レジスタ3に書込まれている。これは、後続命令が先行
命令の演算結果待ちで発行可能だった場合に後続命令の
発行を少しでも早めるためである。
【0042】
【発明の効果】以上に説明したように、ベクトル演算で
先行命令の演算結果を後続命令で使用するときには、従
来のベクトル演算装置では、先行命令で演算された結果
を一度ベクトルレジスタに書込み、後続命令により再び
そのベクトルレジスタから読出さなければならなかった
けれども、本発明のベクトル演算装置は、演算器の出力
レジスタとベクトルレジスタのライトデータレジスタと
からベクトルレジスタのリードデータレジスタにバイパ
スを設けることにより、先行のベクトルデータが演算器
の出力レジスタに取込まれたタイミング、あるいは、ベ
クトルレジスタのライトデータレジスタに取込まれたタ
イミングに、後続命令を発行してベクトルレジスタをバ
イパスすることにより、ベクトル命令の発行間隔を短く
して性能を向上することができるという効果を有してい
る。
【図面の簡単な説明】
【図1】本発明のベクトル演算装置の一実施例を示すブ
ロック図である。
【図2】本実施例のベクトル演算装置における命令実行
動作の一例を示すタイムチャートである。
【図3】本実施例のベクトル演算装置における先行命令
に続く後続命令の動作例を示すタイムチャートである。
【図4】従来のベクトル演算装置の一例を示すブロック
図である。
【図5】従来のベクトル演算装置における先行命令に続
く後続命令の動作の一例を示すタイムチャートである。
【符号の説明】
1,2,3,4 ベクトルレジスタ 5,6,7,8 ライトデータレジスタ 9,10,11,12 ライトアドレスレジスタ 13,14,15,16 リードアドレスレジスタ 17,18,19,20,17K,18K,19K,2
0K リードデータレジスタ 21 加算演算器 22 乗算演算器 23,24 出力レジスタ 25,25K 命令実行管理部 26,26K 命令レジスタ 27,27K 命令発行抑止フラグ群 28,28K 命令発行チェック回路 29,29K フラグセット回路 30A,30B フラグ 100,101,200,201,202,203,1
00K,101Kパス 300,301,302,303,400,401,4
02,403 切替え信号
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−76772(JP,A) 特開 昭61−62174(JP,A) 特開 昭56−88561(JP,A) 特開 昭60−176144(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/16 G06F 9/3

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 ベクトルデータを保持する複数のベクト
    ルレジスタと、前記ベクトルレジスタから得た複数のベ
    クトルデータに対する演算を実行する複数のベクトル演
    算器と、前記ベクトルレジスタおよび前記ベクトル演算
    器を用いた演算の実行状態を管理して続く命令の実行を
    指示する命令実行管理部とを有するベクトル演算装置に
    おいて、 前記複数のベクトル演算器の各々の入力毎
    に、該入力に対応するベクトルレジスタの読出しデー
    タ、該入力に対応するベクトルレジスタへの書込みデー
    タを保持するライトデータレジスタに対する書込デー
    タ、および、前記ライトデータレジスタから前記ベクト
    ルレジスタへの書込データの中から何れか1つを選択す
    る選択回路と、前記命令実行管理部からの信号によって
    前記選択回路の選択の切り替えを制御する選択制御手段
    とを有し、 前記命令実行管理部は、前記ライトデータレジスタへ書
    込む先行命令の演算結果データを後続命令が前記選択回
    路で選択可能となる後続命令の発行タイミングを示す第
    1のタイミング信号を出力する第1のタイミング指示回
    路と、前記ライトデータレジスタから前記ベクトルレジ
    スタへ書込む先行命令の演算結果データを後続命令が前
    記選択回路で選択可能となる後続命令の発行タイミング
    を示す第2のタイミング信号を出力する第2のタイミン
    グ指示回路とを備え、 前記命令実行管理部は、先行命令が演算結果データを前
    記複数のベクトルレジスタの1つに書込み、後続命令が
    同一のベクトルレジスタから読出しを行う命令である
    際、(A)前記第1のタイミング指示回路が前記第1の
    タイミング信号を出力している場合には、前記ベクトル
    レジスタに対応する前記選択回路を前記ライトデータレ
    ジスタに対する書込データ側に切り替えるよう前記選択
    制御手段に指示し、(B)前記第2のタイミング指示回
    路が前記第2のタイミング信号を出力している場合に
    は、前記ベクトルレジスタに対応する前記選択回路を前
    記ライトデータレジスタから前記ベクトルレジスタへの
    書込みデータ側に切り替えるよう前記選択制御手段に指
    示する ことを特徴とするベクトル演算装置。
  2. 【請求項2】 前記命令実行管理部は、先行命令が演算
    結果データを前記複数のベクトルレジスタの1つに書込
    み後続命令が同一のベクトルレジスタから読出しを行う
    命令である際、前記第1および第2のタイミング指示回
    路のいずれ も前記第1および第2のタイミング信号を出
    力していない場合には、前記ベクトルレジスタに対応す
    る前記選択回路を前記ベクトルレジスタの読出しデータ
    側に切り替えるよう前記選択制御手段に指示することを
    特徴とする請求項1記載のベクトル演算装置。
JP6131720A 1994-06-14 1994-06-14 ベクトル演算装置 Expired - Fee Related JP3068406B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6131720A JP3068406B2 (ja) 1994-06-14 1994-06-14 ベクトル演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6131720A JP3068406B2 (ja) 1994-06-14 1994-06-14 ベクトル演算装置

Publications (2)

Publication Number Publication Date
JPH07334487A JPH07334487A (ja) 1995-12-22
JP3068406B2 true JP3068406B2 (ja) 2000-07-24

Family

ID=15064633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6131720A Expired - Fee Related JP3068406B2 (ja) 1994-06-14 1994-06-14 ベクトル演算装置

Country Status (1)

Country Link
JP (1) JP3068406B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5688561A (en) * 1979-12-21 1981-07-18 Fujitsu Ltd Vector arithmetic processor
JPS60176144A (ja) * 1984-02-23 1985-09-10 Fujitsu Ltd レジスタフアイル装置
JPS6162174A (ja) * 1984-09-03 1986-03-31 Nec Corp 情報婦理装置
JP2580371B2 (ja) * 1990-07-18 1997-02-12 株式会社日立製作所 ベクトルデ―タ処理装置

Also Published As

Publication number Publication date
JPH07334487A (ja) 1995-12-22

Similar Documents

Publication Publication Date Title
US5075840A (en) Tightly coupled multiprocessor instruction synchronization
US6233670B1 (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
KR940015852A (ko) 긴 명령 워드를 갖는 처리기
JP3556246B2 (ja) パイプラインプロセッサにおける割込み処理のための装置
JP2665081B2 (ja) マイクロコンピュータのレジスタ間データ転送方式
JPH0465426B2 (ja)
JP2682232B2 (ja) 浮動小数点演算処理装置
JPH03286332A (ja) デジタルデータ処理装置
JP3068406B2 (ja) ベクトル演算装置
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JPS60178580A (ja) 命令制御方式
JP4916151B2 (ja) 並列演算装置
JPH0222413B2 (ja)
JP2793357B2 (ja) 並列演算装置
JP2861560B2 (ja) データ処理装置
JP2883488B2 (ja) 命令処理装置
JPH07110769A (ja) Vliw型計算機
JPH07505242A (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JP3441847B2 (ja) データメモリを有するプロセッサ
JPS60178539A (ja) 情報処理装置におけるバイパス制御方式
JP2511063B2 (ja) パイプライン制御方式
JP2671161B2 (ja) レジスタ干渉チェック方式
JP3088956B2 (ja) 演算装置
JP2001092658A (ja) データ処理回路及びデータ処理装置
JP2883489B2 (ja) 命令処理装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090519

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees