JP3287305B2 - 積和演算装置 - Google Patents
積和演算装置Info
- Publication number
- JP3287305B2 JP3287305B2 JP12948698A JP12948698A JP3287305B2 JP 3287305 B2 JP3287305 B2 JP 3287305B2 JP 12948698 A JP12948698 A JP 12948698A JP 12948698 A JP12948698 A JP 12948698A JP 3287305 B2 JP3287305 B2 JP 3287305B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- multiplier
- bus
- output
- multiplexer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
し、特に実数および複素数の積和演算を高速に行うこと
ができる積和演算装置に関する。
能化に伴い、変復調や高速フーリエ変換、ベースバンド
処理といった処理の高速化が以前にも増して重要になっ
てきている。このような処理では、複素数および実数の
積和演算が多用される。複素数の積和演算では、1演算
当り実数の乗算を4回、加算を3回、減算を1回行わな
ければならない。また、サンプリング周波数が増大する
につれ、実数の積和演算1回当りに許される処理時間は
ますます短くなる。このため、より高速な複素数および
実数の積和演算装置が必要不可欠となっている。
している積和演算装置としては、例えば、特開平9-2699
39号公報に記載されているものが知られている。
ブロック図である。同図に示すように、従来装置は、デ
ータ入力用のバス401, 402と、1ステップ前の入力デー
タを保持する遅延素子(Delay)403, 406 と、乗算器409,
410への入力を制御信号405,408に従って選択するマル
チプレクサ(MUX)404, 407 と、入力データに対して乗算
を行う乗算器409, 410と、これら乗算器409, 410の乗算
結果をアキュムレータ(ACC)413, 414 が保持している値
に累加算あるいは累減算する加減算器411, 412と、デー
タ出力用のバス415, 416とを含んで構成されている。
場合および複素数の積和演算を行う場合を例にとって従
来装置の動作を説明する。
て説明する。ここでは、フィルタ次数が4の場合の例を
示す。
うに表すことができる。
うにするため、式(1) に示した時刻nのフィルタ出力y
(n)と、次式(2) に示す時刻n+1 のフィルタ出力y(n+1)
とを並行して計算する。
1), x(n-2), x(n-3)は、それぞれ時刻n+1, n, n-1, n-
2, n-3 におけるフィルタ入力を表す。また、a0, a1, a
2, a3はフィルタ係数である。
テップかかる。ここでは、5ステップのうち、最後のス
テップにおける動作だけ説明する。他のステップにおい
ても演算対象データが異なるだけで動作は同じである。
ップの処理により、アキュムレータ413 にはa1*x(n)+a2
*x(n-1)+a3*x(n-2) が保持され、アキュムレータ414 に
はa1*x(n-1)+a2*x(n-2)+a3*x(n-3) が保持されている。
また、遅延素子406 には、フィルタ入力x(n)が保持され
ている。
先ずフィルタ入力x(n+1)とフィルタ係数a0がそれぞれバ
ス401, 402を介してメモリ(図示せず)から転送され
る。
を出力した後、バス401 からのデータx(n+1)を保持す
る。
1)とバス402 からのデータa0とを乗算し、乗算結果a0*x
(n+1) を出力する。乗算器410 は、遅延素子406 の出力
x(n)とバス402 からのデータa0とを乗算し、乗算結果a0
*x(n) を出力する。
おいてそれぞれアキュムレータ413,414 の内容に加算さ
れる。こうして、アキュムレータ413, 414にはそれぞれ
y(n+1), y(n)が保持されることになる。以上が、FIR フ
ィルタを実現する場合における従来装置の動作である。
を行う場合について従来装置の動作を説明する。複素数
の積和演算は次式(3) で表すことができる。
13に格納されており、Fはアキュムレータ414 に格納さ
れているとする。このとき、式(3) は以下の3ステップ
で計算される。
以下の処理が行われる。先ず、データAと値0がそれぞ
れバス401, 402を介してメモリから転送される。遅延素
子403, 406には、ともにAが保持される。乗算器409, 4
10は、ともにバス401 からのデータAとバス402 からの
値0とを乗算し、乗算結果A*0(=0) を出力する。これら
の乗算結果0は、加減算器411, 412においてそれぞれア
キュムレータ413, 414の内容に加算される。
タCがそれぞれバス401, 402を介してメモリから転送さ
れる。遅延素子403 にはBが保持され、遅延素子406 に
は遅延素子403 の出力Aが保持される。乗算器409 は、
遅延素子403 の出力Aとバス402 からのデータCとを乗
算し、乗算結果A*C を出力する。乗算器410 は、バス40
1 からのデータBとバス402 からのデータCとを乗算
し、乗算結果B*C を出力する。これらの乗算結果は、加
減算器411, 412においてそれぞれアキュムレータ413, 4
14の内容に加算される。こうして、アキュムレータ413,
414にはそれぞれE+A*C, F+B*Cが保持される。
402 を介してメモリから転送される。乗算器409 は、遅
延素子403 の出力Bとバス402 からのデータDとを乗算
し、乗算結果B*D を出力する。乗算器410 は、遅延素子
406 の出力Aとバス402 からのデータDとを乗算し、乗
算結果A*D を出力する。
1 においてアキュムレータ 413の内容から減算される。
乗算器410 の乗算結果A*D は、加減算器412 においてア
キュムレータ 414の内容に加算される。こうして、アキ
ュムレータ413, 414には積和演算結果の実数部と虚数部
がそれぞれ保持されることになる。
装置では、乗算、加減算をそれぞれ2並列で行うことに
より、実数および複素数の積和演算を高速化している
が、今後通信が更に大容量化すると、この程度の高速化
では処理性能を満たせないという問題が生じてくる。
クサをそれぞれ2個ずつ含むなど、入力部の構成が複雑
であるという問題もある。
の問題点を解決するためになされたものであり、その目
的は、実数および複素数の積和演算を高速に行うことが
でき、且つ構成が比較的簡単な積和演算装置を提供する
ことである。
置は、演算手段およびデータ転送手段の数を増やして並
列性を上げることにより、実数および複素数の積和演算
を高速に行えるようにしたものである。
に転送する第1〜第4のバス(図1の101 〜104)と、 前
記第2のバス(図1の102)を介して転送されてきたデー
タを、制御信号が第1の状態の場合には直ちに出力し、
前記制御信号が第2の状態の場合は次のデータが転送さ
れてきたときに出力するラッチ回路(図1の105)と、 前
記第1及び第3のバス(図1の101,103)を介して転送さ
れてくるデータ同士の乗算を行う第1の乗算器(図1の
107)と、 前記第2及び第4のバス(図1の102,104)を介
して転送されてくるデータ同士の乗算を行う第2の乗算
器(図1の108)と、 前記ラッチ回路(図1の105)から出
力されるデータと前記第3のバス(図1の103)を介して
転送されてくるデータとの乗算を行う第3の乗算器(図
1の109)と、 前記第1及び第4のバス(図1の101,104)
を介して転送されてくるデータ同士の乗算を行う第4の
乗算器(図1の110)と、それぞれが前記第1,第2の乗
算器(図1の107, 108)の乗算結果の加減算、前記第
3,第4の乗算器(図1の109, 110)の乗算結果の加減
算を行う第1,第2の加減算器(図1の111, 112) と、
第1,第2のアキュムレータ(図1の115, 116) と、そ
れぞれが前記第1,第2の加減算器(図1の111, 112)
の演算結果と前記第1,第2のアキュムレータ(図1の
115, 116)に保持されている値とを加算し、加算結果を
前記第1,第2のアキュムレータ(図1の115, 116) に
保持させる第1,第2の加算器(図1の113, 114) とを
備えている。
態にした場合は、ラッチ回路が第2のバスを介して送ら
れてくるデータをそのまま出力するので、第1〜第4の
乗算器は、第1〜第4のバスを介して転送されてくるデ
ータの内の、自乗算器に割り当てられている2個のデー
タ同士の乗算を行うことになる。そして、第1,第2の
加減算器が、第1,第2の乗算器の乗算結果の加減算お
よび第3,第4の乗算器の乗算結果の加減算を行い、第
1,第2の加算器が、第1,第2の加減算器の演算結果
と第1,第2のアキュムレータに保持されている値とを
加算し、加算結果を第1,第2のアキュムレータに保持
させる。これにより、1回の複素数積和演算に必要な4
乗算, 3加算, 1減算を1ステップで処理することが可
能になる。また、制御信号を第2の状態にした場合は、
ラッチ回路が第2のバスを介して送られてきたデータを
遅延させて出力するので、第1,第2,第4の乗算器
は、制御信号が第1の状態の場合と同様の動作を行う
が、第3の乗算器は、ラッチ回路で遅延されたデータと
第3のバスを介して送られてくるデータとを乗算するこ
とになる。式(1) のa0*x(n)+a1*x(n-1) および式(2) の
a0*x(n+1)+a1*x(n) を計算するためには (つまり、畳み
込み演算における積和演算を4並列で行うためには)、
5個のa0, a1, x(n+1), x(n), x(n-1)が必要になるが、
これらのデータを第1〜第4のバス、ラッチ回路から供
給することにより、実数積和演算を3ステップで行うこ
とができる。更に、従来装置のように、マルチプレクサ
等の余分な回路がないため、簡単な装置構成になる。
図面を参照して詳細に説明する。
演算装置の実施の一形態を示すブロック図である。同図
に示すように、本装置は、メモリ(図示せず)から4ワ
ード分のデータを同時に転送するための4ワード分のバ
ス101, 102, 103, 104と、制御信号106 に基づいて入力
データを通過させたり保持したりするラッチ回路105
と、入力データに対して乗算を行う乗算器107, 108, 10
9, 110と、これら乗算器107, 108, 109,110 の乗算結果
を足したり引いたりする加減算器111, 112と、加減算器
111, 112の演算結果とアキュムレータ(ACC)115, 116 に
保持されている値との加算を行う加算器113, 114と、バ
ス117, 118とを含んで構成されている。
場合には、バス102 によって転送されてきたデータをそ
のまま出力し、オフの場合には、バス102 によって転送
されてきたデータを一時保持し、次のステップで出力す
る。
リから転送されてきたデータ同士の乗算を行う。乗算器
108 は、バス102, 104を介して転送されてきたデータ同
士の乗算を行う。乗算器109 は、バス103 を介してメモ
リから転送されたデータとラッチ回路105 からのデータ
との乗算を行う。乗算器110 は、バス101, 104を介して
転送されてきたデータ同士の乗算を行う。
果を加算あるいは減算する。加減算器112 は、乗算器10
9, 110の乗算結果を加算あるいは減算する。
アキュムレータ115 の値とを加算し、加算結果を出力す
る。加算器114 は、加減算器112 の演算結果とアキュム
レータ116 の値とを加算し、加算結果を出力する。
結果を保持し、保持した値を次のステップで出力する。
アキュムレータ116 は、加算器114 の加算結果を保持
し、保持した値を次のステップで出力する。
について図1を参照して説明する。
104を介してメモリから乗算器107,108, 109, 110およ
びラッチ回路105 へデータが転送される。
9, 110において乗算される。乗算器107 では、バス101,
103からのデータを乗算する。乗算器108 では、バス10
2, 104からのデータを乗算する。乗算器109 では、バス
103 およびラッチ回路105 からのデータを乗算する。乗
算器110 では、バス101, 104からのデータを乗算する。
110の乗算結果は、加減算器111, 112においてそれぞれ
加算または減算される。加減算器111 では、乗算器107,
108の乗算結果を加減算する。加減算器112 では、乗算
器109, 110の乗算結果を加減算する。
算器113, 114において、アキュムレータ115, 116の値と
足し合わされる。加算器113 では、加減算器111 の演算
結果とアキュムレータ115 の値を加算する。加算器114
では、加減算器112 の演算結果とアキュムレータ116 の
値を加算する。加算器113, 114の加算結果は、それぞれ
アキュムレータ115, 116にそれぞれ保持される。
テップである。尚、上記のステップで得られたアキュム
レータ115, 116の値は、次のステップにおいて、加算器
113,114 へ入力されるか、あるいはバス117, 118を介し
てメモリへ格納される。
図1を参照して説明する。ここでは、式(1),(2) によっ
て表されるFIR フィルタを実現する場合と、式(3) に示
す複素数の積和演算を行う場合とについて説明する。
て説明する。従来装置と同様に、時刻nのフィルタ出力
y(n)と、時刻n+1 のフィルタ出力y(n+1)とを並行して計
算する。本実施例による式(1), (2)の計算は次の3ステ
ップからなる。なお、この3ステップの間、制御信号10
6 はオフにしておく。
以下のように処理が行われる。
してメモリから転送され、フィルタ入力x(n-3)がバス10
2 を介してメモリから転送される。同時に、値0がバス
103,104を介してメモリから転送される。ラッチ回路105
は、保持している値(本計算には関係ない値)を乗算
器109 の入力として出力した後、バス102 によって転送
されてきたフィルタ入力x(n-3)を保持する。
0との乗算が行われ、乗算結果0が出力される。乗算器
108 では、フィルタ入力x(n-3)と値0との乗算が行わ
れ、乗算結果0が出力される。乗算器109 では、ラッチ
回路105 の出力と値0との乗算が行われ、乗算結果0が
出力される。乗算器110 では、フィルタ入力x(n-4)と値
0との乗算が行われ、乗算結果0が出力される。
108の結果が足し合わされ、その加算結果0が出力され
ると共に、加減算器112 において、乗算器109, 110の結
果が足し合わされ、その加算結果0が出力される。これ
ら加算結果(=0)は、アキュムレータ115, 116にそれぞれ
格納される。
バス101 を介してメモリから転送され、フィルタ入力x
(n-1)がバス102 を介してメモリから転送される。同時
に、フィルタ係数a3がバス103 を介してメモリから転送
され、フィルタ係数a2がバス104 を介してメモリから転
送される。また、ラッチ回路105 は、第1ステップで保
持した値x(n-3)を乗算器109 の入力として出力した後、
バス102 によって転送されてきたフィルタ入力x(n-1)を
保持する。
ィルタ係数a3との乗算が行われ、乗算結果a3*x(n-2) が
出力される。乗算器108 では、フィルタ入力x(n-1)とフ
ィルタ係数a2との乗算が行われ、乗算結果a2*x(n-1) が
出力される。乗算器109 では、第1ステップでラッチ回
路105 に保持されたフィルタ入力x(n-3)とフィルタ係数
a3との乗算が行われ、乗算結果a3*x(n-3) が出力され
る。乗算器110 では、フィルタ入力x(n-2)とフィルタ係
数a2との乗算が行われ、乗算結果a2*x(n-2) が出力され
る。
108の結果が足し合わされ、その加算結果a2*x(n-1)+a3
*x(n-2) が出力されると共に、加減算器112 において、
乗算器109, 110の結果が足し合わされ、その加算結果a2
*x(n-2)+a3*x(n-3) が出力される。これら加算結果は、
加算器113, 114においてアキュムレータ 115, 116 の値
0 にそれぞれ加算される。こうして、アキュムレータ 1
15にはa2*x(n-1)+a3*x(n-2) が格納され、アキュムレー
タ 116にはa2*x(n-2)+a3*x(n-3) が格納されることにな
る。
ス101 を介してメモリから転送され、フィルタ入力x(n+
1)がバス102 を介してメモリから転送される。同時に、
フィルタ係数a1がバス103 を介してメモリから転送さ
れ、フィルタ係数a0がバス104を介してメモリから転送
される。また、ラッチ回路105 は、第2ステップで保持
した値x(n-1)を乗算器109 の入力として出力した後、バ
ス102 によって転送されてきたフィルタ入力x(n+1)を保
持する。
ルタ係数a1との乗算が行われ、乗算結果a1*x(n) が出力
される。乗算器108 では、フィルタ入力x(n+1)とフィル
タ係数a0との乗算が行われ、乗算結果a0*x(n+1) が出力
される。乗算器109 では、第2ステップでラッチ回路10
5 に保持されたフィルタ入力x(n-1)とフィルタ係数a1と
の乗算が行われ、乗算結果a1*x(n-1) が出力される。乗
算器110 では、フィルタ入力x(n)とフィルタ係数a0との
乗算が行われ、乗算結果a0*x(n) が出力される。
108の結果が足し合わされ、その加算結果a0*x(n+1)+a1
*x(n) が出力されると共に、加減算器112 において、乗
算器109, 110の結果が足し合わされ、その加算結果a0*x
(n)+a1*x(n-1) が出力される。これらの加算結果は、加
算器113, 114においてアキュムレータ115, 116の値にそ
れぞれ加算される。こうして、アキュムレータ115 には
y(n+1)が格納され、アキュムレータ116 にはy(n)が格納
されることになる。
発明の実施例を示したが、任意の次数のFIR フィルタに
対して本発明を適用できることは明らかである。また、
FIRフィルタに限らず、IIR フィルタ等における畳み込
み演算を実現する際に本発明を適用できることは明らか
である。
ステップかかる。一方、従来装置では同じ計算に5ステ
ップかかるので、40%のステップ数が削減されたことに
なる。フィルタの次数が高くなればなるほど、ステップ
数の削減割合は漸近的に50%に近づく。
いて説明する。複素数E+jFのうち、Eはアキュムレータ
115に格納されており、Fはアキュムレータ 116に格納
されている。また、制御信号106 はオンにしておく。
算される。先ず、A,B,C,Dが、それぞれバス101,
102, 103, 104を介してメモリから乗算器107, 108, 10
9, 110へ転送される。
乗算結果A*C が出力される。乗算器108 では、BとDの
乗算が行われ、乗算結果B*D が出力される。乗算器109
では、BとCの乗算が行われ、乗算結果B*C が出力され
る。乗算器110 では、AとDの乗算が行われ、乗算結果
A*D が出力される。
108にの乗算結果同士の減算が行われ、減算結果A*C-B*
D が出力されると共に、加減算器112 において、乗算器
109,110の乗算結果が足し合わされ、その加算結果A*D+B
*C が出力される。
いてアキュムレータ115, 116の値にそれぞれ加算され
る。こうして、アキュムレータ115 にはA*C-B*D+E が格
納され、アキュムレータ 116にはA*D+B*C+F が格納され
ることになる。
ップかかるので、約67%のステップ数が削減されたこと
になる。
て説明する。本実施の形態は、図1に示した積和演算装
置と、図2に示した自乗和演算を高速に行うことができ
る積和演算装置とを一装置として構成したことを特徴と
しており、図3に示す構成を有する。先ず、図2を参照
し、自乗和演算を高速に行うことができる積和演算装置
について説明する。
に行うことができる積和演算装置は、メモリ(図示せ
ず)から乗算器107, 108, 109, 110へデータを転送する
ためのバス201, 202, 203, 204における配線が第1の実
施の形態と異なる。乗算器107には、バス201 を介して
メモリから転送されたデータが、乗算器の第1入力およ
び第2入力として入力される。乗算器108 には、バス20
2 を介してメモリから転送されたデータが乗算器の第1
入力および第2入力として入力される。乗算器109 に
は、バス203 を介してメモリから転送されたデータが乗
算器の第1入力および第2入力として入力される。乗算
器110 には、バス204 を介してメモリから転送されたデ
ータが乗算器の第1入力および第2入力として入力され
る。
説明する。ここで、式(4), (5)に示す自乗和を並行して
計算する場合について説明する。
らなる。
以下の処理を行う。先ず、値0がバス201, 202, 203, 2
04を介してメモリから乗算器107, 108, 109, 110へ転送
される。
乗をそれぞれ計算し、その結果0を出力する。
108の乗算結果が足し合わされ、その結果0が出力され
ると共に、加減算器112 において、乗算器109, 110の乗
算結果が足し合わされ、その結果0が出力される。これ
らの加算結果は、アキュムレータ 115, 116 にそれぞれ
格納される。
がそれぞれバス201, 202, 203, 204を介してメモリから
乗算器107, 108, 109, 110へ転送される。乗算器107
は、Aの自乗を計算し、乗算結果A2 を出力する。乗算
器108 は、Bの自乗を計算し、乗算結果B2 を出力す
る。乗算器109 は、Eの自乗を計算し、乗算結果E2 を
出力する。乗算器110 は、Fの自乗を計算し、乗算結果
F2 を出力する。
108による乗算結果が足し合わされ、その結果A2 +B
2 が出力されると共に、加減算器112 において、乗算器
109,110による乗算結果が足し合わされ、その結果E2
+F2 が出力される。これらの加算結果は、加算器113,
114において、アキュムレータ 115, 116 の値0にそれ
ぞれ加算される。こうして、アキュムレータ 115にはA
2 +B2 が格納され、アキュムレータ 116にはE2 +F
2 が格納されることになる。
がそれぞれバス201, 202, 203, 204を介してメモリから
乗算器107, 108, 109, 110へ転送される。
の結果C2 が出力される。乗算器108 では、Dの自乗が
計算され、その結果D2 が出力される。乗算器109 で
は、Gの自乗が計算され、その結果G2 が出力される。
乗算器110 では、Hの自乗が計算され、その結果H2 が
出力される。
108による結果が足し合わされ、その結果C2 +D2 が
出力されると共に、加減算器112 において、乗算器109,
110による結果が足し合わされ、その結果G2 +H2 が
出力される。これらの加算結果は、加算器113, 114にお
いて、アキュムレータ 115, 116 の値にそれぞれ加算さ
れる。こうして、アキュムレータ 115には前出の式(4)
の結果Pが格納され、アキュムレータ 116には前出の式
(5) の結果Qが格納されることになる。
図面を参照して説明する。
前述したように、図1に示された第1の実施の形態と図
2に示された積和演算装置とを一装置として構成したも
のになっている。本装置においても、メモリから乗算器
107, 108, 109, 110へデータを転送するためのバス301,
302, 303, 304における配線が、第1の実施の形態と異
なる。更に、バス301, 302, 303, 304の途中にマルチプ
レクサ305, 306, 307,308を配したこと、および本装置
を第1の実施の形態として動作させたり図2の積和演算
装置として動作させたりするための切り替えを行う制御
信号309 を加えたことも異なっている。
態として動作させる場合にはオフ、図2の積和演算装置
として動作させる場合にはオンにする。
介してメモリから転送されたデータと制御信号309 とが
入力され、制御信号309 がオフの場合にはバス303 から
のデータを出力し、制御信号309 がオンの場合にはバス
301 からのデータを出力する。
介してメモリから転送されたデータと制御信号309 とが
入力され、制御信号309 がオフの場合にはバス304 から
のデータを出力し、制御信号309 がオンの場合にはバス
302 からのデータを出力する。
て転送されたデータとラッチ回路105 からの値と制御信
号309 とが入力され、制御信号309 がオフの場合にはラ
ッチ回路105 からの値を出力し、制御信号309 がオンの
場合にはバス303 からのデータを出力する。
介してメモリから転送されたデータと制御信号309 とが
入力され、制御信号309 がオフの場合にはバス301 から
のデータを出力し、制御信号309 がオンの場合にはバス
304 からのデータを出力する。
ら転送されたデータとマルチプレクサ305 からのデータ
とを乗算し、乗算結果を出力する。乗算器108 は、バス
302を介してメモリから転送されたデータとマルチプレ
クサ306 からのデータとを乗算し、乗算結果を出力す
る。乗算器109 は、バス303 を介してメモリから転送さ
れたデータとマルチプレクサ307 からのデータとを乗算
し、乗算結果を出力する。乗算器110 は、バス304 を介
してメモリから転送されたデータとマルチプレクサ308
からのデータとを乗算し、乗算結果を出力する。
て説明する。本装置の動作は、制御信号309 がオフの場
合には第1の実施の形態における動作と同じであり、同
信号がオンの場合には図2に示した積和演算装置の動作
と同じである。
シグナルプロセッサやマイクロプロセッサの演算器とし
て用いることもできる。
装置は、従来装置に比較して多くの乗算器,加減算器を
備えているので、従来装置に比較して積和演算を高速に
行うことができる。また、従来装置のように、マルチプ
レクサを備えなくとも良いので、構成を簡単なものにす
ることができる。
の状態に応じて、第2のバスを介して転送されてきたデ
ータを、第3の乗算器に直ちに出力するか、或いは次の
データが転送されてきたときに第3の乗算器に出力する
ラッチ回路を備えているので、複素数の積和演算,FIR
フィルタを実現するための畳み込み演算による実数の積
和演算など、種々の積和演算を行うことができる。
に自乗を計算させるためのマルチプレクサを備えている
ので、自乗和演算を含めた数々の積和演算を高速に行う
ことができる。
図である。
装置の構成例を示すブロック図である。
図である。
Claims (3)
- 【請求項1】 4ワードのデータを同時に転送する第1
〜第4のバスと、 前記第2のバスを介して転送されてきたデータを、制御
信号が第1の状態の場合には直ちに出力し、前記制御信
号が第2の状態の場合は次のデータが転送されてきたと
きに出力するラッチ回路と、 前記第1及び第3のバスを介して転送されてくるデータ
同士の乗算を行う第1の乗算器と、 前記第2及び第4のバスを介して転送されてくるデータ
同士の乗算を行う第2の乗算器と、 前記ラッチ回路から出力されるデータと前記第3のバス
を介して転送されてくるデータとの乗算を行う第3の乗
算器と、 前記第1及び第4のバスを介して転送されてくるデータ
同士の乗算を行う第4の乗算器と、 それぞれが前記第1,第2の乗算器の乗算結果の加減
算、前記第3,第4の乗算器の乗算結果の加減算を行う
第1,第2の加減算器と、 第1,第2のアキュムレータと、 それぞれが前記第1,第2の加減算器の演算結果と前記
第1,第2のアキュムレータに保持されている値とを加
算し、加算結果を前記第1,第2のアキュムレータに保
持させる第1,第2の加算器とを備えたことを特徴とす
る積和演算装置。 - 【請求項2】 4ワードのデータを同時に転送する第1
〜第4のバスと、 前記第1及び第3のバスを介して転送されてきたデータ
の内の一方を、マルチプレクサ用制御信号の状態に応じ
て出力する第1のマルチプレクサと、 前記第2及び第4のバスを介して転送されてきたデータ
の内の一方を、前記マルチプレクサ用制御信号の状態に
応じて出力する第2のマルチプレクサと、 前記第2及び第3のバスを介して転送されてきたデータ
の内の一方を、前記マルチプレクサ用制御信号の状態に
応じて出力する第3のマルチプレクサと、 前記第1及び第4のバスを介して転送されてきたデータ
の内の一方を、前記マルチプレクサ用制御信号の状態に
応じて出力する第4のマルチプレクサと、 前記第1のバスを介して転送されてきたデータと前記第
1のマルチプレクサの出力とを乗算する第1の乗算器
と、 前記第2のバスを介して転送されてきたデータと前記第
2のマルチプレクサの出力とを乗算する第2の乗算器
と、 前記第3のバスを介して転送されてきたデータと前記第
3のマルチプレクサの出力とを乗算する第3の乗算器
と、 前記第4のバスを介して転送されてきたデータと前記第
4のマルチプレクサの出力とを乗算する第4の乗算器
と、 それぞれが前記第1,第2の乗算器の乗算結果の加減
算、前記第3,第4の乗算器の乗算結果の加減算を行う
第1,第2の加減算器と、第1,第2のアキュムレータ
と、 それぞれが前記第1,第2の加減算器の演算結果と前記
第1,第2のアキュムレータに保持されている値とを加
算し、加算結果を前記第1,第2のアキュムレータに保
持させる第1,第2の加算器とを備えたことを特徴とす
る積和演算装置。 - 【請求項3】 請求項2記載の積和演算装置において、 前記第2のバスを介して転送されてきたデータを、ラッ
チ用制御信号が第1の状態の場合には直ちに出力し、前
記ラッチ用制御信号が第2の状態の場合は次のデータが
転送されてきたときに出力するラッチ回路を備え、且
つ、 前記第3のマルチプレクサが、前記ラッチ回路の出力と
前記第3のバスを介して転送されてくるデータの内の一
方を、前記ラッチ用制御信号の状態に応じて出力する構
成を有することを特徴とする 積和演算装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12948698A JP3287305B2 (ja) | 1998-04-23 | 1998-04-23 | 積和演算装置 |
CA002269868A CA2269868A1 (en) | 1998-04-23 | 1999-04-22 | Product sum operation device capable of carrying out fast operation |
EP99107977A EP0952516A3 (en) | 1998-04-23 | 1999-04-22 | Product sum operation device capable of carrying out fast operation |
US09/296,653 US6385635B1 (en) | 1998-04-23 | 1999-04-23 | Product sum operation device capable of carrying out fast operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12948698A JP3287305B2 (ja) | 1998-04-23 | 1998-04-23 | 積和演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11306163A JPH11306163A (ja) | 1999-11-05 |
JP3287305B2 true JP3287305B2 (ja) | 2002-06-04 |
Family
ID=15010680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12948698A Expired - Fee Related JP3287305B2 (ja) | 1998-04-23 | 1998-04-23 | 積和演算装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6385635B1 (ja) |
EP (1) | EP0952516A3 (ja) |
JP (1) | JP3287305B2 (ja) |
CA (1) | CA2269868A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625630B1 (en) * | 2000-06-05 | 2003-09-23 | Dsp Group Ltd. | Two cycle FFT |
JP3338043B2 (ja) * | 2000-11-02 | 2002-10-28 | 株式会社ソニー・コンピュータエンタテインメント | 並列演算装置、エンタテインメント装置、演算処理方法、コンピュータプログラム、半導体デバイス |
JP2003016051A (ja) * | 2001-06-29 | 2003-01-17 | Nec Corp | 複素ベクトル演算プロセッサ |
JP3930729B2 (ja) * | 2001-11-30 | 2007-06-13 | 富士通株式会社 | 半導体装置並びにこれを用いたフラットパネル表示装置及びそのデータドライバ |
US20030145030A1 (en) * | 2002-01-31 | 2003-07-31 | Sheaffer Gad S. | Multiply-accumulate accelerator with data re-use |
EP2146278A1 (en) | 2002-09-24 | 2010-01-20 | Interdigital Technology Corporation | Computationally efficient mathematical engine |
US7739324B1 (en) | 2006-03-22 | 2010-06-15 | Cadence Design Systems, Inc. | Timing driven synthesis of sum-of-product functional blocks |
JP2009075676A (ja) * | 2007-09-18 | 2009-04-09 | Nec Electronics Corp | マイクロプロセッサ |
US8909687B2 (en) * | 2012-01-19 | 2014-12-09 | Mediatek Singapore Pte. Ltd. | Efficient FIR filters |
WO2018069785A1 (en) | 2016-10-12 | 2018-04-19 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and system using the same |
KR102356708B1 (ko) * | 2017-09-28 | 2022-01-27 | 삼성전자주식회사 | 컨볼루션 연산을 수행하는 연산 장치 및 연산 방법 |
US11474825B2 (en) * | 2019-03-27 | 2022-10-18 | Intel Corporation | Apparatus and method for controlling complex multiply-accumulate circuitry |
CN110750232B (zh) * | 2019-10-17 | 2023-06-20 | 电子科技大学 | 一种基于sram的并行乘加装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58207177A (ja) | 1982-05-28 | 1983-12-02 | Nec Corp | 演算装置 |
JPH06103490B2 (ja) | 1985-07-26 | 1994-12-14 | ソニー株式会社 | 電力積分回路 |
DE3637828C2 (de) * | 1986-03-20 | 1994-08-11 | Aeg Mobile Communication | Komplexer Multiplizierer-Akkumulierer |
JP2541128B2 (ja) * | 1993-11-16 | 1996-10-09 | 日本電気株式会社 | マルチキャリアロ―ルオフフィルタ |
US6385634B1 (en) * | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JPH09269939A (ja) * | 1996-03-29 | 1997-10-14 | Asahi Chem Ind Co Ltd | 並列演算器およびそれを用いたデジタル・シグナル・プロセッサ |
US5941940A (en) * | 1997-06-30 | 1999-08-24 | Lucent Technologies Inc. | Digital signal processor architecture optimized for performing fast Fourier Transforms |
US6078939A (en) * | 1997-09-30 | 2000-06-20 | Intel Corporation | Apparatus useful in floating point arithmetic |
-
1998
- 1998-04-23 JP JP12948698A patent/JP3287305B2/ja not_active Expired - Fee Related
-
1999
- 1999-04-22 CA CA002269868A patent/CA2269868A1/en not_active Abandoned
- 1999-04-22 EP EP99107977A patent/EP0952516A3/en not_active Ceased
- 1999-04-23 US US09/296,653 patent/US6385635B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2269868A1 (en) | 1999-10-23 |
EP0952516A2 (en) | 1999-10-27 |
JPH11306163A (ja) | 1999-11-05 |
US6385635B1 (en) | 2002-05-07 |
EP0952516A3 (en) | 2001-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3287305B2 (ja) | 積和演算装置 | |
US5287299A (en) | Method and apparatus for implementing a digital filter employing coefficients expressed as sums of 2 to an integer power | |
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 | |
US4817025A (en) | Digital filter | |
US5001661A (en) | Data processor with combined adaptive LMS and general multiplication functions | |
KR950000386B1 (ko) | 이산여현 변환회로 | |
US4785411A (en) | Cascade filter structure with time overlapped partial addition operations and programmable tap length | |
JP4854826B2 (ja) | ディジタルフィルタを実現するプログラム可能な回路 | |
Jyothi et al. | Low power, low area adaptive finite impulse response filter based on memory less distributed arithmetic | |
US5694349A (en) | Low power parallel multiplier for complex numbers | |
JPH0744530A (ja) | 演算装置 | |
JP3684314B2 (ja) | 複素乗算器および複素相関器 | |
JPH04190453A (ja) | 複素数の演算処理方式 | |
WO2000022729A1 (en) | Area efficient realization of coefficient architecture for bit-serial fir, iir filters and combinational/sequential logic structure with zero latency clock output | |
JP3041563B2 (ja) | 有限インパルス応答フィルタ | |
JP2953918B2 (ja) | 演算装置 | |
JP3165687B2 (ja) | ディジタル信号処理装置 | |
JPH0438005A (ja) | ディジタル信号処理回路 | |
JPS61213926A (ja) | Dsp演算処理方式 | |
JP2696903B2 (ja) | 数値計算装置 | |
JPH0748636B2 (ja) | 演算装置 | |
US7263541B2 (en) | Multi-dimensional hybrid and transpose form finite impulse response filters | |
JPH0447454A (ja) | ディジタルデータの離散フーリエ又はコサイン変換装置 | |
JP2590291B2 (ja) | 切換型iirフィルタ | |
JPS59198020A (ja) | デイジタル信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080315 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090315 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090315 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100315 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100315 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110315 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110315 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120315 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120315 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130315 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130315 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140315 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |