JPS622363A - Arithmetic unit - Google Patents

Arithmetic unit

Info

Publication number
JPS622363A
JPS622363A JP14095985A JP14095985A JPS622363A JP S622363 A JPS622363 A JP S622363A JP 14095985 A JP14095985 A JP 14095985A JP 14095985 A JP14095985 A JP 14095985A JP S622363 A JPS622363 A JP S622363A
Authority
JP
Japan
Prior art keywords
vector
scalar
unit
arithmetic unit
arithmetic
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
JP14095985A
Other languages
Japanese (ja)
Inventor
Shingo Oota
真吾 太田
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 JP14095985A priority Critical patent/JPS622363A/en
Publication of JPS622363A publication Critical patent/JPS622363A/en
Pending 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

Abstract

PURPOSE:To execute quickly an operation to data which has been stored in a vector register, by using an operator which has been provided in a scalar arithmetic unit, by providing a selecting means on scalar and vector operating parts, respectively. CONSTITUTION:Selecting means 110, 210, 310 and 410 which have been provided in a vector operating part 100 select an input of vector registers 130, 230, 330 and 430. Also, selecting means 550, 560 which have been provided in a scalar operating part 500 select an input of a scalar arithmetic unit 570. That is to say, thes means 550 and 560 select an input of the unit 570 from in outputs of scalar registers 530, 540 or outputs of vector registers 130, 140, 230, 240, 330, 340, 430 and 440. In this way, a result of operation of the unit 570 can be inputted directly to the vector register 130, etc. through the means 110 by the means, and a data which has been stored in the vector register can be calculated quickly by using an operator in the unit 570.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は演算装置に関し、特にベクトル演算部とスカラ
ー演算部とを持つ演算装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an arithmetic device, and particularly to an arithmetic device having a vector arithmetic section and a scalar arithmetic section.

〔従来の技術〕[Conventional technology]

従来、この種の演算装置は、第5図に示すように複数の
ベクトルパイプPL、P2を持つベクトル演算部100
.スカラー演算部500.メインメモリー600、ベク
トル演算部100とスカラー演算部500とメインメモ
リー600とを制御する制御部700から構成され、各
ベクトルパイプPL、P2は、複数個の要素データを格
納する第1オペランド用のベクトルレジスタ130.2
30と、第2オペランド用のベクトルレジスタ140,
240と、メインメモリー600の出力またはベクトル
演算器150,250の出力のうちから第1オペランド
用のベクトルレジスタ130゜230の入力を選択する
選択手段110,210及び第2オペランド用のベクト
ルレジスタ140.240の入力を選択する選択手段1
20,220と、ベクトルレジスタ130.140,2
30,240の出力データに対し演算を行なうベクトル
演算ユニット150,250とから構成される。
Conventionally, this type of arithmetic device has a vector arithmetic unit 100 having a plurality of vector pipes PL and P2, as shown in FIG.
.. Scalar operation unit 500. It is composed of a main memory 600, a vector calculation unit 100, a scalar calculation unit 500, and a control unit 700 that controls the main memory 600, and each vector pipe PL, P2 is a vector for the first operand that stores a plurality of element data. Register 130.2
30 and a vector register 140 for the second operand.
240, selection means 110, 210 for selecting the input of the vector register 130 for the first operand from the output of the main memory 600 or the output of the vector arithmetic unit 150, 250, and the vector register 140 for the second operand. Selection means 1 for selecting 240 inputs
20, 220 and vector registers 130, 140, 2
30, 240, and vector calculation units 150, 250 that perform calculations on the output data of 30, 240.

また、スカラー演算部500は、第1オペランド用のス
カラーレジスタ530と、第2オペランド用のスカラー
レジスタ540と、メインメモリー600の出力または
スカラー演算器570の出力のうちから第1オペランド
用のスカラーレジスタ530の入力を選択する選択手段
510および第2オペランド用のスカラーレジスタ54
0の人力を選択する選択手段520と、スカラーレジス
タ530.540の出力データに対し演算を行なうスカ
ラー演算ユニット570とから構成されていた。
The scalar operation unit 500 also includes a scalar register 530 for the first operand, a scalar register 540 for the second operand, and a scalar register for the first operand from among the output of the main memory 600 or the output of the scalar operation unit 570. Selection means 510 for selecting the input of 530 and a scalar register 54 for the second operand
It consisted of a selection means 520 for selecting manual input of 0, and a scalar calculation unit 570 for performing calculations on the output data of the scalar registers 530 and 540.

そして、ベクトル演算を行なう場合は、予め選択手段1
10.120,210,220によって選択されたベク
トル演算データをベクトルレジスタ130.140.2
30゜240−に格納しておき、制御部700の制御信
号によってベクトルレジスタ130.140,230.
240から順次読出したデータをベクトル演算ユニット
15Q、25Qで順次演算し、選択手段110,210
を通ってベクトルレジスタ130,230に格納するか
又は選択手段120゜220を通ってベクトルレジスタ
140.240に格納するという動作を各パイプPI、
P2同時に行ない、スカラー演算を行なう場合は、予め
選択手段510゜520によって選択されたデータをス
カラーレジスタ530.540に格納しておき、制御部
700の制御信号によってスカラーレジスタ530,5
40から読出したデータをスカラー演算ユニット570
で演算し、選択手段510を通ってスカラーレジスタ5
30に格納するか又は選択手段520を通ってスカラー
レジスタ540に格納するという動作が行なわれていた
When performing vector calculation, the selection means 1
10. Vector operation data selected by 120, 210, 220 is transferred to vector register 130.140.2.
30° 240-, and are stored in vector registers 130, 140, 230 .
The data sequentially read out from 240 is sequentially calculated by the vector calculation units 15Q and 25Q, and the selection means 110 and 210
Each pipe PI,
When P2 is performed simultaneously and a scalar operation is performed, the data selected by the selection means 510 and 520 is stored in the scalar registers 530 and 540 in advance, and the scalar registers 530 and 5 are
The data read from the scalar operation unit 570
and passes through the selection means 510 to the scalar register 5.
30 or passed through selection means 520 and stored in scalar register 540.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

ところで、ベクトルレジスタに格納されたデータに対し
て実行したい演算の種類には各種のものがあり、その中
には例えば割算の如くハードウェア構成が非常に複雑な
演算器を必要とするものもある。然るに、上述した従来
の演算装置は、ベクトル演算部100とスカラー演算部
500が独立した構成になっていたので、ベクトルレジ
スタに格納されたデータに対し例えば割算を実行する場
合には、各ベクトルパイプ内の演算ユニット150.2
50にそのような割算器を設けておく必要があり、ハー
ドウェア量が著しく増大するという問題点があった。
By the way, there are various types of operations that can be performed on data stored in vector registers, and some of them, such as division, require arithmetic units with extremely complex hardware configurations. be. However, in the conventional arithmetic device described above, the vector arithmetic unit 100 and the scalar arithmetic unit 500 are configured independently, so when performing division on data stored in a vector register, for example, each vector Arithmetic unit 150.2 in the pipe
50 must be provided with such a divider, which poses a problem in that the amount of hardware increases significantly.

そこで、第5図の構成において、ハードウェア量の嵩む
演算器はスカラー演算ユニット570内にのみ設け、ベ
クトルレジスタに格納されたデータに対しその種の演算
を行ないたい場合、一度ベクトルレジスタからデータを
読出してスカラーレジスタに格納し、スカラー演算によ
って実行することも考えられるが、レジスタ間のデータ
転送に余分な時間がかかり、またベクトル演算命令によ
る実行も困難となって処理速度が低下する為、実用的と
は言えない。
Therefore, in the configuration shown in FIG. 5, the arithmetic unit that requires a large amount of hardware is provided only in the scalar arithmetic unit 570, and when it is desired to perform that kind of arithmetic operation on data stored in the vector register, the data is once stored in the vector register. It is conceivable to read the data, store it in a scalar register, and execute it using scalar operations, but it takes extra time to transfer data between registers, and it also becomes difficult to execute using vector operation instructions, which slows down the processing speed, so this is not practical. I can't say it's on point.

本発明はこのような従来の問題点を解決したもので、そ
の目的は、スカラー演算ユニット内に設けられた演算器
を使用してベクトルレジスタに格納されたデータに対す
る演算を速やかに実行し得るようにし、もって各ベクト
ルパイプ内にハードウェア量の嵩むような演算器を設け
ずに済む実用的な演算装置を提供することにある。
The present invention solves these conventional problems, and its purpose is to quickly perform operations on data stored in vector registers using an arithmetic unit provided in a scalar arithmetic unit. The object of the present invention is to provide a practical arithmetic device which eliminates the need to provide an arithmetic unit with a large amount of hardware in each vector pipe.

〔問題点を解決するための手段〕[Means for solving problems]

本発明の演算装置は上記問題点を解決するために、 複数のベクトルパイプを備えるベクトル演算部とスカラ
ー演算部と両者の演算部を制御する制御部とを含み、前
記ベクトル演算部における各ベクトルパイプは複数個の
要素データを格納する第1および第2オペランド用のベ
クトルレジスタと該ベクトルレジスタから出力された要
素データに対し演算を行なう演算ユニットとを含み、前
記スカラー演算部は第1および第2スカラーレジスタと
演算ユニットと該演算ユニットの出力から前記第1およ
び第2スカラーレジスタの入力を選択する選択手段とを
含む演算装置において、 前記ベクトル演算部の各ベクトルパイプに、自ベクトル
パイプ内の演算ユニットの出力または前記スカラー演算
部内の演算ユニットの出力のうちから自ベクトルパイプ
内の前記第1および第2オペランド用ベクトルレジスタ
へ入力するデータを選択する選択手段を設け、且つ、 前記スカラー演算部に、前記第1および第2スカラーレ
ジスタの出力または前記複数ベクトルパイプ内の第1お
よび第2オペランド用ベクトルレジスタの出力のうちか
ら前記スカラー演算部内の演算ユニットへ入力するデー
タを選択する選択手段を設ける。
In order to solve the above problems, an arithmetic device of the present invention includes a vector arithmetic section and a scalar arithmetic section each having a plurality of vector pipes, and a control section that controls both arithmetic sections, and each vector pipe in the vector arithmetic section has a plurality of vector pipes. includes a vector register for first and second operands that stores a plurality of element data, and an arithmetic unit that performs an operation on the element data output from the vector register, and the scalar operation unit includes In an arithmetic device including a scalar register, an arithmetic unit, and selection means for selecting inputs of the first and second scalar registers from outputs of the arithmetic unit, each vector pipe of the vector arithmetic unit is provided with an arithmetic operation in the own vector pipe. a selection means for selecting data to be input to the first and second operand vector registers in the own vector pipe from the output of the unit or the output of the arithmetic unit in the scalar arithmetic unit, and in the scalar arithmetic unit; , a selection means is provided for selecting data to be input to the arithmetic unit in the scalar arithmetic section from among the outputs of the first and second scalar registers or the outputs of the first and second operand vector registers in the plurality of vector pipes. .

〔作用〕[Effect]

スカラー演算ユニット内に設けられた演算器を使用して
ベクトルレジスタに格納されたデータに対し演算を行な
う場合、ベクトル演算部のベクトルレジスタに格納され
た要素データが、スカラー演算部に設けられた選択手段
で順次選択されてスカラー演算ユニットの演算器に直接
入力され、得られた演算結果はベクトル演算部に設けら
れた選択手段で選択されてベクトルレジスタに直接格納
される。
When performing an operation on the data stored in the vector register using the arithmetic unit provided in the scalar operation unit, the element data stored in the vector register of the vector operation unit is The results are sequentially selected by the means and directly inputted to the arithmetic unit of the scalar arithmetic unit, and the obtained arithmetic results are selected by the selection means provided in the vector arithmetic unit and directly stored in the vector register.

(実施例〕 第1図は本発明の実施例のブロック図であり、4個のベ
クトルパイプP1〜P4を備えたベクトル演算部100
.1個のスカラー演算部500.メインメモリー600
及び制御部800と含む。
(Embodiment) FIG. 1 is a block diagram of an embodiment of the present invention, in which a vector calculation unit 100 includes four vector pipes P1 to P4.
.. One scalar operation unit 500. main memory 600
and a control unit 800.

ベクトル演算部100のベクトルパイプP1〜P4の各
々は、第1オペランド用のベクトルレジスタ130,2
30,330,430と、第2オペランド用のへクトル
レジスタ140,240,340,440と、メインメ
モリー600の出力、ベクトル演算ユニッ) 150,
250,350゜450の出力またはスカラー演算ユニ
ット570ノ出力のうちから第1オペランド用のベクト
ルレジスタ130.230.330.430の入力を選
択する選択手段110゜210.310,410および
第2オペランド用のベクトルレジスタ140.240.
340.440の入力を選択する選択手段120,22
0,320,420と、ベクトルレジスタ130゜14
0、230.240.330.340.440.430
の出力データに対し演算を行なうベクトル演算ユニ7)
 150,250,350゜450とから構成される。
Each of the vector pipes P1 to P4 of the vector calculation unit 100 has a vector register 130, 2 for the first operand.
30, 330, 430, vector registers 140, 240, 340, 440 for second operand, output of main memory 600, vector operation unit) 150,
Selection means 110° 210.310, 410 for selecting the input of the vector register 130.230.330.430 for the first operand from among the outputs of 250, 350° 450 or the outputs of the scalar arithmetic unit 570; vector register 140.240.
Selection means 120, 22 for selecting inputs of 340 and 440
0,320,420 and vector register 130°14
0, 230.240.330.340.440.430
A vector calculation unit 7) that performs calculations on the output data of
It consists of 150, 250, 350°450.

このベクトル演算ユニット150,250,350.4
50には各々複数種の演算器が設けられるが、本実施例
ではハードウェア量の嵩む演算器は含まれていない。
This vector operation unit 150, 250, 350.4
50 is provided with a plurality of types of arithmetic units, but in this embodiment, arithmetic units that require a large amount of hardware are not included.

また、スカラー演算部500は、第1オペランド用のス
カラーレジスタ530と、第2オペランド用のスカラー
レジスタ540と、メインメモリー600の出力または
スカラー演算ユニット570の出カッうちから第1オペ
ランド用のスカラーレジスタ530の入力を選択する選
択手段510及び第2オペランド用のスカラーレジスタ
540の入力を選択する選択手段520と、スカラーレ
ジスタ530の出力またはベクトルレジスタ130.2
30.330.430の出力のうちからスカラー演算ユ
ニット570の入力を選択する選択手段550と、スカ
ラーレジスタ540の出力またはベクトルレジスタ14
0,240,340,440の出力のうちからスカラー
演算ユニット570の入力を選択する選択手段560と
、選択手段550,560で選択されたデータを演算す
るスカラー演算ユニット570とから構成される。この
スカラー演算ユニット570には複数種の演算器が設け
られるが、本実施例においては、ベクトルレジスタの出
力データに対しても演算を行なう演算器はパイプライン
方式の演算器が採用されている。
The scalar operation unit 500 also includes a scalar register 530 for the first operand, a scalar register 540 for the second operand, and a scalar register for the first operand from the output of the main memory 600 or the output of the scalar operation unit 570. Selection means 510 for selecting the input of 530 and selection means 520 for selecting the input of scalar register 540 for the second operand and the output of scalar register 530 or vector register 130.2.
selection means 550 for selecting the input of the scalar arithmetic unit 570 from among the outputs of 30.330.430; and the output of the scalar register 540 or the vector register 14;
It is composed of a selection means 560 that selects the input of the scalar operation unit 570 from among the outputs of 0, 240, 340, and 440, and a scalar operation unit 570 that operates on the data selected by the selection means 550 and 560. This scalar arithmetic unit 570 is provided with a plurality of types of arithmetic units, but in this embodiment, a pipeline type arithmetic unit is used as the arithmetic unit that also performs operations on the output data of the vector register.

制御部800は、ベクトル演算部100とスカラー演算
部500とメインメモリー600を制御するための各種
の信号を発生するもので、第5図の制御部700に、ス
カラー演算ユニット500の演算器を使用してベクトル
演算を行なわせる為の制御機能を付加したものである。
The control unit 800 generates various signals for controlling the vector calculation unit 100, the scalar calculation unit 500, and the main memory 600.The control unit 700 in FIG. 5 uses the calculation unit of the scalar calculation unit 500. A control function for performing vector calculations is added.

本実施例は上述したように、ベクトルレジスタ130、
140,230,240,330,340,430,4
40の出力を選択手段550,560により直接にスカ
ラー演算ユニット570に入力でき、また、スカラー演
算ユニット570の演算結果を選択手段110,120
,210,220,310,320゜410.420に
より直接にベクトルレジスタ130,140゜230.
240,330,340,430.440に入力できる
ように構成した為、ベクトル演算命令により、ベクトル
レジスタに格納されたデータに対しスカラー演算ユニッ
ト570の演算器で演算を行なわせ、その演算結果を元
のベクトルレジスタに格納するといった演算が可能とな
る。
As described above, in this embodiment, the vector register 130,
140,230,240,330,340,430,4
40 can be directly input to the scalar calculation unit 570 by the selection means 550, 560, and the calculation results of the scalar calculation unit 570 can be input to the selection means 110, 120.
, 210, 220, 310, 320° 410.420 directly by vector registers 130, 140° 230.
240, 330, 340, 430, and 440, the vector operation instruction causes the arithmetic unit of the scalar operation unit 570 to perform an operation on the data stored in the vector register, and the result of the operation is used as the source. It becomes possible to perform operations such as storing data in a vector register.

第2図および第3図は、スカラー演算器570に設けら
れた演算器を使用してベクトルレジスタに格納されたデ
ータに対しベクトル演算を行なわせた際のタイムチャー
トであり、以下各図を参照して本実施例の演算装置の使
用例を説明する。なお、ここで例にあげるベクトル演算
は要素数が8で、演算結果を第1オペランド用のベクト
ルレジスタに書き込むものとする。また、ベクトルレジ
スタ130、140に要素0と4の第1オペランド(1
0) 。
2 and 3 are time charts when vector operations are performed on data stored in the vector register using the arithmetic unit provided in the scalar arithmetic unit 570. Please refer to each figure below. An example of how the arithmetic unit of this embodiment is used will now be described. It is assumed here that the vector operation taken as an example has eight elements, and the operation result is written into the vector register for the first operand. Also, the first operands (1
0).

(14)と第2オペランド(20)、  (24)が格
納され、同様にベクトルレジスタ230,240に要素
lと5の第1オペランド(11) 、  (15)と第
2オペランド(21)、(25)、ベクトルレジスタ3
30.340に要素2と6の第1オペランド(12)、
  (16)と第2オペランド(22)。
(14) and the second operands (20) and (24) are stored, and similarly the first operands (11) and (15) of elements l and 5 and the second operands (21) and ( 25), vector register 3
30.340 has the first operand (12) of elements 2 and 6,
(16) and the second operand (22).

(26)、ベクトルレジスタ430.440に要素3と
7の第1オペランド(13)、  (17)と第2オペ
ランド(23)、  (27)が格納されているとする
(26), the first operands (13), (17) and the second operands (23), (27) of elements 3 and 7 are stored in vector registers 430 and 440.

ベクトル演算命令が来ると、制御部800は、ベクトル
レジスタ130.140から要素0を取り出し、選択手
段550.560によってこの要素0のデータを選択さ
せ、スカラー演算ユニット570によって演算させる。
When a vector operation instruction arrives, the control unit 800 takes out element 0 from the vector registers 130 and 140, causes the selection means 550 and 560 to select the data of this element 0, and causes the scalar operation unit 570 to perform an operation.

なお、使用する演算器は制御部800から別途与えられ
る信号で指定される。次に制御部800は、この要素O
の結果を選択手段110によって選択させ、ベクトルレ
ジスタ130に格納させる。
Note that the arithmetic unit to be used is designated by a signal separately given from the control unit 800. Next, the control unit 800 controls this element O.
The selection means 110 selects the result and stores it in the vector register 130.

スカラー演算ユニット570で使用する演算器がパイプ
ライン構成になっているとすると、制御部800は、選
択手段550,560によって要素0のデータを選択さ
せた次のタイミングでベクトルレジスタ230.240
から要素1のデータを取り出して選択手段550,56
0に選択させ、次のタイミングでベクトルレジスタ33
0,340から要素2のデータを取り出して選択手段5
50,560に選択させ、次のタイミングでベクトルレ
ジスタ430.440から要素3のデータを取り出して
選択手段550.560に選択させ、次のタイミングで
ベクトルレジスタ130.140から要素4のデータを
取り出して選択手段550,560で選択させ、以下順
次要素7までデータの取り出しと選択を制御する。
Assuming that the arithmetic units used in the scalar arithmetic unit 570 have a pipeline configuration, the control unit 800 selects the vector registers 230 and 240 at the next timing after the selection means 550 and 560 select the data of element 0.
The data of element 1 is extracted from the selection means 550, 56.
0, and the vector register 33 is selected at the next timing.
The data of element 2 is extracted from 0,340 and the selection means 5
50,560, and at the next timing, the data of element 3 is taken out from the vector register 430.440 and selected by the selection means 550.560, and at the next timing, the data of element 4 is taken out from the vector register 130.140. The selection means 550 and 560 are used to select, and the extraction and selection of data up to element 7 is sequentially controlled.

選択手段550,560によって選択されたデータは、
スカラー演算ユニット570内の演算器によってパイプ
ライン処理されて次々に出力されるので、制御部800
は、要素Oと4の演算結果は選択手段110を通してベ
クトルレジスタ130に、要素1と5の演算結果は選択
手段210を通してベクトルレジスタ230に、要素2
と6の演算結果は選択手段310を通してベクトルレジ
スタ330に、要素3と7の演算結果は選択手段410
を通してベクトルレジスタ430にそれぞれ格納させる
The data selected by the selection means 550, 560 are
The controller 800 performs pipeline processing and outputs one after another by the arithmetic units in the scalar arithmetic unit 570.
The calculation results of elements O and 4 are stored in the vector register 130 through the selection means 110, the calculation results of elements 1 and 5 are stored in the vector register 230 through the selection means 210, and the calculation results of elements 2 and 4 are stored in the vector register 230 through the selection means 210.
The calculation results of elements 3 and 6 are sent to the vector register 330 through the selection means 310, and the calculation results of elements 3 and 7 are sent to the selection means 410.
They are respectively stored in the vector register 430 through them.

尚、命令の与え方によって演算結果を第2オペランド用
ベクトルレジスタ140,240,340,440に格
納することもできることは勿論のことである。
It goes without saying that the calculation results can also be stored in the second operand vector registers 140, 240, 340, and 440 depending on how the instructions are given.

この演算装置では、ベクトル演算器150,250,3
50゜450にある演算器を用いたベクトル演算につい
ては従来と同様に行なえ、またスカラー演算のときはス
カラーレジスタ530,540の出力データを選択手段
550,560で選択してスカラー演算器570で演算
し、演算結果を選択手段510を通してスカラーレジス
タ530に格納するか又は選択手段520を通してスカ
ラーレジスタ540に格納するという動作が制御部80
0で制御される。
In this arithmetic device, vector arithmetic units 150, 250, 3
Vector calculations using the arithmetic unit located at 50° 450 can be performed in the same manner as before, and in the case of scalar calculations, the output data of the scalar registers 530 and 540 is selected by the selection means 550 and 560, and the scalar calculation unit 570 performs the calculation. The control unit 80 stores the operation result in the scalar register 530 through the selection means 510 or in the scalar register 540 through the selection means 520.
Controlled by 0.

第4図は制御部800の実施例の要部ブロック図であり
、命令制御部801と、ベクトル演算制御部802と、
スカラー演算制御部803とを含む。
FIG. 4 is a block diagram of main parts of an embodiment of the control unit 800, which includes an instruction control unit 801, a vector calculation control unit 802,
A scalar calculation control unit 803 is included.

同図において、命令制御部801は、与えられた演算命
令を解読し、それが第1図のベクトル演算部100のみ
を用いるベクトル演算命令或いはスカラー演算部500
を用いるベクトル演算命令のときは必要な情報と共に制
御を解読部811に与え、スカラー演算部500のみを
用いるスカラー演算命令のときは必要な情報と共に制御
をスカラー演算制御部803に渡す。スカラー演算制御
部803の制御は従来と同様であり、第1図の選択手段
510,520゜550 、560の選択制御信号、ス
カラーレジスタ530゜540の書き込み、読出し制御
信号、スカラー演算ユニット570で使用する演算器の
指定および演算の開始、終了信号をそれぞれセレクタ8
04を介してスカラー演算部500に送出する。
In the figure, an instruction control unit 801 decodes a given arithmetic instruction and determines whether it is a vector arithmetic instruction using only the vector arithmetic unit 100 in FIG.
In the case of a vector calculation instruction using the scalar calculation unit 500, control is given to the decoding unit 811 along with necessary information, and in the case of a scalar calculation instruction using only the scalar calculation unit 500, control is passed to the scalar calculation control unit 803 along with the necessary information. The control of the scalar calculation control unit 803 is the same as the conventional one, and the selection control signals of the selection means 510, 520, 550, and 560 in FIG. Selector 8 specifies the arithmetic unit to be used and the start and end signals of the calculation.
04 to the scalar calculation unit 500.

解読部811は、受信した情報がベクトル演算部100
のみを用いるベクトル演算命令であるときは、ベクトル
長をベクトル長レジスタ811にセントした後、演算器
制御部806とタイミング制御部807を起動し、セレ
クタ810をタイミング制御部807側に切り換える。
The decoding unit 811 converts the received information into the vector calculation unit 100.
If it is a vector operation instruction that uses only the vector length, the vector length is stored in the vector length register 811, the arithmetic unit control section 806 and the timing control section 807 are activated, and the selector 810 is switched to the timing control section 807 side.

これにより、演算制御部806はベクトル演算部100
の各演算器の開始、終了制御を開始し、タイミング制御
部807はベクトル演算部100内の選択手段、ベクト
ルレジスタ等の制御を開始し、ベクトル演算部100の
みを用いる従来と同様な制御が実行される。
As a result, the calculation control unit 806 controls the vector calculation unit 100.
The timing control unit 807 starts controlling the selection means, vector register, etc. in the vector calculation unit 100, and performs the same control as in the past using only the vector calculation unit 100. be done.

一方、解読部811は、受信した情報が前述したスカラ
ー演算部500の演算器を使用したベクトル演算命令で
あるときは、ベクトル長をベクトル長レジスタ805に
セントした後、演算器制御部809とタイミング制御部
808を起動し、セレクタ810をタイミング制御部8
08側に切り換える。これにより、演算制御部809か
らスカラー演算制御部803に対しベクトル演算が使用
している演算器を使用しないよう通知が発せられると共
に、セレクタ804がベクトル演算制御部802側に切
換えられ、演算制御部809からセレクタ804を介し
てスカラー演算部500の演算ユニッ) 570で使用
する演算器の指定および演算の開始、終了制御信号等が
送出され、また、タイミング制御部808からセレクタ
810を介してベクトル演算部100にベクトルレジス
タの書込み、読出し制御信号1選択手段の選択信号等が
送出されると共にセレクタ804を介してスカラー演算
部500の選択手段の選択信号が送出される。
On the other hand, when the received information is a vector operation instruction using the arithmetic unit of the scalar arithmetic unit 500, the decoding unit 811 stores the vector length in the vector length register 805, and then sends the timing information to the arithmetic unit control unit 809. Activate the control section 808 and set the selector 810 to the timing control section 8.
Switch to 08 side. As a result, the calculation control unit 809 issues a notification to the scalar calculation control unit 803 not to use the calculation unit used for vector calculation, and the selector 804 is switched to the vector calculation control unit 802 side, and the calculation control unit From 809 via selector 804, designation of the arithmetic unit used in arithmetic unit 570, and control signals for starting and ending arithmetic operations are sent out via selector 804, and vector operation is sent from timing control unit 808 via selector 810. A selection signal for the vector register write/read control signal 1 selection means is sent to the section 100, and a selection signal for the selection means of the scalar operation section 500 is sent via the selector 804.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、スカラー演算部
のスカラーレジスタの出力またはベクトルレジスタの出
力のうちからスカラー演算部の演算ユニットの入力を選
択する選択手段と、ベクトル演算ユニットの出力または
スカラー演算ユニットの出力のうちからベクトルレジス
タの入力を選択する選択手段とを設け、ベクトルレジス
タの出力を直接にスカラー演算ユニットに入力でき、ま
たスカラー演算ユニットの出力をベクトルレジスタに直
接入力できるように構成したため、スカラー演算ユニッ
トに設けられた演算器を使用してベクトルレジスタに格
納されたデータに対し演算を行なわせ、その結果をベク
トルレジスタに戻すといった演算を速やかに行なわせる
ことが可能となる効果がある。従って、ベクトル演算部
の各ベクトルパイプ内にハードウェア量の嵩む演算器を
個別に設けずにスカラー演算ユニットに設けておくよう
な構成にしても演算速度としては充分に実用的なものが
得られ、ハードウェア量の少ない演算装置が実現できる
利点がある。特に、実施例に示すようにスカラー演算ユ
ニットの演算器のうちベクトルレジスタの演算に使用す
る演算器を少なくともパイプライン方式の演算器構成と
すれば、より充分な性能を上げることができる。
As explained above, according to the present invention, the selection means selects the input of the arithmetic unit of the scalar arithmetic unit from the output of the scalar register or the output of the vector register of the scalar arithmetic unit, and the output of the vector arithmetic unit or the scalar and a selection means for selecting the input of the vector register from among the outputs of the arithmetic unit, so that the output of the vector register can be input directly to the scalar arithmetic unit, and the output of the scalar arithmetic unit can be input directly to the vector register. Therefore, the effect is that it is possible to quickly perform operations such as using the arithmetic unit provided in the scalar operation unit to perform operations on data stored in the vector register and returning the result to the vector register. be. Therefore, even if the configuration is such that the scalar arithmetic unit is provided in each vector pipe of the vector arithmetic section, instead of having an individual arithmetic unit that requires a large amount of hardware, a sufficiently practical arithmetic speed can be obtained. , there is an advantage that an arithmetic device with a small amount of hardware can be realized. In particular, as shown in the embodiment, if at least the arithmetic unit used for vector register operations among the arithmetic units of the scalar arithmetic unit has a pipelined arithmetic unit configuration, more sufficient performance can be achieved.

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

第1図は本発明の実施例のブロック図、第2図および第
3図は第1図に示した演算装置の動作の一例を説明する
ために用いるタイムチャート、 第4図は制御部800の実施例のブロック図および、 第5図は従来の演算装置のプロ、り図である。 図において、100はベクトル演算部、110.120
゜210.220,310,320,410,420,
510,520,550,560は選択手段、130.
140.230.240.330.340.430.4
40はベクトルレジスタ、150,250,550,5
60はベクトル演算ユニット、500はスカラー演算部
、530,540はスカラーレジスタ、570はスカラ
ー演算ユニット、600はメインメモリー、700,8
00は制御部である。 130の出力    1o14 1J40の出力    n 第1図の動作説明図 第2図 570の出力    01  234567第1図の動
作説明図 第3図 手続補正書(自発) 61.9.10
FIG. 1 is a block diagram of an embodiment of the present invention, FIGS. 2 and 3 are time charts used to explain an example of the operation of the arithmetic unit shown in FIG. The block diagram of the embodiment and FIG. 5 are diagrams of a conventional arithmetic unit. In the figure, 100 is a vector calculation unit, 110.120
゜210.220,310,320,410,420,
510, 520, 550, 560 are selection means; 130.
140.230.240.330.340.430.4
40 is a vector register, 150, 250, 550, 5
60 is a vector operation unit, 500 is a scalar operation unit, 530, 540 are scalar registers, 570 is a scalar operation unit, 600 is a main memory, 700, 8
00 is a control unit. Output of 130 1o14 Output of 1J40 n Figure 1 Operation explanatory diagram Figure 2 Output of 570 01 234567 Operation explanatory diagram Figure 1 Procedure amendment document (voluntary) 61.9.10

Claims (1)

【特許請求の範囲】 複数のベクトルパイプを備えるベクトル演算部とスカラ
ー演算部と両者の演算部を制御する制御部とを含み、前
記ベクトル演算部における各ベクトルパイプは複数個の
要素データを格納する第1および第2オペランド用のベ
クトルレジスタと該ベクトルレジスタから出力された要
素データに対し演算を行なう演算ユニットとを含み、前
記スカラー演算部は第1および第2スカラーレジスタと
演算ユニットと該演算ユニットの出力から前記第1およ
び第2スカラーレジスタの入力を選択する選択手段とを
含む演算装置において、 前記ベクトル演算部の各ベクトルパイプに、自ベクトル
パイプ内の演算ユニットの出力または前記スカラー演算
部内の演算ユニットの出力のうちから自ベクトルパイプ
内の前記第1および第2オペランド用ベクトルレジスタ
へ入力するデータを選択する選択手段を設け、且つ、 前記スカラー演算部に、前記第1および第2スカラーレ
ジスタの出力または前記複数ベクトルパイプ内の第1お
よび第2オペランド用ベクトルレジスタの出力のうちか
ら前記スカラー演算部内の演算ユニットへ入力するデー
タを選択する選択手段を設けたことを特徴とする演算装
置。
[Scope of Claims] The invention includes a vector calculation unit and a scalar calculation unit each having a plurality of vector pipes, and a control unit that controls both calculation units, and each vector pipe in the vector calculation unit stores a plurality of element data. The scalar operation section includes a vector register for first and second operands and an arithmetic unit that performs an operation on element data output from the vector register, and the scalar operation section includes the first and second scalar registers, an arithmetic unit, and the arithmetic unit. an arithmetic device that selects inputs of the first and second scalar registers from outputs of the vector arithmetic unit, wherein each vector pipe of the vector arithmetic unit is provided with an output of an arithmetic unit in its own vector pipe or an input of the scalar arithmetic unit in the scalar arithmetic unit. a selection means for selecting data to be input to the first and second operand vector registers in the own vector pipe from among the outputs of the arithmetic unit; An arithmetic device comprising a selection means for selecting data to be input to an arithmetic unit in the scalar arithmetic unit from among the outputs of the vector registers for first and second operands in the plurality of vector pipes.
JP14095985A 1985-06-27 1985-06-27 Arithmetic unit Pending JPS622363A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14095985A JPS622363A (en) 1985-06-27 1985-06-27 Arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14095985A JPS622363A (en) 1985-06-27 1985-06-27 Arithmetic unit

Publications (1)

Publication Number Publication Date
JPS622363A true JPS622363A (en) 1987-01-08

Family

ID=15280793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14095985A Pending JPS622363A (en) 1985-06-27 1985-06-27 Arithmetic unit

Country Status (1)

Country Link
JP (1) JPS622363A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0398163A (en) * 1989-09-11 1991-04-23 Koufu Nippon Denki Kk Vector data processor
JP2008165279A (en) * 2006-12-27 2008-07-17 Nec Computertechno Ltd Vector arithmetic unit and its method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58181165A (en) * 1982-04-16 1983-10-22 Hitachi Ltd Vector operating processor
JPS59114677A (en) * 1982-12-22 1984-07-02 Hitachi Ltd Vector processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58181165A (en) * 1982-04-16 1983-10-22 Hitachi Ltd Vector operating processor
JPS59114677A (en) * 1982-12-22 1984-07-02 Hitachi Ltd Vector processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0398163A (en) * 1989-09-11 1991-04-23 Koufu Nippon Denki Kk Vector data processor
JP2008165279A (en) * 2006-12-27 2008-07-17 Nec Computertechno Ltd Vector arithmetic unit and its method

Similar Documents

Publication Publication Date Title
JPH02161524A (en) Branch system used for pipeline computer
JP3237858B2 (en) Arithmetic unit
JP3004108B2 (en) Information processing device
JPH06105460B2 (en) Multiprocessor processor switching device
JPH09237184A (en) Instruction executing method and its device
JPS622363A (en) Arithmetic unit
JPS6265133A (en) Instruction prefetching device
JPS58142464A (en) Microprocessor
JPS5969845A (en) Controlling system of data driving
JPH1091432A (en) Program execution method and device therefor
JP2741717B2 (en) Vector processing equipment
JPH0224721A (en) Program controller
JP2925842B2 (en) Pipeline processing equipment
JPS60250438A (en) Information processor
JP3088956B2 (en) Arithmetic unit
JPH0218732B2 (en)
JPH03222043A (en) Micro processor and its program development device
JP2982129B2 (en) Micro program controller
JP2761324B2 (en) High-speed processing method
JPH04276827A (en) Pipe line processor
JPH0619705A (en) Pipeline control system
JPH0634205B2 (en) Vector processing unit
JPH0683624A (en) Processor and its control method
JPH01271842A (en) Information processor
JPH02158847A (en) Microprocessor