JP2970512B2 - Vector processor - Google Patents
Vector processorInfo
- Publication number
- JP2970512B2 JP2970512B2 JP34250695A JP34250695A JP2970512B2 JP 2970512 B2 JP2970512 B2 JP 2970512B2 JP 34250695 A JP34250695 A JP 34250695A JP 34250695 A JP34250695 A JP 34250695A JP 2970512 B2 JP2970512 B2 JP 2970512B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- output
- register
- input
- mode
- 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
Links
Landscapes
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
【発明の属する技術分野】本発明は、ベクトルプロセッ
サに関し、特にコンピュータグラフィックス等で用いら
れる座標変換処理を実現するベクトルプロセッサに関す
る。[0001] 1. Field of the Invention [0002] The present invention relates to a vector processor, and more particularly to a vector processor that realizes coordinate conversion processing used in computer graphics and the like.
【0001】[0001]
【従来の技術】従来この種の技術では、三次元座標を投
射、投影するための次式のような座標変換処理をマイク
ロプロセッサを一つまたは複数個接続し、プロセッサ上
のソフトウェア制御により実現していた。2. Description of the Related Art Conventionally, in this type of technology, coordinate conversion processing for projecting and projecting three-dimensional coordinates as shown in the following equation is realized by connecting one or more microprocessors and controlling the software on the processor. I was
【0002】 [0002]
【0003】また、汎用DSP等をマイクロプロセッサ
に接続して上式のような三次元座標を投射、投影するた
めの座標変換処理を実現していた。さらには、たとえ
ば、特開平1−270174号公報のように、専用のA
SICにパイプライン構成演算器を設けて構成すること
が考えられている。この特開平1−270174号公報
では、座標変換処理を4つのステージに分け、各ステー
ジは最終ステージを除き入力側および出力側にレジスタ
を有し、各ステージの演算は入力側のレジスタが空の場
合に実行させる技術が記載されている。Further, a general-purpose DSP or the like is connected to a microprocessor to realize a coordinate conversion process for projecting and projecting three-dimensional coordinates as shown in the above equation. Further, for example, as disclosed in Japanese Patent Application Laid-Open No. 1-270174, a dedicated A
It is considered that the SIC is provided with a pipeline configuration arithmetic unit. In this Japanese Unexamined Patent Publication No. 1-270174, the coordinate transformation process is divided into four stages, each stage has registers on the input side and the output side except for the final stage, and the operation of each stage is performed when the input side registers are empty. A technique to be executed in the case is described.
【0004】[0004]
【発明が解決しようとする課題】上述の従来技術では、
汎用のプロセッサ等を用いており、座標変換処理をソフ
トウェアプログラムにより実現するため、高速に座標変
換処理を行えないという問題があった。In the above-mentioned prior art,
Since a general-purpose processor or the like is used and the coordinate conversion processing is realized by a software program, there is a problem that the coordinate conversion processing cannot be performed at high speed.
【0005】また、従来技術では、座標変換処理を4つ
のステージに分け、各ステージは最終ステージを除き入
力側および出力側にレジスタを有し、各ステージの演算
を入力側のレジスタが空の場合に実行させているため、
高速に座標変換処理を行えないという問題点があった。In the prior art, the coordinate transformation process is divided into four stages. Each stage has a register on the input side and the output side except for the final stage, and the operation of each stage is performed when the register on the input side is empty. To run
There was a problem that the coordinate conversion process could not be performed at high speed.
【0006】本発明の目的は、画像生成処理を高速に行
えるベクトルプロセッサを提供することにある。An object of the present invention is to provide a vector processor capable of performing image generation processing at high speed.
【0007】[0007]
【課題を解決するための手段】上記課題を解決するため
に本発明のベクトルプロセッサは、複数のパイプライン
演算機構を含み多重並列パイプラインによるベクトル処
理を行うベクトルプロセッサであって、前記パイプライ
ン演算機構は多重並列パイプラインによるベクトル処理
を行うための通常演算処理を実行するモードと座標変換
処理を実行するモードとを切り換え制御する制御手段を
含み、通常演算処理を実行するモードである場合には前
記複数のパイプライン演算機構の各々に同一のベクトル
データを振り分けて送出し、座標変換処理を実行するモ
ードである場合には前記複数のパイプライン演算機構の
各々に複数の異なるベクトルデータを送出するロードス
トアユニットをさらに含み、前記パイプライン演算機構
は複数の第一の入力ベクトルレジスタと、この第一の入
力ベクトルレジスタへ格納するデータを選択する複数の
選択手段とをさらに含み、前記制御手段は、通常演算処
理を実行するモードである場合には複数のパイプライン
演算機構の各々の同一位置の前記第一の入力ベクトルレ
ジスタに異なるベクトルデータを格納させるように、座
標変換処理を実行するモードである場合には複数のパイ
プライン演算機構の各々の同一位置の第一の入力ベクト
ルレジスタに同一のベクトルデータを格納させるように
前記選択手段に指示する。 In order to solve the above-mentioned problems, a vector processor according to the present invention is a vector processor including a plurality of pipeline operation mechanisms and performing vector processing by a multi-parallel pipeline. mechanism seen <br/> including control means for controlling switching of a mode for executing the mode coordinate conversion processing executes a normal operation process for performing vector processing by multiple parallel pipelines, it executes the normal processing mode Before if
The same vector for each of the multiple pipeline operations
A mode for sorting and sending data and executing coordinate conversion processing
In the case of a plurality of pipeline operation mechanisms,
Rhodes sending multiple different vector data to each
A pipeline operation mechanism, further comprising a tor unit;
Has a plurality of first input vector registers and the first input
Select the data to be stored in the force vector register.
Selection means, wherein the control means includes
Multiple pipelines in the execution mode
The first input vector register at the same position in each of the arithmetic mechanisms;
So that the registers store different vector data
If the mode is to execute the target conversion process,
A first input vector at each of the same positions of the ply operation mechanism
The same vector data in the register
Instruct the selection means.
【0008】また、本発明の他のベクトルプロセッサ
は、前記パイプライン演算機構は複数の第二の入力ベク
トルレジスタと、複数のスカラレジスタと、前記第二の
ベクトルレジスタからの出力と前記スカラレジスタから
の出力とを選択出力する第二の選択手段と、前記入力ベ
クトルレジスタからの出力と前記選択手段からの出力と
を乗算する複数の乗算器と、前記乗算器からの出力を加
算する加算器と、この加算器の出力を格納する出力ベク
トルレジスタとをさらに含み、前記制御手段は、通常演
算処理を実行するモードである場合には前記第二のベク
トルレジスタからの出力を、座標変換処理を実行するモ
ードである場合には前記スカラレジスタからの出力を選
択するように前記第二の選択手段に指示する。 In another vector processor according to the present invention, the pipeline operation mechanism includes a plurality of second input vectors.
A torque register, a plurality of scalar registers, and the second
From the output from the vector register and from the scalar register
Second selection means for selecting and outputting the output of the
Output from the vector register and the output from the selection means.
And a plurality of multipliers for multiplying
And an output vector for storing the output of the adder.
And a control register, wherein the control means includes
If the mode is to execute arithmetic processing, the second vector
Output from the motor register to the
If it is a mode, select the output from the scalar register.
The second selection means is instructed to make a selection.
【0009】また、本発明の他のベクトルプロセッサ
は、多重並列パイプラインによるベクトル処理を行うベ
クトルプロセッサであって、k個のパイプライン演算機
構を含み、前記パイプライン演算機構は、複数の第一の
入力ベクトルレジスタと、この第一の入力ベクトルレジ
スタへの入力を選択する第一の選択手段と、複数の第二
の入力ベクトルレジスタと、複数のスカラレジスタと、
前記第二のベクトルレジスタからの出力と前記スカラレ
ジスタからの出力とを選択出力する第二の選択手段と、
前記入力ベクトルレジスタからの出力と前記選択手段か
らの出力とを乗算する複数の乗算器と、前記乗算器から
の出力を加算する加算器と、この加算器の出力を格納す
る出力ベクトルレジスタと、命令をデコードした結果が
座標変換を示す場合には前記第一の入力ベクトルレジス
タに連続したベクトルを次々格納させ、前記スカラレジ
スタからの出力を選択出力させるよう前記選択手段に指
示し、通常演算を示す場合には第一のベクトルレジスタ
に(k−1)個とびにベクトル要素を格納させ、前記第
二のベクトルレジスタからの出力を選択出力させるよう
前記選択手段に指示する制御手段とを含む Another vector processor according to the present invention performs vector processing by a multi-parallel pipeline.
A vector processor, k pipeline arithmetic units
Wherein the pipeline operation mechanism comprises a plurality of first
An input vector register and the first input vector register
First selecting means for selecting an input to the
An input vector register, multiple scalar registers,
The output from the second vector register and the scalar
Second selection means for selectively outputting the output from the register,
The output from the input vector register and the selection means
A plurality of multipliers for multiplying the output of
Adder that adds the output of the adder, and stores the output of the adder.
Output vector register and the result of decoding the instruction
When indicating a coordinate transformation, the first input vector register
Data in the scalar register
The selection means so as to selectively output the output from the
And the first vector register when indicating normal operation
To store (k-1) discrete vector elements,
Select output from second vector register
Control means for instructing the selection means
【0010】[0010]
【0011】[0011]
【発明の実施の形態】次に本発明のベクトルプロセッサ
の一実施例について図面を参照して詳細に説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment of the vector processor according to the present invention will be described in detail with reference to the drawings.
【0012】本発明の一実施例であるベクトルプロセッ
サでは、次の3次元行列演算を実現する。次の式におい
て、X、Y、Z、x、yおよびzはそれぞれm個の要素
からなるベクトルX[k]、Y[k]、Z[k]、x
[k]、y[k]およびz[k](0≦k≦m)を意味
している。A vector processor according to one embodiment of the present invention implements the following three-dimensional matrix operation. In the following equation, X, Y, Z, x, y, and z are vectors X [k], Y [k], Z [k], x each including m elements.
[K], y [k] and z [k] (0 ≦ k ≦ m).
【0013】 [0013]
【0014】図2を参照すると、本発明の一実施例であ
るベクトルプロセッサは、パイプライン演算機構1、2
および3がバス6、7、8、9、10および11を介し
てロードストアユニット4に接続されて構成される。ロ
ードストアユニット4は主記憶装置5に接続されてい
る。Referring to FIG. 2 , a vector processor according to an embodiment of the present invention includes pipeline operation units 1 and 2.
And 3 are connected to the load / store unit 4 via buses 6, 7, 8, 9, 10, and 11, respectively. The load store unit 4 is connected to the main storage device 5.
【0015】パイプライン演算機構1、2および3は、
ベクトルのパイプライン演算を行うものであり、これら
の内部構成はすべて同一である。The pipeline operation mechanisms 1, 2, and 3
It performs vector pipeline operation, and all of these internal configurations are the same.
【0016】バス6、7および8は、パイプライン演算
機構1、2および3のすべての入力側に接続されてお
り、各パイプライン演算機構に入力データを供給する。
入力データは主記憶装置5に格納されており、ロードス
トアユニット4によりバス6、7および8を介してパイ
プライン演算機構1、2および3に供給される。バス
9、10および11は、パイプライン演算機構1、2お
よび3の出力側にそれぞれ接続されており、各パイプラ
イン演算機構の出力が送出される。出力データは、ロー
ドストアユニット4を介して、主記憶装置5に格納され
る。The buses 6, 7, and 8 are connected to all inputs of the pipeline arithmetic units 1, 2, and 3, and supply input data to each pipeline arithmetic unit.
Input data is stored in the main memory 5, pies via bus 6, 7 and 8 by load store unit 4
It is supplied to the pipeline operation mechanisms 1, 2, and 3. Bus 9, 10 and 11 are respectively connected to the output side of the pipeline operation mechanism 1, 2 and 3, each pipeline
The output of the in- operation mechanism is sent out. The output data is stored in the main storage device 5 via the load store unit 4.
【0017】図3を参照すると、本発明の一実施例のベ
クトル演算機構1は、入力ベクトルレジスタ1−1、1
−2および1−3と乗算器1−5、1−6および1−7
と多入力加算器1−8と出力ベクトルレジスタ1−4と
から構成される。バス6、7および8の各々が、セレク
タ1−12、1−13および1−14に接続される。セ
レクタ1−12は入力ベクトルレジスタ1−1に、セレ
クタ1−13は入力ベクトルレジスタ1−2に、セレク
タ1−14は入力ベクトルレジスタ1−3に接続され、
これらのレジスタへの入力を選択する。Referring to FIG. 3 , a vector operation mechanism 1 according to one embodiment of the present invention includes input vector registers 1-1, 1 and 2.
-2 and 1-3 and multipliers 1-5, 1-6 and 1-7
, A multi-input adder 1-8, and an output vector register 1-4. Each of buses 6, 7 and 8 is connected to selectors 1-12, 1-13 and 1-14. The selector 1-12 is connected to the input vector register 1-1, the selector 1-13 is connected to the input vector register 1-2, and the selector 1-14 is connected to the input vector register 1-3.
Select the inputs to these registers.
【0018】スカラレジスタ1−9はセレクタ1−15
に接続されている。このセレクタ1−15は、スカラレ
ジスタ1−9の内容と図示していないベクトルレジスタ
の内容とを選択する。乗算器1−5は、このセレクタ1
−15からの出力とベクトルレジスタ1−1からの出力
が入力され乗算されるように接続されている。スカラレ
ジスタ1−10はセレクタ1−16に接続されている。
このセレクタ1−16は、スカラレジスタ1−10の内
容と図示していないベクトルレジスタの内容とを選択す
る。乗算器1−6は、このセレクタ1−16からの出力
とベクトルレジスタ1−2からの出力が入力され乗算さ
れるように接続されている。スカラレジスタ1−11は
セレクタ1−17に接続されている。このセレクタ1−
17は、スカラレジスタ1−11の内容と図示していな
いベクトルレジスタの内容とを選択する。乗算器1−7
は、このセレクタ1−17からの出力とベクトルレジス
タ1−2からの出力が入力され乗算されるように接続さ
れている。乗算器1−5、1−6および1−7の出力は
多入力演算器1−8に接続され加算される。多入力加算
器1−8の出力は、出力ベクトルレジスタ1−4に格納
されるように接続されている。The scalar register 1-9 has a selector 1-15.
It is connected to the. The selector 1-15 selects the contents of the scalar register 1-9 and the contents of a vector register (not shown). The multiplier 1-5 includes the selector 1
The output from -15 and the output from vector register 1-1 are input and multiplied. The scalar register 1-10 is connected to the selector 1-16.
The selector 1-16 selects the contents of the scalar register 1-10 and the contents of a vector register (not shown). The multiplier 1-6 is connected so that the output from the selector 1-16 and the output from the vector register 1-2 are input and multiplied. The scalar register 1-11 is connected to the selector 1-17. This selector 1-
Reference numeral 17 selects the contents of the scalar register 1-11 and the contents of a vector register (not shown). Multiplier 1-7
Are connected so that the output from the selector 1-17 and the output from the vector register 1-2 are input and multiplied. The outputs of the multipliers 1-5, 1-6 and 1-7 are connected to a multi-input arithmetic unit 1-8 and added. The output of the multi-input adder 1-8 is connected so as to be stored in the output vector register 1-4.
【0019】パイプライン演算機構1は、制御回路1−
21を有し、この制御回路は従来通りの多重並列パイプ
ラインによるベクトル処理を実行する通常演算モードと
座標変換処理を実行する座標変換モードとを切り換える
制御を行う。この制御回路1−21からのモード切り換
え指示の信号は、セレクタ1−12、1−13、1−1
4、1−15、1−16、1−17、1−18、1−1
9および1−20に入力され、それぞれのモードに応じ
てこれらのセレクタが切り換えられる。The pipeline operation mechanism 1 includes a control circuit 1-
The control circuit 21 controls switching between a normal operation mode for executing vector processing by a conventional multiple parallel pipeline and a coordinate conversion mode for executing coordinate conversion processing. The mode switching instruction signal from the control circuit 1-21 is supplied to the selectors 1-12, 1-13, and 1-1.
4, 1-15, 1-16, 1-17, 1-18, 1-1
9 and 1-20, and these selectors are switched according to the respective modes.
【0020】次に本発明の一実施例のベクトルプロセッ
サの動作について図面を参照して詳細に説明する。Next, the operation of the vector processor according to one embodiment of the present invention will be described in detail with reference to the drawings.
【0021】図示していない命令制御回路が命令を解読
し、通常演算モードであるのか座標変換モードであるの
かを各パイプライン演算機構1、2および3の制御回路
1−21、2−21および3−21に通知する。各制御
回路1−21、2−21および3−21はこの通知を受
け取り、通常演算モードと座標変換モードとの切り換え
制御を行う。通常演算モードでは、パイプライン演算機
構1、2および3に単一のベクトルデータV[k](0
≦k≦3m)が振り分けられて送出され、各パイプライ
ン演算機構の入力ベクトルレジスタには、異なるベクト
ル要素が格納される。座標変換モードでは、パイプライ
ン演算機構1、2および3に同一のベクトルデータx
[k]、y[k]およびz[k](0≦k≦m)のそれ
ぞれが送出され、各パイプライン演算機構の入力ベクト
ルレジスタの各々に格納される。通常演算モードでは同
時に3つのベクトル演算を実行させ、座標変換モードで
は同時に1つの座標変換を実行させる。通常演算モード
であるのか座標変換モードであるのかの通知は、ロード
ストアユニット4にも送られる。ロードストアユニット
4は、通常演算モードであるときはバス6、7および8
のそれぞれにベクトルV[k]をバス6にはベクトル要
素V[1]、V[4]、・・・のように、バス7にはベ
クトル要素V[2]、V[5]、・・・のように、バス
8にはベクトル要素V[3]、V[6]、・・・のよう
に振り分けて送出する。座標変換モードであるときは、
バス6にベクトルx[k]を、バス7にベクトルy
[k]を、バス8にベクトルz[k]を送出させる。An instruction control circuit (not shown) decodes the instruction, and determines whether the operation mode is the normal operation mode or the coordinate conversion mode by the control circuits 1-21, 2-21 and 2-21 of the pipeline operation mechanisms 1, 2 and 3. Notify 3-21. Each of the control circuits 1-21, 2-21, and 3-21 receives this notification and controls switching between the normal operation mode and the coordinate conversion mode. In the normal operation mode, the pipeline operation mechanism 1, 2 and 3 a single vector data V [k] (0
≦ k ≦ 3m) is sent by distributed, each pipeline
The input vector register of down operation mechanism, different vector elements are stored. In coordinate transformation mode, the pipeline
The same vector data x
Each of [k], y [k] and z [k] (0 ≦ k ≦ m) is sent out and stored in each of the input vector registers of each pipeline operation unit. In the normal operation mode, three vector operations are executed simultaneously, and in the coordinate conversion mode, one coordinate conversion is executed simultaneously. The notification of whether the mode is the normal operation mode or the coordinate conversion mode is also sent to the load store unit 4. When the load store unit 4 is in the normal operation mode, the buses 6, 7, and 8
, And a bus 7 has vector elements V [1], V [4],..., And a bus 7 has vector elements V [2], V [5],. , And are distributed to the bus 8 as vector elements V [3], V [6],... When in the coordinate transformation mode,
Vector x [k] on bus 6 and vector y on bus 7
[K] causes the bus 8 to transmit the vector z [k].
【0022】図3を参照すると、通常演算モードにおい
て、パイプライン演算機構1において、制御回路1−2
1はパイプライン演算機構1にバス6のデータが入力さ
れるように、セレクタ1−12に対しバス6を選択する
ように指示する。入力ベクトルレジスタ1−1には要素
V[1]、V[4]、・・・が格納される。Referring to FIG. 3 , in the normal operation mode, control circuit 1-2 in pipeline operation mechanism 1 is provided.
1 instructs the selector 1-12 to select the bus 6 so that the data of the bus 6 is input to the pipeline operation mechanism 1. Elements V [1], V [4],... Are stored in the input vector register 1-1.
【0023】制御回路1−21はセレクタ1−15に対
し、スカラデータまたは図示していない他のベクトルレ
ジスタの内容を選択するように指示する。このセレクタ
1−15により選択されたスカラデータまたは図示して
いない他のベクトルレジスタの内容が乗算器1−5の一
方の入力として送出される。The control circuit 1-21 instructs the selector 1-15 to select scalar data or the contents of another vector register (not shown). The scalar data selected by the selector 1-15 or the contents of another vector register (not shown) is sent out as one input of the multiplier 1-5.
【0024】乗算器1−5は、入力ベクトルレジスタ1
−1から出力される内容と、セレクタ1−15により選
択されたスカラデータまたは図示していない他のベクト
ルレジスタの内容とを乗算する。この乗算結果は、図示
していない他のベクトルレジスタに格納される。また、
制御回路1−21からの指示を受けたセレクタ1−19
により多入力加算器1−8の1入力とすることもでき
る。The multiplier 1-5 has an input vector register 1
-1 is multiplied by the scalar data selected by the selector 1-15 or the contents of another vector register (not shown). This multiplication result is stored in another vector register (not shown). Also,
Selector 1-19 receiving instruction from control circuit 1-21
Can be used as one input of the multi-input adder 1-8.
【0025】パイプライン演算機構2においては、バス
7からベクトル要素V[2]、V[5]、・・・が入力
ベクトルレジスタ2−1に格納され、また、パイプライ
ン演算機構3においては、バス8からベクトル要素V
[3]、V[6]、・・・が入力ベクトルレジスタ3−
1に格納され、同様にベクトル演算が行われる。In the pipeline operation mechanism 2, the vector elements V [2], V [5],... Are stored in the input vector register 2-1 from the bus 7, and
In the operation unit 3, the vector element V
[3], V [6],...
1 and the vector operation is performed similarly.
【0026】座標変換モードでは、パイプライン演算機
構1において、 X[k]=a[1,1]*x[k]+a[2,1]*y[k]
+a[3,1]*z[k] パイプライン演算機構2において、 Y[k]=a[1,2]*x[k]+a[2,2]*y[k]
+a[3,2]*z[k] パイプライン演算機構3において、 Z[k]=a[1,3]*x[k]+a[2,3]*y[k]
+a[3,3]*z[k] の演算がそれぞれ実現される。In the coordinate conversion mode, in the pipeline operation mechanism 1, X [k] = a [1,1] * x [k] + a [2,1] * y [k]
+ A [3,1] * z [k] In the pipeline operation mechanism 2, Y [k] = a [1,2] * x [k] + a [2,2] * y [k]
+ A [3,2] * z [k] In the pipeline operation mechanism 3, Z [k] = a [1,3] * x [k] + a [2,3] * y [k]
The operation of + a [3,3] * z [k] is realized respectively.
【0027】バス6を介してベクトルx[k](0≦k
≦m)が、バス7を介してベクトルy[k](0≦k≦
m)が、バス8を介してベクトルz[k](0≦k≦
m)がそれぞれパイプライン演算機構1、2および3に
送出されている。The vector x [k] (0 ≦ k) via the bus 6
≦ m) is converted into a vector y [k] (0 ≦ k ≦
m) is converted into a vector z [k] (0 ≦ k ≦
m) are sent to the pipeline operation mechanisms 1, 2 and 3, respectively.
【0028】パイプライン演算機構1において、制御回
路1−21は、セレクタ1−12に対しバス6を選択
し、入力ベクトルレジスタ1−1にベクトル要素x
[k](0≦k≦m)を格納するように指示する。制御
回路1−21はセレクタ1−13に対し、バス7を選択
し、入力ベクトルレジスタ1−2にベクトル要素y
[k](0≦k≦m)を格納するように指示する。制御
回路1−21はセレクタ1−14に対し、バス8を選択
し、入力ベクトルレジスタ1−3にベクトル要素z
[k](0≦k≦m)を格納するように指示する。レジ
スタ1−9には、行列要素a[1,1]の値が格納され
る。スカラレジスタ1−10には、行列要素a[2,1]
の値が格納される。スカラレジスタ1−11には、行列
要素a[3,1]の値が格納される。乗算器1−5では、
入力ベクトルレジスタ1−1から出力される内容と、制
御回路1−21の指示によりセレクタ1−15が選択し
たスカラレジスタ1−9からの内容とが乗ぜられる。乗
算器1−6では、入力ベクトルレジスタ1−2から出力
される内容と、制御回路1−21の指示によりセレクタ
1−16が選択したスカラレジスタ1−10からの内容
とが乗ぜられる。乗算器1−7では、入力ベクトルレジ
スタ1−3から出力される内容と、制御回路1−21の
指示によりセレクタ1−17が選択したスカラレジスタ
1−11からの内容とが乗ぜられる。乗算器1−5、1
−6および1−7の演算結果は多入力加算器1−8に入
力され加算される。この結果は出力ベクトルレジスタ1
−4に格納される。出力ベクトルレジスタ1−4の内容
はバス9を介してロードストアユニット4に格納され
る。In the pipeline operation mechanism 1, the control circuit 1-21 selects the bus 6 for the selector 1-12 and stores the vector element x in the input vector register 1-1.
[K] (0 ≦ k ≦ m) is instructed to be stored. The control circuit 1-21 selects the bus 7 for the selector 1-13, and stores the vector element y in the input vector register 1-2.
[K] (0 ≦ k ≦ m) is instructed to be stored. The control circuit 1-21 selects the bus 8 for the selector 1-14 and stores the vector element z in the input vector register 1-3.
[K] (0 ≦ k ≦ m) is instructed to be stored. Register 1-9 stores the value of matrix element a [1,1]. The scalar register 1-10 has a matrix element a [2,1]
Is stored. The value of the matrix element a [3, 1] is stored in the scalar register 1-11. In the multiplier 1-5,
The content output from the input vector register 1-1 is multiplied by the content from the scalar register 1-9 selected by the selector 1-15 according to an instruction from the control circuit 1-21. In the multiplier 1-6, the content output from the input vector register 1-2 is multiplied by the content from the scalar register 1-10 selected by the selector 1-16 according to the instruction of the control circuit 1-21. The multiplier 1-7 multiplies the content output from the input vector register 1-3 by the content from the scalar register 1-11 selected by the selector 1-17 according to an instruction from the control circuit 1-21. Multipliers 1-5, 1
The operation results of -6 and 1-7 are input to the multi-input adder 1-8 and added. This result is output vector register 1
-4. The contents of the output vector registers 1-4 are stored in the load store unit 4 via the bus 9.
【0029】このパイプライン演算機構1における座標
変換モードの処理は、パイプライン演算機構2および3
においても同様に行われる。The processing in the coordinate conversion mode in the pipeline operation mechanism 1 is performed by the pipeline operation mechanisms 2 and 3
Is performed similarly.
【0030】図4を参照すると、タイミングチャートの
横軸は時間を表している。ひし形の上辺および下辺の長
さが、ベクトルレジスタの全要素を処理するのに要する
時間を表している。Referring to FIG. 4 , the horizontal axis of the timing chart represents time. The lengths of the upper and lower sides of the diamond represent the time required to process all elements of the vector register.
【0031】ロード処理は、ロードストアユニットによ
り主記憶からベクトルx[k](0≦k≦m)を入力レ
ジスタ1−1、2−1、3−1に、ベクトルy[k]
(0≦k≦m)を入力レジスタ1−2、2−2、3−2
に、ベクトルz[k](0≦k≦m)を入力レジスタ1
−3、2−3、3−3にそれぞれ同時に格納する処理で
ある。このロード処理には、ターンアラウンドタイムT
Lだけかかる。ロード処理されたベクトル要素が乗算器
1−5、1−6、1−7、2−5、2−6、2−7、3
−5、3−6および3−7において、予め設定された座
標変換マトリックスの各要素とすべての乗算器で同時に
乗算される。この乗算処理には、ターンアラウンドタイ
ムTMだけかかる。各乗算器より出力される乗算結果
は、多入力加算器1−8、2−8および3−8に送ら
れ、それぞれの多入力加算器で同時に加算処理が行われ
る。この加算処理には、ターンアラウンドタイムTAだ
けかかる。In the load processing, a vector x [k] (0 ≦ k ≦ m) is transferred from the main memory to the input registers 1-1, 2-1 and 3-1 by the load store unit, and a vector y [k] is input.
(0 ≦ k ≦ m) to input registers 1-2, 2-2, 3-2
And the vector z [k] (0 ≦ k ≦ m) in the input register 1
-3, 2-3, and 3-3 respectively. This loading process includes a turnaround time T
It takes only L. The loaded vector elements are multipliers 1-5, 1-6, 1-7, 2-5, 2-6, 2-7, 3
At -5, 3-6 and 3-7, each element of the preset coordinate transformation matrix is multiplied simultaneously by all multipliers. This multiplication process takes only the turnaround time TM. The multiplication results output from the respective multipliers are sent to multi-input adders 1-8, 2-8 and 3-8, and the multi-input adders simultaneously perform addition processing. This addition process requires only the turnaround time TA.
【0032】以上から、全処理にかかるターンアラウン
ドタイムは、(TL+TM+TA)となる。スループッ
トとしては、1クロックサイクル当たりに1座標変換が
可能となる。From the above, the turnaround time for all processes is (TL + TM + TA). As the throughput, one coordinate conversion can be performed per clock cycle.
【0033】このように、本発明の第一の実施例では、
座標変換の次数分の入力ベクトルレジスタ1−1、1−
2、1−3、2−1、2−2、2−3、3−1、3−
2、3−3を設けた。この入力ベクトルレジスタに連続
したベクトル要素を格納させた。これらと座標変換行列
との演算処理を並列に処理させるようにしたため、1ク
ロックサイクル当たりに1座標変換を実現することがで
きる。Thus, in the first embodiment of the present invention,
Input vector registers 1-1 and 1- for the order of coordinate transformation
2,1-3,2-1,2-2,2-3,3-1,3-
2, 3-3 were provided. Continuous vector elements were stored in this input vector register. Since the arithmetic processing of these and the coordinate conversion matrix is performed in parallel, one coordinate conversion can be realized per clock cycle.
【0034】[0034]
【0035】[0035]
【0036】[0036]
【0037】[0037]
【0038】[0038]
【0039】[0039]
【0040】[0040]
【0041】[0041]
【0042】[0042]
【0043】[0043]
【0044】[0044]
【0045】[0045]
【0046】[0046]
【0047】[0047]
【0048】[0048]
【発明の効果】以上の説明で明らかなように、本発明に
よると、複数のパイプライン演算機構を含む多重並列パ
イプラインによるベクトル処理を行うベクトルプロセッ
サにおいて、座標変換モードと通常演算モードを設け、
これらを切り換えるようにした。通常演算モードでは、
複数のパイプライン演算機構の各々の同一位置の入力ベ
クトルレジスタに異なるデータを格納させ、座標変換モ
ードでは、複数のパイプライン演算機構の各々の同一位
置の入力ベクトルレジスタに同一のデータを格納するよ
うにした。このため、通常演算時には同時に複数のベク
トル演算を実行でき、座標変換時には、同時に1つの座
標変換を実行できる。As is apparent from the above description, according to the present invention, a vector processor for performing vector processing by a multiplex parallel pipeline including a plurality of pipeline arithmetic mechanisms is provided with a coordinate conversion mode and a normal arithmetic mode.
These are switched. In normal operation mode,
To store different data in the input vector register in the same position of each of the plurality of pipeline operation mechanism, in the coordinate conversion mode, to store the same data in the input vector register in the same position of each of the plurality of pipeline operation mechanism I made it. For this reason, a plurality of vector calculations can be performed simultaneously during the normal calculation, and one coordinate conversion can be performed simultaneously during the coordinate conversion.
【0049】また、本発明によると、座標変換時には、
複数の入力ベクトルレジスタに連続したベクトルを格納
し、この入力ベクトルレジスタの値と座標変換行列の各
要素が格納される複数のスカラレジスタの値とを乗算
し、この結果を多入力加算器により加算するようにし
た。このため、高速に座標変換処理を実行できる。According to the present invention, at the time of coordinate conversion,
A continuous vector is stored in a plurality of input vector registers, the value of the input vector register is multiplied by the values of a plurality of scalar registers storing each element of a coordinate transformation matrix, and the result is added by a multi-input adder. I did it. Therefore, the coordinate conversion processing can be executed at high speed.
【図1】本発明のベクトルプロセッサの一実施例の構成
を示すブロック図である。FIG. 1 is a block diagram showing a configuration of an embodiment of a vector processor according to the present invention.
【図2】本発明の一実施例のパイプライン演算機構の内
部構成を示すブロック図である。FIG. 2 is a block diagram showing an internal configuration of a pipeline operation mechanism according to one embodiment of the present invention.
【図3】本発明の一実施例のベクトルプロセッサの動作
タイミングを示すタイミングチャートである。FIG. 3 is a timing chart showing the operation timing of the vector processor according to one embodiment of the present invention.
【図4】本発明の第二の実施例のベクトルプロセッサの
構成を示すブロック図である。FIG. 4 is a block diagram illustrating a configuration of a vector processor according to a second embodiment of the present invention.
1、2、3 パイプライン演算機構 4 ロードストアユニット 5 主記憶装置 6、7、8、9、10、11 バス 1−1、1−2、1−3 入力ベクトルレジスタ 1−4 出力ベクトルレジスタ 1−5、1−6、1−7 乗算器 1−8 多入力加算器 1−9、1−10、1−11 スカラレジスタ 1−12、1−13、1−14 セレクタ 1−15、1−16、1−17 セレクタ 1−18、1−19、1−20 セレクタ 1−21 制御回路 1, 2, 3 Pipeline operation mechanism 4 Load store unit 5 Main storage device 6, 7, 8, 9, 10, 11 Bus 1-1, 1-2, 1-3 Input vector register 1-4 Output vector register 1 -5, 1-6, 1-7 Multiplier 1-8 Multi-input adder 1-9, 1-10, 1-11 Scalar register 1-12, 1-13, 1-14 Selector 1-15, 1- 16, 1-17 Selector 1-18, 1-19, 1-20 Selector 1-21 Control circuit
Claims (3)
並列パイプラインによるベクトル処理を行うベクトルプ
ロセッサにおいて、 前記複数のパイプライン演算機構の各々は、多重並列パ
イプラインによるベクトル処理を行うための通常演算処
理を実行するモードと座標変換処理を実行するモードと
を切り換え制御する制御手段と、座標変換の次数分の第
一の入力ベクトルレジスタと、この第一の入力ベクトル
レジスタへ格納するデータを選択する複数の選択手段と
を含み、 前記制御手段は、通常演算処理を実行するモードである
場合には前記複数のパイプライン演算機構のうち異なる
ものにおける第一の入力ベクトルレジスタに対して異な
るベクトル要素を格納させるように、座標変換処理を実
行するモードである場合には前記複数のパイプライン演
算機構のうち異なるものにおける第一の入力ベクトルレ
ジスタに対して同じベクトル要素を格納させるように前
記選択手段に指示することを特徴とするベクトルプロセ
ッサ。1. A vector processor for performing vector processing by multiple parallel pipelines including a plurality of pipeline operation mechanism, each of the plurality of pipeline operation mechanism, normal calculation for performing vector processing by multiple parallel pipelines selecting a control means for controlling switching of a mode for executing the mode coordinate conversion processing to execute processing, the next fraction first input vector register of the coordinate transformation, the data to be stored into the first input vector register With multiple selection means
Only including, the control unit, when a mode for executing the normal operations process is different among the plurality of pipeline operation mechanism
So as to store the first input vector <br/> Ru vector elements different for the registers in things, when a mode for executing a coordinate transformation process is first definitive to be different among the plurality of pipeline operation mechanism features and be behenate-vector processor that instructs the selecting means so as to store the same vector elements for one of the input vector register.
の入力ベクトルレジスタと、 複数のスカラレジスタと、 前記第二のベクトルレジスタからの出力と前記スカラレ
ジスタからの出力とを選択出力する第二の選択手段と、 前記第一の入力ベクトルレジスタからの出力と前記選択
手段からの出力とを乗算する複数の乗算器と、 前記乗算器からの出力を加算する加算器と、 この加算器の出力を格納する出力ベクトルレジスタとを
さらに含み、 前記制御手段は、通常演算処理を実行するモードである
場合には前記第二のベクトルレジスタからの出力を、座
標変換処理を実行するモードである場合には前記スカラ
レジスタからの出力を選択するように前記第二の選択手
段に指示することを特徴とする請求項1記載のベクトル
プロセッサ。2. The pipeline operation mechanism includes a plurality of second input vector registers, a plurality of scalar registers, and a second output for selectively outputting an output from the second vector register and an output from the scalar register. A plurality of multipliers for multiplying an output from the first input vector register by an output from the selection unit; an adder for adding an output from the multiplier; and an output of the adder. Further comprising an output vector register for storing the output from the second vector register when the mode is a mode for executing a normal operation process, and a mode for executing a coordinate conversion process when the mode is a mode for executing a coordinate conversion process. 2. The vector processor according to claim 1, wherein said instruction instructs said second selecting means to select an output from said scalar register.
理を行うベクトルプロセッサであって、 k個のパイプライン演算機構を含み、 前記パイプライン演算機構の各々は、 複数の第一の入力ベクトルレジスタと、 この第一の入力ベクトルレジスタへの入力を選択する第
一の選択手段と、 複数の第二の入力ベクトルレジスタと、 複数のスカラレジスタと、 前記第二のベクトルレジスタからの出力と前記スカラレ
ジスタからの出力とを選択出力する第二の選択手段と、 前記第一の入力ベクトルレジスタからの出力と前記選択
手段からの出力とを乗算する複数の乗算器と、 前記乗算器からの出力を加算する加算器と、 この加算器の出力を格納する出力ベクトルレジスタと、 命令をデコードした結果が座標変換を示す場合には前記
第一の入力ベクトルレジスタに連続したベクトル要素を
次々と格納させ、前記スカラレジスタからの出力を選択
出力させるよう前記選択手段に指示し、通常演算を示す
場合には第一のベクトルレジスタに(k−1)個とびに
ベクトル要素を格納させ、前記第二のベクトルレジスタ
からの出力を選択出力させるよう前記選択手段に指示す
る制御手段とを含むことを特徴とする請求項1記載のベ
クトルプロセッサ。3. A vector processor for performing vector processing by multiple parallel pipelines includes k number of pipeline operation mechanism, each of the pipeline operation mechanism includes a plurality of first input vector register, this First selecting means for selecting an input to the first input vector register; a plurality of second input vector registers; a plurality of scalar registers; an output from the second vector register and a signal from the scalar register. Second selection means for selecting and outputting an output; a plurality of multipliers for multiplying the output from the first input vector register by the output from the selection means; and an addition for adding the outputs from the multipliers An output vector register for storing the output of the adder; and the first input buffer if the result of decoding the instruction indicates a coordinate transformation. Consecutive vector elements Torr register is sequentially stored, the instructing said selection means so as to select and output the output from the scalar register and to indicate normal operation for the first vector register (k-1) pieces 2. The vector processor according to claim 1, further comprising control means for instructing the selection means to store vector elements at intervals and to selectively output the output from the second vector register.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34250695A JP2970512B2 (en) | 1995-12-28 | 1995-12-28 | Vector processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34250695A JP2970512B2 (en) | 1995-12-28 | 1995-12-28 | Vector processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09185602A JPH09185602A (en) | 1997-07-15 |
JP2970512B2 true JP2970512B2 (en) | 1999-11-02 |
Family
ID=18354278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34250695A Expired - Fee Related JP2970512B2 (en) | 1995-12-28 | 1995-12-28 | Vector processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2970512B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250337B2 (en) | 2006-04-28 | 2012-08-21 | Qualcomm Incorporated | Array processor with two parallel processing paths of multipliers and ALUs with idle operation capability controlled by portions of opcode including indication of valid output |
CN112286578A (en) * | 2019-07-25 | 2021-01-29 | 北京百度网讯科技有限公司 | Method, apparatus, device and computer-readable storage medium executed by computing device |
-
1995
- 1995-12-28 JP JP34250695A patent/JP2970512B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09185602A (en) | 1997-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5866128B2 (en) | Arithmetic processor | |
EP1570344B1 (en) | Pipeline coprocessor | |
JP2003216943A (en) | Image processing device, compiler used therein and image processing method | |
EP1351134A2 (en) | Superpipelined arithmetic-logic unit with feedback | |
WO2020222971A1 (en) | Efficient archtectures for deep learning algorithms | |
JPH09128238A (en) | Plurality of register bank systems for simultaneous input/output operation in cpu data route | |
JPH11212786A (en) | Data path for register base data processing and method | |
US20080059764A1 (en) | Integral parallel machine | |
JP2970512B2 (en) | Vector processor | |
JP3529622B2 (en) | Arithmetic circuit | |
EP1035479A2 (en) | System for processing vector data | |
JP3593439B2 (en) | Image processing device | |
JP2580371B2 (en) | Vector data processing device | |
US4928238A (en) | Scalar data arithmetic control system for vector arithmetic processor | |
JP3144859B2 (en) | Arithmetic logic unit | |
JPH06309349A (en) | Program-controlled processor | |
EP0359192B1 (en) | Vector processors and vector register control | |
JP2503983B2 (en) | Information processing device | |
JP3620887B2 (en) | Data processing device | |
JP2696903B2 (en) | Numerical calculator | |
JP3489360B2 (en) | Digital signal processor | |
JPH1153171A (en) | Data operation unit, its method and transmission medium | |
JPH04199428A (en) | Register device and register allocating method | |
JPH09325953A (en) | Processor and data processor | |
JPS62262131A (en) | Information processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990727 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070827 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100827 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |