JPS63282567A - Parallel arithmetic circuit for sum of products - Google Patents

Parallel arithmetic circuit for sum of products

Info

Publication number
JPS63282567A
JPS63282567A JP11590087A JP11590087A JPS63282567A JP S63282567 A JPS63282567 A JP S63282567A JP 11590087 A JP11590087 A JP 11590087A JP 11590087 A JP11590087 A JP 11590087A JP S63282567 A JPS63282567 A JP S63282567A
Authority
JP
Japan
Prior art keywords
accumulator
multipliers
input
sum
adder
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
JP11590087A
Other languages
Japanese (ja)
Inventor
Tatsuo Matsuoka
達雄 松岡
Yoshio Nakano
中野 愼夫
Naofumi Nagai
直文 永井
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP11590087A priority Critical patent/JPS63282567A/en
Publication of JPS63282567A publication Critical patent/JPS63282567A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To speed up convolutional arithmetic operation by providing N (N>=2) multipliers and setting the number of inputs of an adder to N=1 which is one larger than the number N of the multipliers. CONSTITUTION:An address bus 1 specifies NX2 addresses of a data memory 2 at a time, all operands of the N (N>=2) multipliers 3-6 are supplied at the same time, and the N multiplication results of the multipliers 3-6 which are obtained a gate delay time later and the output of an accumulator 8 are inputted to the multi-input adder 7 which bus N+1 input terminals. Then the output of the multi-input adder 7 which is obtained the gate delay time later is latched in the accumulator 8 with a latch clock. Thus, N-term sum-of-products arithmetic operation is performed in one cycle of address specification to the data memory 2 and the latching of the accumulator 8. Consequently, the processing where the arithmetic results of the sum-of-products arithmetic operation, etc., are accumulated is speeded up.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ディジタル信号処理用のストアードプログラ
ム型プロセッサであるディジタルシグナルプロセッサの
如き並列積和演算回路に関するものである。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a parallel product-sum operation circuit such as a digital signal processor which is a stored program type processor for digital signal processing.

(従来技術および発明が解決しようとする問題点)従来
のディジタルシグナルプロセッサでは、積和演算を高速
に処理可能とするため、一つの乗算器と一つの二人力加
算器をパイプライン化することにより、ある時刻の乗算
と、その時刻より1サイクル前の乗算の結果と2サイク
ル以前までの累積結果との加算を同時に実行するような
構成となっていた。
(Prior Art and Problems to be Solved by the Invention) In order to be able to process multiply-accumulate operations at high speed, conventional digital signal processors have pipelined one multiplier and one two-man power adder. , the configuration is such that multiplication at a certain time and addition of the multiplication result one cycle before that time and the cumulative result up to two cycles before that time are executed simultaneously.

そのため、 ■項数の多い積和演算に対しては、項数に一次的に比例
した処理時間を要する。
Therefore, (1) a product-sum operation with a large number of terms requires a processing time linearly proportional to the number of terms;

■パイプライン処理では、処理をいくつかのステージに
分割するため、各演算ステージにデータが詰まるまでは
、オーバーヘッドとして無意味な演算を実行するステー
ジが生じてしまう。
■In pipeline processing, processing is divided into several stages, so until each calculation stage is filled with data, there are stages that perform meaningless calculations as overhead.

等の欠点があった。There were other drawbacks.

また、演算器を多重化する手法の場合に、乗算に関して
は、乗算器を積項数だけ具備して乗算結果が全て同時に
得られても、加算に関しては、二人力の加算器を複数備
えてもオペランド数Nが3以上の場合にはlog2N段
階に分割して加算しなければならないため、演算器の多
重化の効果は十分生かされないという欠点があった。
In addition, in the case of the method of multiplexing arithmetic units, for multiplication, even if the multipliers are provided as many times as the number of product terms and all multiplication results can be obtained at the same time, for addition, it is necessary to have multiple adders operated by two people. However, when the number of operands N is 3 or more, the operation must be divided into log2N steps and added, which has the disadvantage that the effect of multiplexing the arithmetic units cannot be fully utilized.

(発明の目的) 本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、ディジタル信号処理において、頻度
の高い処理である積和演算等の乗算結果を累積する処理
を高速化することのできる並列積和演算回路を提供する
ことにある。
(Object of the Invention) The present invention has been proposed in view of the above points, and its purpose is to improve the processing of accumulating multiplication results such as product-sum operations, which are frequently performed in digital signal processing. An object of the present invention is to provide a parallel product-sum calculation circuit that can be operated at high speed.

(問題点を解決するための手段) 本発明は上記の目的を達成するため、アドレスパスの制
御によりN×2(N≧2)個の独立したアドレスのデー
タを供給可能なデータメモリと、データを入力するとゲ
ート遅延時間後に結果を出力する組合せ回路からなり前
記データメモリからデータを入力するN個の乗算器と、
同じ(組合せ回路からなり前記乗算器および後記アキュ
ムレータからデータを入力する入力数がN+1の多入力
加算器と、この多入力加算器の加算結果をラッチクロッ
クによりラッチするアキュムレータとを備え、N項の積
和演算を前記データメモリに対するアドレス指定と前記
アキュムレータのラッチとによる1サイクルで実行する
ことを特徴とする並列積和演算回路を要旨としている。
(Means for Solving the Problems) In order to achieve the above object, the present invention provides a data memory capable of supplying data at N×2 (N≧2) independent addresses by controlling address paths, and a data memory capable of supplying data at N×2 (N≧2) independent addresses. N multipliers which are composed of combinational circuits and which output a result after a gate delay time when inputted, and which input data from the data memory;
The same (composed of a combinational circuit) includes a multi-input adder with N+1 inputs that inputs data from the multiplier and the accumulator described later, and an accumulator that latches the addition result of the multi-input adder using a latch clock, and has N terms. The gist of the present invention is a parallel product-sum calculation circuit characterized in that a product-sum calculation is executed in one cycle by addressing the data memory and latching the accumulator.

すなわち、本発明では、NX2個のオペランドのアドレ
スを同時に指定すると、乗算器では同時に複数の乗算を
並列に実行し、多入力加算器ではそれら複数の乗算結果
とアキュムレータ中の値とを加算し、加算結果をラッチ
クロックによりアキュムレータに格納するという、アド
レス指定とラッチのみの1サイクルの制御で多項積和演
算を高速に実行することを主要な特徴とする。
That is, in the present invention, when the addresses of NX2 operands are specified simultaneously, the multiplier simultaneously executes multiple multiplications in parallel, and the multi-input adder adds the results of those multiple multiplications to the value in the accumulator, The main feature is that the addition result is stored in an accumulator using a latch clock, and multinomial product-sum operations can be executed at high speed with one-cycle control using only addressing and latching.

なお、従来の技術と比較して、乗算器を多重化すること
により、本来アルゴリズムの観点からは同時に実行する
ことのできる乗算を並列に実行し、更に加算器の入力数
を乗算器数よ)J 一つ多い数とすることにより、並列
に実行した複数の乗算結果とそれまでの累積結果とを逐
次的にでなく一度に加算する点が異なる。
Note that compared to conventional technology, by multiplexing multipliers, multiplications that could originally be executed simultaneously from an algorithmic perspective can be executed in parallel, and the number of adder inputs can be reduced by the number of multipliers). J The difference is that by increasing the number by one, the results of multiple multiplications executed in parallel and the accumulated results up to that point are added at once instead of sequentially.

(実施例) 以下、実施例を示す図面に沿って本発明を詳述する。な
お、実施例は一つの例示であって、本発明の精神を逸脱
しない範囲で種々の変更あるいは改良を行い得ることは
言うまでもない。
(Example) Hereinafter, the present invention will be described in detail along with drawings showing examples. Note that the embodiments are merely illustrative, and it goes without saying that various changes and improvements can be made without departing from the spirit of the present invention.

第1図は本発明の並列積和演算回路の一実施例を示す構
成図であ口、1はアドレスパス、2はデータメモリ、3
,4.・・・・・・、6は乗算器、7は多入力加算式、
8はアキュムレータ(累積用レジスタ)である。これは
、N項の積和演算を同時に演算する場合を示したもので
あり、データを入力するとゲート遅延時間後に結果を出
力する組合せ回路からなるN(N22)個の乗算器3〜
6と、同じく組合せ回路からなる入力数がN+1の多入
力加算M7と、NX2個の独立したアドレスのデータを
供給できるデータメモリ2と、加算結果をラッチクロッ
クによゆラッチするアキュムレータ8とからなる。その
構成の結合関係としては、データメモリ2のNX2個の
データ出力ポートをN個の乗算器3〜6の各々の二つの
入力に結合し、Nilの乗算器3〜6の出力を多入力加
算器7の入力に結合し、多入力加算WI7の出力をアキ
ュムレータ8の入力に結合し、アキュムレータ8の出力
を多入力加算器7の入力の一部に結合するものである。
FIG. 1 is a block diagram showing an embodiment of a parallel product-sum operation circuit according to the present invention, where 1 is an address path, 2 is a data memory, and 3
,4. ..., 6 is a multiplier, 7 is a multi-input addition type,
8 is an accumulator (accumulation register). This shows a case where N-term product-sum operations are performed simultaneously, and when data is input, N (N22) multipliers 3 to 3 are composed of combinational circuits that output the results after a gate delay time.
6, a multi-input adder M7 with the number of inputs N+1 which is also a combinational circuit, a data memory 2 which can supply data of NX2 independent addresses, and an accumulator 8 which latches the addition result according to the latch clock. . The connection relationship of the configuration is that NX2 data output ports of the data memory 2 are connected to two inputs of each of the N multipliers 3 to 6, and the outputs of the Nil multipliers 3 to 6 are connected to multi-input addition. The output of the multi-input adder WI7 is coupled to the input of the accumulator 8, and the output of the accumulator 8 is coupled to a part of the input of the multi-input adder 7.

演算実行に際しての各部の動作を述べると、データメモ
リ2のNX2個のアドレスをアドレスパス1により一度
に指定し、N個の乗算器3〜6に全オペランドを同時に
供給して乗算器3〜6のゲート遅延時間後に得られるN
個の乗算結果とアキュムレータ8の出力とをN+1の入
力を持つ多入力加算N7に入力し、多入力加算l17の
ゲート遅延時間後に得られる出力をラッチクロックによ
りアキュムレータ8にラッチすることにより、N項の積
和演算をデータメモリ2に対するアドレス指定とアキュ
ムレータ8のラッチとによる1サイクルで実行する。
To describe the operation of each part when executing an operation, NX2 addresses of data memory 2 are specified at once by address path 1, all operands are simultaneously supplied to N multipliers 3 to 6, and multipliers 3 to 6 are N obtained after a gate delay time of
The multiplication results and the output of the accumulator 8 are input to a multi-input adder N7 having N+1 inputs, and the output obtained after the gate delay time of the multi-input adder l17 is latched into the accumulator 8 by a latch clock. The product-sum operation is executed in one cycle by addressing the data memory 2 and latching the accumulator 8.

第2図は上記の実施例におけろ多入力加算器7を三入力
加算器とした他の実施例を示す構成図であり、1はアド
レスパス、2.2’はデータメモリ、3,4は乗算器、
7′は三入力加算器、8はアキュムレータである。なお
、この実施例において構成およびその動作は第1図の実
施例と同一である。
FIG. 2 is a block diagram showing another embodiment in which the multi-input adder 7 in the above embodiment is a three-input adder, in which 1 is an address path, 2.2' is a data memory, 3, 4 is a multiplier,
7' is a three-input adder, and 8 is an accumulator. The configuration and operation of this embodiment are the same as those of the embodiment shown in FIG.

次に、第2図の実施例において具体的な演算実行例を説
明する。
Next, a specific example of calculation execution in the embodiment shown in FIG. 2 will be explained.

例えば、 Σ A、XX、=A、XX、+A2XX2+人、XX、
+人、XX4+AsXX、+A6XX、+・ =・のよ
うな演算を実行する場合に、アドレスパス1かう人、、
Xl、A2.X2のアドレスを同時に指定し、データメ
モリ2から乗算器3へA、、X、を、データメモリ2′
から乗算器4へ〜、X2を同時に供給し、乗算器3,4
ではAlX X、 、人2×x2を同時に実行する。そ
して、三入力加算N7′によりAlX X、 + A2
X X2を実行し、アキュムレータ8へ格納する。
For example, Σ A, XX, = A, XX, +A2XX2+person, XX,
+Person, XX4+AsXX, +A6XX, +・ When performing operations such as =・, the address path 1 is
Xl, A2. Specify the address of X2 at the same time, transfer A, ,X, from data memory 2 to multiplier 3, and transfer
Simultaneously supplies X2 from ~ to multiplier 4, and multipliers 3 and 4
Now, execute AlX X, , person 2×x2 at the same time. Then, by three-input addition N7', AlX X, + A2
Execute XX2 and store in accumulator 8.

次のサイクルでは、アドレスパス1から^3jX3#A
4.X4のアドレスを同時に指定し、データメモリ2か
ら乗算M3へA3.X、を、データメモリ2′から乗算
器4へA4.X4を同時に供給し、乗算器3.4では^
3xX3.A4××4を同時に実行する。
In the next cycle, address path 1 to ^3jX3#A
4. Specify the address of X4 at the same time, and transfer A3. X, from the data memory 2' to the multiplier 4 A4. X4 is supplied at the same time, and in multiplier 3.4 ^
3xX3. Execute A4××4 at the same time.

そして、三入力加算器7′により、A、XX3と、A4
XX、と、アキュムレータ8に格納されているAlX 
X、 + A2X X2とを加算し、アキュムレータ8
に格納する。
Then, A, XX3, and A4 are added by the three-input adder 7'.
XX, and AlX stored in accumulator 8
Add X, + A2X X2, accumulator 8
Store in.

更に次のサイクルでは、A、XMS、人。X X6の乗
算を実行し、その二つの乗算結果とA、 X Xi+ 
A。
Furthermore, in the next cycle, A, XMS, and person. Execute the multiplication of X X6, and combine the two multiplication results with A, X Xi+
A.

X X2+ A、 Xち+A、 X X4とを三入力加
算器7′で加算し、アキュムレータ8に格納する。
XX2+A, Xchi+A, and XX4 are added by a three-input adder 7' and stored in an accumulator 8.

以上の繰り返しによって、ΣA、 X X、を実行する
場合に、二項づつ乗算を実行し、その結果を累積してい
く。
By repeating the above, when executing ΣA, X X, multiplication is executed two terms at a time, and the results are accumulated.

第3図は第1図および第2図に示した実施例における加
算器とアキュムレータのタイミングを示した図であり、
クロックの立ち上がりでアドレスを指定すると、データ
が乗算器に供給され、ゲート遅延時間後、加算器出力に
結果が得られる。それをクロックの立ち下が9でアキュ
ムレータにラッチすることにより演算が実行される。
FIG. 3 is a diagram showing the timing of the adder and accumulator in the embodiment shown in FIGS. 1 and 2,
Addressing on the rising edge of the clock feeds the data into the multiplier, and after the gate delay time, the result is available at the adder output. The calculation is executed by latching it into the accumulator at the falling edge of the clock at 9.

(発明の効果) 以上のように本発明の並列積和演算回路にあっては、乗
算器をN(N22)個備えているため同時に複数の乗算
が実行できろと共に、加算器の入力数が乗算器の個数N
より1個多いN+1となっているため同時に得られる複
数の乗算結果とアキュムレータ内の累積値とを一度に加
算することができ、ΣA、XX、のようないわゆる畳み
込み演算を非常に高速に処理することができる効果があ
る。
(Effects of the Invention) As described above, since the parallel product-sum operation circuit of the present invention is equipped with N (N22) multipliers, it is possible to execute multiple multiplications at the same time, and the number of inputs to the adder can be reduced. Number of multipliers N
Since there is one more N+1, multiple multiplication results obtained at the same time and the accumulated value in the accumulator can be added at once, and so-called convolution operations such as ΣA, XX, etc. can be processed very quickly. There is an effect that can be done.

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

第1図は本発明の並列積和演算回路の一実施例を示す構
成図、第2図は他の実施例を示す構成図、第3図は第1
図および第2図の動作説明図である。 1・・・・・・アドレスパス、2,2’・・・・・・デ
ータメモリ、3〜6・・・・・乗算器、7・・・・・・
多入力加算器、7′・・・・・三入力加算器、8・・・
・・・アキュムレータ特許出願人  日本電信電話株式
会社 はか1名
FIG. 1 is a block diagram showing one embodiment of the parallel product-sum calculation circuit of the present invention, FIG. 2 is a block diagram showing another embodiment, and FIG.
FIG. 2 is an explanatory diagram of the operation shown in FIG. 1...address path, 2,2'...data memory, 3-6...multiplier, 7...
Multi-input adder, 7'... Three-input adder, 8...
...Accumulator patent applicant Nippon Telegraph and Telephone Corporation Haka 1 person

Claims (1)

【特許請求の範囲】[Claims] アドレスパスの制御によりN×2(N≧2)個の独立し
たアドレスのデータを供給可能なデータメモリと、デー
タを入力するとゲート遅延時間後に結果を出力する組合
せ回路からなり前記データメモリからデータを入力する
N個の乗算器と、同じく組合せ回路からなり前記乗算器
および後記アキュムレータからデータを入力する入力数
がN+1の多入力加算器と、この多入力加算器の加算結
果をラッチクロックによりラッチするアキュムレータと
を備え、N項の積和演算を前記データメモリに対するア
ドレス指定と前記アキュムレータのラッチとによる1サ
イクルで実行することを特徴とする並列積和演算回路。
It consists of a data memory that can supply data of N×2 (N≧2) independent addresses by controlling the address path, and a combinational circuit that outputs the result after a gate delay time when data is input. N multipliers for input, a multi-input adder with N+1 inputs which is also a combinational circuit and inputs data from the multipliers and the accumulator described later, and the addition result of this multi-input adder is latched by a latch clock. 1. A parallel product-sum operation circuit, comprising: an accumulator, and executes an N-term product-sum operation in one cycle by addressing the data memory and latching the accumulator.
JP11590087A 1987-05-14 1987-05-14 Parallel arithmetic circuit for sum of products Pending JPS63282567A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11590087A JPS63282567A (en) 1987-05-14 1987-05-14 Parallel arithmetic circuit for sum of products

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11590087A JPS63282567A (en) 1987-05-14 1987-05-14 Parallel arithmetic circuit for sum of products

Publications (1)

Publication Number Publication Date
JPS63282567A true JPS63282567A (en) 1988-11-18

Family

ID=14673984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11590087A Pending JPS63282567A (en) 1987-05-14 1987-05-14 Parallel arithmetic circuit for sum of products

Country Status (1)

Country Link
JP (1) JPS63282567A (en)

Similar Documents

Publication Publication Date Title
JP4584580B2 (en) Multiply-and-accumulate (MAC) unit for single instruction multiple data (SIMD) instructions
JPH10187438A (en) Method for reducing transition to input of multiplier
Meher On efficient retiming of fixed-point circuits
US6622153B1 (en) Virtual parallel multiplier-accumulator
JPH08123769A (en) Parallel processor
WO1995032464A1 (en) A parallel processing circuit and a digital signal processor including same
US10929101B2 (en) Processor with efficient arithmetic units
TW201939266A (en) Fast vector multiplication and accumulation circuit
Kumar et al. Analysis of low power, area and high speed multipliers for DSP applications
JPS63282567A (en) Parallel arithmetic circuit for sum of products
JPH05324694A (en) Reconstitutable parallel processor
US5204962A (en) Processor with preceding operation circuit connected to output of data register
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
Bhadra et al. Design and Analysis of High-Throughput Two-Cycle Multiply-Accumulate (MAC) Architectures for Fixed-Point Arithmetic
JPS6310263A (en) Vector processor
Sasipriya et al. Vedic Multiplier Design Using Modified Carry Select Adder with Parallel Prefix Adder
JPS6259828B2 (en)
JP2696903B2 (en) Numerical calculator
Abdel-Raheem et al. A new inner-product processor for FIR filter implementation
JP3723311B2 (en) Parallel processor
JPH04364525A (en) Parallel arithmetic unit
JPS6359627A (en) Multiplier with arithmetic logical operation function and its driving method
JPH09325953A (en) Processor and data processor
JP2862969B2 (en) Processor
JPH01187638A (en) Processing unit