JPH0357497B2 - - Google Patents
Info
- Publication number
- JPH0357497B2 JPH0357497B2 JP11191685A JP11191685A JPH0357497B2 JP H0357497 B2 JPH0357497 B2 JP H0357497B2 JP 11191685 A JP11191685 A JP 11191685A JP 11191685 A JP11191685 A JP 11191685A JP H0357497 B2 JPH0357497 B2 JP H0357497B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- circuit
- operand
- address
- registers
- 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
Links
- 239000013598 vector Substances 0.000 claims description 111
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はベクトル処理装置におけるベクトルレ
ジスタ間のデータ移送処理に関し、特にベクトル
エレメントの置換に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to data transfer processing between vector registers in a vector processing device, and particularly to replacement of vector elements.
(従来の技術)
ベクトルまたは行列の演算を行う場合、部分ベ
クトルや部分行列の概念は非常に重要であり、科
学演算を行う場合に頻繁に発生する。(Prior Art) When performing vector or matrix operations, the concepts of subvectors and submatrices are very important and occur frequently when performing scientific operations.
従来、この種のベクトル処理装置では演算用の
ベクトルレジスタ間でベクトルエレメントを移送
する機能が具備されていなかつたため、部分ベク
トルや部分行列の置換や重ね合せの動作はメモリ
を介してストア動作およびロード動作を組合せて
行つていた。 Conventionally, this type of vector processing device did not have a function to transfer vector elements between vector registers for calculations, so operations such as permutation and superposition of partial vectors and submatrices were performed using store operations and loads via memory. They were doing a combination of movements.
(発明が解決しようとする問題点)
上述した従来のベクトル処理装置ではメモリを
介して置換が行われるため、メモリの入出力に関
するオーバヘツドが大きく、リザルトベクトルレ
ジスタ上に必要なデータを得るまでに時間がかか
り、ベクトルデータの置換と演算とを連続的に行
う場合にはメモリのデータ供給性能により演算が
大幅に待たされると云う欠点があつた。(Problems to be Solved by the Invention) In the conventional vector processing device described above, replacement is performed via memory, so there is a large overhead related to memory input/output, and it takes a long time to obtain the necessary data on the result vector register. However, when vector data replacement and calculation are performed continuously, the calculation has to be delayed for a long time due to the data supply performance of the memory.
本発明の目的は、ベクトルレジスタを使用した
ベクトル処理装置に比較的簡単な回路を付加する
ことにより上記欠点を除去し、ベクトル演算を高
速で実行できるように構成したベクトル処理装置
を提供することができる。 An object of the present invention is to eliminate the above-mentioned drawbacks by adding a relatively simple circuit to a vector processing device using vector registers, and to provide a vector processing device configured to be able to execute vector operations at high speed. can.
(問題点を解決するための手段)
本発明によるベクトル処理装置はn個(1より
大きい正の整数)と、n個のリザルトベクトルレ
ジスタと、アライン回路と、第1のmod n回路
と、第1のデコーダ回路と、第2のデコーダ回路
と、第2〜第4のmod n回路とを具備し、n個
のオペランドベクトルレジスタからn個のリザル
トベクトルレジスタにベクトルエレメントを並列
的に移送することができるように構成したもので
ある。(Means for Solving the Problems) A vector processing device according to the present invention includes n (a positive integer greater than 1), n result vector registers, an align circuit, a first mod n circuit, and a first mod n circuit. The present invention includes a first decoder circuit, a second decoder circuit, and second to fourth mod n circuits, and transfers vector elements from n operand vector registers to n result vector registers in parallel. It is configured so that it can be done.
n個のオペランドベクトルレジスタは、同一ベ
クトルに属するn個のベクトルエレメントを1サ
イクル中に読出すためのものである。 The n operand vector registers are for reading n vector elements belonging to the same vector in one cycle.
n個のリザルトベクトルレジスタは、同一ベク
トルに属するn個のベクトルエレメントを1サイ
クル中に書込むためのものである。 The n result vector registers are for writing n vector elements belonging to the same vector in one cycle.
アライン回路は、オペランドベクトルレジスタ
から読出されたn個のベクトルエレメントに対応
して設けられたn個の読出しデータパスを、それ
ぞれリザルトベクトルレジスタに書込まれるn個
のベクトルエレメントに対応して設けられたn個
の書込みデータパスに選択的に接続するためのも
のである。 The align circuit connects n read data paths provided corresponding to n vector elements read from the operand vector register to n read data paths provided corresponding to n vector elements written to the result vector register, respectively. and n write data paths.
第1のmod n回路は、オペランドベクトルレ
ジスタに格納されたベクトルデータのうち、移送
元の先頭ベクトルエレメントを示すアドレスデー
タA×n+i(0A,0i<n)をnで除算
した剰余i、および/またはオペランドベクトル
レジスタからリザルトベクトルレジスタへ移送さ
れるベクトルデータのうち、移送先の先頭ベクト
ルエレメントを示すアドレスデータB×n+j
(0B,0j<n)をnで除算した剰余jを
検出するためのものである。 The first mod n circuit calculates the remainder i obtained by dividing address data A×n+i (0A, 0i<n) indicating the first vector element of the transfer source by n, among the vector data stored in the operand vector register, and / Or, among the vector data transferred from the operand vector register to the result vector register, address data B×n+j indicating the first vector element to be transferred.
This is to detect the remainder j obtained by dividing (0B, 0j<n) by n.
第1のデコーダ回路は、第1のmod n回路よ
り検出されたiの値により0番目からi−1番目
のオペランドベクトルレジスタに対してはA+1
の読出しアドレスを与えるとともに、i番目から
n−1番目のオペランドベクトルレジスタに対し
てはAの読出しアドレスを与えるためのものであ
る。 The first decoder circuit outputs A+1 for the 0th to i-1th operand vector registers according to the value of i detected by the first mod n circuit.
This is to give the read address of A, and also give the read address of A to the i-th to (n-1)th operand vector registers.
第2のデコーダ回路は、第1のmod n回路よ
り検出されたjの値により0番目からj−1番目
のリザルトベクトルレジスタに対してはB+1の
書込みアドレスを与えるとともに、j番目からn
−1番目のリザルトベクトルレジスタに対しては
Bの書込みアドレスを与えるためのものである。 The second decoder circuit gives a write address of B+1 to the 0th to j-1th result vector registers based on the value of j detected by the first mod n circuit, and also gives the write address of B+1 to the result vector registers from the jth to nth.
-The first result vector register is for giving the write address of B.
第2〜第4のmod n回路は、k番目(0k
<n)の書込みデータパスに対応した選択に対し
て、それぞれk+i,k−j、ならびにk+i−
jをnで除算した剰余をlk(0lk<n)として求
め、アライン回路に選択信号として与えるための
ものである。 The second to fourth mod n circuits are k-th (0k
k+i, k−j, and k+i−, respectively, for selections corresponding to write data paths <n).
The remainder obtained by dividing j by n is determined as l k (0l k <n) and is provided to the align circuit as a selection signal.
(実施例)
次に、本発明において図面を参照して説明す
る。(Example) Next, the present invention will be described with reference to the drawings.
第1図〜第3図は、本発明によるベクトル処理
装置の一実施例を示すブロツク図である。第1図
〜第3図において、1〜4はそれぞれ第0〜第3
のオペランドベクトルレジスタ、5〜8はそれぞ
れ第0〜第3のベクトルレジスタ、9はアライン
回路、10,14はそれぞれデコーダ、11〜1
3,15はそれぞれ第1〜第4のmod4回路であ
る。 1 to 3 are block diagrams showing one embodiment of a vector processing device according to the present invention. In Figures 1 to 3, 1 to 4 are 0 to 3, respectively.
, 5 to 8 are the 0th to 3rd vector registers, 9 is an align circuit, 10 and 14 are decoders, and 11 to 1 are operand vector registers.
3 and 15 are first to fourth mod4 circuits, respectively.
第1図はn=4とし、読出し開始アドレスのみ
を指定可能とし、書込み開始アドレスは常に
“0”であるシステムに関する動作を説明するブ
ロツク図である。第2図は、逆に書込み開始アド
レスのみを指定可能とし、読出し開始アドレスは
常に“0”であるシステムに関する動作を説明す
るブロツク図である。第3図は、読出し開始アド
レス、および書込み開始アドレスをともに指定可
能としたシステムに関する動作を説明するブロツ
ク図である。 FIG. 1 is a block diagram illustrating the operation of a system in which n=4, only the read start address can be specified, and the write start address is always "0". FIG. 2 is a block diagram illustrating the operation of a system in which only the write start address can be specified and the read start address is always "0". FIG. 3 is a block diagram illustrating the operation of a system in which both a read start address and a write start address can be specified.
第1図において、第0〜第3のオペランドベク
トルレジスタ1〜4の出力は各読出しデータパス
100〜103を介してアライン回路9に入力
し、さらにアライン回路9の内部で選択的に並べ
換えられた出力データは、各書込みデータパス2
00〜203を介してて第0〜第3のリザルトベ
クトルレジスタ5〜8に接続される。また、オペ
ランドベクトルレジスタ1〜4に対して指定され
た読出し開始アドレス(A×n+i)は、第1の
mod4回路12に入力されて4で除算された剰余
iを出力し、第2のmod4回路11とデコーダ回
路10とに分配される。mod4回路11では各書
込みデータパス200〜203に対応して、0+
i,1+i,2+i,3+iをそれぞれnで除算
し、剰余l0,l1,l2,l3をそれぞれ選択信号として
アライン回路9に供給する。デコーダ回路9は読
出し開始アドレスA×n+iとその剰余iとを入
力し、第0〜第3のオペランドベクトルレジスタ
1〜4に対し、AまたはA+1のアドレスをそれ
ぞれ供給する。 In FIG. 1, the outputs of the 0th to 3rd operand vector registers 1 to 4 are input to the align circuit 9 via each read data path 100 to 103, and are further selectively rearranged within the align circuit 9. Output data is output from each write data path 2.
It is connected to the 0th to 3rd result vector registers 5 to 8 via 00 to 203. Also, the read start address (A×n+i) specified for operand vector registers 1 to 4 is
The remainder i which is inputted to the mod4 circuit 12 and divided by 4 is output and distributed to the second mod4 circuit 11 and the decoder circuit 10. In the mod4 circuit 11, 0+
i, 1+i, 2+i, and 3+i are each divided by n, and the remainders l 0 , l 1 , l 2 , and l 3 are respectively supplied to the align circuit 9 as selection signals. The decoder circuit 9 inputs the read start address A×n+i and its remainder i, and supplies the address of A or A+1 to the 0th to third operand vector registers 1 to 4, respectively.
第1図に示す実施例では、n=4およびA×n
+i=17を与えており、A=4であつてi=4で
ある。また、l0=1,l1=2,l2=3,l3=0であ
つて、第0のオペランドベクトルレジスタ1に対
して供給される読出しアドレスは5、第1〜第3
のオペランドベクトルレジスタ2〜4に対して供
給される読出しアドレスは4である。 In the embodiment shown in FIG. 1, n=4 and A×n
+i=17, A=4, and i=4. Also, l 0 = 1, l 1 = 2, l 2 = 3, l 3 = 0, and the read address supplied to the 0th operand vector register 1 is 5, and the first to third
The read address supplied to operand vector registers 2 to 4 is 4.
いつぽう、第0〜第3のリザルトベクトルレジ
スタ5〜8に対して与えられる書込み開始アドレ
スは常に0であるので、第1サイクルでは第1図
の斜線で示すエレメントが移送され、第0〜第3
のオペランドベクトルレジスタ1〜4に格納され
ていたベクトルエレメント#17〜#20は第0〜第
3のリザルトベクトルレジスタ5〜8の第0〜第
3のベクトルエレメントとして格納される。従つ
て、以下に順次、各サイクルごとに各オペランド
ベクトルレジスタ1〜4の読出しアドレスと、各
リザルトベクトルレジスタ5〜8の書込みアドレ
スとを+1ずつ進ませてゆくことにより、第4図
に示すようなベクトルエレメントの移送が行われ
ることになる。本動作により行われる移送は、部
分ベクトルの抽出における置換に対応する。 Since the write start address given to the 0th to 3rd result vector registers 5 to 8 is always 0, in the first cycle the elements indicated by diagonal lines in FIG. 3
The vector elements #17 to #20 stored in the operand vector registers 1 to 4 are stored as the 0th to 3rd vector elements of the 0th to 3rd result vector registers 5 to 8. Therefore, by sequentially incrementing the read address of each operand vector register 1 to 4 and the write address of each result vector register 5 to 8 by +1 in each cycle, as shown in FIG. A vector element transfer will be performed. The transfer performed by this operation corresponds to replacement in partial vector extraction.
第2図に示す構成は、第1図の構成に対して次
の各点で相違がある。すなわち、第1図のデコー
ダ回路10の出力がオペランドベクトルレジスタ
ではなく、リザルトベクトルレジスタに供給され
ており、第2のmod4回路11の代りに第3の
mod4回路13に設置されていることである。第
2のmod4回路11と第3のmod4回路13との相
違は、第2のmod4回路11が各書込みデータパ
ス200〜203に対応してそれぞれ0+i,1
+i,2+i,3+iををnで除算した剰余を選
択信号として供給しているのに対し、第3の
mod4回路13はそれぞれ0−j,1−j,2−
j,3−jをnで除算した剰余を供給しているこ
とにある。 The configuration shown in FIG. 2 differs from the configuration shown in FIG. 1 in the following points. That is, the output of the decoder circuit 10 in FIG.
It is installed in the mod4 circuit 13. The difference between the second mod4 circuit 11 and the third mod4 circuit 13 is that the second mod4 circuit 11 corresponds to each write data path 200 to 203 by 0+i and 1, respectively.
+i, 2+i, 3+i divided by n is supplied as the selection signal, whereas the third
The mod4 circuits 13 are respectively 0-j, 1-j, 2-
The purpose is to supply the remainder obtained by dividing j, 3-j by n.
第2図の実施例ではn=4ならびにB×n+j
=13を与えており、B=3ならびにj=1が得ら
れる。従つて、l0=3,l1=0,l2=1,l3=2と
なり、第0のリザルトベクトルレジスタ5には書
込み開始アドレスとして4が供給され、第1〜第
3のリザルトベクトルレジスタ6〜8には3が供
給される。斯くして、第1サイクルでは第2図の
斜線で示すエレメントが移送され、オペランドベ
クトルレジスタ1〜4の内部の第0〜第3のエレ
メントがリザルトベクトルレジスタ5〜8の第13
〜第16のエレメントとして格納される。以下に順
次、オペランドベクトルレジスタ1〜4とリザル
トベクトルレジスタ5〜8とのアドレスを進ませ
ることにより、第5図に示すようなベクトルエレ
メントの移送が行われることになる。上記の動作
により行われる移送は、ベクトルの合成における
置換に対応する。 In the embodiment of FIG. 2, n=4 and B×n+j
=13, and B=3 and j=1 are obtained. Therefore, l 0 = 3, l 1 = 0, l 2 = 1, l 3 = 2, and 4 is supplied to the 0th result vector register 5 as the write start address, and the first to third result vectors are 3 is supplied to registers 6-8. Thus, in the first cycle, the elements indicated by diagonal lines in FIG.
~ Stored as the 16th element. By sequentially advancing the addresses of operand vector registers 1-4 and result vector registers 5-8, vector elements are transferred as shown in FIG. The transfer performed by the above operation corresponds to a permutation in the composition of vectors.
第3図に示す構成は第1図および第2図に示す
機能を合成させたもので、第2のmod4回路11
または第3のmod4回路13が第4のmod4回路1
5となつている点のみが異なる。第2のmod4回
路11が各書込みデータパス(0〜3)に対応し
て0+i,1+i,2+i,3+iをnで除算し
た剰余を選択信号として供給し、且つ、第3の
mod4回路13ではそれぞれ0−j,1−j,2
−j,3−jをnで除算した剰余を選択信号とし
て供給しているのに対し、第4のmrd4回路15
ではそれぞれ0+i−j,1+i−j,2+i−
j,3+i−jを選択信号として供給している点
が異なる。 The configuration shown in FIG. 3 is a combination of the functions shown in FIGS. 1 and 2, and the second mod4 circuit 11
Or the third mod4 circuit 13 is the fourth mod4 circuit 1
The only difference is that it is 5. A second mod4 circuit 11 supplies the remainder obtained by dividing 0+i, 1+i, 2+i, 3+i by n as a selection signal corresponding to each write data path (0 to 3), and
In mod4 circuit 13, 0-j, 1-j, 2
-j, 3-j divided by n is supplied as a selection signal, whereas the fourth mrd4 circuit 15
Then 0+i-j, 1+i-j, 2+i-
The difference is that j, 3+i−j is supplied as a selection signal.
第3図の実施例ではn=4,A×n+i=17な
らびにB×n+j=13を与えている。従つて、l0
=0,l1=1,l2=2,l3=3が得られ、それぞ
れ第0のオペランドベクトルレジスタ1には読出
し開始アドレスとして5、第1〜第3のオペラン
ドベクトルレジスタ2〜4には読出し開始アドレ
スとして4、第0のリザルトベクトルレジスタ5
には書込み開始アドレスとして4、第1〜第3の
リザルトベクトルレジスタ6〜8には書込み開始
アドレスとして3が供給される。 In the embodiment of FIG. 3, n=4, A×n+i=17 and B×n+j=13 are given. Therefore, l 0
= 0, l 1 = 1, l 2 = 2, l 3 = 3 are obtained, and 5 is set as the read start address in the 0th operand vector register 1, and 5 is set as the read start address in the 1st to 3rd operand vector registers 2 to 4, respectively. 4 as the read start address, 0th result vector register 5
is supplied with 4 as the write start address, and 3 is supplied as the write start address with the first to third result vector registers 6-8.
斯くして、第1サイクルでは第3図の斜線で示
されるエレメントがオペランドベクトルレジスタ
1〜4からリザルトベクトルレジスタ5〜8へ移
送され、オペランドベクトルレジスタ1〜4の内
部の#17〜#28のエレメントがリザルトベクトル
レジスタの#13〜#16のエレメントとして格納さ
れる。以下に順次、オペランドベクトルレジスタ
1〜4とリザルトベクトルレジスタ5〜8とのア
ドレスを進ませることにより、第6図に示すよう
なベクトルエレメントの移送を行うことができ
る。斯かるシステムでは、第1図および第2図に
示す動作も含んだベクトルを自在に合成すること
ができる。 Thus, in the first cycle, the elements indicated by diagonal lines in FIG. The elements are stored as elements #13 to #16 of the result vector register. By sequentially advancing the addresses of operand vector registers 1-4 and result vector registers 5-8, vector elements can be transferred as shown in FIG. In such a system, vectors including the operations shown in FIGS. 1 and 2 can be freely synthesized.
次に、n=4の場合について各mod4回路およ
びデコーデ回路について説明する。 Next, each mod4 circuit and decoder circuit will be explained for the case where n=4.
第1のmod4回路12は、読出し開始アドレス
または書込み開始アドレスとして与えられる2値
数の下位2ビツトを、直接、第2〜第4のmod4
回路11,13,15およびデコーダ回路10,
14に供給する分配回路として与えられる。第2
のmod4回路11は、第1のmod4回路12から分
配されるiの値に0〜3の定数を加算した値を与
える2ビツトの加算器、またはデコーダ本体によ
り簡単に構成することができる。 The first mod4 circuit 12 directly inputs the lower two bits of the binary number given as the read start address or write start address to the second to fourth mod4 circuits.
circuits 11, 13, 15 and decoder circuit 10,
14 as a distribution circuit. Second
The mod4 circuit 11 can be easily constructed by a 2-bit adder that provides a value obtained by adding a constant from 0 to 3 to the value of i distributed from the first mod4 circuit 12, or by a decoder itself.
第3のmod4回路13はjの値に対して0−j,
1−j,2−j,3−jを算出する2ビツトの減
算器(ただし、負の数は補助表示)またはデコー
ダ本体で構成される。第4のmod4回路15は同
様にiおよびjに関して、0+i+j,1+i−
J,2+i−j,3+i−jを算出する加算器に
より構成することができる。第2のmod4回路1
1および第3のmod4回路13は、iまたはjの
どちらか一方が“0”で与えられる場合には第4
のmod4回路15で構成することができる。 The third mod4 circuit 13 calculates 0−j for the value of j,
It consists of a 2-bit subtracter (however, negative numbers are auxiliary displays) for calculating 1-j, 2-j, and 3-j, or a decoder itself. Similarly, the fourth mod4 circuit 15 calculates 0+i+j, 1+i- with respect to i and j.
It can be configured by an adder that calculates J, 2+i-j, 3+i-j. 2nd mod4 circuit 1
When either i or j is given as “0”, the first and third mod4 circuits 13
mod4 circuit 15.
デコーダ回路10,14は読出し開始アドレス
A×n+iまたは書込み開始アドレスB×n+j
と、iまたはjを入力し、各オペランドベクトル
レジスタ1〜4または各リザルトベクトルレジス
タ5〜8に対し、AおよびB、あるいはA+1お
よびB+1を供給するために第7図に示すような
構成となる。第7図において、71は2ビツトシ
フタ、72は+1加算器、73はデコーダ本体、
74〜77はそれぞれ第0〜第3のセレクタであ
る。2ビツトシフタ71ではA×n+iまたはB
×n+jの下位2ビツト(iまたはjの値)をシ
フトして削除し、AまたはBを抜出す。+1加算
器72では、入力したデータに“1”だけ加算す
る。デコーダ本体73では、iまたはjを入力
し、AまたはBと、A+1またはB+1とのどち
らかを選択するための選択信号を発生する。実施
例ではiまたはjが“01”のときに選択状態とな
る。 The decoder circuits 10 and 14 use read start address A×n+i or write start address B×n+j
In order to input i or j and supply A and B or A+1 and B+1 to each operand vector register 1 to 4 or each result vector register 5 to 8, the configuration is as shown in FIG. . In FIG. 7, 71 is a 2-bit shifter, 72 is a +1 adder, 73 is a decoder main body,
74 to 77 are 0th to 3rd selectors, respectively. In the 2-bit shifter 71, A×n+i or B
The lower two bits (value of i or j) of xn+j are shifted and deleted, and A or B is extracted. The +1 adder 72 adds "1" to the input data. The decoder main body 73 receives i or j and generates a selection signal for selecting either A or B and A+1 or B+1. In the embodiment, the selected state is reached when i or j is "01".
本実施例ではn=4の場合について説明した
が、本発明は一般的なn(正の整数)についても
構成することが可能である。特に、n=2x(xは
整数)の場合には、本実施例に示したように回路
構成が最も簡単になる。 Although the present embodiment has been described for the case where n=4, the present invention can also be configured for a general n (positive integer). In particular, when n=2 x (x is an integer), the circuit configuration is the simplest as shown in this embodiment.
(発明の効果)
以上説明したように本発明は、ベクトルレジス
タを使用したベクトル処理装置に比較的簡単な回
路を付加することにより、ベクトルエレメントの
移送および置換に関して高速に処理できると云う
効果がある。(Effects of the Invention) As explained above, the present invention has the advantage that by adding a relatively simple circuit to a vector processing device using vector registers, it is possible to perform high-speed processing of vector element transfer and replacement. .
第1図は、本発明によるベクトル処理装置にお
いてn=4であつて、A×n+i=17とし、オペ
ランドベクトルレジスタの読出し開始アドレスの
みを指定可能とした実施例の構成ブロツク図であ
る。第2図は、本発明によるベクトル処理装置に
おいてn=4であつてB×n+j=13とし、リザ
ルトベクトルレジスタの書込み開始アドレスのみ
を指定とした実施例の構成ブロツク図である。第
3図は、本発明によるベクトル処理装置において
n=4、A×n+i=17,B×n+j=13とし、
オペランドベクトルレジスタとリザルトベクトル
レジスタとに対して、読出しおよび書込み開始ア
ドレスを指定可能とした実施例の構成ブロツク図
である。第4図は、第1図に示した実施例に対す
るベクトルエレメントの移送状態を示す説明図で
ある。第5図は、第2図に示した実施例に対する
ベクトルエレメントの移送状態を示す説明図であ
る。第6図は、第3図に示した実施例に対するベ
クトルエレメントの移送状態を示す説明図であ
る。第7図は、第1図〜第3図に示したデコーダ
回路の回路構成を示すブロツク図である。
1〜4…オペランドベクトルレジスタ、5〜8
…リザルトベクトルレジスタ、9…アライン回
路、10,14…デコーダ回路、11〜13,1
5…mod4回路、71…2ビツトシフタ、72…
+1加算器、73…デコーダ本体、74〜77…
セレクタ。
FIG. 1 is a block diagram of an embodiment of a vector processing device according to the present invention in which n=4, A×n+i=17, and only the read start address of the operand vector register can be specified. FIG. 2 is a block diagram of an embodiment of the vector processing device according to the present invention in which n=4, B×n+j=13, and only the write start address of the result vector register is specified. FIG. 3 shows a vector processing device according to the present invention in which n=4, A×n+i=17, B×n+j=13,
FIG. 2 is a configuration block diagram of an embodiment in which read and write start addresses can be specified for operand vector registers and result vector registers. FIG. 4 is an explanatory diagram showing the transfer state of vector elements for the embodiment shown in FIG. FIG. 5 is an explanatory diagram showing the transfer state of vector elements for the embodiment shown in FIG. 2. FIG. 6 is an explanatory diagram showing the transfer state of vector elements for the embodiment shown in FIG. 3. FIG. 7 is a block diagram showing the circuit configuration of the decoder circuit shown in FIGS. 1-3. 1-4...Operand vector register, 5-8
...Result vector register, 9...Align circuit, 10, 14...Decoder circuit, 11 to 13, 1
5...mod4 circuit, 71...2-bit shifter, 72...
+1 adder, 73...decoder body, 74-77...
selector.
Claims (1)
整数)個のベクトルエレメントを1サイクル中に
読出すためのn個のオペランドベクトルレジスタ
と、同一ベクトルに属するn個のベクトルエレメ
ントを1サイクル中に書込むためのn個のリザル
トベクトルレジスタと、前記オペランドベクトル
レジスタから読出された前記n個のベクトルエレ
メントに対応して設けられたn個の読出しデータ
パスをそれぞれ、前記リザルトベクトルレジスタ
に書込まれる前記n個のベクトルエレメントに対
応して設けられたn個の書込みデータパスに選択
的に接続するためのアライン回路と、前記オペラ
ンドベクトルレジスタに格納されたベクトルデー
タのうち、移送元の先頭ベクトルエレメントを示
すアドレスデータA×n+i(0A,0i<
n)をnで除算した剰余i、および/または前記
オペランドベクトルレジスタから前記リザルトベ
クトルレジスタへ移送されるベクトルデータのう
ち、移送先の先頭ベクトルエレメントを示すアド
レスデータB×n+j(0B,0j<n)を
nで除算した剰余jを検出するための第1のmod
n回路と、前記第1のmod n回路より検出され
たiの値により0番目からi−1番目の前記オペ
ランドベクトルレジスタに対してはA+1の読出
しアドレスを与えるとともに、i番目からn−1
番目の前記オペランドベクトルレジスタに対して
はAの読出しアドレスを与えるための第1のデコ
ーダ回路と、前記第1のmod n回路より検出さ
れたjの値により0番目からららj−1番目の前
記リザルトベクトルレジスタに対してはB+1の
書込みアドレスを与えるとともに、j番目からn
−1番目の前記リザルトベクトルレジスタに対し
てはBの書込みアドレスを与えるための第2のデ
コーダ回路と、k番目(0k<n)の書込みデ
ータパスに対応した選択に対して、それぞれk+
i,k−j、ならびにk+i−jをnで除算した
剰余をlk(0lk<n)として求め、前記アライン
回路に選択信号として与えるための第2〜第4の
mod n回路とを具備し、前記n個のオペランド
ベクトルレジスタから前記n個のリザルトベクト
ルレジスタに前記ベクトルエレメントを並列的に
移送することができるように構成したことを特徴
とするベクトル処理装置。1. n operand vector registers for reading n (positive integer greater than 1) vector elements belonging to the same vector in one cycle, and n operand vector registers for reading n vector elements belonging to the same vector in one cycle. and n read data paths provided corresponding to the n vector elements read from the operand vector register. an alignment circuit for selectively connecting to n write data paths provided corresponding to n vector elements; and an alignment circuit for selectively connecting to n write data paths provided corresponding to n vector elements; Address data A×n+i (0A, 0i<
n) by n, and/or address data B×n+j (0B, 0j<n ) to find the remainder j divided by n
Based on the value of i detected by the mod n circuit and the first mod n circuit, a read address of A+1 is given to the 0th to i-1th operand vector registers, and a read address of A+1 is given to the i-th to n-1th operand vector registers.
A first decoder circuit for giving a read address of A to the th operand vector register, and a first decoder circuit for giving a read address of A and a value of j detected by the first mod n circuit, The write address of B+1 is given to the result vector register, and
A second decoder circuit for providing a write address of B for the −1st result vector register, and a second decoder circuit for providing a write address of B for the −1st result vector register, and k+
The remainder obtained by dividing i, k-j, and k+i-j by n is obtained as l k (0l k < n), and the second to fourth
mod n circuit, and configured to be able to transfer the vector elements from the n operand vector registers to the n result vector registers in parallel.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11191685A JPS61269775A (en) | 1985-05-24 | 1985-05-24 | Vector processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11191685A JPS61269775A (en) | 1985-05-24 | 1985-05-24 | Vector processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61269775A JPS61269775A (en) | 1986-11-29 |
| JPH0357497B2 true JPH0357497B2 (en) | 1991-09-02 |
Family
ID=14573328
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11191685A Granted JPS61269775A (en) | 1985-05-24 | 1985-05-24 | Vector processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61269775A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2394571B (en) | 2002-10-23 | 2005-08-10 | Motorola Inc | Arrangement system and method for vector permutation in single-instruction multiple-data microprocessors |
-
1985
- 1985-05-24 JP JP11191685A patent/JPS61269775A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61269775A (en) | 1986-11-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4754421A (en) | Multiple precision multiplication device | |
| US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
| EP0097834A2 (en) | Circuits for accessing a variable width data bus with a variable width data field | |
| JPH0731669B2 (en) | Vector processor | |
| GB1423397A (en) | Multi-dimensional access solid state memory | |
| JPS5977574A (en) | Vector processor | |
| US20170168775A1 (en) | Methods and Apparatuses for Performing Multiplication | |
| JPS63292324A (en) | Binary multiplier circuit | |
| US5363322A (en) | Data processor with an integer multiplication function on a fractional multiplier | |
| GB2075227A (en) | Double error correcting system in digital signal reproducing apparatus | |
| JPH06274528A (en) | Vector processing unit | |
| US5008852A (en) | Parallel accessible memory device | |
| GB2241598A (en) | Six-way access ported ram array cell | |
| EP0367995A2 (en) | Vector data transfer controller | |
| US3569684A (en) | Sine-cosine generator comprised of a diode array | |
| JPH0357497B2 (en) | ||
| US4811213A (en) | Vector processor with vector registers | |
| US3235718A (en) | Magnetic device for performing complex logic functions | |
| Duller et al. | Design of an associative processor array | |
| US6507531B1 (en) | Cache column multiplexing using redundant form addresses | |
| CN115658011B (en) | SRAM in-memory computing device of vector multiply adder and electronic equipment | |
| JP2950427B2 (en) | Register bank circuit | |
| JP2859645B2 (en) | Vector processing system | |
| SU1136176A1 (en) | Interface for linking memory with processor unit | |
| JP2778478B2 (en) | Correlation processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |