JPH05120321A - Method for operating matrix calculation - Google Patents

Method for operating matrix calculation

Info

Publication number
JPH05120321A
JPH05120321A JP28514691A JP28514691A JPH05120321A JP H05120321 A JPH05120321 A JP H05120321A JP 28514691 A JP28514691 A JP 28514691A JP 28514691 A JP28514691 A JP 28514691A JP H05120321 A JPH05120321 A JP H05120321A
Authority
JP
Japan
Prior art keywords
memory
data
processor
input
calculation
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
JP28514691A
Other languages
Japanese (ja)
Inventor
Mitsuharu Oki
光晴 大木
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP28514691A priority Critical patent/JPH05120321A/en
Publication of JPH05120321A publication Critical patent/JPH05120321A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To operate matrix calculation by using parallel processors in an SIMD system. CONSTITUTION:Circuits composed of at least one memory 100 and one processor element (operation processing circuit) 200 are parallelly arranged. The respective processor elements 200 can receive data from both adjacent memories as well in addition to the input/output of the correspondent memory 100. Thus, the data stored in the adjacent memories can be operated as well. By using these circuits, the matrix calculation is operated.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ビデオ信号処理におい
て特に有効な行列計算の演算方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a matrix calculation method particularly effective in video signal processing.

【0002】[0002]

【従来の技術】単一の制御信号にて複数の単位演算回路
の制御を行う(SIMD=single Instru
ction Multiple Data)方式の並列
プロセッサとは、複数のプロセッサーエレメントを並列
に配し、共通の命令(制御)信号を全てのプロセッサー
エレメントへ与えて、各プロセッサーエレメントでは同
じ演算処理をして行く回路である。
2. Description of the Related Art A plurality of unit arithmetic circuits are controlled by a single control signal (SIMD = single Install).
A parallel processor of the section multiple data) system is a circuit in which a plurality of processor elements are arranged in parallel, a common instruction (control) signal is given to all the processor elements, and each processor element performs the same arithmetic processing. is there.

【0003】代表的なSIMD方式の並列プロセッサの
回路構成を図1、図2に示す。図1において、1つのメ
モリ100と1つのプロセッサエレメント(演算処理回
路)200より成る回路を並列に配している。各プロセ
ッサエレメント(演算処理回路)では、対応するメモリ
との入出力の他に、両隣のメモリからもデータを受け取
ることが出来るようにしてある。これにより、隣のメモ
リに格納されているデータをも演算処理することが可能
となる。
A circuit configuration of a typical SIMD parallel processor is shown in FIGS. In FIG. 1, a circuit including one memory 100 and one processor element (arithmetic processing circuit) 200 is arranged in parallel. In each processor element (arithmetic processing circuit), in addition to input / output to / from the corresponding memory, data can be received from the memories on both sides. As a result, the data stored in the adjacent memory can be processed.

【0004】図1内のプロセッサエレメント(演算処理
回路)の詳細図を図2に示す。図2において、対応する
メモリ(m番目のプロセッサエレメント(演算処理回
路)ならm番目のメモリ)の出力Mからのデータ、左隣
のメモリ(m−1番目のメモリ)の出力Lからのデー
タ、及び右隣のメモリ(m+1番目のメモリ)の出力R
からのデータがデータバス10を介して乗算器20及び
2入力セレクタ(他方の入力は0)30に入力される。
乗算器20では係数メモリ40から読み出された係数と
の乗算が行われる。
A detailed view of the processor element (arithmetic processing circuit) in FIG. 1 is shown in FIG. In FIG. 2, the data from the output M of the corresponding memory (the m-th memory for the m-th processor element (arithmetic processing circuit)), the data from the output L of the memory (m-1th memory) on the left side, And the output R of the memory next to the right (m + 1st memory)
The data from is input to the multiplier 20 and the 2-input selector (the other input is 0) 30 via the data bus 10.
The multiplier 20 multiplies the coefficient read from the coefficient memory 40.

【0005】2入力セレクタ30は、加算入力セレクタ
メモリ50から読み出された選択信号(0、1)によ
り、1のときはデータバス10からの値、0のときは0
を加算器60に供給させる。
The 2-input selector 30 receives a value from the data bus 10 when it is 1 and 0 when it is 0 according to the selection signal (0, 1) read from the addition input selector memory 50.
Is supplied to the adder 60.

【0006】従って、加算入力セレクタメモリ50から
読み出す信号を1とすれば、(m番目のメモリ、あるい
はm−1番目のメモリ、あるいはm+1番目のメモリか
ら読み出されたデータ)×(係数メモリから読み出され
た係数)+(m番目のメモリ、あるいはm−1番目のメ
モリ、あるいはm+1番目のメモリから読み出されたデ
ータ)を計算し、データバス10を介してm番目のメモ
リの入力Mに入力することにより、m番目のメモリに上
述の乗加算結果を格納することが出来る。
Therefore, if the signal read from the addition input selector memory 50 is 1, (data read from the mth memory, the m-1th memory, or the m + 1th memory) .times. (From the coefficient memory) (Read coefficient) + (data read from the mth memory, or the m-1th memory, or the m + 1th memory) is calculated, and the input M of the mth memory is input via the data bus 10. By inputting into, the above-mentioned multiplication and addition result can be stored in the m-th memory.

【0007】また、加算入力セレクタメモリ50から読
み出す信号を0とすれば、(m番目のメモリ、あるいは
m−1番目のメモリ、あるいはm+1番目のメモリから
読み出されたデータ)×(係数メモリから読み出された
係数)を計算し、データバス10を介してm番目のメモ
リの入力Mに入力することにより、m番目のメモリに上
述の乗算結果を格納することが出来る。
If the signal read from the addition input selector memory 50 is 0, (data read from the mth memory, the m-1th memory, or the m + 1th memory) * (from the coefficient memory) By calculating the read coefficient) and inputting it to the input M of the mth memory via the data bus 10, the above multiplication result can be stored in the mth memory.

【0008】図2において、係数メモリ40のアドレス
制御、加算入力セレクタメモリ50のアドレス制御、ど
のメモリから入力されてきたデータを(データバスを介
して)乗算器20に入力するかの制御、及びどのメモリ
から入力されてきたデータを(データバスを介して)2
入力セレクタ30に入力するかの制御は、全てのプロセ
ッサエレメント(演算処理回路)200において共通の
制御信号(図1の演算処理制御信号)により行われる。
In FIG. 2, address control of the coefficient memory 40, address control of the addition input selector memory 50, control of which memory is input to the multiplier 20 (via the data bus), and Data input from any memory (via data bus) 2
Control of whether to input to the input selector 30 is performed by a common control signal (arithmetic processing control signal of FIG. 1) in all the processor elements (arithmetic processing circuits) 200.

【0009】図1において、メモリ100のアドレス制
御(即ち、出力Mに出力するデータの格納されている番
地の指定、入力Mに入力されるデータを格納する番地の
指定、出力Lに出力するデータの格納されている番地の
指定、出力Rに出力するデータの格納されている番地の
指定)は、全てのプロセッサエレメント(演算処理回
路)200において共通の制御信号(アドレス制御信
号)により行われる。
In FIG. 1, address control of the memory 100 (that is, designation of an address in which data to be output to the output M is stored, designation of an address to store data to be input to the input M, data to be output to the output L). The designation of the stored address and the designation of the stored address of the data to be output to the output R) are performed by a common control signal (address control signal) in all the processor elements (arithmetic processing circuits) 200.

【0010】図1のメモリ100と図2の係数メモリ4
0と加算入力セレクタメモリ50を1つのメモリにまと
めた構成もある。またハードウェアとしては、プロセッ
サエレメント(演算処理回路)200に加算器60しか
内蔵していないものもある。この場合、乗算を行うには
部分積(乗数と被乗数との論理和)を加算器60で累加
算していくことになり、演算サイクル数が長くなるとい
う欠点があるが、いずれにせよ図2に示す回路と同じ演
算を行うことが出来る。
The memory 100 of FIG. 1 and the coefficient memory 4 of FIG.
There is also a configuration in which 0 and the addition input selector memory 50 are integrated into one memory. In addition, as hardware, there is one in which only the adder 60 is built in the processor element (arithmetic processing circuit) 200. In this case, in order to perform the multiplication, the partial product (logical sum of the multiplier and the multiplicand) is cumulatively added by the adder 60, which has a disadvantage that the number of operation cycles becomes long. The same operation as the circuit shown in can be performed.

【0011】ビデオ信号処理においては、全ての画素に
対して同じ演算処理をすることが多いのでSIMD方式
で充分に対応でき不便はない。そしてSIMD方式なら
ば、命令(図1の演算処理制御信号、アドレス制御信
号)は共通だから、その命令を与える制御回路は1つで
済み回路規模が小さくなるという利点がある。
In video signal processing, since the same arithmetic processing is often performed on all pixels, the SIMD method can be sufficiently applied and there is no inconvenience. In the SIMD system, since the instructions (the arithmetic processing control signal and the address control signal in FIG. 1) are common, there is an advantage that only one control circuit needs to give the instruction and the circuit scale can be reduced.

【0012】しかし、ビデオ信号処理において、ある画
素同士は同じ演算処理をしない場合もある。即ち、一連
の入力画素データを4つずつの組
However, in the video signal processing, some pixels may not perform the same arithmetic processing. That is, a series of four sets of input pixel data

【数1】 に分け、それぞれ4次のベクトルとみなし、4×4定数
行列
[Equation 1] 4 × 4 constant matrix

【数2】 とそれぞれ乗算[Equation 2] And each multiply

【数3】 を行う処理もある。。[Equation 3] There is also a process to perform. .

【0013】このような一連の画素を複数の組に分割
し、そして各組内の画素データを1つのベクトルとみな
して固定係数行列との乗算をおこなう画像処理の例とし
て、離散コサイン変換(DCT=Discrete C
osine Transform)があげられる。
As an example of image processing in which such a series of pixels is divided into a plurality of sets, and pixel data in each set is regarded as one vector and multiplication with a fixed coefficient matrix is performed, a discrete cosine transform (DCT) is used. = Discrete C
osine Transform).

【0014】しかしながらこのような行列計算に関して
は、従来これを簡単に行う演算方法は知られていなかっ
た。
However, regarding such matrix calculation, a calculation method for easily performing this has not been known.

【0015】[0015]

【発明が解決しようとする課題】解決しようとする問題
点は、従来は単一の制御信号にて複数の単位演算回路の
制御を行う方式の並列プロセッサを用いて行列計算を簡
単に行う演算方法は知られていなかったというものであ
る。
A problem to be solved by the present invention is that an arithmetic method for easily performing matrix calculation by using a parallel processor of a system which conventionally controls a plurality of unit arithmetic circuits with a single control signal. Was not known.

【0016】[0016]

【課題を解決するための手段】本発明は、少なくとも1
つのメモリと1つの乗算及び加算を行うことが出来るプ
ロセッサエレメントとより成る単位演算回路を並列に複
数個配し、上記各プロセッサエレメントでは、対応する
メモリとの入出力の他に、両隣のメモリからもデータを
受け取ることが出来る構成を有し、単一の制御信号にて
上記複数の単位演算回路の制御を行う方式の並列プロセ
ッサに対して、一連の入力データを順次対応するメモリ
に格納するとともに、この一連の入力データをk組に分
割して、各組内の入力データを1つのk次ベクトルとみ
なしてk×k定数行列〔L i,j〕との乗算を行う行列計
算の演算方法において、最初に、nk+m(n,mは0
〜k−1の自然数)番目のプロセッサエレメントでは
〔L (i+m)mod(k),1〕と対応するメモリに格納されてい
る入力データ(Ank+m)との乗算を順次行う命令m
py(i)(i=0〜k−1)を順次並列プロセッサに
与えて計算させ、第2に、(対応するメモリ(h番目の
メモリ)に格納されているデータ)+Vh×(隣のメモ
リ(h−1、あるいはh+1番目のメモリ)に格納され
ているデータ)(但し、hmod(k)=0の時Vh=0、そ
れ以外の時はVh=1)を行う命令add1を複数回並
列プロセッサに与えて計算させ、第3に、Wh×(対応
するメモリ(h番目のメモリ)に格納されているデー
タ)+Yh×(上記add1とは反対側の隣のメモリ
(h+1、あるいはh−1番目のメモリ)に格納されて
いるデータ)(但し、hmod(k)=k−1の時Wh=1、
Yh=0、それ以外の時はWh=0、Yh=1)を行う
命令add2を複数回並列プロセッサに与えて計算さ
せ、第4に、命令add1を並列プロセッサに与えて計
算させるようにした行列計算の演算方法である。
SUMMARY OF THE INVENTION The present invention comprises at least one
A plurality of unit arithmetic circuits each including one memory and one processor element capable of performing one multiplication and addition are arranged in parallel. In each of the above processor elements, in addition to the input / output to / from the corresponding memory, both adjacent memory Also has a configuration capable of receiving data, and stores a series of input data in a corresponding memory sequentially for a parallel processor of a method of controlling the plurality of unit arithmetic circuits with a single control signal. , This series of input data is divided into k sets, the input data in each set is regarded as one k-order vector, and multiplication with a k × k constant matrix [L i, j] is performed. First, nk + m (n and m are 0
In the (k-1 natural number) th processor element, an instruction m for sequentially multiplying [L (i + m) mod (k), 1] by the input data (Ank + m) stored in the corresponding memory
py (i) (i = 0 to k−1) is sequentially given to the parallel processors to be calculated, and secondly, (data stored in the corresponding memory (hth memory)) + Vh × (adjacent memory) (Data stored in h-1 or h + 1th memory) (however, if hmod (k) = 0, Vh = 0, otherwise, Vh = 1) Thirdly, Wh × (data stored in the corresponding memory (hth memory)) + Yh × (adjacent memory (h + 1, or h−1) opposite to the above add1 is calculated by the processor. Data stored in the second memory) (however, when hmod (k) = k−1, Wh = 1,
Yh = 0, otherwise Wh = 0, Yh = 1) The instruction add2 is given to the parallel processor multiple times for calculation, and fourth, the instruction add1 is given to the parallel processor for calculation. This is a calculation method.

【0017】[0017]

【作用】これによれば、単一の制御信号にて複数の単位
演算回路の制御を行う方式の並列プロセッサを用いて、
行列計算の演算を簡単に行うことが出来る。
According to this, by using a parallel processor of a system for controlling a plurality of unit arithmetic circuits with a single control signal,
The matrix calculation can be easily performed.

【0018】[0018]

【実施例】例えば、1つのメモリと1つの乗算及び加算
を行うことが出来るプロセッサエレメント(演算処理回
路)より成る回路を並列に複数個配し、各プロセッサエ
レメント(演算処理回路)では、対応するメモリとの入
出力の他に、両隣のメモリからもデータを受け取ること
が出来る構成をしているSIMD方式の並列プロセッサ
が設けられる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS For example, a plurality of circuits each including one memory and one processor element (arithmetic processing circuit) capable of performing multiplication and addition are arranged in parallel, and each processor element (arithmetic processing circuit) corresponds to each circuit. In addition to the input / output to / from the memory, a SIMD type parallel processor having a structure capable of receiving data from the memories on both sides is provided.

【0019】この並列プロセッサに、一連の入力データ
・・・An-1,Bn-1,Cn-1,Dn-1,An,Bn,Cn,Dn,An+
1,Bn+1,Cn+1,Dn+1,・・・を、・・・4(n−1)番
目のメモリ、4(n−1)+1番目のメモリ、4(n−
1)+2番目のメモリ、4(n−1)+3番目のメモ
リ、4n番目のメモリ、4n+1番目のメモリ、4n+
2番目のメモリ、4n+3番目のメモリ、4(n+1)
番目のメモリ、4(n+1)+1番目のメモリ、4(n
+1)+2番目のメモリ、4(n+1)+3番目のメモ
リ、・・・に格納する。
In this parallel processor, a series of input data ... An-1, Bn-1, Cn-1, Dn-1, An, Bn, Cn, Dn, An +.
1, Bn + 1, Cn + 1, Dn + 1, ..., 4 (n-1) th memory, 4 (n-1) + 1th memory, 4 (n-
1) + 2nd memory, 4 (n-1) + 3rd memory, 4nth memory, 4n + 1th memory, 4n +
2nd memory, 4n + 3rd memory, 4 (n + 1)
Th memory, 4 (n + 1) + 1th memory, 4 (n
+1) + 2nd memory, 4 (n + 1) + 3rd memory ,.

【0020】この格納された一連の入力データを4(=
k)つの組に分割し、そして各組内の入力データを1つ
の4次ベクトル
This stored series of input data is converted into 4 (=
k) split into sets, and the input data in each set is a quaternary vector

【数4】 とみなし、4×4定数行列[Equation 4] And a 4 × 4 constant matrix

【数5】 との乗算[Equation 5] Multiplication with

【数6】 を行う。[Equation 6] I do.

【0021】すなわち、4、8、12、16・・・番目
のプロセッサエレメント(演算処理回路)では、L i,0
(i=0の時E 0、i=1の時F 0、i=2の時G 0、
i=3の時H 0)と、対応するメモリに格納されている
入力データA 4、A 8、A12、A16・・・との乗算(L
i,0×A 4、L i,0×A 8、L i,0×A12、L i,0×A
16・・・)を行う。
That is, in the 4, 8, 12, 16 ... Processor elements (arithmetic processing circuits), L i, 0
(E 0 when i = 0, F 0 when i = 1, G 0 when i = 2,
When i = 3, H 0) is multiplied by the input data A 4, A 8, A 12, A 16 ...
i, 0 × A 4, L i, 0 × A 8, L i, 0 × A 12, L i, 0 × A
16 ...)

【0022】それと同時に、5、9、13、17・・・
番目のプロセッサエレメント(演算処理回路)では、L
(i+1)mod(4),1(i=0の時F 1、i=1の時G 1、i
=2の時H 1、i=3の時E 1)と、対応するメモリに
格納されている入力データA5、A 9、A13、A17・・
・との乗算(L (i+1)mod(4),1×A 5、L (i+1)mod
(4),1×A 9、L (i+1)mod(4),1×A13、L (i+1)mod
(4),1×A17・・・)を行う。
At the same time, 5, 9, 13, 17 ...
In the th processor element (arithmetic processing circuit), L
(i + 1) mod (4), 1 (F 1 when i = 0, G 1 when i = 1, i
= 2, H 1 when i = 3, E 1) when i = 3, and the input data A5, A9, A13, A17 ...
・ Multiply with (L (i + 1) mod (4), 1 × A 5, L (i + 1) mod
(4), 1 × A 9, L (i + 1) mod (4), 1 × A 13, L (i + 1) mod
(4), 1 × A17 ...)

【0023】それと同時に、6、10、14、18・・
・番目のプロセッサエレメント(演算処理回路)では、
L (i+2)mod(4),2(i=0の時G 2、i=1の時H 2、
i=2の時E 2、i=3の時F2)と、対応するメモリ
に格納されている入力データA 6、A10、A14、A18・
・・との乗算(L (i+2)mod(4),2×A 6、L (i+2)mod
(4),2×A10、L (i+2)mod(4),2×A14、L (i+2)mod
(4),2×A18・・・)を行う。
At the same time, 6, 10, 14, 18 ...
-In the th processor element (arithmetic processing circuit),
L (i + 2) mod (4), 2 (G 2 when i = 0, H 2 when i = 1,
E 2 when i = 2, F 2 when i = 3), and the input data A 6, A 10, A 14, A 18 stored in the corresponding memory.
..Multiplication with (L (i + 2) mod (4), 2 × A 6, L (i + 2) mod
(4), 2 × A10, L (i + 2) mod (4), 2 × A14, L (i + 2) mod
(4), 2 × A18 ...)

【0024】それと同時に、7、11、15、1
9、... 番目のプロセッサエレメント(演算処理回路)
では、L (i+3)mod(4),3(i=0の時H 3、i=1の時
E 3、i=2の時F 3、i=3の時G 3)と、対応する
メモリに格納されている入力データA 7、A11、A15、
A19・・・との乗算(L (i+3)mod(4),3×A 7、L (i+
3)mod(4),3×A11、L (i+3)mod(4),3×A15、L (i+3)
mod(4),3×A19・・・)を行う命令mpy(i)(i=
0〜3)を 順次 並列プロセッサに与えて計算させ
る。
At the same time, 7, 11, 15, 1
9th, ... th processor element (arithmetic processing circuit)
Then, L (i + 3) mod (4), 3 (H 3 when i = 0, E 3 when i = 1, F 3 when i = 2, G 3 when i = 3) correspond to Input data A 7, A 11, A 15, stored in the memory
Multiplying with A19 ... (L (i + 3) mod (4), 3 × A 7, L (i +
3) mod (4), 3 × A11, L (i + 3) mod (4), 3 × A15, L (i + 3)
An instruction mpy (i) (i =) for performing mod (4), 3 × A19 ...
0 to 3) are sequentially given to a parallel processor to be calculated.

【0025】次に(h番目のメモリに格納されているデ
ータ)+V h×(h−1番目のメモリに格納されている
データ)(但し、hmod(4)=0の時V h=0、それ以外
の時はV h=1)を行う命令add1を3回並列プロセ
ッサに与えて計算させる。
Next, (data stored in the h-th memory) + V h × (data stored in the (h−1) -th memory) (however, when hmod (4) = 0, V h = 0, In the other cases, the instruction add1 for performing Vh = 1) is given to the parallel processor three times to perform calculation.

【0026】そして次にW h×(h番目のメモリに格納
されているデータ)+Y h×(h+1番目のメモリに格
納されているデータ)(但し、hmod(4)=3の時W h=
1、Y h=0、それ以外の時はWh=0、Y h=1)を
行う命令add2を3回並列プロセッサに与えて計算さ
せる。最後に、命令add1を1回並列プロセッサに与
えて計算させる。
Then, W h × (data stored in the h-th memory) + Y h × (data stored in the h + 1-th memory) (however, when hmod (4) = 3, W h =
1, Y h = 0, otherwise Wh = 0, Y h = 1) The instruction add2 is given to the parallel processor three times for calculation. Finally, the instruction add1 is given to the parallel processor once to be calculated.

【0027】これによって4×4定数行列との乗算が行
われ、この演算方法によれば、従来に比べ演算サイクル
数が少なくて済む。
As a result, multiplication with a 4 × 4 constant matrix is performed, and according to this calculation method, the number of calculation cycles can be reduced as compared with the conventional method.

【0028】以下、k=4の場合について具体的に説明
する。即ち、一連の入力データ・・・An-1,Bn-1,Cn-
1,Dn-1,An,Bn,Cn,Dn,An+1,Bn+1,Cn+1,Dn+1,・
・・を、・・・4(n−1)番目のメモリ、4(n−
1)+1番目のメモリ、4(n−1)+2番目のメモ
リ、4(n−1)+3番目のメモリ、4n番目のメモ
リ、4n+1番目のメモリ、4n+2番目のメモリ、4
n+3番目のメモリ、4(n+1)番目のメモリ、4
(n+1)+1番目のメモリ、4(n+1)+2番目の
メモリ、4(n+1)+3番目のメモリ・・・に格納す
る。
The case of k = 4 will be specifically described below. That is, a series of input data ... An-1, Bn-1, Cn-
1, Dn-1, An, Bn, Cn, Dn, An + 1, Bn + 1, Cn + 1, Dn + 1, ...
.., ... 4 (n-1) th memory, 4 (n-)
1) + 1st memory, 4 (n-1) + 2nd memory, 4 (n-1) + 3rd memory, 4nth memory, 4n + 1th memory, 4n + 2nd memory, 4
n + 3rd memory, 4 (n + 1) th memory, 4
(N + 1) + 1th memory, 4 (n + 1) + 2nd memory, 4 (n + 1) + 3rd memory ...

【0029】この格納された一連の入力データを4(=
k)つの組に分割し、そして各組内の入力データを1つ
の4次ベクトル
This stored series of input data is converted into 4 (=
k) split into sets, and the input data in each set is a quaternary vector

【数7】 とみなし、4×4定数行列[Equation 7] And a 4 × 4 constant matrix

【数8】 との乗算[Equation 8] Multiplication with

【数9】 をおこなう場合について説明する。[Equation 9] The case of performing will be described.

【0030】この場合、図1のメモリ100は5ワード
(0〜4番地)の大きさのメモリで良い。図2の係数メ
モリ40は6ワード(0〜5番地)の大きさのメモリで
良い。加算入力セレクタメモリ50は3ワード(0〜2
番地)の大きさのメモリで良い。説明に当たり、図2を
具体化した回路図3を用いることにする。つまり、図1
及びプロセッサエレメント(演算処理回路)200とし
て図3を用いた並列プロセッサで演算を行う場合につい
て述べる。図3のL/Rセレクタ制御信号、係数メモリ
の番地指定信号、加算入力セレクタメモリの番地指定信
号が図1で言うところの演算処理制御信号である。
In this case, the memory 100 of FIG. 1 may be a memory having a size of 5 words (addresses 0 to 4). The coefficient memory 40 of FIG. 2 may be a memory having a size of 6 words (addresses 0 to 5). The addition input selector memory 50 has 3 words (0 to 2
A memory with the size of the address is sufficient. For the description, the circuit diagram 3 that embodies FIG. 2 will be used. That is, FIG.
A case will be described in which the parallel processor using FIG. 3 as the processor element (arithmetic processing circuit) 200 performs arithmetic. The L / R selector control signal, the address designating signal of the coefficient memory, and the address designating signal of the addition input selector memory in FIG. 3 are the arithmetic processing control signals referred to in FIG.

【0031】4、8、12・・・番目のプロセッサエレ
メント(演算処理回路)の係数メモリ40及び加算入力
セレクタメモリ50はあらかじめ図4のように設定して
おく。5、9、13・・・番目、6、10、14・・・
番目、7、11、15・・・番目のプロセッサエレメン
ト(演算処理回路)200も同様に図5、図6、図7の
ように設定しておく。
The coefficient memory 40 and the addition input selector memory 50 of the 4th, 8th, 12th, ... Processor elements (arithmetic processing circuits) are set in advance as shown in FIG. 5,9,13 ... th, 6,10,14 ...
The seventh, seventh, eleventh, fifteenth, ... Processor element (arithmetic processing circuit) 200 is similarly set as shown in FIGS. 5, 6, and 7.

【0032】一連の入力データ・・・An-1,Bn-1,Cn-
1,Dn-1,An,Bn,Cn,Dn,An+1,Bn+1,Cn+1,Dn+1,・
・・は、・・・4(n−1)番目のメモリ、4(n−
1)+1番目のメモリ、4(n−1)+2番目のメモ
リ、4(n−1)+3番目のメモリ、4n番目のメモ
リ、4n+1番目のメモリ、4n+2番目のメモリ、4
n+3番目のメモリ、4(n+1)番目のメモリ、4
(n+1)+1番目のメモリ、4(n+1)+2番目の
メモリ、4(n+1)+3番目のメモリ・・・の各0番
地に格納する。
A series of input data ... An-1, Bn-1, Cn-
1, Dn-1, An, Bn, Cn, Dn, An + 1, Bn + 1, Cn + 1, Dn + 1, ...
.. is the 4 (n-1) th memory, 4 (n-)
1) + 1st memory, 4 (n-1) + 2nd memory, 4 (n-1) + 3rd memory, 4nth memory, 4n + 1th memory, 4n + 2nd memory, 4
n + 3rd memory, 4 (n + 1) th memory, 4
(N + 1) + 1st memory, 4 (n + 1) + 2nd memory, 4 (n + 1) + 3rd memory, ...

【0033】従って、図1の4n番目のメモリ、4n+
1番目のメモリ、4n+2番目のメモリ、4n+3番目
のメモリの内容は、図9の第2表のようになる。但し、
第2表、及びこれ以降の説明においては、An,Bn,Cn,
Dn をA、B、C、Dとしている。また、4n〜4n+
3番目以外のメモリの内容も第2表と同様である。以下
の説明では、4n〜4n+3番目部分について述べてい
くが、他の部分も同様である。
Therefore, the 4nth memory in FIG.
The contents of the first memory, 4n + 2nd memory, and 4n + 3th memory are as shown in Table 2 of FIG. However,
In Table 2 and the following description, An, Bn, Cn,
Let Dn be A, B, C and D. Also, 4n to 4n +
The contents of the memories other than the third one are the same as in Table 2. In the following description, the 4n to 4n + third part will be described, but the other parts are also the same.

【0034】1サイクル目に、制御回路(図示省略)か
らの制御信号(図1のアドレス制御信号及び、演算処理
制御信号)として、図8の第1表の1サイクル目に示す
信号を与える。従って、4n番目のプロセッサエレメン
ト(演算処理回路)では、(4n番目の係数メモリ0番
地の値)×(4n番目のメモリ0番地の値)+0=E0
×Aが計算され、4n番目のメモリ1番地に格納され
る。4n+1〜4n+3番目についても同様であり、1
サイクル目終了時には図10の第3表となる。
In the first cycle, the signals shown in the first cycle of Table 1 of FIG. 8 are given as the control signals (address control signal and arithmetic processing control signal of FIG. 1) from the control circuit (not shown). Therefore, in the 4nth processor element (arithmetic processing circuit), (4nth coefficient memory 0 address value) × (4nth memory 0 address value) + 0 = E0
× A is calculated and stored in the 1st address of the 4nth memory. The same applies to the 4n + 1 to 4n + third, and 1
At the end of the cycle, the table shown in FIG.

【0035】2〜4サイクル目も制御回路から第1表の
2〜4サイクル目に示す信号を与える事で各サイクル終
了時には図11〜13の第4表〜第6表となる。5サイ
クル目に制御回路から第1表の5サイクル目に示す信号
を与える。従って、4n番目のプロセッサエレメント
(演算処理回路)では、(4n番目の係数メモリ4番地
の値)×(4n番目のメモリ2番地の値)+0=H 0×
Aが計算され、4n番目のメモリ2番地に格納される。
In the 2nd to 4th cycles, the signals shown in the 2nd to 4th cycles of Table 1 are given from the control circuit, and at the end of each cycle, the 4th to 6th tables of FIGS. 11 to 13 are obtained. At the 5th cycle, the control circuit gives the signal shown at the 5th cycle of Table 1. Therefore, in the 4n-th processor element (arithmetic processing circuit), (value of 4n-th coefficient memory address 4) × (value of 4n-th memory address 2) + 0 = H 0 ×
A is calculated and stored in the 2nd address of the 4nth memory.

【0036】4n+1番目のプロセッサエレメント(演
算処理回路)では、(4n+1番目の係数メモリ4番地
の値)×(4n+1番目のメモリ2番地の値)+(4n
番目のメモリ1番地の値)=E 0×A+E 1×Bが計算
され、4n+1のメモリ2番地に格納される。4n+
2、4n+3番目についても同様であり、5サイクル目
終了時には図14の第7表となる。
In the 4n + 1th processor element (arithmetic processing circuit), (4n + 1th coefficient memory 4th address value) × (4n + 1th memory 2nd address value) + (4n
The value of the 1st memory address 1) = E 0 × A + E 1 × B is calculated and stored in the memory address 2 of 4n + 1. 4n +
The same applies to the 2nd, 4n + 3rd, and Table 7 in FIG. 14 is obtained at the end of the fifth cycle.

【0037】6、7サイクル目も制御回路から第1表の
6、7サイクル目に示す信号を与える事で各サイクル終
了時には図16、図16の第8表、第9表となる。8サ
イクル目以降で使用しないデータをXで置き換えたメモ
リの内容を図17の第10表に記す。
Also in the 6th and 7th cycles, the signals shown in the 6th and 7th cycles of Table 1 are given from the control circuit, and at the end of each cycle, the tables shown in FIGS. Table 10 in FIG. 17 shows the contents of the memory in which unused data is replaced with X in the eighth and subsequent cycles.

【0038】8サイクル目に制御回路から第1表の8サ
イクル目に示す信号を与える。従って、4n+3番目の
プロセッサエレメント(演算処理回路)では、(4n+
3番目の係数メモリ5番地の値)×(4n+3番目のメ
モリ3番地の値)+0=F 1×B+F 2×C+F 3×D
が計算され、4n+3番目のメモリ3番地に格納され
る。
At the 8th cycle, the control circuit gives the signal shown at the 8th cycle of Table 1. Therefore, in the 4n + 3rd processor element (arithmetic processing circuit), (4n +
Value of third coefficient memory 5) × (4n + value of third memory 3) + 0 = F 1 × B + F 2 × C + F 3 × D
Is calculated and stored in the 4n + 3rd memory address 3.

【0039】4n+2番目のプロセッサエレメント(演
算処理回路)では、(4n+2番目の係数メモリ5番地
の値)×(4n+2番目のメモリ3番地の値)+(4n
+3番目のメモリ4番地の値)=0×(4n+2番目の
メモリ3番地の値)+(4n+3番目のメモリ4番地の
値)=E 0×A+E 1×B+E 2×C+E 3×Dが計算
され、4n+2番目のメモリ3番地に格納される。4
n、4n+1番目についても同様であり、8サイクル目
終了時には図18の第11表となる。
In the 4n + 2nd processor element (arithmetic processing circuit), (4n + value of 5th coefficient memory address 5) × (4n + value of 2nd memory address 3) + (4n
+ Value of third memory address 4) = 0 × (4n + value of second memory address 3) + (4n + value of third memory address 4) = E 0 × A + E 1 × B + E 2 × C + E 3 × D is calculated. 4n + 2 is stored in the third memory address. Four
The same applies to the nth, 4n + 1th, and the end of the eighth cycle results in Table 11 in FIG.

【0040】9、10サイクル目も制御回路から第1表
の9、10サイクル目に示す信号を与える事で各サイク
ル終了時には図19、図20の第12表、第13表とな
る。11サイクル目で使用しないデータをXで置き換え
たメモリの内容を図21の第14表に記す。
In the 9th and 10th cycles, the signals shown in the 9th and 10th cycles of Table 1 are given from the control circuit, so that the 12th and 13th tables of FIGS. 19 and 20 are obtained at the end of each cycle. The contents of the memory obtained by replacing the unused data in the 11th cycle with X are shown in Table 14 of FIG.

【0041】11サイクル目に制御回路から第1表の1
1サイクル目に示す信号を与える。従って、4n番目の
プロセッサエレメント(演算処理回路)では、(4n番
目の係数メモリ4番地の値)×(4n番目のメモリ1番
地の値)+0=E 0×A+E1×B+E 2×C+E 3×
Dが計算され、4n番目のメモリ0番地に格納される。
In the 11th cycle, the control circuit outputs 1 in Table 1
The signal shown in the first cycle is given. Therefore, in the 4nth processor element (arithmetic processing circuit), (value of 4nth coefficient memory address 4) × (value of 4nth memory address 1) + 0 = E 0 × A + E 1 × B + E 2 × C + E 3 ×
D is calculated and stored in the 0th address of the 4nth memory.

【0042】4n+1番目のプロセッサエレメント(演
算処理回路)では、(4n+1番目の係数メモリ4番地
の値)×(4n+1番目のメモリ1番地の値)+(4n
番目のメモリ4番地の値)=F 0×A+F 1×B+F 2
×C+F 3×Dが計算され、4n+1のメモリ0番地に
格納される。4n+2、4n+3番目についても同様で
あり、11サイクル目終了時には図22の第15表とな
る。
In the 4n + 1th processor element (arithmetic processing circuit), (4n + 1th coefficient memory 4th address value) × (4n + 1th memory 1st address value) + (4n
Value of the 4th memory) = F 0 × A + F 1 × B + F 2
× C + F 3 × D is calculated and stored in the memory address 0 of 4n + 1. The same applies to the 4n + 2, 4n + 3th, and when the 11th cycle ends, the table shown in FIG.

【0043】従って、11サイクル目終了後に各メモリ
の0番地のデータを図1では図示省略した出力端子から
取り出すことにより
Therefore, after completion of the 11th cycle, the data at address 0 of each memory is taken out from the output terminal not shown in FIG.

【数10】 を取り出すことが出来る。[Equation 10] Can be taken out.

【0044】こうして上述の方法によれば、単一の制御
信号にて複数の単位演算回路の制御を行う方式の並列プ
ロセッサを用いて、行列計算の演算を簡単に行うことが
出来るものである。
Thus, according to the above method, the matrix calculation can be easily performed by using the parallel processor of the method of controlling a plurality of unit arithmetic circuits with a single control signal.

【0045】なお上述の図3の回路構成においては、命
令mpy(i)(i=0〜k−1)と命令add1を1
度に行うことも出来る。例えば、上述の例(k=4の場
合)で係数メモリ及び加算入力セレクタメモリは、あら
かじめ上述と同じく第4図〜第7図のように設定してお
く。そして図23の第16表に示す信号を各サイクルで
与えることにより、各サイクルの終了時には、図24〜
図34の第17表〜第27表のようになり、8サイクル
で演算を行うことが出来る。すなわちこの例では、第4
表〜第6表の命令mpy(i)(i=0〜k−1)と第
7表〜第9表の命令add1を、第19表〜第21表に
示すように1度に行っている。
In the circuit configuration shown in FIG. 3, the instruction mpy (i) (i = 0 to k-1) and the instruction add1 are set to 1
You can also do it every time. For example, in the above example (when k = 4), the coefficient memory and the addition input selector memory are set in advance as shown in FIGS. 4 to 7 as described above. By applying the signals shown in Table 16 of FIG. 23 in each cycle, at the end of each cycle, as shown in FIG.
As shown in Tables 17 to 27 of FIG. 34, the operation can be performed in 8 cycles. That is, in this example, the fourth
The instruction mpy (i) (i = 0 to k-1) in Tables to Table 6 and the instruction add1 in Tables 7 to 9 are performed at one time as shown in Tables 19 to 21. ..

【0046】こうしてこの方法においても、単一の制御
信号にて複数の単位演算回路の制御を行う方式の並列プ
ロセッサを用いて、行列計算の演算を簡単に行うことが
出来るものである。
As described above, also in this method, the matrix calculation can be easily performed by using the parallel processor of the method of controlling the plurality of unit arithmetic circuits by the single control signal.

【0047】また上述では、特に画像データを例にとり
説明したが、それ以外のデータを扱っても良い。
In the above description, the image data has been described as an example, but other data may be used.

【0048】[0048]

【発明の効果】この発明によれば、単一の制御信号にて
複数の単位演算回路の制御を行う方式の並列プロセッサ
を用いて、行列計算の演算を簡単に行うことができるよ
うになった。
According to the present invention, it becomes possible to easily perform matrix calculation by using a parallel processor which controls a plurality of unit arithmetic circuits by a single control signal. ..

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

【図1】本発明による行列計算の演算方法を実施する並
列プロセッサの一例の構成図である。
FIG. 1 is a configuration diagram of an example of a parallel processor that implements a calculation method for matrix calculation according to the present invention.

【図2】そのプロセッサエレメントの一例の構成図であ
る。
FIG. 2 is a configuration diagram of an example of the processor element.

【図3】そのメモリ設定の一例の説明図である。FIG. 3 is an explanatory diagram of an example of the memory setting.

【図4】そのメモリ設定の一例の説明図である。FIG. 4 is an explanatory diagram of an example of the memory setting.

【図5】そのメモリ設定の一例の説明図である。FIG. 5 is an explanatory diagram of an example of the memory setting.

【図6】そのメモリ設定の一例の説明図である。FIG. 6 is an explanatory diagram of an example of the memory setting.

【図7】そのメモリ設定の一例の説明図である。FIG. 7 is an explanatory diagram of an example of the memory setting.

【図8】動作を説明する第1表の図である。FIG. 8 is a table in Table 1 for explaining the operation.

【図9】途中の状態を示す第2表の図である。FIG. 9 is a second table showing a state in the middle of the process.

【図10】途中の状態を示す第3表の図である。FIG. 10 is a diagram of Table 3 showing a state in the middle of the process.

【図11】途中の状態を示す第4表の図である。FIG. 11 is a diagram of a fourth table showing an intermediate state.

【図12】途中の状態を示す第5表の図である。FIG. 12 is a diagram of Table 5 showing a state in the middle of the process.

【図13】途中の状態を示す第6表の図である。FIG. 13 is a diagram of Table 6 showing a state in the middle of the process.

【図14】途中の状態を示す第7表の図である。FIG. 14 is a diagram of Table 7 showing a state in the middle of the process.

【図15】途中の状態を示す第8表の図である。FIG. 15 is a diagram of Table 8 showing a state in the middle of the process.

【図16】途中の状態を示す第9表の図である。FIG. 16 is a diagram of Table 9 showing a state in the middle of the process.

【図17】途中の状態を示す第10表の図である。FIG. 17 is a diagram of Table 10 showing a state in the middle of the process.

【図18】途中の状態を示す第11表の図である。FIG. 18 is a diagram of Table 11 showing a state in the middle of the process.

【図19】途中の状態を示す第12表の図である。FIG. 19 is a diagram of Table 12 showing an intermediate state.

【図20】途中の状態を示す第13表の図である。FIG. 20 is a diagram of Table 13 showing a state in the middle of the process.

【図21】途中の状態を示す第14表の図である。FIG. 21 is a diagram of Table 14 showing an intermediate state.

【図22】途中の状態を示す第15表の図である。FIG. 22 is a diagram of Table 15 showing a state in the middle of the process.

【図23】動作を説明する第16表の図である。FIG. 23 is a table in Table 16 explaining the operation.

【図24】途中の状態を示す第17表の図である。FIG. 24 is a diagram of Table 17 showing a state in the middle of the process.

【図25】途中の状態を示す第18表の図である。FIG. 25 is a diagram of Table 18 showing a state in the middle of the process.

【図26】途中の状態を示す第19表の図である。FIG. 26 is a chart of Table 19 showing a state in the middle of the process.

【図27】途中の状態を示す第20表の図である。FIG. 27 is a diagram of Table 20 showing a state in the middle of the process.

【図28】途中の状態を示す第21表の図である。FIG. 28 is a diagram of Table 21 showing an intermediate state.

【図29】途中の状態を示す第22表の図である。FIG. 29 is a diagram of Table 22 showing a state in the middle of the process.

【図30】途中の状態を示す第23表の図である。FIG. 30 is a table of Table 23 showing a state in the middle of the process.

【図31】途中の状態を示す第24表の図である。FIG. 31 is a diagram of Table 24 showing an intermediate state.

【図32】途中の状態を示す第25表の図である。FIG. 32 is a diagram of Table 25 showing an intermediate state.

【図33】途中の状態を示す第26表の図である。FIG. 33 is a table of Table 26 showing a state in the middle of the process.

【図34】途中の状態を示す第27表の図である。FIG. 34 is a diagram of Table 27 showing a state in the middle of the process.

【符号の説明】[Explanation of symbols]

100 メモリ 200 プロセッサエレメント(演算処理回路) 10 データバス 20 乗算器 30 2入力セレクタ 40 係数メモリ 50 加算入力セレクタメモリ 60 加算器60 100 memory 200 processor element (arithmetic processing circuit) 10 data bus 20 multiplier 30 2 input selector 40 coefficient memory 50 addition input selector memory 60 adder 60

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも1つのメモリと1つの乗算及
び加算を行うことが出来るプロセッサエレメントとより
成る単位演算回路を並列に複数個配し、 上記各プロセッサエレメントでは、対応するメモリとの
入出力の他に、両隣のメモリからもデータを受け取るこ
とが出来る構成を有し、 単一の制御信号にて上記複数の単位演算回路の制御を行
う方式の並列プロセッサに対して、 一連の入力データを順次対応するメモリに格納するとと
もに、この一連の入力データをk組に分割して、各組内
の入力データを1つのk次ベクトルとみなしてk×k定
数行列〔L i,j〕との乗算を行う行列計算の演算方法に
おいて、 最初に、nk+m(n,mは0〜k−1の自然数)番目
のプロセッサエレメントでは〔L (i+m)mod(k),1〕と対
応するメモリに格納されている入力データ(Ank+
m)との乗算を順次行う命令mpy(i)(i=0〜k
−1)を順次並列プロセッサに与えて計算させ、 第2に、(対応するメモリ(h番目のメモリ)に格納さ
れているデータ)+Vh×(隣のメモリ(h−1、ある
いはh+1番目のメモリ)に格納されているデータ)
(但し、hmod(k)=0の時Vh=0、それ以外の時はV
h=1)を行う命令add1を複数回並列プロセッサに
与えて計算させ、 第3に、Wh×(対応するメモリ(h番目のメモリ)に
格納されているデータ)+Yh×(上記add1とは反
対側の隣のメモリ(h+1、あるいはh−1番目のメモ
リ)に格納されているデータ)(但し、hmod(k)=k−
1の時Wh=1、Yh=0、それ以外の時はWh=0、
Yh=1)を行う命令add2を複数回並列プロセッサ
に与えて計算させ、 第4に、命令add1を並列プロセッサに与えて計算さ
せるようにした行列計算の演算方法。
1. A plurality of unit arithmetic circuits each including at least one memory and one processor element capable of performing multiplication and addition are arranged in parallel, and each of the processor elements has an input / output circuit to and from a corresponding memory. In addition, it has a structure that can receive data from the memory on both sides, and outputs a series of input data to a parallel processor that controls a plurality of unit arithmetic circuits with a single control signal. While storing in a corresponding memory, this series of input data is divided into k sets, and the input data in each set is regarded as one k-order vector and multiplied by a k × k constant matrix [L i, j]. In the calculation method of the matrix calculation for performing the following, first, in the memory element corresponding to [L (i + m) mod (k), 1] in the nk + m (n, m is a natural number of 0 to k−1) processor element. Stored Input data (Ank +
instruction mpy (i) (i = 0 to k) for sequentially performing multiplication with m)
−1) is sequentially given to the parallel processors to be calculated, and secondly, (data stored in the corresponding memory (hth memory)) + Vh × (adjacent memory (h−1 or h + 1th memory) Data stored in))
(However, when hmod (k) = 0, Vh = 0; otherwise, Vh
The instruction add1 for executing h = 1) is given to the parallel processor a plurality of times to be calculated, and thirdly, Wh × (data stored in the corresponding memory (hth memory)) + Yh × (opposite to the above add1. Data stored in the adjacent memory (h + 1 or h-1th memory) on the side (however, hmod (k) = k-
When 1, Wh = 1, Yh = 0, otherwise Wh = 0,
The operation method of matrix calculation in which the instruction add2 for performing Yh = 1) is given to the parallel processor a plurality of times for calculation, and fourthly, the instruction add1 is given to the parallel processor for calculation.
JP28514691A 1991-10-30 1991-10-30 Method for operating matrix calculation Pending JPH05120321A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28514691A JPH05120321A (en) 1991-10-30 1991-10-30 Method for operating matrix calculation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28514691A JPH05120321A (en) 1991-10-30 1991-10-30 Method for operating matrix calculation

Publications (1)

Publication Number Publication Date
JPH05120321A true JPH05120321A (en) 1993-05-18

Family

ID=17687694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28514691A Pending JPH05120321A (en) 1991-10-30 1991-10-30 Method for operating matrix calculation

Country Status (1)

Country Link
JP (1) JPH05120321A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092252A (en) * 2003-09-11 2005-04-07 Matsushita Electric Ind Co Ltd Arithmetic processor
JP2008512762A (en) * 2004-09-09 2008-04-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Interconnection in SIMD processor architecture

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092252A (en) * 2003-09-11 2005-04-07 Matsushita Electric Ind Co Ltd Arithmetic processor
JP4663223B2 (en) * 2003-09-11 2011-04-06 パナソニック株式会社 Arithmetic processing unit
JP2008512762A (en) * 2004-09-09 2008-04-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Interconnection in SIMD processor architecture

Similar Documents

Publication Publication Date Title
US5181183A (en) Discrete cosine transform circuit suitable for integrated circuit implementation
US4601006A (en) Architecture for two dimensional fast fourier transform
US4839851A (en) Programmable data path device
US5331585A (en) Orthogonal transformation processor for compressing information
US5452466A (en) Method and apparatus for preforming DCT and IDCT transforms on data signals with a preprocessor, a post-processor, and a controllable shuffle-exchange unit connected between the pre-processor and post-processor
CA2310418C (en) Apparatus for multiprecision integer arithmetic
US4769779A (en) Systolic complex multiplier
JPS6125188B2 (en)
US6189021B1 (en) Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations
US5764558A (en) Method and system for efficiently multiplying signed and unsigned variable width operands
US5949920A (en) Reconfigurable convolver circuit
EP0997828A2 (en) Signal processing distributed arithmetic architecture
US5784306A (en) Parallel multiply accumulate array circuit
US4704680A (en) Address computation system for updating starting addresses of data arrays in an array processor within an instruction cycle
US4764974A (en) Apparatus and method for processing an image
JPH033262B2 (en)
JP2001067206A (en) System and method for executing modular multiplication
JPH05120321A (en) Method for operating matrix calculation
JPH07152730A (en) Discrete cosine transformation device
JP3333779B2 (en) Matrix arithmetic unit
US4987557A (en) System for calculation of sum of products by repetitive input of data
US5535151A (en) Electronic processor for performing multiplication
JP2790911B2 (en) Orthogonal transform operation unit
JPS5979349A (en) Arithmetic device
JP2889244B2 (en) Image processing device