JPH01169574A - Vector arithmetic unit - Google Patents

Vector arithmetic unit

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
Application number
JP32759387A
Other languages
Japanese (ja)
Inventor
Atsushi Sekiguchi
淳 関口
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 JP32759387A priority Critical patent/JPH01169574A/en
Publication of JPH01169574A publication Critical patent/JPH01169574A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To remove a time for stopping the execution of arithmetic and to attain rapider vector arithmetic by providing the title device with a buffer register for temporarily storing an arithmetic result in a central processing unit. CONSTITUTION:A 1st operand is loaded on a register BF1 in a register file 1 of the vector arithmetic unit 51 and the unit 51 starts a 1st arithmetic operation. The 1st arithmetic result is written in the file 1 and simultaneously written also in the buffer register 8 and a FF 5 is set. Writing in a register 9 is suppressed by a write suppressing signal outputted from a write suppression signal forming circuit 10. When the FF 5 is set, the central processing unit 50 receives the value of the register 8 and then resets the FF 5.

Description

【発明の詳細な説明】 1度欠1 本発明はベクトル演算装置に関し、特に中央処理装置か
らの制御によりこの中央処理装置と並行して演算処理が
可能なベクトル演算装置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a vector arithmetic device, and more particularly to a vector arithmetic device capable of performing arithmetic processing in parallel with a central processing unit under control from the central processing unit.

良木弦」 従来、この種のベクトル演算装置は一例として第3図に
示す様な構成となっている0図において、レジスタファ
イル1はオペランドを中央処理装置50から受取ったり
演算結果を書込むために使われ、64ビット幅のレジス
タである。オペランドを中央処理装置50から受取る部
分は2組あり(BFl 、BF2 >、現在実行中の演
算のほかに次の演算のオペランドも受取っておくことが
できるようになっている。またこのレジスタファイル1
は書込みアドレス1系統、読出しアドレス2系統をもっ
ているとする。
Gen Yoshiki' Conventionally, this type of vector arithmetic device has a configuration as shown in FIG. 3 as an example. In FIG. It is a 64-bit wide register. There are two sets of parts that receive operands from the central processing unit 50 (BFl, BF2>, which can receive operands for the next operation in addition to the operation currently being executed. Also, this register file 1
It is assumed that has one system of write addresses and two systems of read addresses.

オペランドポインタレジスタ(ADl >2及びオペラ
ンドポインタレジスタ(AD2 )3はレジスタファイ
ル1の読出しアドレスを示すレジスタである。これ等オ
ペランドポインタレジスタAD1 、AD2で読出され
たデータはともに演算器6に入力される。またオペラン
ドポインタレジスタAD2で読出されたデータは中央処
理装置50へも送られる。
The operand pointer register (ADl>2) and the operand pointer register (AD2) 3 are registers that indicate the read address of the register file 1.The data read by these operand pointer registers AD1 and AD2 are both input to the arithmetic unit 6. The data read by operand pointer register AD2 is also sent to central processing unit 50.

レジスタファイル切換えフリップフロップCll0>4
は、中央処理装置50からのオペランド受取りバッファ
として2 、[のレジスタBF1とBF2とを演算−回
ごとに切換えるためのフリップフロップである。このフ
リップフロップ110が0のときにレジスタBPIにロ
ードされ、フリップフロップ110が1のときレジスタ
BF2にロードされる。
Register file switching flip-flop Cll0>4
is a flip-flop that serves as an operand receiving buffer from the central processing unit 50 and switches registers BF1 and BF2 of [2] for each operation. When the flip-flop 110 is 0, it is loaded into the register BPI, and when the flip-flop 110 is 1, it is loaded into the register BF2.

アンロード可フリップフロップ(UNL) 5は、ベク
トル演算装置51が演算結果をレジスタファイル1に書
込んだときに1となり、中央処理装置50がその演算結
果を受取ったとき0となるフリップフロップである。
The unloadable flip-flop (UNL) 5 is a flip-flop that becomes 1 when the vector arithmetic unit 51 writes the arithmetic result to the register file 1, and becomes 0 when the central processing unit 50 receives the arithmetic result. .

演算器6は加減乗除等を実行する回路である。The arithmetic unit 6 is a circuit that performs addition, subtraction, multiplication, division, etc.

制御部7は各種レジスタのセット/ホールド、レジスタ
ファイル1の書込みアドレス、演算器等の制御を行う回
路である。
The control unit 7 is a circuit that controls setting/holding of various registers, write addresses of the register file 1, arithmetic units, etc.

いま、次式のようなベクトル演算を例にとって動作を説
明する。
The operation will now be explained using the following vector operation as an example.

Vi+−AiXBi   (i=1〜n)これは、中央
処理装置50からベクトル演算装置にAiとBiの2つ
のオペランドを送り、乗算実行後その結果を中央処理装
置へ送るという演算を複数組のオペランドについて連続
的に実行する演算である。
Vi + - Ai This is an operation that is executed continuously for .

このベクトル命令の実行に入ると、まず中央処理装置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をセットして実行を開始
する。
When starting the execution of this vector instruction, first the central processing unit 5
0 sends the first set of operands AI and B1 to the register file BF1 of the vector arithmetic unit 51. The vector arithmetic unit 51 starts the first multiplication immediately upon receiving the operand. Following the first set of operands, the central processing unit 50 stores the second set of operands A2 and B2 in register B.
In order to send the result to F2 and receive the result of the first multiplication, it waits for the completion of the calculation by the vector calculation unit 51. When the result of the first multiplication is written in the register file 1 by the vector arithmetic unit 51, the written address is set in the AD2 register 3, and the UNL flip-flop 5 becomes "1". In the central processing unit 5o, the flip-flop 5 is “1”
As a result, the value of the register file addressed by the AD2 register 3 is received, and when the reception is completed, the flip-flop 5 is set to "0". When the flip-flop 5 becomes "0", the vector arithmetic unit 51 sets the operand pointer registers AD1 and AD2 for the next second set of arithmetic operations and starts execution.

上述した従来のベクトル演算装置では、ベクトル演算装
置で演算が終了して結果を書き、UNLフリップフロッ
プ5が論理1にAD2レジスタ3に演算結果が書かれた
レジスタファイルのアドレスがセットされると、このA
D2レジスタ3で指定されたレジスタファイルのデータ
を中央処理装置が受取るので、中央処理装置がこの演算
結果を受取り終えるまでAD2レジスタ3の値を壊すこ
とはできない。そのために、ベクトル演算装置はAD2
レジスタ3で次のオペランドアドレスを指して演算を開
始するということができない、すなわち、中央処理装置
が演算結果を受取り終りtlNLフリップフロップ5が
論理0になるまでの間、ベクトル演算装置は演算動作を
停止しなければならないという欠点がある。
In the conventional vector arithmetic device described above, when the vector arithmetic device completes the arithmetic operation and writes the result, and the address of the register file where the arithmetic result is written in the AD2 register 3 is set to logic 1 in the UNL flip-flop 5, This A
Since the central processing unit receives the data of the register file specified by the D2 register 3, the value of the AD2 register 3 cannot be destroyed until the central processing unit has finished receiving this operation result. For this purpose, the vector arithmetic unit is AD2
It is not possible to start an operation by pointing to the next operand address in the register 3. In other words, the vector operation unit cannot perform an operation until the central processing unit receives the operation result and the tlNL flip-flop 5 becomes logic 0. The disadvantage is that it has to be stopped.

発明の目的 本発明の目的は、演算実行が停止する時間をなくしてよ
り高速にベクトル演算を実行することが可能なベクトル
演算装置を提供することである。
OBJECTS OF THE INVENTION An object of the present invention is to provide a vector arithmetic device capable of executing vector arithmetic operations at higher speed by eliminating the time during which arithmetic execution is stopped.

発明の構成 本発明によれば、中央処理装置の制御の下でこの中央処
理装置とは独立して演算実行可能に構成され、独自のマ
イクロプログラムとオペランドとを保持するレジスタフ
ァイルを有するベクトル演算装置であって、演算結果を
一時格納するバッファレジスタと、前記中央処理装置へ
前記レジスタファイルの出力及び前記バッファレジスタ
の出力を択一的に送出するセレクタ手段と、前記バッフ
ァレジスタに格納されているデータを前記中央処理装置
へ転送する以前に次の演算結果を前記バッファレジスタ
へ書込むことを禁止する手段とを含むことを特徴とする
ベクトル演算装置が得られる。
Composition of the Invention According to the present invention, there is provided a vector arithmetic device that is configured to be able to perform arithmetic operations independently of the central processing unit under the control of the central processing unit, and that has a register file that holds its own microprogram and operands. a buffer register for temporarily storing calculation results; selector means for selectively sending the output of the register file and the output of the buffer register to the central processing unit; and data stored in the buffer register. There is obtained a vector arithmetic device characterized in that it includes means for inhibiting writing of the next arithmetic result to the buffer register before the next arithmetic result is transferred to the central processing unit.

実施例 次に、本発明について図面を参照して説明する。Example Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例のブロック図である。FIG. 1 is a block diagram of one embodiment of the present invention.

図中の番号1〜7は第3図と同じであってその説明は省
略する。演算結果格納バッファレジスタ(BEBF) 
8はベクトル演算装置51での演算結果をレジスタファ
イル1と同時にセットし、中央処理装置50へ送出す6
4ビツトのレジスタである。
Numbers 1 to 7 in the figure are the same as in FIG. 3, and their explanation will be omitted. Operation result storage buffer register (BEBF)
8 sets the calculation result of the vector calculation unit 51 in the register file 1 at the same time, and sends it to the central processing unit 50 6
It is a 4-bit register.

演算結果セレクト信号フリップフロップ(BES )9
は、中央処理装置へ送る演算結果をレジスタファイル1
から送出するか、バッファレジスタ(BEBF) F3
から送出するがを選択する信号を保持するレジスタであ
り、そのときのソフトウェア命令によって決定される。
Operation result selection signal flip-flop (BES) 9
sends the calculation results to the central processing unit in register file 1.
from the buffer register (BEBF) F3
This is a register that holds the signal that selects the signal to be sent from the controller, and is determined by the software instruction at the time.

書込抑止信号生成回路1oは、バッファレジスタ8に書
込まれたデータを中央処理装置が受けとる前に次の演算
結果をバッファレジスタ8に書こうとしたときに、それ
を抑止する信号を発生する回路で詳細を第2図に示す。
The write inhibit signal generation circuit 1o generates a signal that inhibits writing of the next operation result to the buffer register 8 before the central processing unit receives the data written to the buffer register 8. The details of the circuit are shown in Figure 2.

第2図において、信号線101は従来からある、ベクト
ル演算装置51内のマイクロ10グラムの実行抑止信号
、信号線102はバッファレジスタ8への演算結果の書
込み指示信号、信号fl1103はON[フリップフロ
ップ5の出力信号である。また20はアンドゲート、2
1はオアゲートであり、信号線104は前の演算結果を
中央処理装置が受取る前に次の演算結果をバッファレジ
スタ8に書込むことを抑止する信号である。信号線10
5は従来からの実行抑止信号101と本実施例で必要と
なった実行抑止信号104とを論理和処理した新たなマ
イクロプログラムの実行抑止信号である。
In FIG. 2, a signal line 101 is a conventional micro10-gram execution inhibit signal in the vector arithmetic unit 51, a signal line 102 is a write instruction signal for the calculation result to the buffer register 8, and a signal fl1103 is an ON [flip-flop This is the output signal of No. 5. Also, 20 is an and gate, 2
1 is an OR gate, and a signal line 104 is a signal for inhibiting writing of the next operation result into the buffer register 8 before the central processing unit receives the previous operation result. signal line 10
Reference numeral 5 denotes a new microprogram execution inhibition signal obtained by ORing the conventional execution inhibition signal 101 and the execution inhibition signal 104 required in this embodiment.

ここで、従来技術と同様乗算のベクトル命令について動
作を説明する。まず、このベクトル命令が開始されると
、そのオペコードにより判断されてBESフリップフロ
ップ9が論理1にセットされ、中央処理装置にはバッフ
ァレジスタ8の値がセレクタ11を介して見えるように
なる。
Here, the operation of the multiplication vector instruction will be explained as in the prior art. First, when this vector instruction is started, the BES flip-flop 9 is set to logic 1 based on the operation code, and the value of the buffer register 8 becomes visible to the central processing unit via the selector 11.

そして、1組目のオペランドAI 、B1がベクトル演
算装置51のレジスタファイル1内のレジスタBF1に
ロードされ、ベクトル演算装置51は1回目の乗算を開
始する。中央処理装置50は引き続き2組目のオペラン
ドA2 、B2をベクトル演算装置51のレジスタBF
2にロードし、1回目の乗算の結果を待つ。
Then, the first set of operands AI and B1 is loaded into the register BF1 in the register file 1 of the vector arithmetic unit 51, and the vector arithmetic unit 51 starts the first multiplication. The central processing unit 50 continues to store the second set of operands A2 and B2 in the register BF of the vector arithmetic unit 51.
2 and wait for the result of the first multiplication.

ベクトル演算装置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回目
の結果を待つ。
At the same time that the result of the first multiplication is written to the register file 1 by the vector arithmetic unit 51, the buffer register 8
is also written to UNL flip-flop 5. At this time, the signal 102 of the AND gate 20 in FIG.
When there is an instruction to write to the buffer register 9, the output 104 of the AND gate 2o becomes an inhibit signal, and writing to the register file 9 is inhibited. The ADI register 2 and AD2 register 3 each point to the address where the second operand is stored, and the second multiplication is immediately started. Since the UNL flip-flop 5 is set, the central processing unit 50 receives the value of the buffer register 8 via the selector 11 and resets the flip-flop 15. Next, the third set of operands A3 and B3 are loaded into register BF1 and the second result is awaited.

発明の詳細 な説明したように、本発明によれば、中央処理装置への
演算結果のバッファレジスタを設けることによって、ベ
クトル演算装置は中央処理装置が演算結果を受取り終わ
るのを待つことなく、次の演算を開始できるため、ベク
トル演算装置で演算実行が停止する時間がなくなりより
高速にベクトル演算を実行できるという効果がある。
As described in detail, according to the present invention, by providing a buffer register for the calculation results to the central processing unit, the vector calculation unit can perform the next calculation without waiting for the central processing unit to finish receiving the calculation results. Since the vector calculation device can start the calculation, there is no time for the calculation execution to stop in the vector calculation device, and there is an effect that the vector calculation can be performed at a higher speed.

例えば、64ビツトの演算結果の転送には、32ビツト
のデータバスで2タロツクサイクルかかるが、1回の演
算で2クロツクサイクルであるがら、多数組のオペラン
ドを連続で実行するベクトル命令では、かなり性能向上
が期待できることになる。
For example, it takes two clock cycles to transfer a 64-bit operation result on a 32-bit data bus, but one operation takes two clock cycles, but a vector instruction that executes many sets of operands in succession takes two clock cycles. , a considerable performance improvement can be expected.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の実施例のブロック図、第2図は第1図
の1部具体例を示す回路図、第3図は従来のベクトル演
算装置のブロック図である。 主要部分の符号の説明 1・・・・・・レジスタファイル 6・・・・・・演算器 7・・・・・・制御部 8・・・・・・バッファレジスタ 9・・・・・・演算結果セレクト信号 フリップフロップ 10・・・・・・書込抑止信号生成回路11・・・・・
・セレクタ
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is a circuit diagram showing a specific example of a part of FIG. 1, and FIG. 3 is a block diagram of a conventional vector calculation device. Explanation of symbols of main parts 1...Register file 6...Arithmetic unit 7...Control unit 8...Buffer register 9...Arithmetic Result select signal flip-flop 10...Write inhibit signal generation circuit 11...
·selector

Claims (1)

【特許請求の範囲】[Claims] 中央処理装置の制御の下でこの中央処理装置とは独立し
て演算実行可能に構成され、独自のマイクロプログラム
とオペランドとを保持するレジスタファイルを有するベ
クトル演算装置であって、演算結果を一時格納するバッ
ファレジスタと、前記中央処理装置へ前記レジスタファ
イルの出力及び前記バッファレジスタの出力を択一的に
送出するセレクタ手段と、前記バッファレジスタに格納
されているデータを前記中央処理装置へ転送する以前に
次の演算結果を前記バッファレジスタへ書込むことを禁
止する手段とを含むことを特徴とするベクトル演算装置
A vector arithmetic unit that is configured to be able to perform arithmetic operations independently of the central processing unit under the control of the central processing unit, and has a register file that holds its own microprogram and operands, and temporarily stores the arithmetic results. a buffer register for transmitting the output of the register file and an output of the buffer register to the central processing unit; and a selector means for selectively sending the output of the register file and the output of the buffer register to the central processing unit; and means for inhibiting writing of the next operation result to the buffer register.
JP32759387A 1987-12-24 1987-12-24 Vector arithmetic unit Pending JPH01169574A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32759387A JPH01169574A (en) 1987-12-24 1987-12-24 Vector arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32759387A JPH01169574A (en) 1987-12-24 1987-12-24 Vector arithmetic unit

Publications (1)

Publication Number Publication Date
JPH01169574A true JPH01169574A (en) 1989-07-04

Family

ID=18200791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32759387A Pending JPH01169574A (en) 1987-12-24 1987-12-24 Vector arithmetic unit

Country Status (1)

Country Link
JP (1) JPH01169574A (en)

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 (en)
JPS6215891B2 (en)
JPH0581119A (en) General-purpose memory-access system using register indirect mode
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
JPH0418635A (en) Digital signal processor
JPH01169574A (en) Vector arithmetic unit
EP0700005B1 (en) Vector data bypass mechanism for vector computer
JPH0528431B2 (en)
JP3560482B2 (en) Command control device
JPH0444136A (en) Memory access controller
JP2929980B2 (en) Information processing device
JPH01161477A (en) Vector arithmetic processing unit
JP2819733B2 (en) Information processing device
JPH0452488B2 (en)
JP3124361B2 (en) Memory data loading device
JP2702137B2 (en) Vector operation instruction processing method
JPH06139071A (en) Parallel computer
JPS61133440A (en) Data processing unit
JP3517139B2 (en) Information processing equipment
JP3068406B2 (en) Vector arithmetic unit
JP3084953B2 (en) Information processing device
JPS60247742A (en) Pipeline arithmetic controller
JPH0228724A (en) System for controlling branching instruction
JPH05204642A (en) Instruction execution control system