JP2012205298A - Digital signal processor and program - Google Patents

Digital signal processor and program Download PDF

Info

Publication number
JP2012205298A
JP2012205298A JP2011071203A JP2011071203A JP2012205298A JP 2012205298 A JP2012205298 A JP 2012205298A JP 2011071203 A JP2011071203 A JP 2011071203A JP 2011071203 A JP2011071203 A JP 2011071203A JP 2012205298 A JP2012205298 A JP 2012205298A
Authority
JP
Japan
Prior art keywords
multiplication
calculation cycle
addition
multiplier
processing
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.)
Granted
Application number
JP2011071203A
Other languages
Japanese (ja)
Other versions
JP5742366B2 (en
Inventor
Junya Ura
純也 浦
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2011071203A priority Critical patent/JP5742366B2/en
Publication of JP2012205298A publication Critical patent/JP2012205298A/en
Application granted granted Critical
Publication of JP5742366B2 publication Critical patent/JP5742366B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a digital signal processor (DSP) that can increase the number of multiply-accumulate operation executable within a single arithmetic-operation cycle.SOLUTION: A control unit 1, in each arithmetic-operation cycle, instructs a multiply-accumulate unit MAC0 to execute a part of multiply-accumulate operation necessary to obtain results of signal processing in the arithmetic-operation cycle, and instructs a multiply-accumulate calculator MAC1 to execute the other part of the multiply-accumulate operation in one or more arithmetic operation cycles immediately before the arithmetic operation cycle. In each arithmetic operation cycle, the control unit 1 reads out common samples from a data memory 3 in order to execute a plurality of multiply-accumulate operations for the common samples out of the multiply-accumulate operations to be executed by the multiply-accumulate calculators MAC0 and MAC1, and instructs the multiply-accumulate calculators MAC0 and MAC1 to execute the plurality of multiply-accumulate operations.

Description

この発明は、音声、画像等のフィルタ処理に好適なデジタル信号処理装置およびプログラムに関する。   The present invention relates to a digital signal processing apparatus and program suitable for filter processing of sound, images, and the like.

周知の通り、DSP(Digital Signal Processor;デジタル信号処理装置)は、高速動作可能な乗加算器を備えており、一定時間長の演算周期毎にこの乗加算器を利用した各種の信号処理を繰り返すプロセッサである。例えば音声信号の信号処理を実行するDSPの場合、音声信号のサンプリング周期を演算周期とし、演算周期毎に処理対象サンプル列を更新しつつ処理対象サンプル列の各サンプルに対する係数の乗算処理と乗算結果の加算処理を繰り返す。音声信号に対するFIR(Finite Impulse Response;有限インパルス応答)フィルタ処理を例に挙げると、あるサンプリング周期(演算周期)T(n)において、DSPは次式に示す各乗加算処理を乗加算器に順次実行させる。
ACC=C(0)*X(n)
ACC+=C(1)*X(n−1)
ACC+=C(2)*X(n−2)

ACC+=C(k−2)*X(n−k+2)
ACC+=C(k−1)*X(n−k+1)
……(1)
As is well known, a DSP (Digital Signal Processor) includes a multiplier / adder capable of high-speed operation, and repeats various signal processing using the multiplier / adder for every calculation period of a certain time length. It is a processor. For example, in the case of a DSP that performs signal processing of an audio signal, the sampling cycle of the audio signal is set as a calculation cycle, and the coefficient multiplication process and the multiplication result for each sample of the sample row to be processed are updated for each calculation cycle. Repeat the addition process. Taking an FIR (Finite Impulse Response) filter process for an audio signal as an example, in a certain sampling period (calculation period) T (n), the DSP sequentially applies each multiplication and addition process shown in the following equation to the multiplier / adder. Let it run.
ACC = C (0) * X (n)
ACC + = C (1) * X (n-1)
ACC + = C (2) * X (n-2)
:
ACC + = C (k−2) * X (n−k + 2)
ACC + = C (k−1) * X (n−k + 1)
...... (1)

ここで、X(n)は、当該サンプリング周期T(n)において、処理対象サンプル列に加わったサンプル、X(n−j)は、当該サンプリング周期T(n)のjサンプリング周期だけ前のサンプリング周期T(n−j)において処理対象サンプル列に加わったサンプルである。また、“*”は乗算処理を示す。また、“ACC=”は、右辺の乗算結果をアキュムレータACCに格納する処理を示し、“ACC+=”は、右辺の乗算結果を現状のアキュムレータACCの格納内容に加えたものをアキュムレータACCに格納する処理を示す。   Here, X (n) is a sample added to the sample sequence to be processed in the sampling cycle T (n), and X (n−j) is a sampling that is j sampling cycles before the sampling cycle T (n). It is a sample that has been added to the processing target sample sequence in the cycle T (n−j). “*” Indicates multiplication processing. “ACC =” indicates a process of storing the multiplication result of the right side in the accumulator ACC, and “ACC + =” stores the addition result of the multiplication result of the right side in the accumulator ACC in the accumulator ACC. Indicates processing.

そして、新たなサンプリング周期T(n+1)になると、DSPは次式に示す各乗加算処理を乗加算器に順次実行させる。
ACC=C(0)*X(n+1)
ACC+=C(1)*X(n)
ACC+=C(2)*X(n−1)

ACC+=C(k−2)*X(n−k+3)
ACC+=C(k−1)*X(n−k+2)
……(2)
Then, when the new sampling period T (n + 1) is reached, the DSP causes the multiplier / adder to sequentially execute the multiplication / addition processing shown in the following equations.
ACC = C (0) * X (n + 1)
ACC + = C (1) * X (n)
ACC + = C (2) * X (n-1)
:
ACC + = C (k−2) * X (n−k + 3)
ACC + = C (k−1) * X (n−k + 2)
(2)

このように、サンプリング周期T(n+1)では、新たなサンプルX(n+1)を処理対象サンプル列に加えるとともに、最も古いサンプルX(n−k+1)を処理対象サンプル列から追い出すサンプル列更新処理が行われ、このサンプル列更新処理を経た処理対象サンプル列X(n+1)〜X(n−k+2)に対して、サンプリング周期T(n)において使用したものを同じ係数列C(0)〜C(k−1)を用いた乗加算処理(この例では畳み込み演算処理)が実行される。   In this way, in the sampling period T (n + 1), a new sample X (n + 1) is added to the processing target sample sequence, and a sample sequence update process for expelling the oldest sample X (n−k + 1) from the processing target sample sequence is performed. For the processing target sample strings X (n + 1) to X (n−k + 2) that have undergone this sample string update process, the same coefficient strings C (0) to C (k) used in the sampling period T (n) are used. -1) is executed (convolution operation processing in this example).

以上、音声信号に対するFIRフィルタ処理を例に挙げたが、IIRフィルタ(Infinite
Impulse Response;無限インパルス応答)処理等の他の信号処理を実行する動作も基本的に上記と同様である。
In the above, the FIR filter processing for the audio signal has been described as an example, but the IIR filter (Infinite
The operation of executing other signal processing such as Impulse Response (infinite impulse response) processing is basically the same as described above.

特開2006−319941号公報JP 2006-319941 A

ところで、DSPを利用した電子機器として高機能なものを実現しようとすると、DSPの実行対象である信号処理が大規模化し、1演算周期の間に実行すべき乗加算処理の回数が増加することとなる。しかしながら、乗加算器が1演算周期の間に実行可能な乗加算処理の回数には限界がある。従来技術の下では、この乗加算処理の実行回数の限界がDSPを利用した電子機器の高機能化の障害となっていた。   By the way, if it is intended to realize a high-performance electronic device using a DSP, the signal processing that is the execution target of the DSP becomes large, and the number of multiplication / addition processing to be executed during one operation cycle increases. Become. However, there is a limit to the number of multiplication / addition processes that the multiplier / adder can execute during one calculation cycle. Under the prior art, the limit of the number of executions of this multiplication / addition processing has been an obstacle to the enhancement of the functionality of electronic devices using DSP.

この問題を解決するために、例えば2個の乗加算器をDSPに設けることが考えられる。この2個の乗加算器を利用して、2種類の乗加算処理を並列実行させることができれば、計算上は、1演算周期内に実行可能な乗加算処理の回数を2倍にすることができる。   In order to solve this problem, for example, two DSPs may be provided in the DSP. If two types of multiplication / addition processing can be executed in parallel using these two multiplier / adders, the number of multiplication / addition processing that can be executed within one calculation cycle can be doubled. it can.

しかしながら、2個の乗加算器を利用した2種類の乗加算処理を並列実行するためには、それらの乗加算処理に使用する2個のサンプルをメモリから読み出さなくてはならない。現状の技術では、メモリのアクセス時間の制約があるため、乗加算器が乗加算処理を1回実行する1サイクルの間に2個のサンプルをメモリから読み出すことは困難である。このため、1演算周期内に実行可能な乗加算処理の回数を増加させることは困難である。   However, in order to execute two types of multiplication / addition processing using two multiplier / adders in parallel, two samples used for the multiplication / addition processing must be read from the memory. In the current technology, there is a restriction on the access time of the memory, so it is difficult to read two samples from the memory during one cycle when the multiplier / adder executes the multiplication / addition process once. For this reason, it is difficult to increase the number of multiplication and addition processes that can be executed within one calculation cycle.

この問題を解決するために、例えばメモリの1アドレスに対応した記憶領域内にサンプル2個を格納し、必要なサンプルを読み出すためのメモリアクセス回数を減らす方法を採ることも考えられる。すなわち、例えば前掲式(1)の演算に使用するサンプルX(n)およびX(n−1)の組、サンプルX(n−2)およびX(n−3)の組、…を各々1アドレスに対応した各記憶領域に格納しておくのである。   In order to solve this problem, for example, a method of storing two samples in a storage area corresponding to one address of the memory and reducing the number of memory accesses for reading out the necessary samples can be considered. That is, for example, a set of samples X (n) and X (n−1), a set of samples X (n−2) and X (n−3), etc. used for the calculation of the above formula (1) are each one address. It is stored in each storage area corresponding to.

この場合、上述したサンプリング周期T(n)では、サンプルX(n)およびX(n−1)の組を1回のメモリアクセスにより読み出して係数C(0)およびC(1)と各サンプルとの乗算および乗算結果の加算を実行し、後続のサンプルの組についても同様の演算を繰り返すことが可能である。   In this case, in the above-described sampling period T (n), the set of samples X (n) and X (n−1) is read out by one memory access, and the coefficients C (0) and C (1) and each sample are read. It is possible to execute the same multiplication and addition of the multiplication results, and repeat the same operation for the subsequent sample set.

しかしながら、次のサンプリング周期T(n+1)になると、前掲式(2)に示すように、係数C(0)およびC(1)との乗算に使用するサンプルは、サンプルX(n+1)およびX(n)の組となる。これらのサンプルの組は、1アドレスに対応した記憶領域に格納されていないため、1回のメモリアクセスにより読み出すことはできない。   However, at the next sampling period T (n + 1), as shown in Equation (2), the samples used for multiplication with the coefficients C (0) and C (1) are samples X (n + 1) and X ( n). Since these sample sets are not stored in the storage area corresponding to one address, they cannot be read by one memory access.

このように1アドレスに対応した記憶領域に2個のサンプルを格納する方法を採ったとしても、複数の演算周期を通じてみると、メモリアクセス回数を減らすことができない。結局、この方法を採ったとしても、1演算周期内に実行可能な乗加算処理の回数を増加させることは困難である。   Even if the method of storing two samples in the storage area corresponding to one address is employed, the number of memory accesses cannot be reduced through a plurality of calculation cycles. After all, even if this method is adopted, it is difficult to increase the number of multiplication / addition processes that can be executed within one calculation cycle.

本発明は以上説明した事情に鑑みてなされたものであり、1演算周期内に実行可能な乗加算処理の回数を増加させることが可能なDSPおよびそのプログラムを提供することを目的としている。   The present invention has been made in view of the circumstances described above, and an object thereof is to provide a DSP capable of increasing the number of multiplication / addition processes that can be executed within one calculation cycle and a program thereof.

この発明は、演算周期毎に、処理対象サンプル列を更新しつつ、処理対象サンプル列の各サンプルと係数とを乗算し、各乗算結果を加算した信号処理結果を生成する信号処理を繰り返すデジタル信号処理装置において、係数とサンプルとを乗算し、乗算結果と他のデータとの加算を行う乗加算処理を各々実行する複数の乗加算器と、各演算周期において、当該演算周期での信号処理結果を得るのに必要な乗加算処理の一部を前記複数の乗加算器のうちの1つの乗加算器に実行させ、残りの乗加算処理を当該演算周期の直前の1または複数の演算周期において前記複数の乗加算器のうちの他の乗加算器に実行させ、各演算周期において、前記複数の乗加算器に実行させる乗加算処理のうち共通のサンプルを対象とした複数の乗加算処理を実行するために当該共通のサンプルをメモリから読み出し、当該複数の乗加算処理を前記複数の乗加算器に実行させる制御手段とを具備することを特徴とするデジタル信号処理装置を提供する。また、この発明は、コンピュータを上記複数の乗加算器および制御手段として機能させるプログラムを提供する。   The present invention is a digital signal that repeats signal processing for generating a signal processing result obtained by multiplying each sample of a processing target sample sequence by a coefficient and adding each multiplication result while updating the processing target sample sequence for each calculation cycle. In the processing device, a plurality of multipliers / adders for multiplying a coefficient and a sample, and adding a multiplication result and other data, respectively, and a signal processing result in the calculation cycle in each calculation cycle Part of the multiplication / addition processing necessary to obtain the above is executed by one of the plurality of multiplication / adders, and the remaining multiplication / addition processing is performed in one or more calculation cycles immediately before the calculation cycle. A plurality of multiplication / addition processes for a common sample among the multiplication / addition processes to be executed by the other multiplier / adders of the plurality of multiplier / adders and to be executed by the plurality of multiplier / adders in each calculation cycle. Execute The common sample read from the memory in order to provide a digital signal processing apparatus characterized by comprising a control means for executing the plurality of multiplication and addition processing on the plurality of multiplication and addition circuit. The present invention also provides a program for causing a computer to function as the plurality of multipliers / adders and control means.

かかる発明によれば、複数の連続した演算周期内において、共通のサンプルを対象とする複数の乗加算処理が1回のメモリからのサンプル読み出し後に同時に実行される。従って、1演算周期内に実行可能な乗加算処理の回数を増加させることができる。   According to this invention, a plurality of multiplication / addition processes for a common sample are simultaneously executed after reading a sample from one memory within a plurality of consecutive calculation cycles. Therefore, it is possible to increase the number of multiplication / addition processes that can be executed within one calculation cycle.

なお、DSPの高速化技術に関する文献として特許文献1がある。しかしながら、この特許文献1は、FIRフィルタ処理において、同一係数との乗算を行うサンプルを予め加算して加算結果を当該係数と乗算することにより乗算回数を減らす技術を開示するものであり、本願発明のようにサンプルのメモリからの読み出し回数を減らす手段を開示するものではない。   Patent Document 1 is a document relating to DSP speed-up technology. However, this Patent Document 1 discloses a technique for reducing the number of multiplications by adding in advance a sample to be multiplied with the same coefficient and multiplying the addition result by the coefficient in the FIR filter processing. Thus, no means for reducing the number of times the sample is read from the memory is disclosed.

この発明の第1実施形態であるDSPの構成を示すブロック図である。It is a block diagram which shows the structure of DSP which is 1st Embodiment of this invention. 同DSPの実行対象の例である各種のフィルタ処理を示す図である。It is a figure which shows the various filter processes which are examples of the execution object of the DSP. 同DSPの第1のフィルタ処理実行例を示す図である。It is a figure which shows the 1st filter process execution example of the DSP. 同DSPの第2のフィルタ処理実行例を示す図である。It is a figure which shows the 2nd filter process execution example of the DSP. 同DSPの第3のフィルタ処理実行例を示す図である。It is a figure which shows the 3rd filter process execution example of the DSP. この発明の第2実施形態であるDSPのフィルタ処理実行例を示す図である。It is a figure which shows the filter process execution example of DSP which is 2nd Embodiment of this invention.

以下、図面を参照し、この発明の実施形態について説明する。
<第1実施形態>
図1は、この発明の第1実施形態であるDSPの構成を示すブロック図である。
図1に示すように、本実施形態によるDSPは、制御部1と、2個の乗加算器MAC0およびMAC1と、レジスタ部2と、データメモリ3とを有する。制御部1は、フィルタ処理を実行するためのプログラムを記憶したプログラムメモリと、このプログラムに記憶されたプログラムの各命令を順次読み出して解釈し、乗加算器MAC0およびMAC1の制御、レジスタ部2の制御等を行う命令デコーダと、フィルタ処理に使用される係数を記憶する係数メモリを含む。レジスタ部2は、各種のレジスタの集合体である。このレジスタ部2を構成する各レジスタには、乗加算器MAC0およびMAC1の各乗加算結果を記憶するためのアキュムレータACC0およびACC1や、フィルタ処理に使用する係数を記憶するためのレジスタ(図示略)が含まれる。データメモリ3は、信号処理に使用する処理対象サンプル列を記憶するためのメモリである。このデータメモリ3は、図示の例では、DSPに内蔵された要素であるが、DSPの外付けのメモリであってもよい。
Embodiments of the present invention will be described below with reference to the drawings.
<First Embodiment>
FIG. 1 is a block diagram showing the configuration of a DSP according to the first embodiment of the present invention.
As shown in FIG. 1, the DSP according to the present embodiment includes a control unit 1, two multipliers / adders MAC 0 and MAC 1, a register unit 2, and a data memory 3. The control unit 1 sequentially reads and interprets a program memory storing a program for executing a filter process and each instruction of the program stored in the program, controls the multipliers / adders MAC0 and MAC1, and controls the register unit 2 An instruction decoder that performs control and the like, and a coefficient memory that stores coefficients used for filter processing are included. The register unit 2 is an aggregate of various registers. In each register constituting the register unit 2, accumulators ACC0 and ACC1 for storing the multiplication / addition results of the multiplier / adders MAC0 and MAC1, and a register (not shown) for storing coefficients used for filter processing Is included. The data memory 3 is a memory for storing a processing target sample sequence used for signal processing. In the illustrated example, the data memory 3 is an element built in the DSP, but may be an external memory of the DSP.

データメモリ3には、演算周期毎に新たに処理対象サンプル列に加わるサンプルが書き込まれる。制御部1は、プログラムメモリに記憶されたプログラムに従って乗加算器MAC0およびMAC1とレジスタ部2を制御し、現時点までにデータメモリ3に記憶された処理対象サンプル列を使用したフィルタ処理を実行する。   In the data memory 3, a sample to be newly added to the processing target sample sequence is written every calculation cycle. The control unit 1 controls the multipliers / adders MAC0 and MAC1 and the register unit 2 in accordance with a program stored in the program memory, and executes a filter process using the processing target sample sequence stored in the data memory 3 up to the present time.

本実施形態の特徴は、制御部1がフィルタ処理のために実行するプログラムの内容、特にフィルタ処理を構成する各種の乗加算処理を乗加算器MAC0およびMAC1に実行させる手順にある。さらに詳述すると、本実施形態において制御部1は、各演算周期において、当該演算周期での信号処理結果を得るのに必要な乗加算処理の一部を乗加算器MAC0に実行させ、残りの乗加算処理を当該演算周期の直前の演算周期において乗加算器MAC1に実行させ、各演算周期において、乗加算器MAC0およびMAC1に実行させる乗加算処理のうち共通のサンプルを対象とした複数の乗加算処理を実行するために当該サンプルをデータメモリ3から読み出し、当該複数の乗加算処理を乗加算器MAC0およびMAC1に実行させる。   The feature of this embodiment is the procedure for causing the multipliers / adders MAC0 and MAC1 to execute the contents of the program executed by the control unit 1 for the filter process, in particular, various multiplication / addition processes constituting the filter process. More specifically, in this embodiment, the control unit 1 causes the multiplier / adder MAC0 to execute a part of the multiplication / addition processing necessary for obtaining the signal processing result in the calculation cycle in each calculation cycle, and the remaining A multiplication / addition process is executed by the multiplier / adder MAC1 in the calculation cycle immediately before the calculation cycle, and a plurality of multiplications targeting a common sample among the multiplication / addition processes executed by the multiplier / adders MAC0 and MAC1 in each calculation cycle. In order to execute the addition process, the sample is read from the data memory 3, and the multiplier / adders MAC0 and MAC1 execute the multiple multiplication / addition processes.

図2は、本実施形態によるDSPの実行対象の例である各種のフィルタ処理を示す図である。図2(a)は周知のFIRフィルタ処理、図2(b)は周知のIIRフィルタ処理、図2(c)は画像に対して実行される周知のフィルタ処理を各々示している。以下、これらの各例について、本実施形態において実行されるフィルタ処理の手順を説明する。   FIG. 2 is a diagram illustrating various filter processes which are examples of DSP execution targets according to the present embodiment. 2A shows a known FIR filter process, FIG. 2B shows a known IIR filter process, and FIG. 2C shows a known filter process performed on an image. Hereinafter, the filter processing procedure executed in this embodiment will be described for each of these examples.

図3は、本実施形態によるDSPの図2(a)のフィルタ処理の実行例を示す図である。仮に1個の乗加算器のみを使用するとした場合、図2(a)のフィルタ処理結果を得るために、演算周期T(n)では、次式の演算を1個の乗加算器に実行させる必要がある。
ACC=C(0)*X(n)
ACC+=C(1)*X(n−1)
ACC+=C(2)*X(n−2)
ACC+=C(3)*X(n−3)
……(3)
この場合、サンプルX(n)〜X(n−3)を得るために、1演算周期内に4回のメモリアクセスを行う必要がある。
FIG. 3 is a diagram showing an execution example of the filter processing of FIG. 2A of the DSP according to the present embodiment. If only one multiplier / adder is used, in order to obtain the filter processing result of FIG. 2 (a), the calculation of the following equation is executed by one multiplier / adder in the calculation cycle T (n). There is a need.
ACC = C (0) * X (n)
ACC + = C (1) * X (n-1)
ACC + = C (2) * X (n-2)
ACC + = C (3) * X (n-3)
...... (3)
In this case, in order to obtain samples X (n) to X (n−3), it is necessary to perform memory access four times within one calculation cycle.

また、1つ前の演算周期T(n−1)では、次式の演算を1個の乗加算器に実行させる必要がある。
ACC=C(0)*X(n−1)
ACC+=C(1)*X(n−2)
ACC+=C(2)*X(n−3)
ACC+=C(3)*X(n−4)
……(4)
この場合も、サンプルX(n−1)〜X(n−4)を得るために、1演算周期内に4回のメモリアクセスを行う必要がある。
In the previous calculation cycle T (n−1), it is necessary to cause one multiplier / adder to execute the following expression.
ACC = C (0) * X (n-1)
ACC + = C (1) * X (n-2)
ACC + = C (2) * X (n-3)
ACC + = C (3) * X (n-4)
...... (4)
Also in this case, in order to obtain samples X (n−1) to X (n−4), it is necessary to perform memory access four times within one calculation cycle.

しかしながら、2つの演算周期T(n−1)およびT(n)を通じて見ると、両演算周期において実行すべき乗加算処理群は、共通するサンプルX(n−1)、X(n−2)、X(n−3)を対象とした乗加算処理の組を含んでいる。   However, when viewed through the two computation cycles T (n−1) and T (n), the multiplication and addition processing group to be executed in both computation cycles is a common sample X (n−1), X (n−2), A set of multiplication and addition processes for X (n-3) is included.

そこで、制御部1は、演算周期T(n)では前掲式(3)の各乗加算処理の一部のみを乗加算器MAC0に実行させ、残りの乗加算処理を直前の演算周期T(n−1)に乗加算器MAC1に実行させ、この演算周期T(n−1)における乗加算器MAC1の乗加算処理の結果を演算周期T(n)に乗加算器MAC0に引き継がせる。具体的には次の通りである。   Therefore, the control unit 1 causes the multiplier / adder MAC0 to execute only a part of each multiplication / addition process of the above equation (3) in the calculation cycle T (n), and performs the remaining multiplication / addition processing immediately before the calculation cycle T (n). -1) is executed by the multiplier / adder MAC1 and the result of the multiplication / addition processing of the multiplier / adder MAC1 in the calculation cycle T (n-1) is passed to the multiplier / adder MAC0 in the calculation cycle T (n). Specifically, it is as follows.

まず、制御部1は、演算周期T(n−1)において次式の乗加算処理を乗加算器MAC1に実行させる。
ACC1=C(1)*X(n−1)
ACC1+=C(3)*X(n−3)
……(5)
First, the control unit 1 causes the multiplier / adder MAC1 to execute the multiplication / addition processing of the following equation in the calculation cycle T (n-1).
ACC1 = C (1) * X (n-1)
ACC1 + = C (3) * X (n-3)
...... (5)

次に制御部1は、演算周期T(n)において次式の乗加算処理を乗加算器MAC0に実行させる。
ACC0=ACC1
ACC0+=C(0)*X(n)
ACC0+=C(2)*X(n−2)
……(6)
この結果、演算周期T(n)では最終的に前掲式(3)の演算処理結果と同じものがアキュムレータACC0に格納されることとなる。
Next, the control unit 1 causes the multiplier / adder MAC0 to execute the multiplication / addition processing of the following equation in the calculation cycle T (n).
ACC0 = ACC1
ACC0 + = C (0) * X (n)
ACC0 + = C (2) * X (n-2)
...... (6)
As a result, in the calculation cycle T (n), the same result as the calculation process of the above equation (3) is finally stored in the accumulator ACC0.

以上の関係は演算周期T(n)と演算周期T(n+1)との間でも成立する。1個の乗加算器MACのみが使用可能であるとすると、演算周期T(n+1)では、次式の演算を乗加算器MACに実行させる必要がある。
ACC=C(0)*X(n+1)
ACC+=C(1)*X(n)
ACC+=C(2)*X(n−1)
ACC+=C(3)*X(n−2)
……(7)
そして、1つ前の演算周期T(n)では、前掲式(3)の演算を1個の乗加算器MACに実行させる必要がある。
The above relationship is also established between the calculation cycle T (n) and the calculation cycle T (n + 1). Assuming that only one multiplier / adder MAC can be used, it is necessary to cause the multiplier / adder MAC to execute the calculation of the following equation in the calculation cycle T (n + 1).
ACC = C (0) * X (n + 1)
ACC + = C (1) * X (n)
ACC + = C (2) * X (n-1)
ACC + = C (3) * X (n-2)
...... (7)
In the previous calculation cycle T (n), it is necessary to cause one multiplier / adder MAC to execute the calculation of the above equation (3).

そこで、制御部1は、演算周期T(n)において次式の乗加算処理を乗加算器MAC1に実行させる。
ACC1=C(1)*X(n)
ACC1+=C(3)*X(n−2)
……(8)
Therefore, the control unit 1 causes the multiplier / adder MAC1 to execute the multiplication / addition processing of the following equation in the calculation cycle T (n).
ACC1 = C (1) * X (n)
ACC1 + = C (3) * X (n-2)
...... (8)

次に制御部1は、演算周期T(n+1)において次式の乗加算処理を乗加算器MAC0に実行させる。
ACC0=ACC1
ACC0+=C(0)*X(n+1)
ACC0+=C(2)*X(n−1)
……(9)
この結果、演算周期T(n+1)では最終的に前掲式(7)の演算処理結果と同じものがアキュムレータACC0に格納されることとなる。
Next, the control unit 1 causes the multiplier / adder MAC0 to execute the multiplication / addition processing of the following equation in the calculation cycle T (n + 1).
ACC0 = ACC1
ACC0 + = C (0) * X (n + 1)
ACC0 + = C (2) * X (n-1)
...... (9)
As a result, in the calculation cycle T (n + 1), the same result as the calculation process of the above equation (7) is finally stored in the accumulator ACC0.

ここで、演算周期T(n)に着目すると、共通のサンプルX(n)を使用した2つの乗加算処理の組と、共通のサンプルX(n−2)を使用した2つの乗加算処理の組が実行対象となっている。   Here, paying attention to the calculation cycle T (n), two sets of multiplication / addition processing using the common sample X (n) and two multiplication / addition processing using the common sample X (n−2) are performed. The group is the execution target.

そこで、演算周期T(n)において、制御部1は、サンプルX(n)をデータメモリ3から読み出して、次式の乗加算処理を乗加算器MAC0およびMAC1に同時に実行させる。
ACC0+=C(0)*X(n)
ACC1=C(1)*X(n)
……(10)
Therefore, in the calculation cycle T (n), the control unit 1 reads the sample X (n) from the data memory 3, and causes the multipliers / adders MAC0 and MAC1 to simultaneously execute the multiplication / addition processing of the following equation.
ACC0 + = C (0) * X (n)
ACC1 = C (1) * X (n)
...... (10)

次に、制御部1は、サンプルX(n−2)をデータメモリ3から読み出して、次式の乗加算処理を乗加算器MAC0およびMAC1に同時に実行させるのである。
ACC0+=C(2)*X(n−2)
ACC1+=C(3)*X(n−2)
……(11)
他の演算周期T(n−1)およびT(n+1)についても同様である。
Next, the control unit 1 reads the sample X (n−2) from the data memory 3, and causes the multiplier / adders MAC0 and MAC1 to simultaneously execute the multiplication / addition processing of the following equation.
ACC0 + = C (2) * X (n-2)
ACC1 + = C (3) * X (n-2)
...... (11)
The same applies to the other calculation cycles T (n−1) and T (n + 1).

このように1個の乗加算器MACを使用したフィルタ処理では1演算周期内に4回のメモリアクセスが必要であったが、本実施形態における2個の乗加算器MAC0およびMAC1を使用したフィルタ処理では、1演算周期内に2回のメモリアクセスを行えば済む。   As described above, in the filter processing using one multiplier / adder MAC, four memory accesses are required within one calculation cycle, but the filter using two multiplier / adders MAC0 and MAC1 in this embodiment is used. In the processing, it is sufficient to perform memory access twice within one calculation cycle.

図4は、本実施形態によるDSPの図2(b)のフィルタ処理の実行例を示す図である。仮に1個の乗加算器のみを使用するとした場合、図2(b)のフィルタ処理結果を得るために、演算周期T(n)では、次式の演算を1個の乗加算器MACに実行させる必要がある。
ACC+=C(0)*X(n)
ACC+=C(1)*X(n−1)
ACC+=C(2)*X(n−2)
ACC+=C(3)*Y(n−1)
ACC+=C(4)*Y(n−2)
……(12)
上記式(13)の各演算を実行することにより、最終的に演算周期T(n)におけるIIRフィルタの出力信号Y(n)がアキュムレータACCに格納される。
この場合、1演算周期内に5回のメモリアクセスを行う必要がある。
FIG. 4 is a diagram showing an execution example of the filter processing of FIG. 2B of the DSP according to the present embodiment. If only one multiplier / adder is used, in order to obtain the filter processing result of FIG. 2 (b), the calculation of the following expression is performed on one multiplier / adder MAC in the calculation cycle T (n). It is necessary to let
ACC + = C (0) * X (n)
ACC + = C (1) * X (n-1)
ACC + = C (2) * X (n-2)
ACC + = C (3) * Y (n-1)
ACC + = C (4) * Y (n-2)
(12)
By executing each calculation of the above equation (13), the output signal Y (n) of the IIR filter in the calculation cycle T (n) is finally stored in the accumulator ACC.
In this case, it is necessary to perform memory access five times within one calculation cycle.

また、1つ前の演算周期T(n−1)では、次式の演算を1個の乗加算器MACに実行させる必要がある。
ACC+=C(0)*X(n−1)
ACC+=C(1)*X(n−2)
ACC+=C(2)*X(n−3)
ACC+=C(3)*Y(n−2)
ACC+=C(4)*Y(n−3)
……(13)
この場合も、1演算周期内に5回のメモリアクセスを行う必要がある。
In the previous calculation cycle T (n−1), it is necessary to cause one multiplier / adder MAC to execute the following equation.
ACC + = C (0) * X (n-1)
ACC + = C (1) * X (n-2)
ACC + = C (2) * X (n-3)
ACC + = C (3) * Y (n−2)
ACC + = C (4) * Y (n-3)
(13)
Also in this case, it is necessary to perform memory access five times within one calculation cycle.

そこで、制御部1は、演算周期T(n)では前掲式(12)の各乗加算処理の一部のみを乗加算器MAC0に実行させ、残りの乗加算処理を直前の演算周期T(n−1)に乗加算器MAC1に実行させ、この演算周期T(n−1)における乗加算器MAC1の乗加算処理の結果を演算周期T(n)に乗加算器MAC0に引き継がせる。具体的には次の通りである。   Therefore, the control unit 1 causes the multiplier / adder MAC0 to execute only a part of each multiplication / addition processing of the above formula (12) in the calculation cycle T (n), and performs the remaining multiplication / addition processing immediately before the calculation cycle T (n). -1) is executed by the multiplier / adder MAC1 and the result of the multiplication / addition processing of the multiplier / adder MAC1 in the calculation cycle T (n-1) is passed to the multiplier / adder MAC0 in the calculation cycle T (n). Specifically, it is as follows.

まず、制御部1は、演算周期T(n−1)において次式の乗加算処理を乗加算器MAC1に実行させる。
ACC1=C(1)*X(n−1)
ACC1+=C(4)*Y(n−2)
……(14)
First, the control unit 1 causes the multiplier / adder MAC1 to execute the multiplication / addition processing of the following equation in the calculation cycle T (n-1).
ACC1 = C (1) * X (n-1)
ACC1 + = C (4) * Y (n-2)
(14)

次に制御部1は、演算周期T(n)において次式の乗加算処理を乗加算器MAC0に実行させる。
ACC0=ACC1
ACC0+=C(0)*X(n)
ACC0+=C(2)*X(n−2)
ACC0+=C(3)*Y(n−1)
……(15)
この結果、演算周期T(n)では最終的に前掲式(12)の演算処理結果と同じものがアキュムレータACC0に格納されることとなる。
Next, the control unit 1 causes the multiplier / adder MAC0 to execute the multiplication / addition processing of the following equation in the calculation cycle T (n).
ACC0 = ACC1
ACC0 + = C (0) * X (n)
ACC0 + = C (2) * X (n-2)
ACC0 + = C (3) * Y (n-1)
...... (15)
As a result, in the calculation cycle T (n), the same result as the calculation process of the above equation (12) is finally stored in the accumulator ACC0.

以上の関係は演算周期T(n)と演算周期T(n+1)との間でも成立する。このため、演算周期T(n)において乗加算器MAC0およびMAC1が実行する乗加算処理の内容は図4に示す通りとなる。そこで、演算周期T(n)において制御部1は、サンプルX(n)をデータメモリ3から読み出して、ACC0+=C(0)*X(n)なる乗加算処理とACC1=C(1)*X(n)なる乗加算処理とを乗加算器MAC0およびMAC1に各々実行させる。次いでサンプルX(n−2)をデータメモリ3から読み出して、ACC0+=C(2)*X(n−2)なる乗加算処理を乗加算器MAC0に実行させる。次いでサンプルY(n−1)をデータメモリ3から読み出して、ACC0+=C(3)*Y(n−1)なる乗加算処理とACC1+=C(4)*Y(n−1)なる乗加算処理とを乗加算器MAC0およびMAC1に各々実行させる。   The above relationship is also established between the calculation cycle T (n) and the calculation cycle T (n + 1). Therefore, the contents of the multiplication / addition processing executed by the multipliers / adders MAC0 and MAC1 in the calculation cycle T (n) are as shown in FIG. Therefore, in the calculation cycle T (n), the control unit 1 reads the sample X (n) from the data memory 3, and performs multiplication / addition processing of ACC0 + = C (0) * X (n) and ACC1 = C (1) *. The multiplier / adder MAC0 and MAC1 execute the multiplication / addition processing of X (n). Next, the sample X (n−2) is read from the data memory 3, and the multiplier / adder MAC0 executes a multiplication / addition process of ACC0 + = C (2) * X (n−2). Next, the sample Y (n-1) is read from the data memory 3, and the multiplication / addition processing ACC0 + = C (3) * Y (n-1) and the multiplication / addition processing ACC1 + = C (4) * Y (n-1) are performed. Each of the multipliers / adders MAC0 and MAC1 executes the process.

以上のように図2(b)のIIRフィルタ処理を1個の乗加算器を使用して実行する場合には1演算周期内に5回のメモリアクセスが必要であったが、本実施形態における2個の乗加算器MAC0およびMAC1を使用したIIRフィルタ処理では、1演算周期内に3回のメモリアクセスを行えば済む。   As described above, when the IIR filter process of FIG. 2B is executed using one multiplier / adder, five memory accesses are required within one calculation cycle. In the IIR filter processing using the two multipliers / adders MAC0 and MAC1, it is sufficient to perform three memory accesses within one calculation cycle.

図5は、本実施形態によるDSPの図2(c)のフィルタ処理の実行例を示す図である。図2(c)のフィルタ処理では、演算周期毎に3行3列の9個の画素P(ix+Δx、iy+Δy)(Δx=−1〜+1、Δy=−1〜+1)に係数C(0)〜C(8)を乗算して加算し、3行3列の画素行列の中心の画素P(ix、iy)についてのフィルタ処理結果を生成する。そして、演算周期毎に係数の乗算対象となる3行3列の画素を横方向に1画素シフトする(ix=ix+1)。   FIG. 5 is a diagram showing an execution example of the filter processing of FIG. 2C of the DSP according to the present embodiment. In the filter processing of FIG. 2C, the coefficient C (0) is applied to nine pixels P (ix + Δx, iy + Δy) (Δx = −1 to +1, Δy = −1 to +1) in 3 rows and 3 columns every calculation cycle. ˜C (8) is multiplied and added to generate the filter processing result for the pixel P (ix, iy) at the center of the 3 × 3 pixel matrix. Then, the pixels in the 3 rows and 3 columns, which are the multiplication targets of the coefficients, are shifted by one pixel in the horizontal direction (ix = ix + 1) for each calculation cycle.

図5に示すように、仮に1個の乗加算器を使用して図2(c)のフィルタ処理を行うとすると、データメモリ3からのサンプルの読み出しを1演算周期当たり9回行う必要がある。しかし、本実施形態によるDSPの図2(c)のフィルタ処理の実行例では、上述した図2(a)のフィルタ処理、図2(b)のフィルタ処理と同様、各演算周期においてフィルタ処理結果を得るために必要な乗加算処理の一部のみを乗加算器MAC0に実行させ、残りをその直前の演算周期において乗加算器MAC1に実行させる。これにより、図5に示すように、1演算周期当たりのデータメモリ3からのサンプル読み出し回数を6回に減らしている。   As shown in FIG. 5, if the filter processing of FIG. 2C is performed using one multiplier / adder, it is necessary to read out the sample from the data memory 3 nine times per one calculation cycle. . However, in the execution example of the filter process of FIG. 2C of the DSP according to the present embodiment, the filter process result in each calculation cycle is the same as the filter process of FIG. 2A and the filter process of FIG. The multiplier / adder MAC0 executes only a part of the multiplication / addition process necessary for obtaining the above and the remainder is executed by the multiplier / adder MAC1 in the immediately preceding calculation cycle. As a result, as shown in FIG. 5, the number of sample readings from the data memory 3 per operation cycle is reduced to six.

<第2実施形態>
この発明の第2実施形態であるDSPは、3個の乗加算器MAC0、MAC1およびMAC2を有している。図6は本実施形態によるDSPのFIRフィルタ処理の実行例を示す図である。仮に1個の乗加算器のみを使用するとした場合、演算周期T(n+1)では、5次のFIRフィルタ処理を実行するために、次式の演算を1個の乗加算器MACに実行させる必要がある。
ACC+=C(0)*X(n+1)
ACC+=C(1)*X(n)
ACC+=C(2)*X(n−1)
ACC+=C(3)*X(n−2)
ACC+=C(4)*X(n−3)
ACC+=C(5)*X(n−4)
……(16)
この場合、1演算周期内に6回のメモリアクセスを行う必要がある。1つ前の演算周期T(n)、さらに1つ前の演算周期T(n−1)も同様である。
Second Embodiment
The DSP according to the second embodiment of the present invention has three multiplier / adders MAC0, MAC1 and MAC2. FIG. 6 is a diagram showing an execution example of the FIR filter processing of the DSP according to the present embodiment. If only one multiplier / adder is used, in the calculation cycle T (n + 1), in order to execute the fifth-order FIR filter processing, it is necessary to cause one multiplier / adder MAC to execute the following equation: There is.
ACC + = C (0) * X (n + 1)
ACC + = C (1) * X (n)
ACC + = C (2) * X (n-1)
ACC + = C (3) * X (n-2)
ACC + = C (4) * X (n-3)
ACC + = C (5) * X (n-4)
...... (16)
In this case, it is necessary to perform six memory accesses within one calculation cycle. The same applies to the previous calculation cycle T (n) and the previous calculation cycle T (n−1).

しかし、3個の連続した演算周期T(n−1)〜T(n+1)に着目すると、それらの演算周期のフィルタ処理結果を得るための乗加算処理群は、共通のサンプルを対象にした3個の乗加算処理の組を複数組含んでいる。   However, paying attention to three consecutive calculation cycles T (n−1) to T (n + 1), the multiplication / addition processing group for obtaining the filter processing results of these calculation cycles is targeted at a common sample 3 A plurality of sets of multiplication and addition processes are included.

そこで、本実施形態では、上記第1実施形態の制御部1(図1参照)に相当する制御手段が、演算周期T(n+1)では前掲式(16)の各乗加算処理の一部のみを乗加算器MAC0に実行させ、残りの乗加算処理の一部を直前の演算周期T(n)に乗加算器MAC1に実行させ、残った乗加算処理をさらに1つ前の演算周期T(n−1)に乗加算器MAC2に実行させ、演算周期T(n−1)における乗加算器MAC2の乗加算処理の結果を演算周期T(n)において乗加算器MAC1に引き継がせ、演算周期T(n)における乗加算器MAC1の乗加算処理の結果を演算周期T(n+1)において乗加算器MAC0に引き継がせる。具体的には次の通りである。   Therefore, in the present embodiment, the control means corresponding to the control unit 1 (see FIG. 1) of the first embodiment performs only a part of each multiplication and addition process of the above equation (16) in the calculation cycle T (n + 1). The multiplier / adder MAC0 is caused to execute, and the multiplier / adder MAC1 is caused to execute a part of the remaining multiplication / addition processing in the immediately preceding calculation cycle T (n), and the remaining multiplication / addition processing is further performed to the previous calculation cycle T (n -1) is executed by the multiplier / adder MAC2, and the multiplication / addition process of the multiplier / adder MAC2 in the calculation cycle T (n-1) is transferred to the multiplier / adder MAC1 in the calculation cycle T (n). The result of the multiplication / addition process of the multiplier / adder MAC1 in (n) is transferred to the multiplier / adder MAC0 in the calculation cycle T (n + 1). Specifically, it is as follows.

まず、演算周期T(n−1)では、次式の乗加算処理を乗加算器MAC2に実行させる。
ACC2=C(2)*X(n−1)
ACC2+=C(5)*X(n−4)
……(17)
First, in the calculation cycle T (n−1), the multiplier / adder MAC2 executes the multiplication / addition processing of the following equation.
ACC2 = C (2) * X (n-1)
ACC2 + = C (5) * X (n-4)
...... (17)

次に演算周期T(n)では、次式の乗加算処理を乗加算器MAC1に実行させる。
ACC1=ACC2
ACC1+=C(1)*X(n)
ACC1+=C(4)*X(n−3)
……(18)
Next, in the calculation cycle T (n), the multiplier / adder MAC1 executes the multiplication / addition processing of the following equation.
ACC1 = ACC2
ACC1 + = C (1) * X (n)
ACC1 + = C (4) * X (n-3)
...... (18)

次に演算周期T(n+1)では、次式の乗加算処理を乗加算器MAC0に実行させる。
ACC0=ACC1
ACC0+=C(0)*X(n+1)
ACC0+=C(3)*X(n−2)
……(19)
この結果、演算周期T(n+1)では最終的に前掲式(16)の演算処理結果と同じものがアキュムレータACC0に格納されることとなる。
Next, in the calculation cycle T (n + 1), the multiplier / adder MAC0 executes the multiplication / addition processing of the following equation.
ACC0 = ACC1
ACC0 + = C (0) * X (n + 1)
ACC0 + = C (3) * X (n-2)
...... (19)
As a result, in the calculation cycle T (n + 1), the same result as the calculation process of the above equation (16) is finally stored in the accumulator ACC0.

本実施形態では、他の演算周期においても、各演算周期でのフィルタ処理結果を得るために、以上と同様に、一部の乗加算処理の先行する演算周期への振り分けを行う。この結果、図6から明らかなように、各演算周期においてサンプルをデータメモリから読み出す回数は3回で済む。
従って、本実施形態によれば、上記第1実施形態と比べ、1演算周期内に実行可能な乗加算処理の回数をさらに増加させることができる。
In the present embodiment, in other calculation cycles, in order to obtain the filter processing result in each calculation cycle, as in the above, a part of multiplication / addition processing is distributed to the preceding calculation cycle. As a result, as is apparent from FIG. 6, the number of times of reading the sample from the data memory in each calculation cycle is three.
Therefore, according to the present embodiment, the number of multiplication / addition processes that can be executed within one calculation cycle can be further increased as compared with the first embodiment.

<他の実施形態>
以上、この発明の一実施形態について説明したが、これ以外にも、この発明には他の実施形態が考えられる。例えば次の通りである。
<Other embodiments>
Although one embodiment of the present invention has been described above, other embodiments can be considered in addition to this. For example:

(1)例えば上記第1実施形態では、各演算周期において、サンプルをメモリから読み出す回数が最小となるように、当該演算周期におけるフィルタ処理結果を得るための乗加算処理群の中の一部を先行する演算周期に振り分け、乗加算器MAC1に実行させた。しかし、サンプルのメモリからの読み出し回数を減らすために、先行する演算周期において乗加算器MAC1に実行させる乗加算処理を増やすと、乗加算器MAC1の空き時間が減り、却って好ましくない事態が発生する場合もあり得る。例えば乗加算器MAC0およびMAC1に実行させているフィルタ処理以外のフィルタ処理を乗加算器MAC1に実行させたいが、乗加算器MAC1の空き時間が少なくなると後者のフィルタ処理の実行が困難になるといった事態である。従って、必ずしも各演算周期においてサンプルをメモリから読み出す回数を最小とする必要はなく、他のフィルタ処理の実行等に支障が生じない範囲で、サンプルのメモリからの読み出し回数を減らせばよい。 (1) For example, in the first embodiment, a part of the multiplication / addition processing group for obtaining the filter processing result in the calculation cycle is minimized so that the number of times of reading the sample from the memory is minimized in each calculation cycle. It was assigned to the preceding calculation cycle and executed by the multiplier / adder MAC1. However, if the multiplication / addition processing to be executed by the multiplier / adder MAC1 in the preceding calculation cycle is increased in order to reduce the number of times the sample is read from the memory, the free time of the multiplier / adder MAC1 is reduced, and an undesirable situation occurs. There may be cases. For example, it is desired that the multiplier / adder MAC1 performs a filter process other than the filter process executed by the multiplier / adders MAC0 and MAC1, but if the free time of the multiplier / adder MAC1 decreases, it becomes difficult to execute the latter filter process. It is a situation. Therefore, it is not always necessary to minimize the number of times the sample is read from the memory in each calculation cycle, and the number of times the sample is read from the memory may be reduced within a range that does not hinder the execution of other filter processing.

(2)上記各実施形態によれば、1演算周期内に実行可能な乗加算処理の回数を増やすことができるが、処理対象となるサンプルがDSPに与えられてからフィルタ処理結果が出力されるまでのレイテンシが長くなる。そこで、例えば次のようにフィルタ処理の内容に合わせて乗加算処理の実行方法を切り換えてもよい。
a.各演算周期のフィルタ処理結果を得るための乗加算処理の回数が多く、かつ、レイテンシが大きくても構わないフィルタ処理については上記各実施形態を適用する。
b.各演算周期のフィルタ処理結果を得るための乗加算処理の回数が少なく、かつ、レイテンシの小さいことが要求されるフィルタ処理については、1個の乗加算器を使用して実行する。
(2) According to each of the above embodiments, the number of multiplication and addition processes that can be executed within one calculation cycle can be increased, but the filter processing result is output after a sample to be processed is given to the DSP. Latency is increased. Therefore, for example, the execution method of the multiplication / addition process may be switched in accordance with the contents of the filter process as follows.
a. The above-described embodiments are applied to filter processing in which the number of times of multiplication and addition processing for obtaining the filter processing result of each calculation cycle may be large and the latency may be large.
b. A filter process that requires a small number of multiplication / addition processes for obtaining a filter process result in each calculation cycle and that requires a low latency is executed using one multiplier / adder.

1……制御部、2……レジスタ部、3……データメモリ、MAC0,MAC1……乗加算器。 DESCRIPTION OF SYMBOLS 1 ... Control part, 2 ... Register part, 3 ... Data memory, MAC0, MAC1 ... Multiplier / adder.

Claims (2)

演算周期毎に、処理対象サンプル列を更新しつつ、処理対象サンプル列の各サンプルと係数とを乗算し、各乗算結果を加算した信号処理結果を生成する信号処理を繰り返すデジタル信号処理装置において、
係数とサンプルとを乗算し、乗算結果と他のデータとの加算を行う乗加算処理を各々実行する複数の乗加算器と、
各演算周期において、当該演算周期での信号処理結果を得るのに必要な乗加算処理の一部を前記複数の乗加算器のうちの1つの乗加算器に実行させ、残りの乗加算処理を当該演算周期の直前の1または複数の演算周期において前記複数の乗加算器のうちの他の乗加算器に実行させ、各演算周期において、前記複数の乗加算器に実行させる乗加算処理のうち共通のサンプルを対象とした複数の乗加算処理を実行するために当該共通のサンプルをメモリから読み出し、当該複数の乗加算処理を前記複数の乗加算器に実行させる制御手段と
を具備することを特徴とするデジタル信号処理装置。
In a digital signal processing device that repeats signal processing to generate a signal processing result obtained by multiplying each sample of a processing target sample sequence by a coefficient and adding each multiplication result while updating the processing target sample sequence for each calculation cycle.
A plurality of multipliers / adders for multiplying a coefficient by a sample and executing multiplication / addition processing for adding the multiplication result and other data,
In each calculation cycle, a part of the multiplication / addition processing necessary for obtaining the signal processing result in the calculation cycle is executed by one of the plurality of multiplication / adders, and the remaining multiplication / addition processing is performed. Among the multiplication / addition processes to be executed by another multiplier / adder among the plurality of multipliers / adders in one or a plurality of calculation cycles immediately before the calculation cycle, and to be executed by the plurality of multipliers / adders in each calculation cycle Control means for reading the common samples from the memory and executing the plurality of multiplication and addition processes on the plurality of multiplication and addition units in order to perform a plurality of multiplication and addition processes on the common sample. A digital signal processing device.
コンピュータを、
係数とサンプルとを乗算し、乗算結果と他のデータとの加算を行う乗加算処理を各々実行する複数の乗加算器と、
各演算周期において、当該演算周期での信号処理結果を得るのに必要な乗加算処理の一部を前記複数の乗加算器のうちの1つの乗加算器に実行させ、残りの乗加算処理を当該演算周期の直前の1または複数の演算周期において前記複数の乗加算器のうちの他の乗加算器に実行させ、各演算周期において、前記複数の乗加算器に実行させる乗加算処理のうち共通のサンプルを対象とした複数の乗加算処理を実行するために当該共通のサンプルをメモリから読み出し、当該複数の乗加算処理を前記複数の乗加算器に実行させる制御手段と
して機能させることを特徴とするプログラム。
Computer
A plurality of multipliers / adders for multiplying a coefficient by a sample and executing multiplication / addition processing for adding the multiplication result and other data,
In each calculation cycle, a part of the multiplication / addition processing necessary for obtaining the signal processing result in the calculation cycle is executed by one of the plurality of multiplication / adders, and the remaining multiplication / addition processing is performed. Among the multiplication / addition processes to be executed by another multiplier / adder among the plurality of multipliers / adders in one or a plurality of calculation cycles immediately before the calculation cycle, and to be executed by the plurality of multipliers / adders in each calculation cycle In order to execute a plurality of multiplication / addition processes on a common sample, the common samples are read from the memory, and the plurality of multiplication / addition processes are executed as a control unit that causes the plurality of multiplier / adders to execute. A program characterized by
JP2011071203A 2011-03-28 2011-03-28 Digital signal processing apparatus and program Expired - Fee Related JP5742366B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011071203A JP5742366B2 (en) 2011-03-28 2011-03-28 Digital signal processing apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011071203A JP5742366B2 (en) 2011-03-28 2011-03-28 Digital signal processing apparatus and program

Publications (2)

Publication Number Publication Date
JP2012205298A true JP2012205298A (en) 2012-10-22
JP5742366B2 JP5742366B2 (en) 2015-07-01

Family

ID=47185746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011071203A Expired - Fee Related JP5742366B2 (en) 2011-03-28 2011-03-28 Digital signal processing apparatus and program

Country Status (1)

Country Link
JP (1) JP5742366B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248384B2 (en) 2016-08-03 2019-04-02 Fujitsu Limited Arithmetic processing device and control method for arithmetic processing device
US10353705B2 (en) 2016-08-12 2019-07-16 Fujitsu Limited Arithmetic processing device for deep learning and control method of the arithmetic processing device for deep learning
US10642622B2 (en) 2016-12-27 2020-05-05 Fujitsu Limited Arithmetic processing device and control method of the arithmetic processing device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6297060A (en) * 1985-10-23 1987-05-06 Mitsubishi Electric Corp Digital signal processor
JPS62284510A (en) * 1986-03-10 1987-12-10 ゾ−ラン コ−ポレ−シヨン Digital filter processor which employs mobile factor and facilitates cascade connection
JPH06124299A (en) * 1992-06-01 1994-05-06 Seiko Epson Corp Matrix arithmetic circuit and storage means
JPH06303101A (en) * 1993-04-09 1994-10-28 Kenwood Corp Digital filter
JPH08288890A (en) * 1995-03-30 1996-11-01 At & T Corp Method and device for adaptive type filtering
US20090030961A1 (en) * 2007-07-26 2009-01-29 Nec Electronics Corporation Microprocessor performing IIR filter operation with registers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6297060A (en) * 1985-10-23 1987-05-06 Mitsubishi Electric Corp Digital signal processor
JPS62284510A (en) * 1986-03-10 1987-12-10 ゾ−ラン コ−ポレ−シヨン Digital filter processor which employs mobile factor and facilitates cascade connection
JPH06124299A (en) * 1992-06-01 1994-05-06 Seiko Epson Corp Matrix arithmetic circuit and storage means
JPH06303101A (en) * 1993-04-09 1994-10-28 Kenwood Corp Digital filter
JPH08288890A (en) * 1995-03-30 1996-11-01 At & T Corp Method and device for adaptive type filtering
US20090030961A1 (en) * 2007-07-26 2009-01-29 Nec Electronics Corporation Microprocessor performing IIR filter operation with registers

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248384B2 (en) 2016-08-03 2019-04-02 Fujitsu Limited Arithmetic processing device and control method for arithmetic processing device
US10353705B2 (en) 2016-08-12 2019-07-16 Fujitsu Limited Arithmetic processing device for deep learning and control method of the arithmetic processing device for deep learning
US10642613B2 (en) 2016-08-12 2020-05-05 Fujitsu Limited Arithmetic processing device for deep learning and control method of the arithmetic processing device for deep learning
US10642622B2 (en) 2016-12-27 2020-05-05 Fujitsu Limited Arithmetic processing device and control method of the arithmetic processing device

Also Published As

Publication number Publication date
JP5742366B2 (en) 2015-07-01

Similar Documents

Publication Publication Date Title
US10140251B2 (en) Processor and method for executing matrix multiplication operation on processor
CN107315574B (en) Apparatus and method for performing matrix multiplication operation
JP6987860B2 (en) Performing kernel strides in hardware
US8443170B2 (en) Apparatus and method for performing SIMD multiply-accumulate operations
US20070239968A1 (en) Data processing system having bit exact instructions and methods therefor
JP2018120547A (en) Processor, information processing apparatus, and operation method of processor
JP5742366B2 (en) Digital signal processing apparatus and program
US20130191431A1 (en) Efficient fir filters
JP7435602B2 (en) Computing equipment and computing systems
JP2023505177A (en) Processor unit for multiply-accumulate operations
US20140074901A1 (en) Bandwidth efficient instruction-driven multiplication engine
Das et al. Hardware implementation of parallel FIR filter using modified distributed arithmetic
CN113485751A (en) Method for performing Galois field multiplication, arithmetic unit and electronic device
JP2008102599A (en) Processor
CN113258902B (en) Processor, filtering method and related equipment
JP2018206128A (en) Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus
US6314132B1 (en) Microprocessor structure and method for implementing digital filter operations
Surapong et al. Implementation of realtime pipeline-folding 64-tap filters on FPGA
JP4203480B2 (en) Image processor
JPH0340422B2 (en)
JP2005353094A (en) Product-sum computing unit
JP2005149517A (en) Product-sum computing element
JP2003330914A (en) Vector calculation processing device, vector calculation method and vector calculation program
JPH0223476A (en) Filtering processor
KR20070046496A (en) Register file structure of digital signal processor having enhanced multiplication speed

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150420

R151 Written notification of patent or utility model registration

Ref document number: 5742366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees