[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH0194477A - Signal processor - Google Patents

Signal processor

Info

Publication number
JPH0194477A
JPH0194477A JP62252791A JP25279187A JPH0194477A JP H0194477 A JPH0194477 A JP H0194477A JP 62252791 A JP62252791 A JP 62252791A JP 25279187 A JP25279187 A JP 25279187A JP H0194477 A JPH0194477 A JP H0194477A
Authority
JP
Japan
Prior art keywords
input
register
adder
output
data
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
JP62252791A
Other languages
Japanese (ja)
Inventor
Ichiro Kuroda
黒田 一朗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP62252791A priority Critical patent/JPH0194477A/en
Publication of JPH0194477A publication Critical patent/JPH0194477A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To perform discrete cosine conversion in a short time by providing a multiplicand data storing register file, an adder subtracter input register file and an accumulation register file at the circuit constitution of a multiplication-accumulation-type. CONSTITUTION:The title processor is equipped with a register file consisting of 8 accumulation registers 13-20, and the access of a data memory 2 at every butterfly stage is made unnecessary. Further, adder-subtracter input register files 8-11 to prepare for the 2-input of an adder-subtracter is provided, data are directly transferred from the data memory 2 to them, and a bus neck at the time of a memory access is eliminated. In addition, multiplicand register files 4-6 are provided for the one-input of a multiplier 7, paths to directly store the outputs of the adder-subtracter 12 are provided at them, and the data between the different butterfly stages are efficiently exchanged. Thus, the time necessary for the discrete cosine conversion operation is reduced.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は画像符号化などにおいて用いられる離散コサイ
ン変換の高速化アルゴリズムを小規模な〔従来の技術〕 N次元ベクトルとすると CF)=2/N(AN)(f )       (tl
と表わせる。ただし、 (AN)=(c(k)cos(2j+l)kπ/2N)
;j=に=LL・・・・・・5(Nt) 但し、C(k )−”1/2 ’/”−・・−f o 
r  k=0c(k)=1・・・・・・・・・・・・・
・・for k=1.2.・・・・・、N−1である。
[Detailed Description of the Invention] [Industrial Field of Application] The present invention provides a small-scale [prior art] algorithm for speeding up discrete cosine transform used in image encoding, etc. When an N-dimensional vector is used, CF) = 2/ N(AN)(f)(tl
It can be expressed as However, (AN)=(c(k)cos(2j+l)kπ/2N)
;j=to=LL...5(Nt) However, C(k)-"1/2'/"-...-f o
r k=0c(k)=1・・・・・・・・・・・・・
...for k=1.2. ..., N-1.

以上に示した離散コサイン変換演算を高速に実現するア
ルゴリズムが1977年アイイーイーイー(IEEE)
発行のトランザクションズ オン コミエニケーシ!1
/ズ(Transactions on Co −ィチ
・チェノ(W、H,Chen)らによる論文”アジアス
ト コンビエテーシ曹ナル アルゴリズム7オー ザ 
ディスクリート コサイントランス7オーム(A Fa
st Computational Algo −ri
thm for the Discrete Co51
ne Tra −nsform)”において示されてい
る。例えば以上のサイン変換に対しては26回の加減算
、16回の乗算が必要であることがわかる。
An algorithm for quickly implementing the discrete cosine transform operation described above was published in 1977 by the IEEE.
Published by Transactions on Komienikesi! 1
Transactions on Co-paper by W, H, Chen et al.
Discrete cosine transformer 7 ohm (A Fa
st Computational Algo-ri
thm for the Discrete Co51
For example, it can be seen that the above sine conversion requires 26 additions/subtractions and 16 multiplications.

これにより乗算器と加算器とを1つずつ有し乗算及び加
減算の双方を1マシンサイクル毎に実現できるプロセッ
サでは乗算と加減算を同時に行なうことにより8点高速
離散コサイン変換を26ステツプで実現できることが理
論的には可能である。
This means that a processor that has one multiplier and one adder and can perform both multiplication and addition/subtraction in each machine cycle can perform 8-point high-speed discrete cosine transformation in 26 steps by performing multiplication and addition/subtraction simultaneously. Theoretically possible.

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

この演算を従来多くのシグナルプロセッサが採用してき
た乗算累算型の回路構成、即ち累算レジスタ出力と乗算
器出久との加減算を行なうのて適した回路構成で実現す
る為には、次に示す問題が生ずる。
In order to realize this operation with a multiplication-accumulation type circuit configuration that has been adopted by many signal processors in the past, that is, a circuit configuration suitable for performing addition and subtraction between the accumulation register output and the multiplier Izuku, the following steps are required: The problem shown arises.

第2図のシグナルフローグラフから8点離散コサイン変
換は4段(一部は3段)のバタフライ段から構成される
が各段ごとにデータメモリに格納すると56回のメモリ
アクセスが必要になる為、演算に26ステツプ以上必要
になる。また全部で133個在バタフライのうち、乗算
をともなわない加減算だけめバタフライが8個在る為、
累算レジスタの内容と乗算器出力との加算忙適した回路
構成のみでは8点コサイン変換を最小ステップで実現す
るのは困難である。
From the signal flow graph in Figure 2, the 8-point discrete cosine transform consists of 4 butterfly stages (some are 3 stages), but if each stage is stored in the data memory, 56 memory accesses are required. , more than 26 steps are required for the calculation. Also, out of a total of 133 butterflies, there are 8 butterflies that only perform addition and subtraction without multiplication.
Addition of the contents of the accumulation register and the multiplier output is difficult to realize the 8-point cosine transformation in the minimum steps using only a suitable circuit configuration.

本発明の目的は、乗算累算型の回路構成を持ちながら離
散コサイン変換を短時間で行なうことのできるシグナル
プロセッサを提供することに在る。
SUMMARY OF THE INVENTION An object of the present invention is to provide a signal processor that can perform discrete cosine transformation in a short time while having a multiplication-accumulation type circuit configuration.

〔問題点t−解決するための手段〕[Problem t-Means for solving]

本発明の乗算累算型の回路構成を有するシグナルプロセ
ッサは、データバスと、該データバスに接続された読み
書き可能なデータメモリと、読み格納する被乗数データ
格納レジスタファイルと、前記係数メモリの出力を格納
する乗数データ格納レジスタと、前記被乗数データ格納
レジスタファイルの出力と前記乗数データ格納レジスタ
の出力との乗算を行なう乗算器と、前記データメモリの
出力を格納する第1の加減算器入力レジスタファイルと
、前記データメモリの出力を格納する第2の加減算器入
力レジスタファイルと、前記第1の加減算器入力レジス
タファイルの出力及び第2の処理データの何れかを選択
して第1の入力とし、前記第2の加減算器入力レジスタ
ファイルの出力及び前記乗算器の出力及びデータバス上
のデータの倒れかを選択して第2の入力とし、前記第1
の入力と、前記第2の入力との加減算を行ない前記第1
の処理データを出力する加減算器と、前記乗算器の出力
及び前記加減算器の出力を格納するとともに前記第2の
処理データの出力および、前記データバスへのデータ出
力をする累算レジスタファイルと、前述した各構成要素
を制御する制御部とから少なくとも構成さ些る。
A signal processor having a multiply-accumulate circuit configuration according to the present invention includes a data bus, a read/write data memory connected to the data bus, a multiplicand data storage register file for reading and storing, and an output of the coefficient memory. a multiplier for multiplying the output of the multiplicand data storage register file by the output of the multiplier data storage register; and a first adder/subtractor input register file for storing the output of the data memory. , select one of the second adder/subtractor input register file storing the output of the data memory, the output of the first adder/subtractor input register file, and the second processing data as the first input; The output of the second adder/subtractor input register file, the output of the multiplier, and the collapse of data on the data bus are selected as second inputs, and
and the second input to obtain the first
an adder/subtracter that outputs processed data; an accumulation register file that stores the output of the multiplier and the output of the adder/subtracter, outputs the second processed data, and outputs data to the data bus; The control unit includes at least a control unit that controls each of the above-mentioned components.

・I 〔作用・原理〕 本発明のシグナルプロセッサでは積和演算を効率よく行
なえる乗算累算型の回路構成において、まず、8個の累
算レジスタからなるレジスタファイルを備えることによ
り各バタフライ段毎のデータメモリのアクセスを不用に
し、さらにこの累算レジスタファイル以外に加減算器の
2人力を用意する加減算器入力レジスタファイルを設け
これにデータメモリからデータを直接転送することがで
きるようにすることによりメそリアクセスを行なう際の
パスネックを解消し、また乗算器の1入力に対し被乗数
レジスタファイルをもうけ、これに加減算器の出力を直
接格納できるパスを設けることにより、異なるパタ72
イ段の間のデータの受は渡しを効率よく行なえるように
した。これにより、例えば8点離散コサイン変換内に在
る26回の加減算を連続的に行なうことが可能になり、
同時に16回の乗算も加減算の実行中に同時に行なえる
ようにした。
・I [Operation/Principle] In the signal processor of the present invention, in a multiplication-accumulation type circuit configuration that can efficiently perform product-sum operations, first, by providing a register file consisting of eight accumulation registers, each butterfly stage is In addition to this accumulation register file, an adder/subtracter input register file is provided to prepare two adders/subtracters, and data can be directly transferred from the data memory to this register file. By eliminating the path neck when performing memory access, and by creating a multiplicand register file for one input of the multiplier and providing a path to which the output of the adder/subtractor can be directly stored, different patterns 72
The data receiving and passing between the two stages was made more efficient. This makes it possible, for example, to continuously perform 26 additions and subtractions in an 8-point discrete cosine transform.
At the same time, 16 multiplications can be performed simultaneously while addition and subtraction are being performed.

〔実施例〕〔Example〕

以下に図面を用いて本発明の詳細な説明する。 The present invention will be described in detail below using the drawings.

t41図は本発明の1実施例であるシグナルプロセッサ
の構成を示すブロック図である。このシグナルプロセッ
サは図示されるように、データバス1、データメモリ2
、係数メモリ3、第1の被乗数入力レジスタ4.第2の
被乗数入力レジスタ5、乗数入力レジスタ6、乗算器7
、第1の加減算器入力レジスタ8、!2の加減算器入力
レジスタ9、第3の加減算器入力レジスタ101.ig
4の加減算器入力レジスタ11、加減算器12、第1の
累算 。
Figure t41 is a block diagram showing the configuration of a signal processor that is an embodiment of the present invention. As shown in the figure, this signal processor includes a data bus 1, a data memory 2
, coefficient memory 3, first multiplicand input register 4. Second multiplicand input register 5, multiplier input register 6, multiplier 7
, first adder/subtractor input register 8,! 2 adder/subtractor input register 9, third adder/subtractor input register 101. ig
4 adder/subtractor input register 11, adder/subtractor 12, first accumulator.

レジスタ13、第2の累算レジスタ14.第3の累算レ
ジスタ15、第4の累算レジスタ16、第5の累算レジ
スタ17、第6の累算レジスタ18、第7の累算レジス
タ19、g8の累算レジスタ20、及び制御部21から
構成される。上記構成において、データバス1は後述す
る累算レジスタファイルの出力を選択して後述するデー
タメモリ或いはタバス1上のデータを書き込むことが可
能な記憶回路である。
register 13, second accumulation register 14. Third accumulation register 15, fourth accumulation register 16, fifth accumulation register 17, sixth accumulation register 18, seventh accumulation register 19, g8 accumulation register 20, and control section Consists of 21. In the above configuration, the data bus 1 is a storage circuit that can select the output of an accumulation register file, which will be described later, and write data on a data memory or tabus 1, which will be described later.

係数メモリ3は離散コサイン変換で用いる係数を格納す
る読み出し専用の記憶回路である。第1の被乗数入力レ
ジスタ4及び第2の被乗数入力レジスタ5の何れか一方
は1インストラクシ■ン内にデータメモリ2の出力或い
は後述する加減算器12の出力の一方を選択して格納す
ることができる。乗数入力レジスタ6は係数メモリ3の
出力を格納する0乗算器7は第1の被乗数入力レジスタ
4の出力或いは第2の被乗数入力レジスタ5の出力の何
れか一方を選択して被乗数入力とし、乗数入力レジスタ
6の出力を乗数入力として乗算を行ない、入力が設定さ
れてから2インストラクシ箇ン後に乗算結果が出力され
るパイプライン乗算器である。第1の加減算入力レジス
タ8および第2の加減算器入力レジスタ9はレジスタ7
テイルを構成し何れか一方はlインスト2クシ■ン内に
データメモリ2の出力を格納することができる。第3の
加減算器入力レジスタ10および71i4の加減算器入
力レジスタ11はレジスタファイルを構成し何れか一方
は1インストラクシ■ン内にデータメモリ2の出力を格
納することができる。加減算器12は第1の加減算器入
力レジスタ8および第2の加減算器入力レジスタ9の何
れか一方の出力、或いは後述する第1の累算レジスタ1
3から第8の累算レジスタ20からなる累算レジスタフ
ァイルの出力の一方を選択して第1の加減算器の入力と
し、第3の加減算器入力レジスタ10および第4の加減
算器入力レジスタ11の何れか一方の出力1乗算器7の
出力、データバス上のデータの何れか1つを選択して第
2の力a減算器の入力として選択し、lインストラクシ
冒ン後に加減算結果が出力されるパイプライン加減算器
である。第1の累算レジスタ13、g2の累算レジスタ
14、第3の累算レジスタ15.第4の累算レジスタ1
6%第5の累算レジスタ17、第6の累算レジスタ18
゜第7の累算レジスタ19、第8の累算レジスタ20は
レジスタファイルを構成し、1インストラクシ■ン内に
加減算器12.QJ力及び乗算器7の出力Tz’に の各々を異なる累算レジスタに格納することかできる2
ボートメそりにより構成される。
The coefficient memory 3 is a read-only storage circuit that stores coefficients used in discrete cosine transform. Either the first multiplicand input register 4 or the second multiplicand input register 5 can select and store either the output of the data memory 2 or the output of the adder/subtractor 12, which will be described later, within one instruction. can. The multiplier input register 6 stores the output of the coefficient memory 3. The 0 multiplier 7 selects either the output of the first multiplicand input register 4 or the output of the second multiplicand input register 5 as the multiplicand input, and inputs the multiplicand. This is a pipeline multiplier that performs multiplication using the output of the input register 6 as a multiplier input, and outputs the multiplication result two instructions after the input is set. The first addition/subtraction input register 8 and the second addition/subtraction input register 9 are the register 7
Either one of the tails can store the output of the data memory 2 in the 1inst 2 sink. The third adder/subtractor input register 10 and the adder/subtractor input register 11 of 71i4 constitute a register file, and either one can store the output of the data memory 2 within one instruction. The adder/subtractor 12 is the output of either the first adder/subtractor input register 8 or the second adder/subtracter input register 9, or the first accumulation register 1 to be described later.
One of the outputs of the accumulation register file consisting of the third to eighth accumulation registers 20 is selected as the input of the first adder/subtractor, and the output of the third adder/subtractor input register 10 and the fourth adder/subtractor input register 11 is selected. Either one of the outputs of the output 1 multiplier 7 or the data on the data bus is selected as the input of the second force a subtracter, and the addition and subtraction results are output after executing the l instruction. This is a pipeline adder/subtractor. First accumulation register 13, g2 accumulation register 14, third accumulation register 15. Fourth accumulation register 1
6% fifth accumulation register 17, sixth accumulation register 18
゜The seventh accumulation register 19 and the eighth accumulation register 20 constitute a register file, and the adder/subtractor 12. QJ force and the output Tz' of the multiplier 7 can each be stored in different accumulation registers.
It consists of a boat mesori.

制御部21は予め蓄えられた制御命令に従って上記の各
構成要素を制御する制御信号を出力する。
The control unit 21 outputs control signals for controlling each of the above-mentioned components according to control commands stored in advance.

次に上記構成を有するシグナルプロセッサを用いること
Kより引続いて実行される第1番目の8次元ベクトルと
第2番目の8次元ベクトルの各々の8点離散コサイン変
換が26ステツプ毎に実行できることを第3図(5)、
但)を用いて説明する。
Next, by using a signal processor having the above configuration, it is confirmed that the 8-point discrete cosine transformation of each of the first 8-dimensional vector and the second 8-dimensional vector can be executed every 26 steps. Figure 3 (5),
However, this will be explained using

但し、以下の説明において用いられる各変数は第2図に
示すようにfO,fl、F2.F3.F4.F5゜F5
.F7は入力ベクトル、gO,gl、K2.K3.K4
゜K5.K6.K7は@1段バタフライ出力、g’5*
g’6は!22段中変数、hO,hl、h2.h3.h
4.h5゜h6.h7は第2段バタフライ出力、hIo
、 hFxは第3段中間変数、K4.K5.K6.K7
は第3段バタフライ出力、FO,Fl、F2.F3.F
4.F5゜F6.F7は出力ベクトルをあられす。また
係数C4はcos(4r/16)、 s6は5in(6
r/16)、s2は5in(2r/16)、slは、s
in(π/16)、S5はsin(5ff/16)、s
−7はsin(−7r/16)、c−3はcos(−3
π/16)、C1はcos (π/16)、C3はC0
8(3π/16)、C5はcos(5π/16)、C7
はcos(7π/16)をそれぞれあられす。また、第
3図(5)、(B)においてRAMはデータメモリ4几
頃は供数メモlJ3、Plは第1の加算器入力レジスタ
8、F2は第2の加算器入力レジスタ9、Qlは第3の
加算器入力レジスタ10.Q2は第4の加算器入力レジ
スタ11、K1は第1の被乗数入力レジスタ4、K2は
第2の被乗数入力レジスタ5、Lは乗数入力レジスタ6
、Aは加算器12の出力%M1はKlt−被乗数とする
乗算器7の出力、M2はに2を被乗数とする乗算器7の
出力、 WHOは@1の累算レジスタ13、WfLlは
第2の累算レジスタ14.WB2は第3の累算レジスタ
15、WK3は第4の累算レジスタ16.WfL4は第
5の累算レジスタ17、WK5はM6の累算レジスタ1
8、WK6は第7の累算レジスタ19、苗衝は第8の累
算レジスタ20をあられす。
However, each variable used in the following explanation is fO, fl, F2 . F3. F4. F5゜F5
.. F7 is an input vector, gO, gl, K2. K3. K4
゜K5. K6. K7 is @1 stage butterfly output, g'5*
g'6 is! Variables in the 22nd stage, hO, hl, h2. h3. h
4. h5゜h6. h7 is the second stage butterfly output, hIo
, hFx is the third stage intermediate variable, K4. K5. K6. K7
are the third stage butterfly outputs, FO, Fl, F2. F3. F
4. F5°F6. F7 outputs the output vector. Also, coefficient C4 is cos (4r/16), and s6 is 5in (6
r/16), s2 is 5in (2r/16), sl is s
in(π/16), S5 is sin(5ff/16), s
-7 is sin (-7r/16), c-3 is cos(-3
π/16), C1 is cos (π/16), C3 is C0
8 (3π/16), C5 is cos (5π/16), C7
are cos(7π/16) respectively. In addition, in FIGS. 3(5) and (B), RAM is data memory 4, digit memory lJ3, Pl is first adder input register 8, F2 is second adder input register 9, and Ql is Third adder input register 10. Q2 is the fourth adder input register 11, K1 is the first multiplicand input register 4, K2 is the second multiplicand input register 5, and L is the multiplier input register 6.
, A is the output % of the adder 12, M1 is the output of the multiplier 7 with Klt-multiplicand, M2 is the output of the multiplier 7 with 2 as the multiplicand, WHO is the @1 accumulation register 13, and WfLl is the second Accumulation register 14. WB2 is the third accumulation register 15, WK3 is the fourth accumulation register 16. WfL4 is the fifth accumulation register 17, WK5 is the accumulation register 1 of M6
8.WK6 is the seventh accumulation register 19, and Naecho is the eighth accumulation register 20.

まず第1のステップではデータメモリ2に蓄えられた入
カデータfOfc第1の加算器入力レジスタ8に転送す
る。
First, in the first step, input data fOfc stored in the data memory 2 is transferred to the first adder input register 8.

、第2のステップではデータメモリ2に蓄えられた入力
データf7を@3の加算器入力レジスタ1゜に転送する
, in the second step, the input data f7 stored in the data memory 2 is transferred to the adder input register 1° of @3.

第3のステップではデータメモリ2に蓄えられた入力デ
ータflを第2の加算器入力レジスタ9に転送する。ま
た加減算器12の第1の入力として第1の加算器入力レ
ジスタ8の出力を選択し、加減算器12の第2の入力と
して第3の加算器入力レジスタ10の出力を選択して第
1の入力と第2の入力の加算を行なう。
In the third step, the input data fl stored in the data memory 2 is transferred to the second adder input register 9. Further, the output of the first adder input register 8 is selected as the first input of the adder/subtracter 12, and the output of the third adder input register 10 is selected as the second input of the adder/subtracter 12. Perform addition of the input and the second input.

第4のステップではデータメモリ2に蓄えられた入力デ
ータf6を第4の加算器入力レジスタ11に転送する。
In the fourth step, the input data f6 stored in the data memory 2 is transferred to the fourth adder input register 11.

また加減算器12の第1の入力として第1の加算器入力
レジスタ8の出力を選択し、加減算器12の第2の入力
として第3の加算器入力レジスタ10の出力を選択して
第1の入力からる。
Further, the output of the first adder input register 8 is selected as the first input of the adder/subtracter 12, and the output of the third adder input register 10 is selected as the second input of the adder/subtracter 12. From input.

第5のステップではデータメモリ2に蓄えられた入力デ
ータf21c、$1の加算器入力レジスタ8に転送する
。また加減算器12の第1の入力として第2の加算器入
力レジスタ9の出力を選択し、加減算器12の第2の入
力として第4の加算器入力レジスタ11の出力を選択し
て第1の入力と第2の入力との加算を行なう。前ステッ
プにおける加算結果g7を第8の累算レジスタ20に格
納する。
In the fifth step, the input data f21c stored in the data memory 2 is transferred to the adder input register 8 of $1. Also, the output of the second adder input register 9 is selected as the first input of the adder/subtractor 12, the output of the fourth adder input register 11 is selected as the second input of the adder/subtracter 12, and the output of the fourth adder input register 9 is selected as the second input of the adder/subtracter 12. Addition of the input and the second input is performed. The addition result g7 in the previous step is stored in the eighth accumulation register 20.

第6のステップではデータメモリ2に蓄えられた入力デ
ータf5を第3の加算器入力レジスタ10に転送する。
In the sixth step, the input data f5 stored in the data memory 2 is transferred to the third adder input register 10.

ま友加減算器12の第1の入力として第2の加算器入力
レジスタ9の出力を選択し、加減算器12の第2の入力
として第4の加算器入力レジスタ11の出力を選択して
第1の入力から第2の入力の減算を行なう。前ステップ
における加算結果glt−第2の累算レジスタ14に格
納する。
The output of the second adder input register 9 is selected as the first input of the adder/subtracter 12, and the output of the fourth adder input register 11 is selected as the second input of the adder/subtracter 12. The second input is subtracted from the input. The addition result glt in the previous step is stored in the second accumulation register 14.

第7のステップではデータメモリ2に蓄えられた入力デ
ータf3t−第2の加算器入力レジスタ9に転送する。
In the seventh step, the input data f3t stored in the data memory 2 is transferred to the second adder input register 9.

また加減算器12の第1の入力として第1の加算器入力
レジスタ8の出力を選択し。
Further, the output of the first adder input register 8 is selected as the first input of the adder/subtracter 12.

加減算器12の第2の入力として第3の加算器入力レジ
スタ10の出力を選択して第1の入力と第2の入力との
加算を行なう。前ステップにおける加算結果g6を第1
の被乗数入力レジスタ4に格納し、係数メモリ3に蓄え
られた係数C4を乗数入力レジスタ6に格納して第1の
被乗数入力レジスタ4の出力と乗数入力レジスタ6の出
力との間の乗算を開始する。
The output of the third adder input register 10 is selected as the second input of the adder/subtractor 12, and the first input and the second input are added. The addition result g6 in the previous step is
, and stores the coefficient C4 stored in the coefficient memory 3 in the multiplicand input register 6 to start multiplication between the output of the first multiplicand input register 4 and the output of the multiplier input register 6. do.

第8のステップではデータメモリ2に蓄えられた入力デ
ータf4を第4の加算器入力レジスタ11に転送する。
In the eighth step, the input data f4 stored in the data memory 2 is transferred to the fourth adder input register 11.

また加減算器12の第1の入力として第1の加算器入力
レジスタ8の出力を選択し。
Further, the output of the first adder input register 8 is selected as the first input of the adder/subtracter 12.

加減算器12の第2の入力として第3の加算器入力レジ
スタ10の出力を選択してfalの入力から第2の入力
の減算を行なう。前ステップにおける加算結果g2を第
3の累算レジスタ15に格納する。
The output of the third adder input register 10 is selected as the second input of the adder/subtractor 12, and the second input is subtracted from the input of fal. The addition result g2 in the previous step is stored in the third accumulation register 15.

第9のステップでは加減算器12の第1の入力として第
2の加算器入力レジスタ9の出力を選択し、加減算器1
2の第2の入力として!$4の加算器入力レジスタ11
の出力を選択して第1の入力と第2の入力との加算を行
なう。前ステップにおける加算結果g5をKlの被乗数
入力レジスタ4に格納し、係数メモリ3に蓄えられた係
数C4を乗数入力レジスタ6に格納して第1の被乗数入
力レジスタ4出力と乗数入力レジスタ6出力との間の乗
算を開始する。また2ステツプ前に入力を指定した乗算
結果g′6を第7の累算レジスタ19に格納する。
In the ninth step, the output of the second adder input register 9 is selected as the first input of the adder/subtracter 12;
As the second input of 2! $4 adder input register 11
selects the output of and performs addition of the first input and the second input. The addition result g5 in the previous step is stored in the multiplicand input register 4 of Kl, the coefficient C4 stored in the coefficient memory 3 is stored in the multiplier input register 6, and the output of the first multiplicand input register 4 and the multiplier input register 6 are output. Begin multiplication between . Further, the multiplication result g'6 whose input was specified two steps ago is stored in the seventh accumulation register 19.

第10のステップでは加減算器12081の入力として
第2の加算器入力レジスタ9の出力を選択し、加減算器
12の第2の入力として第4の加算器入力レジスタ11
の出力を選択して第1の入力から第2の入力の減算を行
なう。前ステップにおける加算結果g3を第4の累算レ
ジスタ16に力として第1の累算レジスタ13の出力を
選択し、加減算器12の第2の入力として第4の累算レ
ジスタ16の出力を選択して第1の入力と第2の入力と
の加算を行なう。前ステップにおける加算結果g4t@
5の累算レジスタ17に格納し、また2ステツプ前に入
力を指定した乗算結果g Isを第6の累算レジスタ1
8に格納する。
In the tenth step, the output of the second adder input register 9 is selected as the input of the adder/subtracter 12081, and the output of the fourth adder input register 11 is selected as the second input of the adder/subtracter 12.
select the output of and subtract the second input from the first input. The addition result g3 in the previous step is applied to the fourth accumulation register 16 to select the output of the first accumulation register 13, and the output of the fourth accumulation register 16 is selected as the second input of the adder/subtractor 12. Then, the first input and the second input are added. Addition result in previous step g4t@
The multiplication result gIs, which was input two steps earlier, is stored in the sixth accumulation register 17.
Store in 8.

第12のステップでは加減算器12の第1の入力として
第1の累算レジスタ13の出力を選択し。
In the twelfth step, the output of the first accumulation register 13 is selected as the first input of the adder/subtractor 12.

加減算器12の第2の入力として第4の累算レジスタ1
6の出力を選択して第1の入力から第2の入力の減算を
行なう。前ステップにおける加算結果hoを第1の被乗
数人力レジスタ4に格納し。
a fourth accumulation register 1 as the second input of the adder/subtractor 12;
6 is selected and the second input is subtracted from the first input. The addition result ho in the previous step is stored in the first multiplicand manual register 4.

係数メモリ3に蓄えられた係数C4を乗数入力レジスタ
6に格納して第1の被乗数入力レジスタ4出力と乗数入
力レジスタ6出力との間の乗算を開始する。
The coefficient C4 stored in the coefficient memory 3 is stored in the multiplier input register 6, and multiplication between the output of the first multiplicand input register 4 and the output of the multiplier input register 6 is started.

第13のステップでは加減算器12の第1の入スタ15
の出力を選択してgtの入力と第2の入力との加算を行
なう。前ステップにおける加算結果h3t′第2の被乗
数入力レジスタ5に格納し、係数メモリ3に蓄えられた
係数@6t−乗数入力レジスタロに格納して第2の被乗
数入力レジスタ4出力と乗数入力レジスタ6出力との間
の乗算を開始する。
In the thirteenth step, the first input star 15 of the adder/subtractor 12
The output of gt is selected and the input of gt and the second input are added. The addition result in the previous step h3t' is stored in the second multiplicand input register 5, and the coefficient @6t stored in the coefficient memory 3 is stored in the multiplier input register 4 and the output of the second multiplicand input register 4 and the multiplier input register 6. Start multiplication between .

第14のステップでは加減算器12のKlの入力として
第2の累算レジスタ14の出力を選択し、加減算器12
の第2の入力として第3の累算レジスタ15の出力を選
択して@1の入力から第2の入力の減算を行なう。前ス
テップにおける加算結果h1を#I、1の被乗数入力レ
ジスタ4に格納し。
In the fourteenth step, the output of the second accumulation register 14 is selected as the input of Kl of the adder/subtractor 12, and
The output of the third accumulation register 15 is selected as the second input of , and the second input is subtracted from the input of @1. The addition result h1 in the previous step is stored in the multiplicand input register 4 of #I, 1.

係数メモリ3に蓄えられた係数04を乗数入力レジスタ
6に格納して第1の被乗数入力レジスタ4出力と乗数入
力レジスタ6出力との間の乗算を開始する。ま念2ステ
ップ前に入力を指定した乗算結果h I oを第1の累
算レジスタ13に格納する。
The coefficient 04 stored in the coefficient memory 3 is stored in the multiplier input register 6, and multiplication between the output of the first multiplicand input register 4 and the output of the multiplier input register 6 is started. The multiplication result h I o whose input was specified two steps ago is stored in the first accumulation register 13 .

第15のステップでは加減算器12の第1の入力として
第7の累算レジスタ19の出力を選択し、加減算器12
の第2の入力として第6の累算レジスタ1Bの出力を選
択して第1の入力からL2の入力の減算を行なう。前ス
テップにおける加算結果h2i第1の被乗数入力レジス
タ4に格納し、係数メモリ3に蓄えられた係数52を乗
数入力レジスタ6に格納して第1の被乗数入力レジスタ
4出力と乗数入力レジスタ6出力との間の乗算を開始す
る。また2ステツプ前に入力を指定した乗算結果F6’
を第4の累算レジスタ16に格納する。
In the fifteenth step, the output of the seventh accumulation register 19 is selected as the first input of the adder/subtracter 12, and the adder/subtracter 12
The output of the sixth accumulation register 1B is selected as the second input, and the input of L2 is subtracted from the first input. The addition result h2i in the previous step is stored in the first multiplicand input register 4, and the coefficient 52 stored in the coefficient memory 3 is stored in the multiplier input register 6, and the output of the first multiplicand input register 4 and the multiplier input register 6 are output. Begin multiplication between . Also, the multiplication result F6' that specified the input two steps ago
is stored in the fourth accumulation register 16.

第16のステップでは加減算器12の稟1の入力として
47の累算レジスタ19の出力’kA択し。
In the 16th step, the output 'kA' of the 47 accumulation registers 19 is selected as the input value 1 of the adder/subtractor 12.

加減算器12の第2の入力として第6の累算レジスタ1
9の出力を選択して第1の入力と42の入力との加算を
行なう。前ステップにおける加算結果h5′ft第6の
累算レジスタ18に格納し、また2ステツプ前に入力を
指定した乗算結果h ’1 t−第2の累算レジスタ1
4に格納する。
the sixth accumulation register 1 as the second input of the adder/subtractor 12;
The output of 9 is selected and the first input and the input of 42 are added. The addition result in the previous step h5'ft is stored in the sixth accumulation register 18, and the multiplication result h'1 whose input was specified two steps ago t-the second accumulation register 1
Store in 4.

第17のステップでは加減算器12の第1の入力として
第5の累算レジスタ17の出力を選択し、スタ18の出
力を選択して第1の入力と第2の入力との加算を行なう
。前ステップにおける加算結果h6を第7の累算レジス
タ19に格納し、係数メモリ3に蓄えられた係数36を
乗数入力レジスタ6に格納して第1の被乗数入力レジス
タ4出力と乗数入力レジスタ6出力との間の乗算を開始
する。また2ステツプ前に入力を指定した乗算結果F2
’を第3の累算レジスタ15に格納する。
In the seventeenth step, the output of the fifth accumulation register 17 is selected as the first input of the adder/subtractor 12, the output of the star 18 is selected, and the first input and the second input are added. The addition result h6 in the previous step is stored in the seventh accumulation register 19, the coefficient 36 stored in the coefficient memory 3 is stored in the multiplier input register 6, and the first multiplicand input register 4 output and the multiplier input register 6 output Start multiplication between . Also, the multiplication result F2 that specified the input two steps ago
' is stored in the third accumulation register 15.

第18のステップでは加減算器12の第1の入力として
第5の累算レジスタ17の出力を選択し、加減算器12
の第2の入力として第6の累算レジスタ18の出力を選
択して第1の入力から第2の入力の減算を行なう。前ス
テップにおける加算結果i4を第1の被乗数入力レジス
タ4に格納して第2の被乗数入力レジスタ5出力と乗数
入力レジスタ6出力との間の乗算を開始する。
In the 18th step, the output of the fifth accumulation register 17 is selected as the first input of the adder/subtracter 12, and the adder/subtracter 12
The output of the sixth accumulation register 18 is selected as the second input of , and the second input is subtracted from the first input. The addition result i4 in the previous step is stored in the first multiplicand input register 4, and multiplication between the output of the second multiplicand input register 5 and the output of the multiplier input register 6 is started.

第19のステップでは加減算器12の第1の入力として
第4の累算レジスタ16の出力を選択し、加減算器12
の第2の入力として乗算器7の出力なう。前ステップに
おける加算結果i5を第2の被乗数入力レジスタ5に格
納し、係数メモリ3に蓄えられた係数31を乗数入力レ
ジスタ6に格納して41の被乗数入力レジスタ4出力と
乗数入力レジスタ6出力との間の乗算を開始する。
In the 19th step, the output of the fourth accumulation register 16 is selected as the first input of the adder/subtracter 12, and the adder/subtracter 12
The output of the multiplier 7 is used as the second input. The addition result i5 in the previous step is stored in the second multiplicand input register 5, and the coefficient 31 stored in the coefficient memory 3 is stored in the multiplier input register 6, so that the 41 multiplicand input register 4 output and the multiplicand input register 6 output Begin multiplication between .

第20のステップでは加減算器12の第1の入カドして
f43の累算レジスタ15の出力を選択し、加減算器1
2の第2の入力として乗算器7の出力を選択して第1の
入力と第2の入力との加算を行なう。前ステップにおけ
る加算結果F6t−第4の累算レジスタ16に格納し、
係数メモリ3に蓄えられた係数55ft乗数入力レジス
タ6に格納して第2の被乗数入力レジスタ5出力と乗数
入力レジスタ6出力との間の乗算を開始する。
In the 20th step, the first input of the adder/subtractor 12 selects the output of the accumulation register 15 of f43, and
The output of the multiplier 7 is selected as the second input of the multiplier 2, and the first input and the second input are added. Addition result F6t in the previous step - Store in the fourth accumulation register 16,
The 55ft coefficient stored in the coefficient memory 3 is stored in the multiplier input register 6 to start multiplication between the output of the second multiplicand input register 5 and the output of the multiplier input register 6.

第21のステップではデータメモリ2に蓄えられた第2
番目の入力ベクトルの入力データfOを第1の加算器入
力レジスタ8に転送する。また加減算器12の第1の入
力として第8の累算レジスタ20の出力を選択し、加減
算器12の42の入力として第7の累−ンスタ19の出
力を選択しへ て第1の入力と第2の入力との加算を行なう。前ステッ
プにおける加算結果F2を第3の累算レジスタ15に格
納し、係数メモリ3に蓄えられた係数s−7を乗数入力
レジスタ6に格納して第1の被乗数入力レジスタ4出力
と乗数入力レジスタ6出力との間の乗算を開始する。ま
た2ステツプ前に入力を指定した乗算結果Fl’をaX
5の累算レジスタ17に格納する。
In the 21st step, the second
The input data fO of the th input vector is transferred to the first adder input register 8. Also, the output of the eighth accumulation register 20 is selected as the first input of the adder/subtractor 12, and the output of the seventh accumulation register 20 is selected as the input of 42 of the adder/subtracter 12, so that the output of the seventh accumulation register 20 is selected as the first input. Addition with the second input is performed. The addition result F2 in the previous step is stored in the third accumulation register 15, the coefficient s-7 stored in the coefficient memory 3 is stored in the multiplier input register 6, and the output of the first multiplicand input register 4 and the multiplier input register are stored. 6 starts multiplication with output. Also, the multiplication result Fl' that specified the input two steps ago is aX
5 is stored in the accumulation register 17.

第22のステップではデータメモリ2に蓄えられた′g
2番目の入力ベクトルの入力データf7i第3の加算器
入力レジスタ10に転送する。加減算器12の第1の入
力として第8の累算レジスタ20の出力を選択し、加減
算器12の第2の入力として第7の累算レジスタ19の
出力を選択して第1の入力から第2の入力の減算を行な
う。前ステップにおける加算結果17を第1の被乗数入
力レジスタ4に格納し、係数メモリ3に蓄えられた係数
c −3を乗数入力レジスタ6に格納して第2前に入力
を指定した乗算結果F5’を第6の累算レジスタ18に
格納する。
In the 22nd step, 'g' stored in data memory 2
Input data f7i of the second input vector is transferred to the third adder input register 10. The output of the eighth accumulation register 20 is selected as the first input of the adder/subtractor 12, and the output of the seventh accumulation register 19 is selected as the second input of the adder/subtractor 12, so that the first input to Performs subtraction of 2 inputs. The addition result 17 in the previous step is stored in the first multiplicand input register 4, and the coefficient c-3 stored in the coefficient memory 3 is stored in the multiplier input register 6 to obtain the multiplication result F5' with the input designated as the second previous step. is stored in the sixth accumulation register 18.

第23のステップではデータメモリ2に蓄えられた第2
番目の入力ベクトルの入力データf1を第2の加算器入
力レジスタ10に転送する。加減算器12の第1の入力
として第1の累算レジスタ13の出力を選択し、加減算
器12の第2の入力として第2の累算レジスタ14の出
力を選択して第1の入力と第2の入力の加算を行なう。
In the 23rd step, the second
The input data f1 of the th input vector is transferred to the second adder input register 10. The output of the first accumulation register 13 is selected as the first input of the adder/subtractor 12, and the output of the second accumulation register 14 is selected as the second input of the adder/subtractor 12, so that the first input and the Addition of 2 inputs is performed.

前ステップにおける加算結果16t−第2の被乗数入力
レジスタ5に格納し、係数メモリ3に蓄えられた係数C
1を乗数入力レジスタ6に格納して第1の被乗数入力レ
ジスタ4出力と乗数入力レジスタ6出力との間の乗算を
開始する。また2ステツプ前に入力を指定した乗算結果
p 7Fを第8の累算レジスタ20に格納する。
Addition result 16t in the previous step - coefficient C stored in the second multiplicand input register 5 and stored in the coefficient memory 3
1 is stored in the multiplier input register 6 to start multiplication between the first multiplicand input register 4 output and the multiplier input register 6 output. Further, the multiplication result p7F whose input was specified two steps ago is stored in the eighth accumulation register 20.

第24のステップではデータメモリ2に蓄えられたsg
2番目の入力ベクトルの入力データf6をスタ13の出
力を選択し、加減算器12の第2の入力として第2の累
算レジスタ13の出力を選択して第1の入力から第2の
入力の減算を行なう。
In the 24th step, the sg stored in the data memory 2
Select the output of the star 13 as the input data f6 of the second input vector, select the output of the second accumulation register 13 as the second input of the adder/subtractor 12, and transfer the input data from the first input to the second input. Perform subtraction.

前ステップにおける加算結果FOを第1の累算レジスタ
13に格納し、係数メモリ3に蓄えられた係数C3を乗
数入力レジスタ6に格納して第2の被乗数入力レジスタ
5出力と乗数入力レジスタ6出力との間の乗算を開始す
る。また2ステツプ前に入力を指定した乗算結果F3′
を第7の累算レジスタ19に格納する。
The addition result FO in the previous step is stored in the first accumulation register 13, the coefficient C3 stored in the coefficient memory 3 is stored in the multiplier input register 6, and the second multiplicand input register 5 output and the multiplier input register 6 output Start multiplication between . Also, the multiplication result F3' with the input specified two steps before
is stored in the seventh accumulation register 19.

第25のステップでは加減算器12の第1の入力として
第5の累算レジスタ17の出力を選択し、加減算器12
の第2の入力として乗算器7の出力を選択して第1の入
力と第2の入力との加算を行なう。前ステップにおける
加算結果F4を第2の累算レジスタ14に格納し、係数
メモリ3に蓄えられた係数C5を乗数入力レジスタ6に
格納して第2の被乗数入力レジスタ5出力と乗数入力レ
ジスタ6出力との間の乗算を開始する。また第1の累算
レジスタの値FOf:?−7タメモリ2に格納すd  
′ る。
In the twenty-fifth step, the output of the fifth accumulation register 17 is selected as the first input of the adder/subtracter 12, and the adder/subtracter 12
The output of the multiplier 7 is selected as the second input, and the first and second inputs are added together. The addition result F4 in the previous step is stored in the second accumulation register 14, and the coefficient C5 stored in the coefficient memory 3 is stored in the multiplier input register 6 to output the second multiplicand input register 5 and the multiplier input register 6. Start multiplication between . Also, the value of the first accumulation register FOf:? -7 Stored in data memory 2

第26のステップでは加減算器12の@1の入力として
第7の累算レジスタ19の出力を選択し。
In the 26th step, the output of the seventh accumulation register 19 is selected as the input @1 of the adder/subtractor 12.

加減算器12の第2の入力として乗算器7の出力を選択
して第1の入力と第2の入力との加算を行なう、前ステ
ップにおける加算結果F1を第5の累算レジスタ17に
格納し、係数メモリ3に蓄えられた係数c7を乗数入力
レジスタ6に格納して第1の被乗数入力レジスタ4出力
と乗数入力レジスタ6出力との間の乗算を開始する。ま
た第2の累算レジスタの匝F4をデータメモリ2に格納
する。
The output of the multiplier 7 is selected as the second input of the adder/subtractor 12 and the first input and the second input are added.The addition result F1 in the previous step is stored in the fifth accumulation register 17. , stores the coefficient c7 stored in the coefficient memory 3 in the multiplier input register 6, and starts multiplication between the output of the first multiplicand input register 4 and the output of the multiplier input register 6. Further, the value F4 of the second accumulation register is stored in the data memory 2.

第27のステップでは加減算器12の第1の入力として
第6の累算レジスタ18の出力上選択し、加減算器12
の第2の入力として乗算器7の出力を選択して第1の入
力と第2の入力との加算を行なう。前ステップにおける
加算結果F3を第7の累算レジスタ19に格納する。ま
た第3の累算レジスタの値F2fcデータメモリ2に格
納する。
In the 27th step, the output of the sixth accumulation register 18 is selected as the first input of the adder/subtractor 12, and the output of the adder/subtractor 12 is selected.
The output of the multiplier 7 is selected as the second input, and the first and second inputs are added together. The addition result F3 in the previous step is stored in the seventh accumulation register 19. Also, the value F2fc of the third accumulation register is stored in the data memory 2.

刀として第8の累算レジスタ20の出力を選択し、加減
算器12の第2の入力として乗算器7の出力を選択して
IIElの入力と第2の入力との加算を行なう。前ステ
ップにおける加算結果F5を第6の累算レジスタ18に
格納する。またil!J4の累算レジスタの値F6をデ
ータメモリ2に格納する。
The output of the eighth accumulation register 20 is selected as the signal, the output of the multiplier 7 is selected as the second input of the adder/subtractor 12, and the input of IIEl and the second input are added. The addition result F5 in the previous step is stored in the sixth accumulation register 18. Il again! The value F6 of the accumulation register J4 is stored in the data memory 2.

第29のステップでは第2番目の入力ベクトルの8点離
散コサイン変換に対する最初の演算として加減算器12
の第1の入力として第1の加算器入力レジスタ8の出力
を選択し、加減算器12の第2の入力として第3の加算
器入力レジスタ10の出力を選択して第1の入力とgX
2の入力の加算を行なう。前ステップにおける加算結果
F7t−第8の累算レジスタ20に格納する。ま九#I
5の累算レジスタの値F1t−データメモリ2に格納す
る。
In the 29th step, the adder/subtracter 12 performs the first operation for the 8-point discrete cosine transform of the second input vector.
selects the output of the first adder input register 8 as the first input of the adder/subtractor 12 and selects the output of the third adder input register 10 as the second input of the adder/subtractor 12 to connect the first input and gX
Addition of 2 inputs is performed. The addition result F7t in the previous step is stored in the eighth accumulation register 20. Maku #I
The value F1t of the accumulation register 5 is stored in the data memory 2.

第30のステップでは加減算器12の第1の入力として
第1の加算器入力レジスタ8の出刃を選択し、加減算器
12の第2の入力として第3の加算器入力レジスタ10
の出力を選択して第1の入おける加算結果gOを第1の
累算レジスター3に格納する。また第8の累算レジスタ
の値F7をデータメモリ2に格納する。
In the 30th step, the output of the first adder input register 8 is selected as the first input of the adder/subtractor 12, and the output of the third adder input register 10 is selected as the second input of the adder/subtractor 12.
selects the output of and stores the first input addition result gO in the first accumulation register 3. Also, the value F7 of the eighth accumulation register is stored in the data memory 2.

第31のステップではデータメモリ2に蓄えられた第2
番目の入力ベクトルの入力データf2を第1の加算器入
力レジスタ8に転送する。1+加減算器12の第1の入
力として第2の加算器入力レジスタ9の出力を選択し、
加減算器12の第2の入力として第4の加算器入力レジ
スター1の出力を選択して第1の入力と第2の入力との
加算を行なう。前ステップにおける加算結果g7を第8
の累算レジスタ20に格納する。
In the 31st step, the second
The input data f2 of the th input vector is transferred to the first adder input register 8. 1+ select the output of the second adder input register 9 as the first input of the adder/subtracter 12;
The output of the fourth adder input register 1 is selected as the second input of the adder/subtractor 12, and the first input and the second input are added. The addition result g7 in the previous step is
is stored in the accumulation register 20 of.

第32のステップではデータメモリ2に蓄えられた第2
番目の入力ベクトルの入力データf5を第3の加算器入
力レジスターOに転送する。また加減算器12の第1の
入力として第2の加算器入力レジスタ9の出力を選択し
、加減算器12の第2の入力として第4の加算器入力レ
ジスター1の出力を選択して第1の入力から第2の入力
の減算を行なう。前ステップにおける加算結果g1を第
\ 2の累算レジスタ14に格納する。
In the 32nd step, the second
Transfer the input data f5 of the th input vector to the third adder input register O. Also, the output of the second adder input register 9 is selected as the first input of the adder/subtracter 12, the output of the fourth adder input register 1 is selected as the second input of the adder/subtracter 12, and the output of the fourth adder input register 1 is selected as the second input of the adder/subtracter 12. Subtract the second input from the input. The addition result g1 in the previous step is stored in the second accumulation register 14.

第33のステップではデータメモリ2に蓄えられた第2
番目の入力ベクトルの入力データf3を第2の力ロ算器
入力レジスタ9に転送する。また加減算器12の第1の
入力として第1の加算器入力レジスタ8の出力を選択し
、加減算器12の第2の入力として第3の加算器入力レ
ジスタ10の出力を選択して第1の入力とJ2の入力と
の加算を行なう。前ステップにおける加算結果g6を第
1の被乗数入力レジスタ4に格納し、係数メモリ3に蓄
えられた係数C4を乗数入力レジスタ6に格納して第1
の被乗数入力レジスタ4出力と乗数入力レジスタ6出力
との間の乗算を開始する。
In the 33rd step, the second
The input data f3 of the th input vector is transferred to the second power multiplier input register 9. Further, the output of the first adder input register 8 is selected as the first input of the adder/subtracter 12, and the output of the third adder input register 10 is selected as the second input of the adder/subtracter 12. Addition of the input and the input of J2 is performed. The addition result g6 in the previous step is stored in the first multiplicand input register 4, and the coefficient C4 stored in the coefficient memory 3 is stored in the multiplier input register 6.
The multiplication between the multiplicand input register 4 output and the multiplier input register 6 output is started.

第34のステ9ブではデータメモリ2に蓄えられた第2
番目の入力ベクトルの入力データf41第4の加算器入
力レジスタ11に転送する。また加減算器12の第1の
入力として第1の加算器入力レジスタ8の出力を選択し
、加減算器12の第2の入力とし一=73の加算器大刀
レジスタlOの出力を選択して第1の、会ソから第2の
入力の減算を行なう。前ステップにおける加算結果g2
を第3の累算レジスタ15に格納する。
In the 34th step 9, the second
Input data f41 of the th input vector is transferred to the fourth adder input register 11. Also, the output of the first adder input register 8 is selected as the first input of the adder/subtractor 12, and the output of the adder taito register lO of 1=73 is selected as the second input of the adder/subtracter 12. The second input is subtracted from the value of . Addition result g2 in the previous step
is stored in the third accumulation register 15.

第35のステップでは加減算器12の第1の入力として
第2の加算器入力レジスタタの出力を選択し、加減算器
12の第2の入力として第4の加算器入力レジスタ11
の出力を選択して第1の入力と第2の入力との加算を行
なう。前ステップにおける加′S結果g5t″第1の被
乗数入力レジスタ4に格納し、係数メモリ3に蓄えられ
た係数C4を乗数入力レジスタ6に格納して第1の被乗
数入力レジスタ4出力と乗数入力レジスタ6出力との間
の乗算を開始する。また2ステツプ前に入力を指定した
乗算結果g’6に第7の累算レジスタ19に格納する。
In the thirty-fifth step, the output of the second adder input register 11 is selected as the first input of the adder/subtracter 12, and the output of the fourth adder input register 11 is selected as the second input of the adder/subtracter 12.
selects the output of and performs addition of the first input and the second input. The addition result g5t'' in the previous step is stored in the first multiplicand input register 4, the coefficient C4 stored in the coefficient memory 3 is stored in the multiplier input register 6, and the output of the first multiplicand input register 4 and the multiplier input register are 6 output is started. Also, the multiplication result g'6, which specified the input two steps ago, is stored in the seventh accumulation register 19.

また第6の累算レジスタの値F5をデータメモリ2に格
納する。
Also, the value F5 of the sixth accumulation register is stored in the data memory 2.

第36のステップでは加減算器12の@10入力として
第2の加算器入力レジスタ9の出力を選択し、加減算器
12の第2の入力として第4の加算器入力レジスタ11
の出力を選択して第1の入\ 力から第2の入力の減算を行な2゜前ステップに・ツ おける加算結果g3を第4の累算レジスタ16に格納す
る。また第7の累算レジスタの値F3t−データメモリ
2に格納する。
In the 36th step, the output of the second adder input register 9 is selected as the @10 input of the adder/subtracter 12, and the output of the fourth adder input register 11 is selected as the second input of the adder/subtracter 12.
The second input is subtracted from the first input by selecting the output of . Also, the value F3t of the seventh accumulation register is stored in the data memory 2.

第37のステップでは加減算器12の第1の入力として
第1の累算レジスタ13の出力を選択し、加減算器12
の第2の入力として第4の累算レジスタ16の出力を選
択して第1の入力と第2の入力との加算を行なう。前ス
テップにおける加算結果g4t−第5の累算レジスタ1
7に格納し、また2ステツプ前に入力を指定した乗算結
果g′5を第6の累算レジスタ18に格納する。
In the 37th step, the output of the first accumulation register 13 is selected as the first input of the adder/subtracter 12, and the adder/subtracter 12
The output of the fourth accumulation register 16 is selected as the second input to perform addition of the first input and the second input. Addition result g4t in previous step - fifth accumulation register 1
7, and the multiplication result g'5 whose input was specified two steps ago is stored in the sixth accumulation register 18.

以上に示したように第1番目の入力ベクトルに対する加
減算処理は第3のステップより開始しているのにたいし
、第2番目の入力ベクトルに対する加減算処理は第29
のステップより第1番目の入力ベクトルに対する処理と
の競合を引き起こすことなく開始することができる。同
様に第3番目以降のに入力ベクトルにたいする加減算処
理も競合を引起こすことなく26ステツプ毎に引き続い
て行なうことができる為、実質的に8点離散コサイン変
換を26ステツプで実行することができるといえる。
As shown above, the addition/subtraction processing for the first input vector starts from the third step, whereas the addition/subtraction processing for the second input vector starts from the 29th step.
The process can be started without causing any conflict with the process for the first input vector. Similarly, the addition/subtraction processing for the third and subsequent input vectors can be performed successively every 26 steps without causing conflicts, so it is possible to effectively perform the 8-point discrete cosine transform in 26 steps. I can say that.

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

以上の説明で明らかなように、本発明によれば、乗算累
算型の回路構成を有するシグナルプロセッサに祈念な機
能を付加することにより、2次元コサイン変換などにお
いて繰り返して実行する離散コサイン変換を理論的な最
小ステップ数で実行可能にし、画像などの離散コサイン
変換演算に要する時間を短くすることができる。
As is clear from the above description, according to the present invention, by adding special functions to a signal processor having a multiplication-accumulation type circuit configuration, discrete cosine transform that is repeatedly executed in two-dimensional cosine transform, etc. It can be executed with the theoretical minimum number of steps, and the time required to perform discrete cosine transform operations on images and the like can be shortened.

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

第1図は本発明に係わるシグナルプロセッサの全体構成
を示すブロック図、第2図は8点離散コサイン変換のシ
グナル70−グラフを示す図、第3図(5)、@は本発
明による8点離散コサイン処理の各ステップを示した図
である。 図において、l・・・・・・データバス、2・・・・・
・データメモリ、3・・・・・・係数メモリ、4・・・
・・・第1の被乗数6・・・・・・乗数入力レジスタ、
7・・・・・・乗算器、8・・・・・・第1の加減算器
入力レジスタ、9・・・・・・第2の加減算器入力レジ
スタ、10・・・・・・第3の加減算器入力レジスタ、
11・・・・・・第4の加減算器入力レジスタ、12・
・・・・・加減算器、13・・・・・・第1の累算レジ
スタ、14・・・・・・第2の累算レジスタ、15・・
・・・・第3の累算レジスタ、16・・・・・・第4の
累算レジスタ、17・・・・・・第5の累算レジスタ、
18・・・・・・第6の累算レジスタ、19・・・・・
・第7の累算レジスタ、20・・・・・・第8の累算レ
ジスタ、21・・・・・・制御部。 代理人 弁理士  内 原  音
Fig. 1 is a block diagram showing the overall configuration of a signal processor according to the present invention, Fig. 2 is a diagram showing a signal 70 graph of 8-point discrete cosine transform, Fig. 3 (5), @ indicates 8 points according to the present invention. It is a figure showing each step of discrete cosine processing. In the figure, l... data bus, 2...
・Data memory, 3...Coefficient memory, 4...
...First multiplicand 6...Multiplicand input register,
7... Multiplier, 8... First adder/subtractor input register, 9... Second adder/subtractor input register, 10... Third adder/subtractor input register,
11...Fourth adder/subtractor input register, 12.
...Adder/subtractor, 13...First accumulation register, 14...Second accumulation register, 15...
...Third accumulation register, 16...Fourth accumulation register, 17...Fifth accumulation register,
18...6th accumulation register, 19...
- Seventh accumulation register, 20... Eighth accumulation register, 21... Control unit. Agent Patent Attorney Oto Uchihara

Claims (1)

【特許請求の範囲】[Claims] 乗算累算型の回路構成を有するシグナルプロセッサにお
いて、データバスと、該データバスに接続された読み書
き可能なデータメモリと、読み出し専用の係数メモリと
、前記データメモリの出力または、第1の処理データの
何れかを選択して格納する被乗数データ格納レジスタフ
ァイルと、前記係数メモリの出力を格納する乗数データ
格納レジスタと、前記被乗数データ格納レジスタファイ
ルの出力と前記乗数データ格納レジスタの出力との乗算
を行なう乗算器と、前記データメモリの出力を格納する
第1の加減算器入力レジスタファイルと、前記データメ
モリの出力を格納する第2の加減算器入力レジスタファ
イルと、前記第1の加減算器入力レジスタファイルの出
力及び第2の処理データの何れかを選択して第1の入力
とし、前記第2の加減算器入力レジスタファイルの出力
及び前記乗算器の出力及びデータバス上のデータの何れ
かを選択して第2の入力とし、前記第1の入力と、前記
第2の入力との加減算を行ない前記第1の処理データを
出力する加減算器と、前記乗算器の出力及び前記加減算
器の出力を格納するとともに前記第2の処理データの出
力、および前記データバスへのデータ出力をする累算レ
ジスタファイルと、前述した各構成要素を制御する制御
部とから少なくとも構成されることを特徴とするシグナ
ルプロセッサ。
In a signal processor having a multiplication-accumulation type circuit configuration, a data bus, a readable and writable data memory connected to the data bus, a read-only coefficient memory, and an output of the data memory or first processing data a multiplicand data storage register file that selects and stores one of the multiplicand data storage registers, a multiplier data storage register that stores the output of the coefficient memory, and a multiplication of the output of the multiplicand data storage register file and the output of the multiplier data storage register. a first adder/subtractor input register file for storing the output of the data memory, a second adder/subtractor input register file for storing the output of the data memory, and the first adder/subtractor input register file. The output of the second adder/subtractor input register file, the output of the multiplier, and the data on the data bus are selected as the first input. an adder/subtractor that outputs the first processed data by performing addition/subtraction between the first input and the second input, and storing the output of the multiplier and the output of the adder/subtractor; A signal processor comprising at least an accumulation register file that outputs the second processing data and outputs data to the data bus, and a control section that controls each of the aforementioned components. .
JP62252791A 1987-10-06 1987-10-06 Signal processor Pending JPH0194477A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62252791A JPH0194477A (en) 1987-10-06 1987-10-06 Signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62252791A JPH0194477A (en) 1987-10-06 1987-10-06 Signal processor

Publications (1)

Publication Number Publication Date
JPH0194477A true JPH0194477A (en) 1989-04-13

Family

ID=17242304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62252791A Pending JPH0194477A (en) 1987-10-06 1987-10-06 Signal processor

Country Status (1)

Country Link
JP (1) JPH0194477A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58169674A (en) * 1982-03-31 1983-10-06 Toshiba Corp Digital data processor
JPS60262277A (en) * 1984-06-08 1985-12-25 Matsushita Electric Ind Co Ltd Picture processor
JPS6148037A (en) * 1984-08-13 1986-03-08 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Floating-point arithmetic unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58169674A (en) * 1982-03-31 1983-10-06 Toshiba Corp Digital data processor
JPS60262277A (en) * 1984-06-08 1985-12-25 Matsushita Electric Ind Co Ltd Picture processor
JPS6148037A (en) * 1984-08-13 1986-03-08 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Floating-point arithmetic unit

Similar Documents

Publication Publication Date Title
JP7454377B2 (en) Augmented arithmetic calculations in data processing equipment
JP5619751B2 (en) Apparatus and method for performing SIMD multiply-accumulate operation
US20080301414A1 (en) Efficient Complex Multiplication and Fast Fourier Transform (FFT) Implementation on the ManArray Architecture
US20090198974A1 (en) Methods for conflict-free, cooperative execution of computational primitives on multiple execution units
JP2010079922A (en) Data processing device and method of computing cosine transform of matrix
JPH01237765A (en) Signal processor and signal multi processor system
Véstias et al. Lite-CNN: A high-performance architecture to execute CNNs in low density FPGAs
Tsmots et al. Design of the processors for fast cosine and sine Fourier transforms
JP2002032358A (en) Two cycle fast-fourier transform
JP4482052B2 (en) Arithmetic apparatus and arithmetic method
JPH0194477A (en) Signal processor
US20050138098A1 (en) FFT/IFFT processor
Gonçalves et al. Exploring data size to run convolutional neural networks in low density fpgas
JPH0766372B2 (en) Floating point processor
JPS6310263A (en) Vector processor
JP2001084242A (en) Variable operation processor
KR102199517B1 (en) Arithmetic apparatus for multi-function unit
JP2643279B2 (en) Information processing device
Morley et al. The design of a bit-serial coprocessor to perform multiplication and division on a massively parallel architecture
Lakshmi Modified Vedic Multiplier Based on Homogenous Hybrid Adder for RISC V Applications
KR100434391B1 (en) The architecture and the method to process image data in real-time for DSP and Microprocessor
Lavanya et al. An Area Efficient Vedic Multiplier Based on Homogenous Hybrid Adder for RISC V Processor Applications
Wong et al. A fast VLSI chip for computing the two-dimensional discrete cosine transform
KR100451147B1 (en) High-speed multiplier, realized in small size so as to be used as a multiplier engine of a processor and designed in single structure having regularity
JP2501186B2 (en) Digital signal processing method and apparatus thereof