JPH01169574A - ベクトル演算装置 - Google Patents
ベクトル演算装置Info
- Publication number
- JPH01169574A JPH01169574A JP32759387A JP32759387A JPH01169574A JP H01169574 A JPH01169574 A JP H01169574A JP 32759387 A JP32759387 A JP 32759387A JP 32759387 A JP32759387 A JP 32759387A JP H01169574 A JPH01169574 A JP H01169574A
- Authority
- JP
- Japan
- Prior art keywords
- register
- arithmetic
- central processing
- processing unit
- vector
- 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.)
- Pending
Links
- 239000000872 buffer Substances 0.000 claims abstract description 22
- 230000002401 inhibitory effect Effects 0.000 claims description 3
- 230000001629 suppression Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000005764 inhibitory process Effects 0.000 description 3
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
1度欠1
本発明はベクトル演算装置に関し、特に中央処理装置か
らの制御によりこの中央処理装置と並行して演算処理が
可能なベクトル演算装置に関する。
らの制御によりこの中央処理装置と並行して演算処理が
可能なベクトル演算装置に関する。
良木弦」
従来、この種のベクトル演算装置は一例として第3図に
示す様な構成となっている0図において、レジスタファ
イル1はオペランドを中央処理装置50から受取ったり
演算結果を書込むために使われ、64ビット幅のレジス
タである。オペランドを中央処理装置50から受取る部
分は2組あり(BFl 、BF2 >、現在実行中の演
算のほかに次の演算のオペランドも受取っておくことが
できるようになっている。またこのレジスタファイル1
は書込みアドレス1系統、読出しアドレス2系統をもっ
ているとする。
示す様な構成となっている0図において、レジスタファ
イル1はオペランドを中央処理装置50から受取ったり
演算結果を書込むために使われ、64ビット幅のレジス
タである。オペランドを中央処理装置50から受取る部
分は2組あり(BFl 、BF2 >、現在実行中の演
算のほかに次の演算のオペランドも受取っておくことが
できるようになっている。またこのレジスタファイル1
は書込みアドレス1系統、読出しアドレス2系統をもっ
ているとする。
オペランドポインタレジスタ(ADl >2及びオペラ
ンドポインタレジスタ(AD2 )3はレジスタファイ
ル1の読出しアドレスを示すレジスタである。これ等オ
ペランドポインタレジスタAD1 、AD2で読出され
たデータはともに演算器6に入力される。またオペラン
ドポインタレジスタAD2で読出されたデータは中央処
理装置50へも送られる。
ンドポインタレジスタ(AD2 )3はレジスタファイ
ル1の読出しアドレスを示すレジスタである。これ等オ
ペランドポインタレジスタAD1 、AD2で読出され
たデータはともに演算器6に入力される。またオペラン
ドポインタレジスタAD2で読出されたデータは中央処
理装置50へも送られる。
レジスタファイル切換えフリップフロップCll0>4
は、中央処理装置50からのオペランド受取りバッファ
として2 、[のレジスタBF1とBF2とを演算−回
ごとに切換えるためのフリップフロップである。このフ
リップフロップ110が0のときにレジスタBPIにロ
ードされ、フリップフロップ110が1のときレジスタ
BF2にロードされる。
は、中央処理装置50からのオペランド受取りバッファ
として2 、[のレジスタBF1とBF2とを演算−回
ごとに切換えるためのフリップフロップである。このフ
リップフロップ110が0のときにレジスタBPIにロ
ードされ、フリップフロップ110が1のときレジスタ
BF2にロードされる。
アンロード可フリップフロップ(UNL) 5は、ベク
トル演算装置51が演算結果をレジスタファイル1に書
込んだときに1となり、中央処理装置50がその演算結
果を受取ったとき0となるフリップフロップである。
トル演算装置51が演算結果をレジスタファイル1に書
込んだときに1となり、中央処理装置50がその演算結
果を受取ったとき0となるフリップフロップである。
演算器6は加減乗除等を実行する回路である。
制御部7は各種レジスタのセット/ホールド、レジスタ
ファイル1の書込みアドレス、演算器等の制御を行う回
路である。
ファイル1の書込みアドレス、演算器等の制御を行う回
路である。
いま、次式のようなベクトル演算を例にとって動作を説
明する。
明する。
Vi+−AiXBi (i=1〜n)これは、中央
処理装置50からベクトル演算装置にAiとBiの2つ
のオペランドを送り、乗算実行後その結果を中央処理装
置へ送るという演算を複数組のオペランドについて連続
的に実行する演算である。
処理装置50からベクトル演算装置にAiとBiの2つ
のオペランドを送り、乗算実行後その結果を中央処理装
置へ送るという演算を複数組のオペランドについて連続
的に実行する演算である。
このベクトル命令の実行に入ると、まず中央処理装置5
0は1組目のオペランドAI 、B1をベクトル演算装
置51のレジスタファイルBF1に送込む。ベクトル演
算装置51はオペランドが届くと直に1回目の乗算を開
始する。中央処理装置50は1組目のオペランドに引き
続き2組目のオペランドA2 、B2を池のレジスタB
F2に送込む、そして、1回目の乗算の結果を受取るた
めに、ベクトル演算装置51の演算終了を待つ。ベクト
ル演算装置51で1回目の乗算の結果がレジスタファイ
ル1に書かれると、書込んだアドレスがAD2レジスタ
3にセットされ、UNLフリップフロップ5が“1″と
なる。中央処理装置5oはフリップフロップ5が“1”
となったことによって、AD2レジスタ3でアドレスさ
れるレジスタファイルの値を受取り、受取りが終了する
と、フリップフロップ5を“0”にする。ベクトル演算
装置51はこのフリップフロップ5が“0″になったこ
とによって、次の2組目の演算のためにオペランドポイ
ンタレジスタAD1 、AD2をセットして実行を開始
する。
0は1組目のオペランドAI 、B1をベクトル演算装
置51のレジスタファイルBF1に送込む。ベクトル演
算装置51はオペランドが届くと直に1回目の乗算を開
始する。中央処理装置50は1組目のオペランドに引き
続き2組目のオペランドA2 、B2を池のレジスタB
F2に送込む、そして、1回目の乗算の結果を受取るた
めに、ベクトル演算装置51の演算終了を待つ。ベクト
ル演算装置51で1回目の乗算の結果がレジスタファイ
ル1に書かれると、書込んだアドレスがAD2レジスタ
3にセットされ、UNLフリップフロップ5が“1″と
なる。中央処理装置5oはフリップフロップ5が“1”
となったことによって、AD2レジスタ3でアドレスさ
れるレジスタファイルの値を受取り、受取りが終了する
と、フリップフロップ5を“0”にする。ベクトル演算
装置51はこのフリップフロップ5が“0″になったこ
とによって、次の2組目の演算のためにオペランドポイ
ンタレジスタAD1 、AD2をセットして実行を開始
する。
上述した従来のベクトル演算装置では、ベクトル演算装
置で演算が終了して結果を書き、UNLフリップフロッ
プ5が論理1にAD2レジスタ3に演算結果が書かれた
レジスタファイルのアドレスがセットされると、このA
D2レジスタ3で指定されたレジスタファイルのデータ
を中央処理装置が受取るので、中央処理装置がこの演算
結果を受取り終えるまでAD2レジスタ3の値を壊すこ
とはできない。そのために、ベクトル演算装置はAD2
レジスタ3で次のオペランドアドレスを指して演算を開
始するということができない、すなわち、中央処理装置
が演算結果を受取り終りtlNLフリップフロップ5が
論理0になるまでの間、ベクトル演算装置は演算動作を
停止しなければならないという欠点がある。
置で演算が終了して結果を書き、UNLフリップフロッ
プ5が論理1にAD2レジスタ3に演算結果が書かれた
レジスタファイルのアドレスがセットされると、このA
D2レジスタ3で指定されたレジスタファイルのデータ
を中央処理装置が受取るので、中央処理装置がこの演算
結果を受取り終えるまでAD2レジスタ3の値を壊すこ
とはできない。そのために、ベクトル演算装置はAD2
レジスタ3で次のオペランドアドレスを指して演算を開
始するということができない、すなわち、中央処理装置
が演算結果を受取り終りtlNLフリップフロップ5が
論理0になるまでの間、ベクトル演算装置は演算動作を
停止しなければならないという欠点がある。
発明の目的
本発明の目的は、演算実行が停止する時間をなくしてよ
り高速にベクトル演算を実行することが可能なベクトル
演算装置を提供することである。
り高速にベクトル演算を実行することが可能なベクトル
演算装置を提供することである。
発明の構成
本発明によれば、中央処理装置の制御の下でこの中央処
理装置とは独立して演算実行可能に構成され、独自のマ
イクロプログラムとオペランドとを保持するレジスタフ
ァイルを有するベクトル演算装置であって、演算結果を
一時格納するバッファレジスタと、前記中央処理装置へ
前記レジスタファイルの出力及び前記バッファレジスタ
の出力を択一的に送出するセレクタ手段と、前記バッフ
ァレジスタに格納されているデータを前記中央処理装置
へ転送する以前に次の演算結果を前記バッファレジスタ
へ書込むことを禁止する手段とを含むことを特徴とする
ベクトル演算装置が得られる。
理装置とは独立して演算実行可能に構成され、独自のマ
イクロプログラムとオペランドとを保持するレジスタフ
ァイルを有するベクトル演算装置であって、演算結果を
一時格納するバッファレジスタと、前記中央処理装置へ
前記レジスタファイルの出力及び前記バッファレジスタ
の出力を択一的に送出するセレクタ手段と、前記バッフ
ァレジスタに格納されているデータを前記中央処理装置
へ転送する以前に次の演算結果を前記バッファレジスタ
へ書込むことを禁止する手段とを含むことを特徴とする
ベクトル演算装置が得られる。
実施例
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。
図中の番号1〜7は第3図と同じであってその説明は省
略する。演算結果格納バッファレジスタ(BEBF)
8はベクトル演算装置51での演算結果をレジスタファ
イル1と同時にセットし、中央処理装置50へ送出す6
4ビツトのレジスタである。
略する。演算結果格納バッファレジスタ(BEBF)
8はベクトル演算装置51での演算結果をレジスタファ
イル1と同時にセットし、中央処理装置50へ送出す6
4ビツトのレジスタである。
演算結果セレクト信号フリップフロップ(BES )9
は、中央処理装置へ送る演算結果をレジスタファイル1
から送出するか、バッファレジスタ(BEBF) F3
から送出するがを選択する信号を保持するレジスタであ
り、そのときのソフトウェア命令によって決定される。
は、中央処理装置へ送る演算結果をレジスタファイル1
から送出するか、バッファレジスタ(BEBF) F3
から送出するがを選択する信号を保持するレジスタであ
り、そのときのソフトウェア命令によって決定される。
書込抑止信号生成回路1oは、バッファレジスタ8に書
込まれたデータを中央処理装置が受けとる前に次の演算
結果をバッファレジスタ8に書こうとしたときに、それ
を抑止する信号を発生する回路で詳細を第2図に示す。
込まれたデータを中央処理装置が受けとる前に次の演算
結果をバッファレジスタ8に書こうとしたときに、それ
を抑止する信号を発生する回路で詳細を第2図に示す。
第2図において、信号線101は従来からある、ベクト
ル演算装置51内のマイクロ10グラムの実行抑止信号
、信号線102はバッファレジスタ8への演算結果の書
込み指示信号、信号fl1103はON[フリップフロ
ップ5の出力信号である。また20はアンドゲート、2
1はオアゲートであり、信号線104は前の演算結果を
中央処理装置が受取る前に次の演算結果をバッファレジ
スタ8に書込むことを抑止する信号である。信号線10
5は従来からの実行抑止信号101と本実施例で必要と
なった実行抑止信号104とを論理和処理した新たなマ
イクロプログラムの実行抑止信号である。
ル演算装置51内のマイクロ10グラムの実行抑止信号
、信号線102はバッファレジスタ8への演算結果の書
込み指示信号、信号fl1103はON[フリップフロ
ップ5の出力信号である。また20はアンドゲート、2
1はオアゲートであり、信号線104は前の演算結果を
中央処理装置が受取る前に次の演算結果をバッファレジ
スタ8に書込むことを抑止する信号である。信号線10
5は従来からの実行抑止信号101と本実施例で必要と
なった実行抑止信号104とを論理和処理した新たなマ
イクロプログラムの実行抑止信号である。
ここで、従来技術と同様乗算のベクトル命令について動
作を説明する。まず、このベクトル命令が開始されると
、そのオペコードにより判断されてBESフリップフロ
ップ9が論理1にセットされ、中央処理装置にはバッフ
ァレジスタ8の値がセレクタ11を介して見えるように
なる。
作を説明する。まず、このベクトル命令が開始されると
、そのオペコードにより判断されてBESフリップフロ
ップ9が論理1にセットされ、中央処理装置にはバッフ
ァレジスタ8の値がセレクタ11を介して見えるように
なる。
そして、1組目のオペランドAI 、B1がベクトル演
算装置51のレジスタファイル1内のレジスタBF1に
ロードされ、ベクトル演算装置51は1回目の乗算を開
始する。中央処理装置50は引き続き2組目のオペラン
ドA2 、B2をベクトル演算装置51のレジスタBF
2にロードし、1回目の乗算の結果を待つ。
算装置51のレジスタファイル1内のレジスタBF1に
ロードされ、ベクトル演算装置51は1回目の乗算を開
始する。中央処理装置50は引き続き2組目のオペラン
ドA2 、B2をベクトル演算装置51のレジスタBF
2にロードし、1回目の乗算の結果を待つ。
ベクトル演算装置51で1回目の乗算の結果がレジスタ
ファイル1に書込まれると同時に、バッファレジスタ8
にも書込まれ、UNLフリップフロップ5がセットされ
る。このとき、第2図のアンドゲート20の信号102
にバッファレジスタ9への書込み指示があった場合、ア
ンドゲート2oの出力104が抑止信号となり、レジス
タファイル9への書込みは抑止される。そしてADIレ
ジスタ2、AD2レジスタ3は2回目のオペランドが格
納されているアドレスを夫々指す、そして、すぐに2回
目の乗算が開始される。中央処理装置50はUNLフリ
ップフロップ5がセットされたことによって、セレクタ
11を介してバッファレジスタ8の値を受取り当該フリ
ップフロラ15をリセットする。続いて3組目のオペラ
ンドA3 、B3をレジスタBF1ヘロードして2回目
の結果を待つ。
ファイル1に書込まれると同時に、バッファレジスタ8
にも書込まれ、UNLフリップフロップ5がセットされ
る。このとき、第2図のアンドゲート20の信号102
にバッファレジスタ9への書込み指示があった場合、ア
ンドゲート2oの出力104が抑止信号となり、レジス
タファイル9への書込みは抑止される。そしてADIレ
ジスタ2、AD2レジスタ3は2回目のオペランドが格
納されているアドレスを夫々指す、そして、すぐに2回
目の乗算が開始される。中央処理装置50はUNLフリ
ップフロップ5がセットされたことによって、セレクタ
11を介してバッファレジスタ8の値を受取り当該フリ
ップフロラ15をリセットする。続いて3組目のオペラ
ンドA3 、B3をレジスタBF1ヘロードして2回目
の結果を待つ。
発明の詳細
な説明したように、本発明によれば、中央処理装置への
演算結果のバッファレジスタを設けることによって、ベ
クトル演算装置は中央処理装置が演算結果を受取り終わ
るのを待つことなく、次の演算を開始できるため、ベク
トル演算装置で演算実行が停止する時間がなくなりより
高速にベクトル演算を実行できるという効果がある。
演算結果のバッファレジスタを設けることによって、ベ
クトル演算装置は中央処理装置が演算結果を受取り終わ
るのを待つことなく、次の演算を開始できるため、ベク
トル演算装置で演算実行が停止する時間がなくなりより
高速にベクトル演算を実行できるという効果がある。
例えば、64ビツトの演算結果の転送には、32ビツト
のデータバスで2タロツクサイクルかかるが、1回の演
算で2クロツクサイクルであるがら、多数組のオペラン
ドを連続で実行するベクトル命令では、かなり性能向上
が期待できることになる。
のデータバスで2タロツクサイクルかかるが、1回の演
算で2クロツクサイクルであるがら、多数組のオペラン
ドを連続で実行するベクトル命令では、かなり性能向上
が期待できることになる。
第1図は本発明の実施例のブロック図、第2図は第1図
の1部具体例を示す回路図、第3図は従来のベクトル演
算装置のブロック図である。 主要部分の符号の説明 1・・・・・・レジスタファイル 6・・・・・・演算器 7・・・・・・制御部 8・・・・・・バッファレジスタ 9・・・・・・演算結果セレクト信号 フリップフロップ 10・・・・・・書込抑止信号生成回路11・・・・・
・セレクタ
の1部具体例を示す回路図、第3図は従来のベクトル演
算装置のブロック図である。 主要部分の符号の説明 1・・・・・・レジスタファイル 6・・・・・・演算器 7・・・・・・制御部 8・・・・・・バッファレジスタ 9・・・・・・演算結果セレクト信号 フリップフロップ 10・・・・・・書込抑止信号生成回路11・・・・・
・セレクタ
Claims (1)
- 中央処理装置の制御の下でこの中央処理装置とは独立し
て演算実行可能に構成され、独自のマイクロプログラム
とオペランドとを保持するレジスタファイルを有するベ
クトル演算装置であって、演算結果を一時格納するバッ
ファレジスタと、前記中央処理装置へ前記レジスタファ
イルの出力及び前記バッファレジスタの出力を択一的に
送出するセレクタ手段と、前記バッファレジスタに格納
されているデータを前記中央処理装置へ転送する以前に
次の演算結果を前記バッファレジスタへ書込むことを禁
止する手段とを含むことを特徴とするベクトル演算装置
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32759387A JPH01169574A (ja) | 1987-12-24 | 1987-12-24 | ベクトル演算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32759387A JPH01169574A (ja) | 1987-12-24 | 1987-12-24 | ベクトル演算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01169574A true JPH01169574A (ja) | 1989-07-04 |
Family
ID=18200791
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32759387A Pending JPH01169574A (ja) | 1987-12-24 | 1987-12-24 | ベクトル演算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01169574A (ja) |
-
1987
- 1987-12-24 JP JP32759387A patent/JPH01169574A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| 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 | |
| JPS6131502B2 (ja) | ||
| JPS6215891B2 (ja) | ||
| JPH0581119A (ja) | レジスタ間接モードを用いる汎用メモリ・アクセス方式 | |
| US5276822A (en) | System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction | |
| JPH0418635A (ja) | ディジタル信号プロセッサ | |
| JPH01169574A (ja) | ベクトル演算装置 | |
| EP0700005B1 (en) | Vector data bypass mechanism for vector computer | |
| JPH0528431B2 (ja) | ||
| JP3560482B2 (ja) | 命令制御装置 | |
| JPH0444136A (ja) | メモリアクセス制御装置 | |
| JP2929980B2 (ja) | 情報処理装置 | |
| JPH01161477A (ja) | ベクトル演算処理装置 | |
| JP2819733B2 (ja) | 情報処理装置 | |
| JPH0452488B2 (ja) | ||
| JP3124361B2 (ja) | メモリデータロード装置 | |
| JP2702137B2 (ja) | ベクトル演算命令の処理方法 | |
| JPH06139071A (ja) | 並列計算機 | |
| JPS61133440A (ja) | デ−タ処理装置 | |
| JP3517139B2 (ja) | 情報処理装置 | |
| JP3068406B2 (ja) | ベクトル演算装置 | |
| JP3084953B2 (ja) | 情報処理装置 | |
| JPS60247742A (ja) | パイプライン演算制御装置 | |
| JPH0228724A (ja) | 分岐命令制御方式 | |
| JPH05204642A (ja) | 命令実行制御方式 |