Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3324501B2 - Arithmetic processing device using parallel operation by divided ALU system, filter calculation method, and recording medium - Google Patents
[go: Go Back, main page]

JP3324501B2 - Arithmetic processing device using parallel operation by divided ALU system, filter calculation method, and recording medium - Google Patents

Arithmetic processing device using parallel operation by divided ALU system, filter calculation method, and recording medium

Info

Publication number
JP3324501B2
JP3324501B2 JP12451498A JP12451498A JP3324501B2 JP 3324501 B2 JP3324501 B2 JP 3324501B2 JP 12451498 A JP12451498 A JP 12451498A JP 12451498 A JP12451498 A JP 12451498A JP 3324501 B2 JP3324501 B2 JP 3324501B2
Authority
JP
Japan
Prior art keywords
input data
filter coefficient
filter
data
storage means
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
Application number
JP12451498A
Other languages
Japanese (ja)
Other versions
JPH11312075A (en
Inventor
達治 森吉
孝 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP12451498A priority Critical patent/JP3324501B2/en
Publication of JPH11312075A publication Critical patent/JPH11312075A/en
Application granted granted Critical
Publication of JP3324501B2 publication Critical patent/JP3324501B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は分割ALU方式によ
る並列演算処理を利用した演算処理装置、フィルタ計算
方法及び記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic processing device, a filter calculating method, and a recording medium using a parallel arithmetic processing by a divided ALU system.

【0002】[0002]

【従来の技術】近年、マイクロプロセッサにおいて、分
割ALU(Arithmetic and Logic Unit)方式の演算命
令を持つマイクロプロセッサが知られている。分割AL
U方式の演算命令は、1個のALUを複数のALUに分
割して利用し、1命令で複数のデータに対してSIMD
(Single Instruction stream, Multiple Datastream)
タイプの並列処理を行う。例えば、図17に示すよう
に、64bitのALUを4つの16bitALUに分割し、
分割したALUを使用して4つの16bitのデータを並
列に処理する。このような分割ALU方式を使用した並
列処理の技術が、「MMX Technology Extension to the
Intel Architecture、 IEEE MICRO、Vol.16、No.4、pp4
2-50、1996年8月」、「The Design of the Microarchit
ecture of UltraSPARC(TM)-I、 Proceedings of The
IEEE、Vol. 83、No.12、pp1653-1663、1995年12月」、
「Digital, MIPS Add Multimedia Extensions、 Microp
rocessor Report、Vol.10、No.15、pp24-28、1996年11
月」及び、「Subword Parallelism with MAX-2、 IEEE
MICRO、Vol.16、No.4、pp51-59、1996年8月」に開示さ
れている。これらの文献に開示されてる分割ALU方式
を使用した並列処理の技術を使用して、データの並列度
の高い信号処理データ等を高速に処理することができ
る。
2. Description of the Related Art In recent years, as a microprocessor, a microprocessor having a divided ALU (Arithmetic and Logic Unit) type operation instruction has been known. Split AL
A U-type operation instruction divides one ALU into a plurality of ALUs and uses the ALU.
(Single Instruction stream, Multiple Datastream)
Perform type parallel processing. For example, as shown in FIG. 17, a 64-bit ALU is divided into four 16-bit ALUs,
The four 16-bit data are processed in parallel using the divided ALU. The parallel processing technology using such a divided ALU system is described in "MMX Technology Extension to the
Intel Architecture, IEEE MICRO, Vol.16, No.4, pp4
2-50, August 1996, '' The Design of the Microarchit
ecture of UltraSPARC (TM) -I, Proceedings of The
IEEE, Vol. 83, No. 12, pp1653-1663, December 1995 ",
`` Digital, MIPS Add Multimedia Extensions, Microp
rocessor Report, Vol.10, No.15, pp24-28, 1996.11
Month '' and `` Subword Parallelism with MAX-2, IEEE
MICRO, Vol. 16, No. 4, pp. 51-59, August 1996 ". By using the parallel processing technique using the divided ALU system disclosed in these documents, it is possible to process signal processing data with high data parallelism at high speed.

【0003】代表的な信号処理として、FIR(Finite
Impulse Response)フィルタによるディジタルフィル
タ処理が知られている。このFIRフィルタによるフィ
ルタ処理(フィルタ計算)は、一般に、数式1で示され
る。
As a typical signal processing, FIR (Finite
Digital filter processing using an Impulse Response) filter is known. Filter processing (filter calculation) by the FIR filter is generally represented by Expression 1.

【0004】[0004]

【数1】 x(n):時刻nの入力データ y(n):時刻nの出力データ n:時刻(n=0、1、2・・・) a(k):フィルタ係数(k=0、1、2、・・・、M
−1) M:フィルタのタップ数(フィルタ長)
(Equation 1) x (n): input data at time n y (n): output data at time n n: time (n = 0, 1, 2,...) a (k): filter coefficient (k = 0, 1, 2) , ..., M
-1) M: Number of filter taps (filter length)

【0005】この数式1に示すフィルタ計算は、M(フ
ィルタのタップ数)回の演算(積和演算)にて算出され
る。なお、タップ数とはフィルタ長を示す。図18に、
このような、フィルタ計算の各時刻における入力データ
とフィルタ係数の組合せを示す。例えば、時刻nにおけ
る出力データy(n)は、フィルタ係数a(0)〜a
(M−1)と、時刻nにおける入力データx(n)から
過去の入力データx(n−M+1)までとを乗じた結果
の総和にて表される。即ち、出力データy(n)は、y
(n)=a(0)×x(n)+a(1)×x(n−1)
+a(2)×x(n−2)+・・・+a(M−1)×x
(n−M+1)にて表される。
[0005] The filter calculation shown in Equation 1 is performed by M (the number of taps of the filter) operations (product-sum operation). The number of taps indicates a filter length. In FIG.
The combination of the input data and the filter coefficient at each time of such filter calculation is shown. For example, the output data y (n) at the time n is the filter coefficients a (0) to a (0)
It is represented by the sum of (M−1) multiplied by the input data x (n) at time n to the past input data x (n−M + 1). That is, the output data y (n) is y
(N) = a (0) × x (n) + a (1) × x (n−1)
+ A (2) × x (n−2) +... + A (M−1) × x
It is represented by (n-M + 1).

【0006】分割ALU方式を使用したFIRフィルタ
によるフィルタ処理(フィルタ計算)の高速化の技術
が、「Using MMX(TM) Instructions to Compute a 16
-Bit Real FIR Filter、 Intel APPLICATION NOTE AP-5
59、1996年3月」に開示されている。以下、この文献に
開示されている分割ALU方式を使用したFIRフィル
タによるフィルタ処理(フィルタ計算)について図面を
参照して説明する。
A technique for speeding up filter processing (filter calculation) by an FIR filter using the divided ALU method is described in "Using MMX (TM) Instructions to Compute a 16".
-Bit Real FIR Filter, Intel APPLICATION NOTE AP-5
59, March 1996 ". Hereinafter, the filtering process (filter calculation) by the FIR filter using the divided ALU system disclosed in this document will be described with reference to the drawings.

【0007】図19は、分割ALU方式を使用したFI
Rフィルタによるフィルタ処理(フィルタ計算)を行う
演算処理装置の構成を示すブロック図である。この演算
処理装置は、データを入力する入力装置101と、入力
データに対してフィルタ計算を行うデータ処理装置10
2と、入力データ及びフィルタ係数を記憶する記憶装置
103と、出力データを出力する出力装置104とから
構成される。
FIG. 19 shows an FI using the split ALU system.
FIG. 3 is a block diagram illustrating a configuration of an arithmetic processing device that performs a filter process (filter calculation) using an R filter. The arithmetic processing device includes an input device 101 for inputting data and a data processing device 10 for performing a filter calculation on the input data.
2, a storage device 103 for storing input data and filter coefficients, and an output device 104 for outputting output data.

【0008】記憶装置103は、入力データ記憶部10
5と、フィルタ係数記憶部106とから構成される。入
力データ記憶部105は、図20に示すように、入力装
置101から取得した最初の入力データを入力データ記
憶部105中の8の倍数のアドレスに配置し、以降の入
力データを下位アドレスから上位アドレスに向かって順
番に連続して配置して記憶する。なお、先頭の入力デー
タを8の倍数のアドレスに配列するのは、データ処理装
置102が、入力データ記憶部105から64bit分
(4データ分)の入力データをデータレジスタ108に
ロードする処理を高速に行うためである。これは、デー
タ処理装置102が、一般的に、8の倍数となるアドレ
スからロードする場合の方が、8の倍数とならないアド
レスからロードする場合に比べ、実行に要するクロック
数が少ないことによるものである。
The storage device 103 includes an input data storage unit 10
5 and a filter coefficient storage unit 106. As shown in FIG. 20, the input data storage unit 105 arranges the first input data acquired from the input device 101 at an address of a multiple of 8 in the input data storage unit 105, and stores the subsequent input data from the lower address to the higher address. They are arranged and stored successively toward the address. The reason why the first input data is arranged at an address that is a multiple of 8 is that the data processor 102 loads the 64-bit (four data) input data from the input data storage unit 105 into the data register 108 at high speed. To do so. This is because the number of clocks required for execution is generally smaller when the data processing device 102 loads from an address that is a multiple of 8 than when it loads from an address that is not a multiple of 8. It is.

【0009】図19に戻って、フィルタ係数記憶部10
6は、予め設定されたフィルタ係数を記憶する。なお、
フィルタ係数記憶部106におけるフィルタ係数の配列
については、後に説明する。
Returning to FIG. 19, the filter coefficient storage unit 10
Reference numeral 6 stores a preset filter coefficient. In addition,
The arrangement of the filter coefficients in the filter coefficient storage unit 106 will be described later.

【0010】データ処理装置102は、並列演算装置1
07と、データレジスタ108と、フィルタ係数レジス
タ109と、累算レジスタ110と、データ先頭ポイン
タ111と、データポインタ112と、フィルタ係数先
頭ポインタ113と、フィルタ係数ポインタ114とか
ら構成される。
[0010] The data processing device 102 is a parallel processing device 1
07, a data register 108, a filter coefficient register 109, an accumulation register 110, a data head pointer 111, a data pointer 112, a filter coefficient head pointer 113, and a filter coefficient pointer 114.

【0011】データレジスタ108は、64bitのレジ
スタからなり、入力データ記憶部105に記憶された4
データ分の入力データをロードする。フィルタ係数レジ
スタ109は、64bitのレジスタからなり、フィルタ
係数記憶部106に記憶された4タップ分のフィルタ係
数をロードする。累算レジスタ110は、64bitのレ
ジスタからなり、並列演算装置107による積和演算の
中間結果を逐次累算する。
The data register 108 comprises a 64-bit register, and stores the data stored in the input data storage unit 105.
Load input data for data. The filter coefficient register 109 is a 64-bit register, and loads the filter coefficients for four taps stored in the filter coefficient storage unit 106. The accumulation register 110 is a 64-bit register and sequentially accumulates intermediate results of the product-sum operation by the parallel operation device 107.

【0012】データ先頭ポインタ111は、入力データ
記憶部105において予め設定された入力データを記憶
するための領域の先頭アドレスを示す。また、データポ
インタ112は、入力データ記憶部105に記憶された
入力データをデータレジスタ108にロードするための
アドレスを示す。フィルタ係数先頭ポインタ113は、
フィルタ係数記憶部106において予め設定されたフィ
ルタ係数を記憶するための領域の先頭アドレスを示す。
また、フィルタ係数ポインタ114は、フィルタ係数記
憶部106に記憶されたフィルタ係数をフィルタ係数レ
ジスタ109にロードするためのアドレスを示す。
A data head pointer 111 indicates a head address of an area for storing input data set in the input data storage unit 105 in advance. The data pointer 112 indicates an address for loading the input data stored in the input data storage unit 105 into the data register 108. The filter coefficient head pointer 113 is
The start address of an area for storing a filter coefficient set in advance in the filter coefficient storage unit 106 is shown.
The filter coefficient pointer 114 indicates an address for loading the filter coefficients stored in the filter coefficient storage unit 106 into the filter coefficient register 109.

【0013】並列演算装置107は、分割ALU方式に
より、図21に示すような4並列の積和演算を行う。ま
ず、並列演算装置107は、データレジスタ108にロ
ードされた4つの16bitデータa0、a1、a2、a
3と、フィルタ係数レジスタ109にロードされた4つ
の16bitデータb0、b1、b2、b3とをそれぞれ
組み合わせた4つの16bit乗算を並列に実行する。次
に、並列演算装置107は、4つの16bit乗算の演算
結果と、累算レジスタ110に格納されている4つの1
6bitデータc0、c1、c2、c3とを4並列に加算
する。並列演算装置107は、このような4並列積和演
算の演算結果を累算レジスタ110に格納する。
The parallel operation unit 107 performs a 4-parallel product-sum operation as shown in FIG. 21 by the divided ALU method. First, the parallel operation device 107 sets the four 16-bit data a0, a1, a2, a
3 and four 16-bit data b0, b1, b2, and b3 loaded in the filter coefficient register 109 are respectively combined to perform four 16-bit multiplications in parallel. Next, the parallel operation device 107 calculates the operation results of the four 16-bit multiplications and the four 1-bit multiplications stored in the accumulation register 110.
6-bit data c0, c1, c2, and c3 are added in four parallels. The parallel operation device 107 stores the operation result of the 4-parallel product-sum operation in the accumulation register 110.

【0014】データ処理装置102は、数式1に示すよ
うな時刻nにおける出力y(n)を算出するために、並
列演算装置107に、このような4並列積和演算を順次
実行させ、累積レジスタ110に累算された値を合計す
るフィルタ計算を実行させる。以下、図22に示す時刻
nにおける基本的なフィルタ計算を説明する。
The data processing device 102 causes the parallel operation device 107 to sequentially execute such a 4-parallel multiply-accumulate operation in order to calculate the output y (n) at the time n as shown in Expression 1, and Let 110 perform a filter calculation that sums the accumulated values. Hereinafter, a basic filter calculation at time n shown in FIG. 22 will be described.

【0015】まず、データ処理装置102は、図23
(a)に示すように、最初の4データ分の入力データを
入力データ記憶部105からデータレジスタ108にロ
ードし、フィルタ係数記憶部106から最初の4タップ
分のフィルタ係数をフィルタ係数レジスタ109にロー
ドする。並列演算装置107は、4並列積和演算を実行
し、演算結果を累算レジスタ110に格納する。
First, the data processing device 102
As shown in (a), the input data for the first four data is loaded from the input data storage unit 105 to the data register 108, and the filter coefficients for the first four taps are stored in the filter coefficient register 109 from the filter coefficient storage unit 106. To load. The parallel operation device 107 executes a 4-parallel product-sum operation and stores the operation result in the accumulation register 110.

【0016】次に、データ処理装置102は、図23
(b)に示すように、次の4データ分の入力データを入
力データ記憶部105からデータレジスタ108にロー
ドし、フィルタ係数記憶部106から次の4タップ分の
フィルタ係数をフィルタ係数レジスタ109にロードす
る。並列演算装置107は、4並列積和演算を実行し、
演算結果を累算レジスタ110に加算して格納する。
Next, the data processing device 102
As shown in (b), the input data for the next four data is loaded from the input data storage unit 105 to the data register 108, and the filter coefficients for the next four taps are stored in the filter coefficient register 109 from the filter coefficient storage unit 106. To load. The parallel operation device 107 executes a 4-parallel product-sum operation,
The operation result is added to the accumulation register 110 and stored.

【0017】このように、データ処理装置102は、順
次、入力データ及びフィルタ係数をレジスタにロード
し、並列演算装置107に4並列積和演算を実行させ
る。全てのタップ数、即ち、M回の積和演算を行った
後、データ処理装置102は、累積レジスタ110に累
算された各値を合計し、出力データy(n)を算出す
る。
As described above, the data processing device 102 sequentially loads the input data and the filter coefficient into the register, and causes the parallel operation device 107 to execute the 4-parallel multiply-accumulate operation. After performing the product-sum operation for all the tap numbers, that is, M times, the data processing device 102 sums up the respective values accumulated in the accumulation register 110 to calculate output data y (n).

【0018】なお、フィルタのタップ数が4の倍数でな
い場合、図24に示すように、フィルタ係数記憶部10
6の余りの部分には、0がセットさている。データ処理
装置102は、このような0がセットされたフィルタ係
数も含めて、フィルタ係数レジスタ109にロードし、
並列演算装置107に4並列積和演算を実行させる。
If the number of taps of the filter is not a multiple of four, as shown in FIG.
0 is set in the remainder of 6. The data processing device 102 loads the filter coefficient including the filter coefficient set to 0 into the filter coefficient register 109,
The parallel arithmetic unit 107 is caused to execute a 4-parallel product-sum operation.

【0019】データ処理装置102は、このようなフィ
ルタ計算を、全体として更に高速に処理するため、4つ
の連続した時刻を1サイクルとしてフィルタ計算をする
工夫がなされている。以下、4つの連続した時刻におけ
るフィルタ計算について説明する。
The data processing device 102 has been devised to perform the filter calculation with four consecutive times as one cycle in order to process such a filter calculation at a higher speed as a whole. Hereinafter, the filter calculation at four consecutive times will be described.

【0020】データ処理装置102は、図25に示すよ
うに、時刻nにおいて、入力データとフィルタ係数との
4並列積和演算を入力データx(n)から開始して、出
力データy(n)を算出し、また、時刻n+1におい
て、入力データとフィルタ係数との4並列積和演算を入
力データx(n+1)から開始して、出力データy(n
+1)を算出する。即ち、データ処理装置102は、時
刻毎にフィルタ係数を入力データに対して1タップ分ず
らして演算処理を行う。
As shown in FIG. 25, at time n, the data processing device 102 starts a 4-parallel product-sum operation of input data and filter coefficients from input data x (n) and outputs data y (n). Further, at time n + 1, a 4-parallel product-sum operation of the input data and the filter coefficient is started from the input data x (n + 1), and the output data y (n
+1) is calculated. That is, the data processing device 102 performs the arithmetic processing by shifting the filter coefficient by one tap with respect to the input data at each time.

【0021】このように、時刻毎に1タップ分ずらした
演算処理を行うために、フィルタ係数は、フィルタ係数
記憶部106に、図26に示すように配列され、記憶さ
れる。なお、フィルタのタップ数は、前述のように4の
倍数でない場合と、4つの連続した時刻において使用す
ることを考慮して、数式2により求められる実際のタッ
プ数M以上で最小の4の倍数+1で表されるKとする。
このとき、タップ数Kにおいて、実際のタップ数Mより
も多い分となるフィルタ係数には、0がセットされる。
As described above, the filter coefficients are arranged and stored in the filter coefficient storage unit 106 as shown in FIG. Note that the number of taps of the filter is a minimum multiple of 4 which is equal to or greater than the actual number of taps M obtained by Expression 2 in consideration of the case where the tap is not a multiple of 4 as described above and that the filter is used at four consecutive times. Let K be +1.
At this time, 0 is set to a filter coefficient which is larger than the actual tap number M in the tap number K.

【0022】[0022]

【数2】 K:4並列積和演算のためのフィルタのタップ数 M:実際のフィルタのタップ数(Equation 2) K: Number of filter taps for 4-parallel multiply-accumulate operation M: Actual number of filter taps

【0023】更に、4の倍数+1となったKに、0が設
定されたフィルタ係数を3個分補って4の倍数とし、数
式3により表される分のフィルタ係数を1時刻分とし
て、フィルタ係数記憶部106に配列され、記憶され
る。
Further, K, which is a multiple of 4 + 1, is supplemented by three filter coefficients in which 0 is set to be a multiple of 4, and a filter coefficient represented by Expression 3 is set for one time, and They are arranged and stored in the coefficient storage unit 106.

【0024】[0024]

【数3】 K:4並列積和演算のためのフィルタのタップ数 M:実際のフィルタのタップ数(Equation 3) K: Number of filter taps for 4-parallel multiply-accumulate operation M: Actual number of filter taps

【0025】最終的に、図26に示すように4つの連続
した時刻分(CF(0)〜CF(3))のフィルタ係数
が、フィルタ係数記憶部106に配列され、記憶され
る。第1の時刻用のフィルタ(CF(0))は、フィル
タ係数a(0)が8の倍数のアドレス位置になるように
フィルタ係数記憶部106に配置され、a(1)、a
(2)、・・・、a(K−1)と順に上位アドレスから
下位アドレスに向かって配置され、記憶される。また、
第2の時刻用のフィルタ(CF(1))は、第1の時刻
のフィルタ係数が、1タップ分ずれた配列となり、第1
の時刻用のフィルタの上位アドレスに記憶される。同様
に、第3及び第4の時刻用のフィルタ(CF(2)、C
F(3))は、第1の時刻用のフィルタ係数が2及び3
タップ分ずれた配列となり、第2の時刻用のフィルタの
上位アドレスに記憶される。なお、フィルタ係数を8の
倍数のアドレスを基準として配列するのは、前述した入
力データの配列と、同様の理由によるものである。
Finally, as shown in FIG. 26, the filter coefficients for four consecutive times (CF (0) to CF (3)) are arranged and stored in the filter coefficient storage unit 106. The first time filter (CF (0)) is arranged in the filter coefficient storage unit 106 such that the filter coefficient a (0) is located at an address position that is a multiple of 8, and a (1), a (1)
(2),..., A (K−1) are arranged and stored in order from the upper address to the lower address. Also,
The filter for the second time (CF (1)) has an array in which the filter coefficients at the first time are shifted by one tap.
Is stored in the upper address of the time filter. Similarly, the third and fourth time filters (CF (2), C
F (3)) is that the filter coefficients for the first time are 2 and 3
The array is shifted by taps and stored in the upper address of the filter for the second time. The arrangement of the filter coefficients based on the address of a multiple of 8 is based on the same reason as the arrangement of the input data described above.

【0026】データ処理装置102は、このような、フ
ィルタ係数記憶部106に記憶されたフィルタ係数を使
用して、図27に示すような、4つの連続した時刻のフ
ィルタ計算を行う。即ち、データ処理装置102は、時
刻4jに、第1の時刻用のフィルタ(CF(0))を使
用し、時刻4j+1に、第2の時刻用のフィルタ(CF
(1))を使用し、時刻4j+2に、第3の時刻用のフ
ィルタ(CF(2))を使用し、時刻4j+3に、第4
の時刻用のフィルタ(CF(3))を使用し、それぞれ
フィルタ計算する。
The data processing device 102 performs a filter calculation at four consecutive times as shown in FIG. 27 using the filter coefficients stored in the filter coefficient storage unit 106. That is, the data processing device 102 uses the first time filter (CF (0)) at time 4j, and the second time filter (CF) at time 4j + 1.
(1)), at time 4j + 2, a third time filter (CF (2)) is used, and at time 4j + 3, the fourth
, And each filter calculation is performed using the time filter (CF (3)).

【0027】以下、図27に示すような、入力データ及
びフィルタ係数が入力データ記憶部105及びフィルタ
係数レジスタ106に配置されている状態におけるデー
タ処理装置102のフィルタ計算の動作について図28
を参照して説明する。図28は、データ処理装置102
のフィルタ計算の動作を示すフローチャートである。
FIG. 28 shows the operation of the data processor 102 for calculating the filter when the input data and the filter coefficient are arranged in the input data storage unit 105 and the filter coefficient register 106 as shown in FIG.
This will be described with reference to FIG. FIG. 28 shows the data processing device 102.
6 is a flowchart showing the operation of the filter calculation of FIG.

【0028】まず、データ処理装置102は、累算レジ
スタ110の値をゼロクリアする(ステップS10
1)。
First, the data processing device 102 clears the value of the accumulation register 110 to zero (step S10).
1).

【0029】データ処理装置102は、データポインタ
112に、時刻jにおける初期値を設定する(ステップ
S102)。即ち、データ処理装置102は、時刻jに
おいて、入力データ記憶部105からデータレジスタ1
08に入力データをロードするためのアドレスを示す初
期値(ADFRD)を、数式4を使用して求め、求めた
初期値をデータポインタ112に設定する。
The data processing device 102 sets an initial value at time j in the data pointer 112 (step S102). That is, at time j, the data processing device 102
08, an initial value (ADFRD) indicating an address for loading input data is obtained using Expression 4, and the obtained initial value is set in the data pointer 112.

【0030】[0030]

【数4】ADRD = SD + 8 × j ADRD:データポインタ112の初期値 SD:データ先頭ポインタの値 j:時刻(j=0、1、2・・・)ADRD = SD + 8 × j ADRD: Initial value of data pointer 112 SD: Value of data head pointer j: Time (j = 0, 1, 2,...)

【0031】データ処理装置102は、フィルタ係数ポ
インタ114に時刻i(i=0、1、2、3)における
初期値を設定する(ステップS103)。即ち、データ
処理装置102は、時刻iにおいて、フィルタ係数記憶
部106からフィルタ係数レジスタ109にフィルタ係
数をロードするためのアドレスを示す初期値(ADR
F)を、数式5を使用して求め、求めた初期値をフィル
タ係数ポインタ114に設定する。なお、初期値(AD
RF)は、フィルタ係数CF(i)の先頭アドレスとな
る。
The data processing device 102 sets an initial value at time i (i = 0, 1, 2, 3) in the filter coefficient pointer 114 (step S103). That is, at time i, the data processing apparatus 102 sets the initial value (ADR) indicating the address for loading the filter coefficient from the filter coefficient storage unit 106 to the filter coefficient register 109.
F) is calculated using Expression 5, and the obtained initial value is set in the filter coefficient pointer 114. Note that the initial value (AD
RF) is the head address of the filter coefficient CF (i).

【0032】[0032]

【数5】ADRF = SF + (K+3) × 2 ×
(i+1)− 8 ADRF:フィルタ係数ポインタ114の初期値 SF:フィルタ係数先頭ポインタ113の値 K:4並列積和演算用のフィルタのタップ数 i:時刻(i=0、1、2、3)
ADRF = SF + (K + 3) × 2 ×
(I + 1) -8 ADRF: Initial value of filter coefficient pointer 114 SF: Value of filter coefficient leading pointer 113 K: Number of taps of filter for 4-parallel multiply-accumulate operation i: Time (i = 0, 1, 2, 3)

【0033】データ処理装置102は、入力データ記憶
部105に記憶されている入力データから、データポイ
ンタ112の示すアドレスに記憶されている4データ分
の入力データをデータレジスタ108にロードする(ス
テップS104)。
The data processing device 102 loads, from the input data stored in the input data storage unit 105, input data for four data stored at the address indicated by the data pointer 112 into the data register 108 (step S104). ).

【0034】データ処理装置102は、フィルタ係数記
憶部106に記憶されているフィルタ係数から、フィル
タ係数ポインタ114の示すアドレスに記憶されている
4タップ分のフィルタ係数をフィルタ係数レジスタ10
9にロードする(ステップS105)。
The data processing device 102 converts the filter coefficients for four taps stored at the address indicated by the filter coefficient pointer 114 from the filter coefficients stored in the filter coefficient storage unit 106 into the filter coefficient register 10.
9 (step S105).

【0035】並列演算装置107は、データレジスタ1
08にロードした4データ分の入力データと、フィルタ
係数レジスタ109にロードした4タップ分のフィルタ
係数とで4並列積和演算を行ない、演算結果を累算レジ
スタ110に加算して格納する(ステップS106)。
The parallel operation unit 107 includes a data register 1
A 4-parallel multiply-accumulate operation is performed with the input data of 4 data loaded into the register 08 and the filter coefficients of 4 taps loaded into the filter coefficient register 109, and the operation result is added and stored in the accumulation register 110 (step). S106).

【0036】データ処理装置102は、次の4データ分
の入力データ及び4タップ分のフィルタ係数をデータレ
ジスタ108及びフィルタ係数レジスタ109にロード
して積和演算するために、データポインタ112及びフ
ィルタ係数ポインタ114をそれぞれ更新する(ステッ
プS107、S108)。即ち、データ処理装置102
は、データポインタ112及びフィルタ係数ポインタ1
14が示すアドレスが、入力データ記憶部105及びフ
ィルタ係数記憶部106の下位に配置された入力データ
及びフィルタ係数を示すように、データポインタ112
及びフィルタ係数ポインタ114の値から8(4データ
分、4タップ分)を減算し、減算後の値で更新する。
The data processor 102 loads the data pointer 112 and the filter coefficient in order to load the input data for the next four data and the filter coefficient for the four taps into the data register 108 and the filter coefficient register 109 and perform a product-sum operation. The pointers 114 are updated (steps S107 and S108). That is, the data processing device 102
Are the data pointer 112 and the filter coefficient pointer 1
The data pointer 112 is set so that the address indicated by 14 indicates the input data and the filter coefficient arranged below the input data storage unit 105 and the filter coefficient storage unit 106.
Then, 8 (for 4 data, 4 taps) is subtracted from the value of the filter coefficient pointer 114 and updated with the value after the subtraction.

【0037】データ処理装置102は、全フィルタタッ
プ分の処理が終了したか否かの判別を行なう(ステップ
S109)。データ処理装置102は、全フィルタタッ
プ分の処理が終了していないと判別した場合、ステップ
S104に戻って、ステップS104〜ステップS10
9の処理を繰り返す(積和計算ループS100)。
The data processing device 102 determines whether or not processing for all filter taps has been completed (step S109). If the data processing apparatus 102 determines that the processing for all the filter taps has not been completed, the processing returns to step S104, and the processing returns to step S104 to step S10.
9 is repeated (product-sum calculation loop S100).

【0038】一方、データ処理装置102は、全フィル
タタップ分の処理が終了したと判別した場合、累算レジ
スタ110に記憶された4つの16bit数の総和(c0
+c1+c2+c3)を算出する(ステップS11
0)。即ち、全フィルタタップの処理が終了すると、累
算レジスタ110には、全タップのフィルタ計算結果が
4つの16bitの数値(c0〜c3)に分かれて格納さ
れる。データ処理装置102は、この4つの16bitの
数値の総和(c0+c1+c2+c3)を算出し、フィ
ルタ計算後の出力データとする。
On the other hand, when the data processing device 102 determines that the processing for all the filter taps has been completed, the data processing device 102 calculates the total sum (c0) of the four 16-bit numbers stored in the accumulation register 110.
+ C1 + c2 + c3) (step S11)
0). That is, when the processing of all the filter taps is completed, the accumulation calculation result of the filter of all the taps is divided into four 16-bit numerical values (c0 to c3) in the accumulation register 110. The data processing device 102 calculates the sum (c0 + c1 + c2 + c3) of the four 16-bit numerical values, and sets the sum as the output data after the filter calculation.

【0039】データ処理装置102は、求めた出力デー
タを出力装置104に出力する(ステップS111)。
The data processing device 102 outputs the obtained output data to the output device 104 (step S111).

【0040】[0040]

【発明が解決しようとする課題】しかし、「Using MMX
(TM) Instructions to Compute a 16-Bit Real FIR F
ilter、 Intel APPLICATION NOTE AP-559、1996年3月」
に開示されているこのような演算処理装置は、すべての
入力データを入力データ記憶部102に連続して記憶す
るため、入力データ記憶部102のメモリ容量が増大し
てしまうといった問題があった。また、フィルタ係数の
値に0を設定し、記憶する必要があるため、フィルタ係
数記憶部106のメモリ容量が増大してしまうといった
問題があった。更に、フィルタ係数記憶部106に設定
した、0の値のフィルタ係数を使用して不必要な積和演
算をするため、フィルタ計算の全体の演算量が増加し、
処理速度が低下するといった問題があった。
[Problems to be solved by the invention] However, "Using MMX
(TM) Instructions to Compute a 16-Bit Real FIR F
ilter, Intel APPLICATION NOTE AP-559, March 1996 ''
However, such an arithmetic processing device disclosed in Japanese Patent Application Laid-Open No. H11-157572 has a problem that the memory capacity of the input data storage unit 102 increases because all the input data is continuously stored in the input data storage unit 102. Further, since it is necessary to set and store the value of the filter coefficient to 0, there is a problem that the memory capacity of the filter coefficient storage unit 106 increases. Further, since unnecessary product-sum operation is performed using the filter coefficient of the value 0 set in the filter coefficient storage unit 106, the total operation amount of the filter calculation increases,
There is a problem that the processing speed is reduced.

【0041】この発明は、上記実状に鑑みてなされたも
ので、分割ALU方式による並列演算処理を利用した演
算処理装置において、メモリを効率よく利用し、高速に
演算処理を実行できる演算処理装置、フィルタ計算方法
及び記録媒体を提供することを目的とする。本発明の他
の目的は、各出力データに対して必要となる計算に対応
して、異なる並びのフィルタ係数によるフィルタ計算の
演算処理を実行できる演算処理装置、フィルタ計算方法
及び記録媒体を提供することである。
The present invention has been made in view of the above situation, and in an arithmetic processing device utilizing parallel arithmetic processing by a divided ALU system, an arithmetic processing device which can efficiently use a memory and can execute arithmetic processing at high speed. It is an object to provide a filter calculation method and a recording medium. Another object of the present invention is to provide an arithmetic processing device, a filter calculation method, and a recording medium that can execute a calculation process of a filter calculation using filter coefficients of different arrangements in accordance with a calculation required for each output data. That is.

【0042】[0042]

【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかる演算処理装置は、分割
ALU方式のALUを用いた並列演算処理にて、入力デ
ータをフィルタリングするために、入力データとフィル
タ係数との演算を並列に実行する並列演算手段を備えた
演算処理装置であって、入力データを論理的に先頭と終
端とがつながれた環状構造となる記憶領域に順次記憶す
る入力データ記憶手段と、前記入力データ記憶手段に記
憶された各入力データと1対1に対応して配列されたフ
ィルタ係数が記憶領域に満たされて記憶されたフィルタ
係数記憶手段と、前記並列演算手段が並列演算処理を行
うために、予め定められたデータ量の入力データを前記
入力データ記憶手段から読み込んで一時記憶する入力デ
ータ一時記憶手段と、前記並列演算手段が並列演算処理
を行うために、予め定められたデータ量のフィルタ係数
を前記フィルタ係数記憶手段から読み込んで一時記憶す
るフィルタ係数一時記憶手段と、を備え、前記並列演算
手段は、前記入力データ一時記憶手段に読み込まれた入
力データと前記フィルタ係数一時記憶手段に読み込まれ
たフィルタ係数とを積和演算し、入力データをフィルタ
リングする、ことを特徴とする。
In order to achieve the above object, an arithmetic processing device according to a first aspect of the present invention is provided for filtering input data in parallel arithmetic processing using an ALU of a divided ALU system. And a parallel processing means for executing a parallel operation of the input data and the filter coefficient in parallel, wherein the input data is sequentially stored in a storage area having a circular structure in which a head and an end are logically connected. An input data storage unit, a filter coefficient storage unit in which a storage area is filled with filter coefficients arranged in one-to-one correspondence with each input data stored in the input data storage unit, In order for the arithmetic means to perform parallel arithmetic processing, input data temporary storage means for reading input data of a predetermined data amount from the input data storage means and temporarily storing the input data; In order for the parallel operation means to perform parallel operation processing, a filter coefficient temporary storage means for reading and temporarily storing a filter coefficient of a predetermined data amount from the filter coefficient storage means, and the parallel operation means, The input data read into the input data temporary storage means and the filter coefficient read into the filter coefficient temporary storage means are subjected to a product-sum operation to filter the input data.

【0043】この発明によれば、入力データ記憶手段
は、入力データを論理的に先頭と終端とがつながれた環
状構造となる記憶領域に順次記憶するため、使用済みの
データに上書きして効率よく入力データを記憶できる。
フィルタ係数記憶手段は、入力データ記憶手段に記憶さ
れた各入力データと1対1に対応して配列されたフィル
タ係数が記憶領域に満たされて記憶され、間隔を埋める
ための0を記憶する必要がないため、フィルタ係数を効
率よく記憶できる。入力データ一時記憶手段は、並列演
算手段が並列演算処理を行うために必要となる予め定め
られたデータ量の入力データを入力データ記憶手段から
読み込んで一時記憶する。フィルタ係数一時記憶手段
は、並列演算手段が並列演算処理を行うために必要とな
る予め定められたデータ量のフィルタ係数をフィルタ係
数記憶手段から読み込んで一時記憶する。並列演算手段
は、入力データ一時記憶手段に読み込まれた入力データ
とフィルタ係数一時記憶手段に読み込まれたフィルタ係
数とを積和演算し、入力データをフィルタリングする。
この結果、メモリを効率よく利用し、不必要な演算をす
ることなく高速に演算処理を実行できる。
According to the present invention, since the input data storage means sequentially stores the input data in the storage area having the annular structure in which the head and the end are logically connected, the input data is efficiently overwritten on the used data. Can store input data.
The filter coefficient storage means needs to store the filter coefficients which are arranged in a one-to-one correspondence with the respective input data stored in the input data storage means so as to fill the storage area and store 0 for filling the interval. Therefore, the filter coefficients can be efficiently stored. The input data temporary storage unit reads, from the input data storage unit, input data of a predetermined data amount necessary for the parallel operation unit to perform the parallel operation processing, and temporarily stores the input data. The filter coefficient temporary storage means reads from the filter coefficient storage means a filter coefficient of a predetermined data amount necessary for the parallel operation means to perform the parallel operation processing, and temporarily stores the filter coefficient. The parallel operation unit performs a product-sum operation on the input data read into the input data temporary storage unit and the filter coefficient read into the filter coefficient temporary storage unit, and filters the input data.
As a result, the memory can be efficiently used, and the arithmetic processing can be performed at high speed without performing unnecessary arithmetic.

【0044】前記入力データ記憶手段は、前記入力デー
タ一時記憶手段が入力データの読み込みを開始する予め
決められた開始位置に合わせて入力データを配列し、前
記フィルタ係数記憶手段は、前記フィルタ係数一時記憶
手段がフィルタ係数の読み込みを開始する予め決められ
た開始位置に合わせて、論理的に先頭と終端とがつなが
れた環状構造となる記憶領域にフィルタ係数を配列して
もよい。この結果、入力データ及びフィルタ係数をそれ
ぞれの一時記憶手段に、高速に読み込むことができるた
め、高速に演算処理を実行できる。
The input data storage means arranges the input data in accordance with a predetermined start position at which the input data temporary storage means starts reading the input data, and the filter coefficient storage means stores the filter coefficient temporary data. The filter coefficients may be arranged in a storage area having a circular structure in which the head and the end are logically connected in accordance with a predetermined start position at which the storage means starts reading the filter coefficients. As a result, since the input data and the filter coefficient can be read into the respective temporary storage units at a high speed, the arithmetic processing can be executed at a high speed.

【0045】上記目的を達成するため、本発明の第2の
観点にかかる演算処理装置は、分割ALU方式のALU
を用いた並列演算処理にて、入力データをフィルタリン
グするために、入力データとフィルタ係数との演算を並
列に実行する並列演算手段を備えた演算処理装置であっ
て、入力データを論理的に先頭と終端とがつながれた環
状構造となる記憶領域に順次記憶する入力データ記憶手
段と、前記入力データ記憶手段に記憶された各入力デー
タと1対n(nは、2以上の自然数)に対応して配列さ
れたフィルタ係数が記憶領域に満たされて記憶されたフ
ィルタ係数記憶手段と、前記並列演算手段が並列演算処
理を行うために、予め定められたデータ量となる1列の
入力データ列を前記入力データ記憶手段から読み込んで
一時記憶する入力データ一時記憶手段と、前記並列演算
手段が並列演算処理を行うために、前記入力データ一時
記憶手段に一時記憶された1列の入力データ列のn倍の
データ量となるn列のフィルタ係数列を前記フィルタ係
数記憶手段から読み込んで一時記憶するフィルタ係数一
時記憶手段と、を備え、前記並列演算手段は、前記入力
データ一時記憶手段に読み込まれた1列の入力データ列
と前記フィルタ係数一時記憶手段に読み込まれたn列の
フィルタ係数列とを予め定められた順番に積和演算し、
入力データをフィルタリングする、ことを特徴とする。
In order to achieve the above object, an arithmetic processing unit according to a second aspect of the present invention comprises an ALU of a divided ALU system.
An arithmetic processing device comprising parallel operation means for executing an operation of input data and a filter coefficient in parallel in order to filter the input data in a parallel operation process using Input data storage means for sequentially storing data in a storage area having a ring structure in which the input data is connected to the end, and one to n (n is a natural number of 2 or more) corresponding to each input data stored in the input data storage means. The filter coefficient storage means in which the storage area is filled with the filter coefficients arranged as described above, and one input data string having a predetermined data amount for the parallel calculation means to perform parallel calculation processing. Input data temporary storage means for reading and temporarily storing the input data from the input data storage means; and temporarily storing the input data in the input data temporary storage means for the parallel operation means to perform parallel operation processing. Filter coefficient temporary storage means for reading from the filter coefficient storage means and temporarily storing the n-th filter coefficient string having a data amount of n times the input data string of one row, wherein the parallel operation means comprises: A product-sum operation is performed in a predetermined order on the one input data string read into the input data temporary storage means and the n filter coefficient strings read into the filter coefficient temporary storage means,
Filtering input data.

【0046】この発明によれば、入力データ記憶手段
は、入力データを論理的に先頭と終端とがつながれた環
状構造となる記憶領域に順次記憶するため、使用済みの
データに上書きして効率よく入力データを記憶できる。
フィルタ係数記憶手段は、入力データ記憶手段に記憶さ
れた各入力データと1対n(nは、2以上の自然数)に
対応して配列されたフィルタ係数が記憶領域に満たされ
て記憶され、間隔を埋めるための0を記憶する必要がな
いため、フィルタ係数を効率よく記憶できる。入力デー
タ一時記憶手段は、並列演算手段が並列演算処理を行う
ために、予め定められたデータ量となる1列の入力デー
タ列を入力データ記憶手段から読み込んで一時記憶す
る。フィルタ係数一時記憶手段は、並列演算手段が並列
演算処理を行うために、入力データ一時記憶手段に一時
記憶された1列の入力データ列のn倍のデータ量となる
n列のフィルタ係数列をフィルタ係数記憶手段から読み
込んで一時記憶する。並列演算手段は、入力データ一時
記憶手段に読み込まれた1列の入力データ列とフィルタ
係数一時記憶手段に読み込まれたn列のフィルタ係数列
とを予め定められた順番に積和演算し、入力データをフ
ィルタリングする。この結果、メモリを効率よく利用
し、不必要な演算をすることなく高速に演算処理を実行
できる。
According to the present invention, since the input data storage means sequentially stores the input data in the storage area having the annular structure where the head and the end are logically connected, the input data is efficiently overwritten on the used data. Can store input data.
The filter coefficient storage means fills the storage area with filter coefficients arranged corresponding to each input data stored in the input data storage means in a one-to-n (n is a natural number not less than 2) storage, and stores Since there is no need to store 0 for filling in, the filter coefficient can be stored efficiently. The input data temporary storage means reads one input data string having a predetermined data amount from the input data storage means and temporarily stores the input data string in order for the parallel operation means to perform the parallel operation processing. The filter coefficient temporary storage means stores n filter coefficient strings having an n-times data amount of one input data string temporarily stored in the input data temporary storage means in order for the parallel operation means to perform parallel operation processing. It is read from the filter coefficient storage means and temporarily stored. The parallel operation means performs a product-sum operation of the one input data string read into the input data temporary storage means and the n filter coefficient strings read into the filter coefficient temporary storage means in a predetermined order, Filter data. As a result, the memory can be efficiently used, and the arithmetic processing can be performed at high speed without performing unnecessary arithmetic.

【0047】前記フィルタ係数一時記憶手段は、前記入
力データ一時記憶手段が1列の入力データ列をn回読み
込む間に、n列のフィルタ係数列を1回読み込んでもよ
い。この結果、フィルタ係数をそれぞれのフィルタ係数
一時記憶手段に読み込む回数を減らすことができるた
め、高速に演算処理を実行できる。
The filter coefficient temporary storage means may read the n-th filter coefficient sequence once while the input data temporary-storage means reads one column of the input data sequence n times. As a result, the number of times that the filter coefficients are read into the respective filter coefficient temporary storage units can be reduced, so that the arithmetic processing can be executed at a high speed.

【0048】上記目的を達成するため、本発明の第3の
観点にかかる演算処理装置は、分割ALU方式のALU
を用いた並列演算処理にて、入力データをフィルタリン
グするために、入力データとフィルタ係数との演算を並
列に実行する並列演算手段を備えた演算処理装置であっ
て、入力データを記憶領域に順次記憶する入力データ記
憶手段と、前記入力データ記憶手段に記憶された各入力
データと、各入力データから出力データを算出するのに
必要となる演算とに対応して配列されたフィルタ係数が
記憶領域に満たされて記憶されたフィルタ係数記憶手段
と、前記並列演算手段が並列演算処理を行うために、予
め定められたデータ量の入力データを前記入力データ記
憶手段から読み込んで一時記憶する入力データ一時記憶
手段と、前記並列演算手段が並列演算処理を行うため
に、予め定められたデータ量のフィルタ係数を前記フィ
ルタ係数記憶手段から読み込んで一時記憶するフィルタ
係数一時記憶手段と、を備え、前記並列演算手段は、前
記入力データ一時記憶手段に読み込まれた入力データと
前記フィルタ係数一時記憶手段に読み込まれたフィルタ
係数とを積和演算し、入力データをフィルタリングす
る、ことを特徴とする。
To achieve the above object, an arithmetic processing unit according to a third aspect of the present invention comprises an ALU of a divided ALU system.
In order to filter the input data in a parallel operation process using an arithmetic processing device, the arithmetic processing device includes parallel operation means for executing the operation of the input data and the filter coefficient in parallel, and sequentially stores the input data in a storage area. A storage area for storing input data storage means, and filter coefficients arranged corresponding to each input data stored in the input data storage means and an operation required to calculate output data from each input data; A filter coefficient storage unit that is filled and stored, and an input data temporary unit that reads and temporarily stores input data of a predetermined data amount from the input data storage unit so that the parallel operation unit performs a parallel operation process. A storage unit that stores a filter coefficient of a predetermined data amount in the filter coefficient storage unit so that the parallel operation unit performs a parallel operation process; Filter coefficient temporary storage means for reading and temporarily storing, wherein the parallel operation means calculates a product sum of the input data read in the input data temporary storage means and the filter coefficient read in the filter coefficient temporary storage means. Calculating and filtering input data.

【0049】この発明によれば、入力データ記憶手段に
記憶された各入力データと、各入力データから出力デー
タを算出するのに必要となる演算とに対応して配列され
たフィルタ係数が記憶領域に満たされて記憶されたフィ
ルタ係数記憶手段から、フィルタ係数一時記憶手段に読
み込まれたフィルタ係数を用いて積和演算を行ない入力
データをフィルタリングするため、演算の手順を変化さ
せることなしに、出力データごとに異なるフィルタ係数
を用いたフィルタ処理を実行できる。
According to the present invention, the input data stored in the input data storage means and the filter coefficients arranged corresponding to the operations required to calculate the output data from each input data are stored in the storage area. From the filter coefficient storage means filled and stored, the input data is filtered by performing the product-sum operation using the filter coefficients read into the filter coefficient temporary storage means, so that the output is performed without changing the operation procedure. Filter processing using a different filter coefficient for each data can be executed.

【0050】上記目的を達成するため、本発明の第4の
観点にかかるフィルタ計算方法は、分割ALU方式のA
LUを用いた並列演算処理にて、入力データをフィルタ
リングするために、入力データとフィルタ係数との演算
を並列に実行する並列演算ステップを備えたフィルタ計
算方法であって、入力データを論理的に先頭と終端とが
つながれた環状構造となる記憶領域に順次記憶する入力
データ記憶ステップと、前記並列演算ステップにて並列
演算処理を行うために、予め定められたデータ量の入力
データを論理的に先頭と終端とがつながれた環状構造と
なる記憶領域から読み込んで一時記憶する入力データ一
時記憶ステップと、前記並列演算ステップにて並列演算
処理を行うために、予め定められたデータ量のフィルタ
係数を前記入力データ記憶ステップにより記憶された各
入力データと1対1に対応して配列されたフィルタ係数
が満たされて記憶された記憶領域から読み込んで一時記
憶するフィルタ係数一時記憶ステップと、を備え、前記
並列演算ステップは、前記入力データ一時記憶ステップ
にて入力データ一時記憶領域に読み込まれた入力データ
と前記フィルタ係数一時記憶ステップにてフィルタ係数
一時記憶領域に読み込まれたフィルタ係数とを積和演算
し、入力データをフィルタリングする、ことを特徴とす
る。
In order to achieve the above object, a filter calculation method according to a fourth aspect of the present invention employs a split ALU type A
What is claimed is: 1. A filter calculation method comprising a parallel operation step of executing an operation of input data and a filter coefficient in parallel in order to filter input data in a parallel operation process using an LU, wherein the input data is logically processed. An input data storage step of sequentially storing data in a storage area having a ring structure in which a head and an end are connected; and input data of a predetermined amount of data logically executed in order to perform parallel operation processing in the parallel operation step. An input data temporary storage step of temporarily reading and storing from a storage area having a ring structure in which a head and an end are connected, and a filter coefficient of a predetermined data amount for performing parallel operation processing in the parallel operation step. Filter data arranged in a one-to-one correspondence with each input data stored in the input data storage step is satisfied and stored. A filter coefficient temporary storage step of reading from the stored storage area and temporarily storing the filter coefficient, wherein the parallel operation step includes: the input data read into the input data temporary storage area in the input data temporary storage step; The sum of the filter coefficient and the filter coefficient read into the filter coefficient temporary storage area in the storage step is calculated to filter the input data.

【0051】この発明によれば、入力データ記憶ステッ
プは、入力データを論理的に先頭と終端とがつながれた
環状構造となる記憶領域に順次記憶するため、使用済み
のデータに上書きして効率よく入力データを記憶でき
る。入力データ一時記憶ステップは、並列演算ステップ
にて並列演算処理を行うために、入力データ記憶ステッ
プにより記憶された記憶領域から、予め定められたデー
タ量の入力データを読み込んで一時記憶する。フィルタ
係数一時記憶ステップは、並列演算ステップにて並列演
算処理を行うために、予め定められたデータ量のフィル
タ係数を入力データ記憶ステップにより記憶された各入
力データと1対1に対応して配列されたフィルタ係数が
満たされて記憶された記憶領域から読み込んで一時記憶
する。並列演算ステップは、入力データ一時記憶ステッ
プにて入力データ一時記憶領域に読み込まれた入力デー
タとフィルタ係数一時記憶ステップにてフィルタ係数一
時記憶領域に読み込まれたフィルタ係数とを積和演算
し、入力データをフィルタリングする。この結果、メモ
リを効率よく利用し、不必要な演算をすることなく高速
に演算処理を実行できる。
According to the present invention, in the input data storing step, the input data is sequentially stored in the storage area having a ring structure in which the head and the end are logically connected. Can store input data. The input data temporary storage step reads input data of a predetermined data amount from the storage area stored in the input data storage step and temporarily stores the input data in order to perform parallel operation processing in the parallel operation step. In the filter coefficient temporary storage step, a filter coefficient of a predetermined data amount is arranged in a one-to-one correspondence with each input data stored in the input data storage step in order to perform the parallel operation processing in the parallel operation step. Is read from a storage area where the set filter coefficients are satisfied and stored, and temporarily stored. In the parallel operation step, the input data read in the input data temporary storage area in the input data temporary storage step and the filter coefficient read in the filter coefficient temporary storage area in the filter coefficient temporary storage step are subjected to a product-sum operation. Filter data. As a result, the memory can be efficiently used, and the arithmetic processing can be performed at high speed without performing unnecessary arithmetic.

【0052】前記並列演算ステップは、前記入力データ
一時記憶ステップにて入力データ一時記憶領域に読み込
まれた入力データが、前記記憶領域の読込み開始位置か
ら記憶領域の終端位置までの間に記憶されていた場合
と、前記記憶領域の先頭位置から読込み開始位置までの
間に記憶されていた場合とに分けて前記フィルタ係数一
時記憶ステップにてフィルタ係数一時記憶領域に読み込
まれたフィルタ係数と積和演算し、入力データをフィル
タリングしてもよい。
In the parallel operation step, the input data read into the input data temporary storage area in the input data temporary storage step is stored between a reading start position of the storage area and an end position of the storage area. And the filter coefficient read into the filter coefficient temporary storage area in the filter coefficient temporary storage step are divided into a case where the filter coefficient is stored from the head position of the storage area to a reading start position and a product-sum operation. Then, the input data may be filtered.

【0053】上記目的を達成するため、本発明の第5の
観点にかかるフィルタ計算方法は、分割ALU方式のA
LUを用いた並列演算処理にて、入力データをフィルタ
リングするために、入力データとフィルタ係数との演算
を並列に実行する並列演算ステップを備えたフィルタ計
算方法であって、入力データを論理的に先頭と終端とが
つながれた環状構造となる記憶領域に順次記憶する入力
データ記憶ステップと、前記並列演算ステップにて並列
演算処理を行うために、予め定められたデータ量となる
1列の入力データ列を論理的に先頭と終端とがつながれ
た環状構造となる記憶領域から読み込んで一時記憶する
入力データ一時記憶ステップと、前記並列演算ステップ
にて並列演算処理を行うために、前記入力データ一時記
憶ステップに一時記憶された1列の入力データ列のn倍
のデータ量となるn列のフィルタ係数列を前記入力デー
タ記憶ステップにより記憶された各入力データと1対n
に対応して配列されたフィルタ係数が満たされて記憶さ
れた記憶領域から読み込んで一時記憶するフィルタ係数
一時記憶ステップと、を備え、前記並列演算ステップ
は、前記入力データ一時記憶ステップにて入力データ一
時記憶領域に読み込まれた1列の入力データ列と前記フ
ィルタ係数一時記憶ステップにてフィルタ係数一時記憶
領域に読み込まれたn列のフィルタ係数列とを予め定め
られた順番に積和演算する、ことを特徴とする。
In order to achieve the above object, a filter calculation method according to a fifth aspect of the present invention employs a split ALU method A
What is claimed is: 1. A filter calculation method comprising a parallel operation step of executing an operation of input data and a filter coefficient in parallel in order to filter input data in a parallel operation process using an LU, wherein the input data is logically processed. An input data storage step of sequentially storing data in a storage area having a ring structure in which a head and an end are connected; and a column of input data having a predetermined data amount for performing parallel operation processing in the parallel operation step An input data temporary storage step of reading and temporarily storing a column from a storage area having a circular structure in which a head is logically connected to the end, and the input data temporary storage for performing parallel operation processing in the parallel operation step In the input data storage step, n filter coefficient sequences having n times the data amount of one input data sequence temporarily stored in the step are stored. Each input data and the one-to-n stored Ri
A filter coefficient temporary storage step of temporarily reading and storing from a storage area in which the filter coefficients arranged corresponding to are satisfied and stored, and wherein the parallel operation step includes the step of input data temporary storage in the input data temporary storage step. Performing a product-sum operation in a predetermined order on the input data string of one column read into the temporary storage area and the n filter coefficient rows read into the filter coefficient temporary storage area in the filter coefficient temporary storage step; It is characterized by the following.

【0054】この発明によれば、入力データ一時記憶ス
テップは、入力データを論理的に先頭と終端とがつなが
れた環状構造となる記憶領域に順次記憶するため、使用
済みのデータに上書きして効率よく入力データを記憶で
きる。入力データ一時記憶ステップは、並列演算ステッ
プにて並列演算処理を行うために、予め定められたデー
タ量となる1列の入力データ列を入力データ記憶ステッ
プにて記憶された記憶領域から読み込んで一時記憶す
る。フィルタ係数一時記憶ステップは、並列演算ステッ
プにて並列演算処理を行うために、入力データ一時記憶
ステップに一時記憶された1列の入力データ列のn倍の
データ量となるn列のフィルタ係数列を入力データ記憶
ステップにより記憶された各入力データと1対nに対応
して配列されたフィルタ係数が満たされて記憶された記
憶領域から読み込んで一時記憶する。並列演算ステップ
は、入力データ一時記憶ステップにて入力データ一時記
憶領域に読み込まれた1列の入力データ列とフィルタ係
数一時記憶ステップにてフィルタ係数一時記憶領域に読
み込まれたn列のフィルタ係数列とを予め定められた順
番に積和演算する。この結果、メモリを効率よく利用
し、不必要な演算をすることなく高速に演算処理を実行
できる。
According to the present invention, in the input data temporary storage step, the input data is sequentially stored in the storage area having a circular structure in which the head and the end are logically connected. Can well store input data. In the input data temporary storage step, in order to perform the parallel operation processing in the parallel operation step, one input data string having a predetermined data amount is read from the storage area stored in the input data storage step and temporarily stored. Remember. The filter coefficient temporary storage step is an n-column filter coefficient sequence that has n times the data amount of one column of the input data sequence temporarily stored in the input data temporary storage step in order to perform the parallel operation processing in the parallel operation step. Is read from a storage area in which filter coefficients arranged in a one-to-n correspondence with each input data stored in the input data storage step are stored and temporarily stored. The parallel operation step includes one input data string read into the input data temporary storage area in the input data temporary storage step and n filter coefficient strings read into the filter coefficient temporary storage area in the filter coefficient temporary storage step. Are calculated in a predetermined order. As a result, the memory can be efficiently used, and the arithmetic processing can be performed at high speed without performing unnecessary arithmetic.

【0055】上記目的を達成するため、本発明の第6の
観点にかかるフィルタ計算方法は、分割ALU方式のA
LUを用いた並列演算処理にて、入力データをフィルタ
リングするために、入力データとフィルタ係数との演算
を並列に実行する並列演算ステップを備えたフィルタ計
算方法であって、入力データを記憶領域に順次記憶する
入力データ記憶ステップと、前記並列演算ステップにて
並列演算処理を行うために、予め定められたデータ量の
入力データを論理的に先頭と終端とがつながれた環状構
造となる記憶領域から読み込んで一時記憶する入力デー
タ一時記憶ステップと、前記並列演算ステップにて並列
演算処理を行うために、予め定められたデータ量のフィ
ルタ係数を前記入力データ記憶ステップにより記憶され
た各入力データと、各入力データから出力データを算出
するのに必要となる演算とに対応して配列されたフィル
タ係数が満たされて記憶された記憶領域から読み込んで
一時記憶するフィルタ係数一時記憶ステップと、を備
え、前記並列演算ステップは、前記入力データ一時記憶
ステップにて入力データ一時記憶領域に読み込まれた入
力データと前記フィルタ係数一時記憶ステップにてフィ
ルタ係数一時記憶領域に読み込まれたフィルタ係数とを
積和演算し、入力データをフィルタリングする、ことを
特徴とする。
In order to achieve the above object, a filter calculation method according to a sixth aspect of the present invention employs a split ALU system A
What is claimed is: 1. A filter calculation method comprising a parallel operation step of executing an operation of input data and a filter coefficient in parallel in order to filter input data in a parallel operation process using an LU, wherein the input data is stored in a storage area. An input data storage step for sequentially storing, and a storage area having a ring structure in which input data of a predetermined data amount is logically connected to the beginning and end in order to perform parallel operation processing in the parallel operation step. An input data temporary storage step of reading and temporarily storing, and each input data stored in the input data storage step with a filter coefficient of a predetermined data amount for performing a parallel operation process in the parallel operation step, The filter coefficients arranged corresponding to the operations required to calculate the output data from each input data are satisfied. A filter coefficient temporary storage step of reading from a stored storage area and temporarily storing the input data and the filter coefficient, wherein the parallel operation step includes the input data read into the input data temporary storage area in the input data temporary storage step and the filter coefficient In the temporary storage step, a product-sum operation is performed on the filter coefficient read into the filter coefficient temporary storage area and the input data is filtered.

【0056】この発明によれば、入力データ記憶ステッ
プで記憶された各入力データと、各入力データから出力
データを算出するのに必要となる演算とに対応して配列
されたフィルタ係数が記憶領域に満たされて記憶された
フィルタ係数記憶領域から、フィルタ係数一時記憶ステ
ップにてフィルタ係数一時記憶領域に読み込まれたフィ
ルタ係数を用いて積和演算を行ない入力データをフィル
タリングするため、演算の手順を変化させることなし
に、出力データごとに異なるフィルタ係数を用いたフィ
ルタ処理を実行できる。
According to the present invention, filter data arranged in correspondence with each input data stored in the input data storage step and an operation required to calculate output data from each input data is stored in the storage area. In order to filter the input data by performing a multiply-accumulate operation using the filter coefficients read into the filter coefficient temporary storage area in the filter coefficient temporary storage step from the filter coefficient storage area stored by filling in Filter processing using a different filter coefficient for each output data can be performed without changing.

【0057】上記目的を達成するため、本発明の第7の
観点にかかる記録媒体は、コンピュータを演算処理装置
として機能させるプログラムを記録するコンピュータ読
み取り可能な記録媒体であって、該コンピュータを、入
力データを論理的に先頭と終端とがつながれた環状構造
となる記憶領域に順次記憶する入力データ記憶手段と、
前記入力データ記憶手段に記憶された各入力データと1
対1に対応して配列されたフィルタ係数が記憶領域に満
たされて記憶されたフィルタ係数記憶手段と、前記並列
演算手段が並列演算処理を行うために、予め定められた
データ量の入力データを前記入力データ記憶手段から読
み込んで一時記憶する入力データ一時記憶手段と、前記
並列演算手段が並列演算処理を行うために、予め定めら
れたデータ量のフィルタ係数を前記フィルタ係数記憶手
段から読み込んで一時記憶するフィルタ係数一時記憶手
段と、前記入力データ一時記憶手段に読み込まれた入力
データと前記フィルタ係数一時記憶手段に読み込まれた
フィルタ係数とを入力データをフィルタリングするため
に、分割ALU方式のALUを用いた並列演算処理にて
積和演算を並列に実行する並列演算手段として機能させ
るプログラムを記録することを特徴とする。
In order to achieve the above object, a recording medium according to a seventh aspect of the present invention is a computer-readable recording medium for recording a program for causing a computer to function as an arithmetic processing unit. Input data storage means for sequentially storing data in a storage area having a ring structure in which data is logically connected to the beginning and end;
Each input data stored in the input data storage means and 1
Filter coefficient storage means in which storage areas are filled with filter coefficients arranged in a one-to-one correspondence, and input data of a predetermined data amount for the parallel operation means to perform parallel operation processing. An input data temporary storage unit for reading and temporarily storing the input data from the input data storage unit; and a filter coefficient of a predetermined data amount being read from the filter coefficient storage unit and temporarily stored in order for the parallel operation unit to perform a parallel operation process. The filter coefficient temporary storage means for storing the input data read into the input data temporary storage means and the filter coefficient read into the filter coefficient temporary storage means for filtering the input data by the ALU of the divided ALU system. A program that functions as a parallel operation means that executes the product-sum operation in parallel by using the parallel operation processing is described. Characterized in that it.

【0058】上記目的を達成するため、本発明の第8の
観点にかかる記録媒体は、コンピュータを演算処理装置
として機能させるプログラムを記録するコンピュータ読
み取り可能な記録媒体であって、該コンピュータを、入
力データを論理的に先頭と終端とがつながれた環状構造
となる記憶領域に順次記憶する入力データ記憶手段と、
前記入力データ記憶手段に記憶された各入力データと1
対n(nは、2以上の自然数)に対応して配列されたフ
ィルタ係数が記憶領域に満たされて記憶されたフィルタ
係数記憶手段と、前記並列演算手段が並列演算処理を行
うために、予め定められたデータ量となる1列の入力デ
ータ列を前記入力データ記憶手段から読み込んで一時記
憶する入力データ一時記憶手段と、前記並列演算手段が
並列演算処理を行うために、前記入力データ一時記憶手
段に一時記憶された1列の入力データ列のn倍のデータ
量となるn列のフィルタ係数列を前記フィルタ係数記憶
手段から読み込んで一時記憶するフィルタ係数一時記憶
手段と、前記入力データ一時記憶手段に読み込まれた1
列の入力データ列と前記フィルタ係数一時記憶手段に読
み込まれたn列のフィルタ係数列とを入力データをフィ
ルタリングするために、分割ALU方式のALUを用い
た並列演算処理にて予め定められた順番の積和演算を並
列に実行する並列演算手段として機能させるプログラム
を記録することを特徴とする。
In order to achieve the above object, a recording medium according to an eighth aspect of the present invention is a computer-readable recording medium for recording a program for causing a computer to function as an arithmetic processing unit. Input data storage means for sequentially storing data in a storage area having a ring structure in which data is logically connected to the beginning and end;
Each input data stored in the input data storage means and 1
The filter coefficient storage means in which the storage area is filled with the filter coefficients arranged corresponding to the pair n (n is a natural number of 2 or more) and the parallel operation means perform parallel operation processing in advance. An input data temporary storage means for reading a temporary input data string having a predetermined data amount from the input data storage means and temporarily storing the input data string; Filter coefficient temporary storage means for reading from the filter coefficient storage means and temporarily storing n filter coefficient strings having a data amount n times as large as one input data string temporarily stored in the means; 1 loaded into the means
In order to filter the input data between the input data sequence of the column and the n-th filter coefficient sequence read into the filter coefficient temporary storage means, a predetermined order is determined in a parallel operation process using an ALU of a divided ALU system. A program that functions as a parallel operation means that executes the product-sum operation in parallel.

【0059】上記目的を達成するため、本発明の第9の
観点にかかる記録媒体は、コンピュータを演算処理装置
として機能させるプログラムを記録するコンピュータ読
み取り可能な記録媒体であって、該コンピュータを、入
力データを記憶領域に順次記憶する入力データ記憶手段
と、前記入力データ記憶手段に記憶された各入力データ
と、各入力データから出力データを算出するのに必要と
なる演算とに対応して配列されたフィルタ係数が記憶領
域に満たされて記憶されたフィルタ係数記憶手段と、前
記並列演算手段が並列演算処理を行うために、予め定め
られたデータ量の入力データを前記入力データ記憶手段
から読み込んで一時記憶する入力データ一時記憶手段
と、前記並列演算手段が並列演算処理を行うために、予
め定められたデータ量のフィルタ係数を前記フィルタ係
数記憶手段から読み込んで一時記憶するフィルタ係数一
時記憶手段と、前記入力データ一時記憶手段に読み込ま
れた入力データと前記フィルタ係数一時記憶手段に読み
込まれたフィルタ係数とを入力データをフィルタリング
するために、分割ALU方式のALUを用いた並列演算
処理にて積和演算を並列に実行する並列演算手段として
機能させるプログラムを記録することを特徴とする。
To achieve the above object, a recording medium according to a ninth aspect of the present invention is a computer-readable recording medium for recording a program for causing a computer to function as an arithmetic processing unit. An input data storage means for sequentially storing data in a storage area, and each input data stored in the input data storage means are arranged in correspondence with an operation required to calculate output data from each input data. The filter coefficient storage means in which the storage area is filled with the stored filter coefficients, and the parallel operation means for executing parallel operation processing by reading input data of a predetermined data amount from the input data storage means. Input data temporary storage means for temporarily storing, and predetermined data for the parallel operation means to perform parallel operation processing. Filter coefficient temporary storage means for reading the filter coefficient from the filter coefficient storage means and temporarily storing the same, input data read into the input data temporary storage means and filter coefficients read into the filter coefficient temporary storage means In order to filter data, a program is recorded that functions as a parallel operation unit that executes a product-sum operation in parallel in a parallel operation process using an ALU of the divided ALU system.

【0060】[0060]

【発明の実施の形態】以下、図面を参照して、この発明
の第1の実施の形態にかかる演算処理装置について説明
する。図1は、この発明の第1の実施の形態にかかる演
算処理装置の構成を示すブロック図である。この演算処
理装置は、データを入力する入力装置1と、入力データ
に対してフィルタ計算を行うデータ処理装置2と、入力
データ及びフィルタ係数を記憶する記憶装置3と、出力
データを出力する出力装置4とから構成される。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an arithmetic processing device according to a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram illustrating a configuration of the arithmetic processing device according to the first embodiment of the present invention. The arithmetic processing device includes an input device 1 for inputting data, a data processing device 2 for performing a filter calculation on the input data, a storage device 3 for storing input data and filter coefficients, and an output device for outputting output data. And 4.

【0061】記憶装置3は、入力データを記憶するリン
グ・メモリ15と、フィルタ係数を記憶するフィルタ係
数記憶部16とから構成される。リング・メモリ15及
びフィルタ係数記憶部16については、後に説明する。
The storage device 3 comprises a ring memory 15 for storing input data and a filter coefficient storage section 16 for storing filter coefficients. The ring memory 15 and the filter coefficient storage unit 16 will be described later.

【0062】データ処理装置2は、並列演算装置7と、
データレジスタ8と、フィルタ係数レジスタ9と、累算
レジスタ10と、リング・メモリ先頭ポインタ17と、
リング・メモリ終端ポインタ18と、書き込みポインタ
19と、読み出しポインタ20と、フィルタ係数先頭ポ
インタ21と、フィルタ係数ポインタ22とから構成さ
れる。
The data processing device 2 includes a parallel operation device 7 and
A data register 8, a filter coefficient register 9, an accumulation register 10, a ring memory head pointer 17,
It comprises a ring memory end pointer 18, a write pointer 19, a read pointer 20, a filter coefficient head pointer 21, and a filter coefficient pointer 22.

【0063】並列演算装置7は、分割ALU方式により
4並列の積和演算を行う。即ち、データレジスタ8にロ
ードされた4データ分の入力データと、フィルタ係数レ
ジスタ9にロードされた4タップ分のフィルタ係数とを
4並列に乗算し、乗算結果を累算レジスタ10に加算し
て格納する。
The parallel operation unit 7 performs a 4-parallel product-sum operation by the divided ALU method. That is, the input data for four data loaded in the data register 8 and the filter coefficient for four taps loaded in the filter coefficient register 9 are multiplied in four parallels, and the multiplication result is added to the accumulation register 10. Store.

【0064】データレジスタ8は、64bitのレジスタ
からなり、リング・メモリ15に記憶された4データ分
の入力データをロードする。フィルタ係数レジスタ9
は、64bitのレジスタからなり、フィルタ係数記憶部
16に記憶された4タップ分のフィルタ係数をロードす
る。累算レジスタ10は、64bitのレジスタからな
り、並列演算装置7による積和演算の中間結果を逐次累
算する。
The data register 8 comprises a 64-bit register, and loads the input data of four data stored in the ring memory 15. Filter coefficient register 9
Consists of a 64-bit register, and loads filter coefficients for four taps stored in the filter coefficient storage unit 16. The accumulation register 10 is a 64-bit register and sequentially accumulates intermediate results of the product-sum operation by the parallel operation device 7.

【0065】リング・メモリ先頭ポインタ17は、リン
グ・メモリ15において予め設定された入力データを記
憶するための領域の先頭アドレスを示す。
The ring memory start pointer 17 indicates a start address of an area for storing input data set in the ring memory 15 in advance.

【0066】リング・メモリ終端ポインタ18は、リン
グ・メモリ15において予め設定された入力データを記
憶するための領域の終端アドレスを示す。
The ring memory end pointer 18 indicates the end address of an area for storing input data set in the ring memory 15 in advance.

【0067】書き込みポインタ19は、フィルタ計算開
始時におけるリング・メモリ15に記憶されている最新
の入力データのアドレスを示す。
The write pointer 19 indicates the address of the latest input data stored in the ring memory 15 at the start of the filter calculation.

【0068】読み出しポインタ20は、リング・メモリ
15に記憶された入力データをデータレジスタ8にロー
ドするためのアドレスを示す。
The read pointer 20 indicates an address for loading the input data stored in the ring memory 15 into the data register 8.

【0069】フィルタ係数先頭ポインタ21は、フィル
タ係数記憶部16において予め設定されたフィルタ係数
を記憶するための領域の先頭アドレスを示す。
The filter coefficient start pointer 21 indicates a start address of an area for storing a filter coefficient set in the filter coefficient storage section 16 in advance.

【0070】フィルタ係数ポインタ22は、フィルタ係
数記憶部16に記憶されたフィルタ係数をフィルタ係数
レジスタ9にロードするためのアドレスを示す。
The filter coefficient pointer 22 indicates an address for loading the filter coefficient stored in the filter coefficient storage section 16 into the filter coefficient register 9.

【0071】リング・メモリ15は、図2に示すよう
に、リング・メモリ先頭ポインタ17、リング・メモリ
終端ポインタ18、書き込みポインタ19及び読み出し
ポインタ20により、論理的に先頭と終端とがつながっ
た環状構造となって、入力装置1から取得した入力デー
タを記憶する。即ち、データ処理装置2は、入力装置1
から取得した入力データをリング・メモリ15に順次記
憶する。その際書き込みポインタ19の示すアドレスを
2バイト分(1データ分)ずつ加算しながらリング・メ
モリ15に順次記憶する。データ処理装置2は、書き込
みポインタ19の値がリング・メモリ終端ポインタ18
の値より大きくなった場合に、書き込みポインタ19の
値をリング・メモリ先頭ポインタ17の値にして、続け
てリング・メモリ15に入力データを記憶する。なお、
リング・メモリ先頭ポインタ17の示すリング・メモリ
15中のアドレスは、データ処理装置2が、リング・メ
モリ15から64bit分(4データ分)の入力データを
データレジスタ8にロードする処理を高速に行う、8の
倍数となっている。
As shown in FIG. 2, the ring memory 15 has a ring shape in which a head and an end are logically connected by a ring memory head pointer 17, a ring memory end pointer 18, a write pointer 19, and a read pointer 20. It has a structure and stores input data obtained from the input device 1. That is, the data processing device 2 is the input device 1
Are sequentially stored in the ring memory 15. At this time, the address indicated by the write pointer 19 is sequentially stored in the ring memory 15 while being added by 2 bytes (1 data). The data processing device 2 sets the value of the write pointer 19 to the ring memory end pointer 18
When the value becomes larger than the value of, the value of the write pointer 19 is set to the value of the ring memory head pointer 17, and the input data is subsequently stored in the ring memory 15. In addition,
With the address in the ring memory 15 indicated by the ring memory head pointer 17, the data processing device 2 performs a process of loading the input data of 64 bits (for 4 data) from the ring memory 15 into the data register 8 at high speed. , 8.

【0072】リング・メモリ15は、このような論理的
な環状構造からなり、新規の入力データを、フィルタ計
算に必要なくなった旧の入力データに上書きして記憶す
ることができるため、メモリを効率よく利用できる。
The ring memory 15 has such a logical ring structure, and can store new input data by overwriting old input data that is no longer necessary for filter calculation. Well available.

【0073】フィルタ係数記憶部16は、図3に示すよ
うな4つの連続した時刻分(CF(0)〜CF(3))
のフィルタ係数を記憶する。なお、フィルタ係数の実際
のタップ数Mが4の倍数でない場合を考慮して、数式6
に示すように、M以上でかつ4の倍数となるLをフィル
タ係数のタップ数とする。なお、MのLの差分のフィル
タ係数には0がセットされる。
The filter coefficient storage unit 16 stores four continuous time points (CF (0) to CF (3)) as shown in FIG.
Are stored. In consideration of the case where the actual tap number M of the filter coefficient is not a multiple of 4, Equation 6
As shown in (1), L which is not less than M and a multiple of 4 is set as the number of taps of the filter coefficient. Note that 0 is set to the filter coefficient of the difference between M and L.

【0074】[0074]

【数6】 L:4並列積和演算のためのフィルタのタップ数 M:実際のフィルタのタップ数(Equation 6) L: Number of taps of filter for 4-parallel multiply-accumulate operation M: Number of taps of actual filter

【0075】第1の時刻用のフィルタ(CF(0))
は、フィルタ係数a(0)が、フィルタ係数記憶部10
6中のフィルタ係数先頭ポインタ113が示すアドレス
に配置され、a(L−1)、・・・a(2)、a
(1)、・・・、と順に下位アドレスから上位アドレス
に向かって配置され、記憶される。このフィルタ係数
は、リング・メモリ15と同様に、理論的に先頭と終端
がつながった環状構造を有する。このような、環状構造
とすることにより、空き領域の発生がないため、フィル
タ係数を記憶するためのメモリを効率よく利用すること
ができる。第2の時刻用のフィルタ(CF(1))は、
第1の時刻のフィルタ係数が、1タップ分ずれた配列と
なり、第1の時刻用のフィルタの上位アドレスに記憶さ
れる。同様に、第3及び第4の時刻用のフィルタ(CF
(2)、CF(3))は、第1の時刻用のフィルタ係数
が2及び3タップ分ずれた配列となり、第2の時刻用の
フィルタの上位アドレスに記憶される。
First time filter (CF (0))
Indicates that the filter coefficient a (0) is stored in the filter coefficient storage unit 10
., A (L−1),... A (2), a
(1),... Are arranged and stored in order from the lower address to the upper address. The filter coefficient has a ring structure in which the head and the end are theoretically connected like the ring memory 15. With such an annular structure, no free space is generated, so that a memory for storing filter coefficients can be used efficiently. The filter (CF (1)) for the second time is
The filter coefficients at the first time are arranged in an array shifted by one tap, and are stored in the upper address of the filter for the first time. Similarly, the third and fourth time filters (CF
(2), CF (3)) are arranged such that the filter coefficients for the first time are shifted by 2 and 3 taps, and are stored in the upper address of the filter for the second time.

【0076】なお、各時刻におけるフィルタ係数の4並
列積和演算用のタップ数は、数式6により求められたL
となる。数式6により求められたフィルタ係数の4並列
積和演算用のタップ数Lは、従来の数式3により求めら
れるフィルタ係数の4並列積和演算用のタップ数K+3
と比較すると、実際のタップ数Mの値が4の倍数+1の
場合に等しく、それ以外の場合に、4少なくなる。
It should be noted that the number of taps for the four parallel product-sum operations of the filter coefficients at each time is L
Becomes The number of taps L for 4-parallel product-sum operation of filter coefficients obtained by Expression 6 is the number of taps K + 3 for 4-parallel product-sum operation of filter coefficients obtained by conventional Expression 3.
Is equal to the case where the actual value of the number of taps M is a multiple of 4 + 1, and in other cases, it is decreased by 4.

【0077】また、全体として4つの連続した時刻用の
フィルタ係数配列を生成するため、数式6により求めら
れたフィルタ係数の4並列積和演算用の総タップ数L×
4は、従来の数式3により求められるフィルタ係数の4
並列積和演算用の総タップ数(K+3)×4と比較する
と、実際のタップ数Mが4の倍数+1の場合に等しく、
それ以外の場合に、16少なくなる。従って、フィルタ
係数を保持するために必要なメモリ容量を削減すること
ができる。
Further, in order to generate a filter coefficient array for four consecutive times as a whole, the total tap number L × 4 for the four parallel multiply-accumulate operations of the filter coefficients obtained by the equation (6)
4 is the filter coefficient 4 obtained by the conventional equation 3.
When compared with the total tap number (K + 3) × 4 for the parallel multiply-accumulate operation, it is equal to the case where the actual tap number M is a multiple of 4 + 1.
Otherwise, it is reduced by 16. Therefore, it is possible to reduce the memory capacity required to hold the filter coefficients.

【0078】データ処理装置2は、このような、フィル
タ係数記憶部16に記憶されたフィルタ係数を使用し
て、図4に示すような、4つの連続した時刻のフィルタ
計算を行う。即ち、データ処理装置2は、時刻4jに、
第1の時刻用のフィルタ(CF(0))を使用し、時刻
4j+1に、第2の時刻用のフィルタ(CF(1))を
使用し、時刻4j+2に、第3の時刻用のフィルタ(C
F(2))を使用し、時刻4j+3に、第4の時刻用の
フィルタ(CF(3))を使用し、それぞれフィルタ計
算する。
The data processing device 2 uses the filter coefficients stored in the filter coefficient storage unit 16 to perform a filter calculation at four consecutive times as shown in FIG. That is, the data processing device 2 at time 4j
A filter for the first time (CF (0)) is used, a filter for the second time (CF (1)) is used at time 4j + 1, and a filter for the third time (CF (1)) is used at time 4j + 2. C
F (2)), and at time 4j + 3, a filter for the fourth time (CF (3)) is used to calculate each filter.

【0079】以下、図4に示すような、入力データ及び
フィルタ係数がリング・メモリ15及びフィルタ係数記
憶部16に配置されている状態におけるデータ処理装置
2のフィルタ計算の動作について図5を参照して説明す
る。図5は、データ処理装置2のフィルタ計算の動作を
示すフローチャートである。
Hereinafter, the operation of the filter calculation of the data processing apparatus 2 in a state where the input data and the filter coefficient are arranged in the ring memory 15 and the filter coefficient storage unit 16 as shown in FIG. 4 will be described with reference to FIG. Will be explained. FIG. 5 is a flowchart illustrating an operation of the filter calculation of the data processing device 2.

【0080】まず、データ処理装置2は、累算レジスタ
10の値をゼロクリアする(ステップS201)。
First, the data processing device 2 clears the value of the accumulation register 10 to zero (step S201).

【0081】データ処理装置2は、入力装置1から取得
した入力データを書き込みポインタ19の示すリング・
メモリ15のアドレスにライトして記憶する(ステップ
S202)。
The data processing device 2 stores the input data acquired from the input device 1
The data is written and stored in the address of the memory 15 (step S202).

【0082】データ処理装置2は、読み出しポインタ2
0に、時刻jにおける初期値を設定する(ステップS2
03)。即ち、データ処理装置2は、時刻jにおいて、
リング・メモリ15からデータレジスタ8に入力データ
をロードするための初期値となる書き込みポインタ19
が示す最新の入力データのアドレスの値を超えない最大
の8の倍数の値、つまり、書き込みポインタ19が示す
値の下位3bitをゼロとした値を、読み出しポインタ2
0に設定する。
The data processing device 2 has a read pointer 2
The initial value at time j is set to 0 (step S2).
03). That is, at time j, the data processing device 2
Write pointer 19 serving as an initial value for loading input data from ring memory 15 to data register 8
The value of the maximum multiple of 8 that does not exceed the value of the address of the latest input data indicated by the write pointer 19, that is, a value obtained by setting the lower 3 bits of the value indicated by the write pointer 19 to zero is set to the read pointer 2
Set to 0.

【0083】データ処理装置2は、フィルタ係数ポイン
タ22に時刻i(i=0、1、2、3)における初期値
を設定する(ステップS204)。即ち、データ処理装
置2は、時刻iにおいて、フィルタ係数記憶部16から
フィルタ係数レジスタ9にフィルタ係数をロードするた
めのアドレスを示す初期値(ADRF)を、数式7を使
用して求め、求めた初期値をフィルタ係数ポインタ22
に設定する。なお、初期値(ADRF)は、フィルタ係
数CF(i)の先頭アドレスとなる。
The data processing device 2 sets an initial value at time i (i = 0, 1, 2, 3) in the filter coefficient pointer 22 (step S204). That is, the data processing device 2 obtains the initial value (ADRF) indicating the address for loading the filter coefficient from the filter coefficient storage unit 16 to the filter coefficient register 9 at time i by using Expression 7. Initial value is set to filter coefficient pointer 22
Set to. Note that the initial value (ADRF) is the head address of the filter coefficient CF (i).

【0084】[0084]

【数7】ADRF = SF + L × 2 × i ADRF:フィルタ係数ポインタ22の初期値 SF:フィルタ係数先頭ポインタ21の値 L:4並列積和演算用のフィルタのタップ数 i:時刻(i=0、1、2、3)ADRF = SF + L × 2 × i ADRF: Initial value of filter coefficient pointer 22 SF: Value of filter coefficient head pointer 21 L: Number of taps of filter for 4-parallel product-sum operation i: Time (i = 0, 1, 2, 3)

【0085】データ処理装置2は、リング・メモリ15
に記憶されている入力データから、読み出しポインタ2
0の示すアドレスに記憶されている4データ分の入力デ
ータをデータレジスタ8にロードする(ステップS20
5)。
The data processing device 2 includes a ring memory 15
From the input data stored in the
The input data of 4 data stored at the address indicated by 0 is loaded into the data register 8 (step S20).
5).

【0086】データ処理装置2は、フィルタ係数記憶部
16に記憶されているフィルタ係数から、フィルタ係数
ポインタ22の示すアドレスに記憶されている4タップ
分のフィルタ係数をフィルタ係数レジスタ9にロードす
る(ステップS206)。
The data processing device 2 loads the filter coefficients for four taps stored at the address indicated by the filter coefficient pointer 22 from the filter coefficients stored in the filter coefficient storage section 16 into the filter coefficient register 9 ( Step S206).

【0087】並列演算装置7は、データレジスタ8にロ
ードした4データ分の入力データと、フィルタ係数レジ
スタ9にロードした4タップ分のフィルタ係数とで4並
列積和演算を行い、演算結果を累算レジスタ10に加算
して格納する(ステップS207)。
The parallel operation device 7 performs four parallel multiply-accumulate operations on the input data for four data loaded in the data register 8 and the filter coefficients for four taps loaded in the filter coefficient register 9, and accumulates the operation results. The result is added to and stored in the arithmetic register 10 (step S207).

【0088】データ処理装置2は、次の4データ分の入
力データをデータレジスタ8にロードするために、読み
出しポインタ20を更新する(ステップS208)。即
ち、データ処理装置2は、読み出しポインタ20が示す
アドレスが、リング・メモリ15の上位に配置された入
力データを示すように、読み出しポインタ20の値に8
(4データ分)を加算し、加算後の値で更新する。
The data processing device 2 updates the read pointer 20 in order to load the next four pieces of input data into the data register 8 (step S208). That is, the data processing device 2 sets the value of the read pointer 20 to 8 so that the address indicated by the read pointer 20 indicates the input data arranged at the upper position of the ring memory 15.
(For 4 data) are added and updated with the value after the addition.

【0089】データ処理装置2は、更新後の読み出しポ
インタ20の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別する(ステップS209)。即
ち、読み出しポインタ20は、フィルタ計算開始時にお
いて、初期値がリング・メモリ先頭ポインタ17と同じ
値でない場合にはフィルタ計算の途中でリング・メモリ
の終端に達する。そのため、データ処理装置2は、更新
後の読み出しポインタ20とリング・メモリ終端ポイン
タ18との大小比較等により、読み出しポインタ20
が、リング・メモリ15の終端に達しているか否かの判
別を行なう。
The data processing device 2 determines whether or not the value of the read pointer 20 after the update is larger than the value of the ring memory end pointer 18 (step S209). That is, when the initial value of the read pointer 20 is not the same value as the ring memory head pointer 17 at the start of the filter calculation, the read pointer 20 reaches the end of the ring memory during the filter calculation. For this reason, the data processing device 2 compares the read pointer 20 after updating with the ring memory end pointer 18 by comparing the read pointer 20 with the ring memory end pointer 18 or the like.
Is determined to have reached the end of the ring memory 15.

【0090】データ処理装置2は、更新後の読み出しポ
インタ20がリング・メモリ終端ポインタ18の値より
大きいと判別した場合、リング・メモリ先頭ポインタ1
7の値を読み出しポインタ20の値に代入して更新する
(ステップS210)。これにより、リング・メモリ1
5は、論理的な環状構造を構成する。
When the data processing device 2 determines that the updated read pointer 20 is larger than the value of the ring memory end pointer 18,
7 is substituted for the value of the read pointer 20 and updated (step S210). Thus, the ring memory 1
5 constitutes a logical ring structure.

【0091】データ処理装置2は、次の4タップ分のフ
ィルタ係数をフィルタ係数レジスタ9にロードするため
に、フィルタ係数ポインタ22を更新する(ステップS
211)。即ち、データ処理装置2は、フィルタ係数ポ
インタ22の示すアドレスが、フィルタ係数記憶部16
の上位に配置されたフィルタ係数を示すように、フィル
タ係数ポインタ22の値に8(4タップ分)を加算し、
加算後の値で更新する。
The data processing device 2 updates the filter coefficient pointer 22 to load the filter coefficients for the next four taps into the filter coefficient register 9 (step S).
211). That is, the data processing device 2 stores the address indicated by the filter coefficient pointer 22 in the filter coefficient storage unit 16.
8 (for 4 taps) is added to the value of the filter coefficient pointer 22 so as to indicate the filter coefficient arranged at a higher position than
Update with the value after addition.

【0092】データ処理装置2は、全フィルタタップ分
の処理が終了したか否かの判別を行なう(ステップS2
12)。データ処理装置2は、全フィルタタップ分の処
理が終了していないと判別した場合、ステップS205
に戻って、ステップS205〜ステップS212の処理
を繰り返す(積和計算ループS200)。
The data processing device 2 determines whether or not processing for all filter taps has been completed (step S2).
12). If the data processing device 2 determines that the processing for all the filter taps has not been completed, step S205
Then, the processing of steps S205 to S212 is repeated (product-sum calculation loop S200).

【0093】一方、データ処理装置2は、全フィルタタ
ップ分の処理が終了したと判別した場合、累算レジスタ
10に記憶された4つの16bit数の総和(c0+c1
+c2+c3)を算出する(ステップS213)。即
ち、全フィルタタップの処理が終了すると、累算レジス
タ110は、全タップのフィルタ計算結果が4つの16
bitの数値(c0〜c3)に分かれて格納される。デー
タ処理装置2は、この4つの16bitの数値の総和(c
0+c1+c2+c3)を算出し、フィルタ計算後の出
力データとする。
On the other hand, when the data processing device 2 determines that the processing for all the filter taps has been completed, the data processing device 2 sums the four 16-bit numbers stored in the accumulation register 10 (c0 + c1).
+ C2 + c3) is calculated (step S213). That is, when the processing of all the filter taps is completed, the accumulation register 110 stores the four 16
Bit values (c0 to c3) are stored separately. The data processing device 2 calculates the sum of the four 16-bit numerical values (c
0 + c1 + c2 + c3) is calculated and used as output data after filter calculation.

【0094】データ処理装置2は、求めた出力データを
出力装置4に出力する(ステップS214)。
The data processing device 2 outputs the obtained output data to the output device 4 (Step S214).

【0095】データ処理装置2は、次の時刻のフィルタ
計算のために、書き込みポインタ19を更新する(ステ
ップ215)。即ち、データ処理装置2は、書き込みポ
インタ19に2bit(1データ分)のアドレスを加算
し、加算後の値で更新する。
The data processing device 2 updates the write pointer 19 for the filter calculation at the next time (step 215). That is, the data processing device 2 adds the address of 2 bits (for one data) to the write pointer 19 and updates it with the value after the addition.

【0096】データ処理装置2は、更新後の書き込みポ
インタ19の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別する(ステップS216)。即
ち、データ処理装置2は、更新後の書き込みポインタ1
9とリング・メモリ終端ポインタ18との大小比較等に
より、書き込みポインタ19が、リング・メモリ15の
終端に達しているか否かの判別を行なう。
The data processing device 2 determines whether or not the value of the updated write pointer 19 is larger than the value of the ring memory end pointer 18 (step S216). That is, the data processing device 2 updates the write pointer 1
Whether the write pointer 19 has reached the end of the ring memory 15 is determined by comparing the size of the ring memory 15 with the ring memory end pointer 18 or the like.

【0097】データ処理装置2は、更新後の書き込みポ
インタ19がリング・メモリ終端ポインタ18の値より
大きいと判別した場合、リング・メモリ先頭ポインタ1
7の値を書き込みポインタ19の値に代入して更新する
(ステップS217)。
When the data processing device 2 determines that the updated write pointer 19 is larger than the value of the ring memory end pointer 18,
The value of 7 is substituted for the value of the write pointer 19 and updated (step S217).

【0098】以上説明したように、この第1の実施の形
態に係る発明によれば、入力データを、論理的な環状構
造からなるリング・メモリ15に記憶することにより、
新規の入力データを、フィルタ計算に必要なくなった旧
の入力データに上書きして記憶することができるため、
メモリを効率よく利用できる。また、フィルタ係数を論
理的な環状構造として、フィルタ係数記憶部16に記憶
することにより、空き領域の発生が抑え、フィルタ係数
を記憶するためのメモリを効率よく利用することができ
る。更に、フィルタ係数記憶部106に、0の値のフィ
ルタ係数を抑えて設定したため、フィルタ計算の全体の
演算量が減らして高速演算を実行できる。
As described above, according to the first embodiment of the present invention, the input data is stored in the ring memory 15 having a logical ring structure,
New input data can be stored by overwriting old input data that is no longer needed for filter calculation.
Memory can be used efficiently. In addition, by storing the filter coefficients in the filter coefficient storage unit 16 as a logical annular structure, the occurrence of free space is suppressed, and the memory for storing the filter coefficients can be used efficiently. Furthermore, since the filter coefficient of 0 is set to be suppressed in the filter coefficient storage unit 106, the entire calculation amount of the filter calculation is reduced, and high-speed calculation can be performed.

【0099】次に、図面を参照して、この発明の第2の
実施の形態にかかる演算処理装置について説明する。第
2の実施の形態では、積和計算を行なう処理を2つに分
割して処理する点が第1の実施の形態と異なる。即ち、
第2の実施の形態では、積和計算を行なう処理を読み出
しポインタ20の初期位置からリング・メモリ15の終
端までに記憶された入力データを処理するループと、リ
ング・メモリの先頭から読み出しポインタ20の初期位
置の手前の位置までに記憶された入力データを処理する
ループとに分割して処理する。
Next, an arithmetic processing device according to a second embodiment of the present invention will be described with reference to the drawings. The second embodiment is different from the first embodiment in that the process for performing the product-sum calculation is divided into two processes. That is,
In the second embodiment, a process for performing the sum-of-products calculation is a loop for processing input data stored from the initial position of the read pointer 20 to the end of the ring memory 15, and a read pointer 20 from the top of the ring memory. And a loop for processing the input data stored up to the position just before the initial position.

【0100】第2の実施の形態の構成は、図1に示す第
1の実施の形態の構成と同じである。以下、入力データ
及びフィルタ係数がリング・メモリ15及びフィルタ係
数レジスタ16に配置されている状態におけるデータ処
理装置2のフィルタ計算の動作について図6を参照して
説明する。図6は、データ処理装置2のフィルタ計算の
動作を示すフローチャートである。なお、図6に示すフ
ローチャートは、図2のフローチャートに示す積和計算
ループ(S200)が、積和計算ループ1(S300)
及び積和計算ループ2(S301)の2つに分割されて
いる点が異なる。
The configuration of the second embodiment is the same as the configuration of the first embodiment shown in FIG. Hereinafter, the operation of the filter calculation of the data processing device 2 in a state where the input data and the filter coefficient are arranged in the ring memory 15 and the filter coefficient register 16 will be described with reference to FIG. FIG. 6 is a flowchart illustrating an operation of the filter calculation of the data processing device 2. In the flowchart shown in FIG. 6, the product-sum calculation loop (S200) shown in the flowchart of FIG. 2 is different from the product-sum calculation loop 1 (S300).
And a product-sum calculation loop 2 (S301).

【0101】まず、データ処理装置2は、累算レジスタ
10の値をゼロクリアする(ステップS302)。デー
タ処理装置2は、入力装置1から取得した入力データを
書き込みポインタ19の示すリング・メモリ15のアド
レスにライトして記憶する(ステップS303)。
First, the data processing device 2 clears the value of the accumulation register 10 to zero (step S302). The data processing device 2 writes the input data acquired from the input device 1 to the address of the ring memory 15 indicated by the write pointer 19 and stores it (step S303).

【0102】データ処理装置2は、読み出しポインタ2
0に、時刻jにおける初期値を設定する(ステップS3
04)。データ処理装置2は、フィルタ係数ポインタ2
2に時刻i(i=0、1、2、3)における初期値を設
定する(ステップS305)。
The data processing device 2 has a read pointer 2
The initial value at time j is set to 0 (step S3).
04). The data processing device 2 includes a filter coefficient pointer 2
An initial value at time i (i = 0, 1, 2, 3) is set to 2 (step S305).

【0103】データ処理装置2は、リング・メモリ15
に記憶されている入力データから、読み出しポインタ2
0の示すアドレスに記憶されている4データ分の入力デ
ータをデータレジスタ8にロードする(ステップS30
6)。データ処理装置2は、フィルタ係数記憶部16に
記憶されているフィルタ係数から、フィルタ係数ポイン
タ22の示すアドレスに記憶されている4タップ分のフ
ィルタ係数をフィルタ係数レジスタ9にロードする(ス
テップS307)。
The data processing device 2 includes a ring memory 15
From the input data stored in the
The input data for four data stored at the address indicated by 0 is loaded into the data register 8 (step S30).
6). The data processing device 2 loads the filter coefficients for four taps stored at the address indicated by the filter coefficient pointer 22 from the filter coefficients stored in the filter coefficient storage unit 16 into the filter coefficient register 9 (step S307). .

【0104】並列演算装置7は、データレジスタ8にロ
ードした4データ分の入力データと、フィルタ係数レジ
スタ9にロードした4タップ分のフィルタ係数とで4並
列積和演算を行い、演算結果を累算レジスタ10に加算
して格納する(ステップS308)。
The parallel operation device 7 performs four parallel multiply-accumulate operations on the input data for four data loaded in the data register 8 and the filter coefficients for four taps loaded in the filter coefficient register 9, and accumulates the operation results. The result is added and stored in the arithmetic register 10 (step S308).

【0105】データ処理装置2は、次の4データ分の入
力データをデータレジスタ8にロードするために、読み
出しポインタ20を更新する(ステップS309)。デ
ータ処理装置2は、次の4タップ分のフィルタ係数をフ
ィルタ係数レジスタ9にロードするために、フィルタ係
数ポインタ22を更新する(ステップS310)。
The data processing device 2 updates the read pointer 20 to load the next four pieces of input data into the data register 8 (step S309). The data processing device 2 updates the filter coefficient pointer 22 to load the filter coefficients for the next four taps into the filter coefficient register 9 (Step S310).

【0106】データ処理装置2は、更新後の読み出しポ
インタ20の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別する(ステップS311)。デ
ータ処理装置2は、更新後の読み出しポインタ20の値
がリング・メモリ終端ポインタ18の値より小さいと判
別した場合、ステップS306に戻って、ステップS3
06〜ステップS311の処理を繰り返す(積和計算ル
ープ1S300)。
The data processor 2 determines whether or not the updated value of the read pointer 20 is larger than the value of the ring memory end pointer 18 (step S311). When the data processing device 2 determines that the value of the read pointer 20 after the update is smaller than the value of the ring memory end pointer 18, the process returns to step S306 and returns to step S3.
The processing from 06 to step S311 is repeated (product-sum calculation loop 1S300).

【0107】一方、データ処理装置2は、更新後の読み
出しポインタ20の値がリング・メモリ終端ポインタ1
8の値より大きいと判別した場合、データ処理装置2
は、全フィルタタップ分の処理が終了したか否かの判別
を行なう(ステップS312)。
On the other hand, the data processor 2 sets the value of the read pointer 20 after the update to the ring memory end pointer 1
8 is determined to be larger than the value of the data processing device 2
Determines whether or not the processing for all filter taps has been completed (step S312).

【0108】データ処理装置2は、全フィルタタップ分
の処理が終了したと判別した場合、後述するステップS
320に進んで、累算レジスタ10に記憶された4つの
16bit数の総和を算出する。一方、データ処理装置2
は、全フィルタタップ分の処理が終了していないと判別
した場合、リング・メモリ先頭ポインタ17の値を読み
出しポインタ20の値に代入して更新する(ステップS
313)。
If the data processing device 2 determines that the processing for all the filter taps has been completed,
Proceeding to 320, the sum of the four 16-bit numbers stored in the accumulation register 10 is calculated. On the other hand, the data processing device 2
When it is determined that the processing for all the filter taps has not been completed, the value of the ring memory head pointer 17 is substituted for the value of the read pointer 20 and updated (step S).
313).

【0109】データ処理装置2は、リング・メモリ15
に記憶されている入力データから、読み出しポインタ2
0の示すアドレスに記憶されている4データ分の入力デ
ータをデータレジスタ8にロードする(ステップS31
4)。データ処理装置2は、フィルタ係数記憶部16に
記憶されているフィルタ係数から、フィルタ係数ポイン
タ22の示すアドレスに記憶されている4タップ分のフ
ィルタ係数をフィルタ係数レジスタ9にロードする(ス
テップS315)。
The data processing device 2 includes a ring memory 15
From the input data stored in the
The input data of four data stored at the address indicated by 0 is loaded into the data register 8 (step S31).
4). The data processing device 2 loads the filter coefficients for four taps stored at the address indicated by the filter coefficient pointer 22 from the filter coefficients stored in the filter coefficient storage unit 16 into the filter coefficient register 9 (step S315). .

【0110】並列演算装置7は、データレジスタ8にロ
ードした4データ分の入力データと、フィルタ係数レジ
スタ9にロードした4タップ分のフィルタ係数とで4並
列積和演算を行い、演算結果を累算レジスタ10に加算
して格納する(ステップS316)。
The parallel operation device 7 performs four parallel multiply-accumulate operations on the input data for four data loaded in the data register 8 and the filter coefficients for four taps loaded in the filter coefficient register 9, and accumulates the operation results. The result is added and stored in the arithmetic register 10 (step S316).

【0111】データ処理装置2は、次の4データ分の入
力データをデータレジスタ8にロードするために、読み
出しポインタ20を更新する(ステップS317)。デ
ータ処理装置2は、次の4タップ分のフィルタ係数をフ
ィルタ係数レジスタ9にロードするために、フィルタ係
数ポインタ22を更新する(ステップS318)。
The data processing device 2 updates the read pointer 20 in order to load the next four pieces of input data into the data register 8 (step S317). The data processing device 2 updates the filter coefficient pointer 22 to load the filter coefficients for the next four taps into the filter coefficient register 9 (Step S318).

【0112】データ処理装置2は、更新後の読み出しポ
インタ20の値が読み出しポインタ20の初期値より大
きいか否かを判別する(ステップS319)。データ処
理装置2は、更新後の読み出しポインタ20の値が読み
出しポインタ20の初期値より小さいと判別した場合、
ステップS314に戻って、ステップS314〜ステッ
プS319の処理を繰り返す(積和計算ループ2S30
1)。
The data processing device 2 determines whether or not the updated value of the read pointer 20 is larger than the initial value of the read pointer 20 (Step S319). When the data processing device 2 determines that the value of the read pointer 20 after the update is smaller than the initial value of the read pointer 20,
Returning to step S314, the processes of steps S314 to S319 are repeated (the product-sum calculation loop 2S30
1).

【0113】一方、データ処理装置2は、更新後の読み
出しポインタ20の値が読み出しポインタ20の初期値
より大きいと判別した場合、累算レジスタ10に記憶さ
れた4つの16bit数の総和(c0+c1+c2+c
3)を算出し、フィルタ計算後の出力データとする(ス
テップS320)。データ処理装置2は、求めた出力デ
ータを出力装置4に出力する(ステップS321)。
On the other hand, when the data processing device 2 determines that the value of the read pointer 20 after the update is larger than the initial value of the read pointer 20, the data processor 2 sums the four 16-bit numbers stored in the accumulation register 10 (c0 + c1 + c2 + c
3) is calculated and used as output data after the filter calculation (step S320). The data processing device 2 outputs the obtained output data to the output device 4 (Step S321).

【0114】データ処理装置2は、次の時刻のフィルタ
計算のために、書き込みポインタ19を更新する(ステ
ップ322)。データ処理装置2は、更新後の書き込み
ポインタ19の値がリング・メモリ終端ポインタ18の
値より大きいか否かを判別する(ステップS323)。
The data processing device 2 updates the write pointer 19 for the filter calculation at the next time (step 322). The data processing device 2 determines whether or not the value of the updated write pointer 19 is larger than the value of the ring memory end pointer 18 (Step S323).

【0115】データ処理装置2は、更新後の書き込みポ
インタ19がリング・メモリ終端ポインタ18の値より
大きいと判別した場合、リング・メモリ先頭ポインタ1
7の値を書き込みポインタ19の値に代入して更新する
(ステップS324)。
When the data processing device 2 determines that the updated write pointer 19 is larger than the value of the ring memory end pointer 18,
The value of 7 is assigned to the value of the write pointer 19 and updated (step S324).

【0116】以上説明したように、この第2の実施の形
態に係る発明によれば、読み出しポインタ20の初期位
置からリング・メモリ15の終端までに記憶された入力
データと、リング・メモリ15の先頭から読み出しポイ
ンタ20の初期位置の手前の位置までに記憶された入力
データとを別の積和計算ループで処理する。このため、
積和計算ループ内での、読み出しポインタがリング・メ
モリ終端に達したかの判定および読み出しポインタのリ
ング・メモリ先頭への移動の処理が不要となる。また、
積和計算ループは繰り返し実行されるため、積和計算ル
ープ内のリング・メモリ15の終端処理を削減すること
でフィルタ計算全体の処理量を大きく削減し、高速演算
を実行できる。
As described above, according to the invention of the second embodiment, the input data stored from the initial position of the read pointer 20 to the end of the ring memory 15 and the input data stored in the ring memory 15 The input data stored from the beginning to a position before the initial position of the read pointer 20 is processed by another product-sum calculation loop. For this reason,
It becomes unnecessary to determine whether the read pointer has reached the end of the ring memory and move the read pointer to the top of the ring memory in the product-sum calculation loop. Also,
Since the product-sum calculation loop is repeatedly executed, the processing amount of the entire filter calculation is greatly reduced by reducing the termination processing of the ring memory 15 in the product-sum calculation loop, and high-speed operation can be performed.

【0117】次に、図面を参照して、この発明の第3の
実施の形態にかかる演算処理装置について説明する。第
3の実施の形態では、積和演算ループ内で4つの連続し
た時刻の積和演算を1つの共通する入力データに対して
4つの時刻用のフィルタ係数を使用して同時にフィルタ
計算を行うことを特徴とする。図7は、この発明の第3
の実施の形態にかかる演算処理装置の構成を示すブロッ
ク図である。この演算処理装置は、データを入力する入
力装置1と、入力データに対してフィルタ計算を行うデ
ータ処理装置2と、入力データ及びフィルタ係数を記憶
する記憶装置3と、出力データを出力する出力装置4と
から構成される。
Next, an arithmetic processing device according to a third embodiment of the present invention will be described with reference to the drawings. In the third embodiment, in a product-sum operation loop, filter calculation is performed simultaneously on four common times using four time-dependent filter coefficients for one common input data. It is characterized by. FIG. 7 shows a third embodiment of the present invention.
FIG. 2 is a block diagram illustrating a configuration of an arithmetic processing device according to the embodiment. The arithmetic processing device includes an input device 1 for inputting data, a data processing device 2 for performing a filter calculation on the input data, a storage device 3 for storing input data and filter coefficients, and an output device for outputting output data. And 4.

【0118】記憶装置3は、入力データを記憶するリン
グ・メモリ15と、フィルタ係数を記憶するフィルタ係
数記憶部23とから構成される。リング・メモリ15
は、第1の実施の形態と同一な論理的な環状構造からな
る。フィルタ係数記憶部23は、図8に示すように、後
述する4つのフィルタ係数レジスタ25(FR(0)〜
FR(3))にフィルタ係数を順番にロードすることが
できるように、図3に示す第1〜第4の時刻用のフィル
タ係数(CF(0)〜CF(0))が4タップずつ分か
れて記憶されている。
The storage device 3 comprises a ring memory 15 for storing input data and a filter coefficient storage unit 23 for storing filter coefficients. Ring memory 15
Has the same logical annular structure as in the first embodiment. As shown in FIG. 8, the filter coefficient storage unit 23 stores four filter coefficient registers 25 (FR (0) to
The filter coefficients (CF (0) to CF (0)) for the first to fourth times shown in FIG. 3 are divided by four taps so that the filter coefficients can be sequentially loaded into FR (3)). Is remembered.

【0119】図7に戻って、データ処理装置2は、並列
演算装置7と、データレジスタ8と、フィルタ係数レジ
スタ25と、累算レジスタ26と、リング・メモリ先頭
ポインタ17と、リング・メモリ終端ポインタ18と、
書き込みポインタ19と、読み出しポインタ20と、フ
ィルタ係数先頭ポインタ27と、フィルタ係数ポインタ
28とから構成される。
Returning to FIG. 7, the data processing device 2 includes a parallel operation device 7, a data register 8, a filter coefficient register 25, an accumulation register 26, a ring memory start pointer 17, a ring memory end A pointer 18;
It comprises a write pointer 19, a read pointer 20, a filter coefficient head pointer 27, and a filter coefficient pointer 28.

【0120】並列演算装置7及びデータレジスタ8は、
第1の実施の形態と同一である。リング・メモリ先頭ポ
インタ17、リング・メモリ終端ポインタ18、書き込
みポインタ19及び、読み出しポインタ20は、リング
・メモリ15と同様に、第1の実施の形態と同一であ
る。
The parallel operation device 7 and the data register 8
This is the same as the first embodiment. The ring memory start pointer 17, the ring memory end pointer 18, the write pointer 19, and the read pointer 20 are the same as those in the first embodiment, like the ring memory 15.

【0121】フィルタ係数レジスタ25は、4つの64
bitレジスタ(FR(0)〜FR(3))からなり、フ
ィルタ係数記憶部23に記憶された4×4タップ分のフ
ィルタ係数をロードする。累算レジスタ26は、4つの
64bitレジスタ(AR(0)〜AR(3))からな
り、並列演算装置7による4回の4並列積和演算の中間
結果を逐次累算する。
The filter coefficient register 25 has four 64
It is composed of bit registers (FR (0) to FR (3)), and loads filter coefficients for 4 × 4 taps stored in the filter coefficient storage unit 23. The accumulation register 26 includes four 64-bit registers (AR (0) to AR (3)), and sequentially accumulates intermediate results of four 4-parallel multiply-accumulate operations by the parallel operation device 7.

【0122】フィルタ係数先頭ポインタ27は、フィル
タ係数記憶部23において予め設定されたフィルタ係数
を記憶するための領域の先頭アドレスを示す。フィルタ
係数ポインタ28は、フィルタ係数記憶部23に記憶さ
れたフィルタ係数をフィルタ係数レジスタ25(FR
(0)〜FR(3))にロードするためのアドレスを示
す。
The filter coefficient start pointer 27 indicates a start address of an area for storing a filter coefficient set in the filter coefficient storage section 23 in advance. The filter coefficient pointer 28 stores the filter coefficient stored in the filter coefficient storage unit 23 in the filter coefficient register 25 (FR
(0) to FR (3)).

【0123】以下、データ処理装置2が行う4つの連続
した積和演算について図面を参照して説明する。図9に
示すように、4つの連続した時刻(時刻4j〜4j+
3)に積和演算する入力データとフィルタ係数との組み
合わせは、図9に示すような先頭の組み合わせを除き、
入力データが同一のものとなる。即ち、図9の先頭の組
み合わせ(最新の入力データを含む組み合わせ)の積和
演算以外は、図10に示すように、共通の入力データに
対して、各時刻のフィルタ係数を使用した積和演算が可
能となる。従って、データ処理装置2は、データレジス
タ8に入力データをロードし、フィルタ係数レジスタ2
5(FR(0)〜FR(3))に第1〜第4の時刻用の
フィルタ係数をロードして、4つの連続した4並列積和
演算を行う。それぞれの積和演算結果は、累算レジスタ
26(AR(0)〜AR(3))にそれぞれ加算され格
納される。この結果、データ処理装置2は、データレジ
スタ8に入力データをロードする回数を減らすことがで
きるため、全体として、処理を高速化することができ
る。
Hereinafter, four consecutive product-sum operations performed by the data processing device 2 will be described with reference to the drawings. As shown in FIG. 9, four consecutive times (time 4j to 4j +
The combination of the input data and the filter coefficient for which the product-sum operation is performed in 3) is the same except for the combination at the head as shown in FIG.
The input data is the same. That is, as shown in FIG. 10, except for the product-sum operation of the first combination (combination including the latest input data) in FIG. 9, the product-sum operation using the filter coefficient at each time is performed on the common input data. Becomes possible. Therefore, the data processing device 2 loads the input data into the data register 8 and
5 (FR (0) to FR (3)) are loaded with the first to fourth time filter coefficients, and four consecutive 4-parallel multiply-accumulate operations are performed. Each product-sum operation result is added to and stored in the accumulation register 26 (AR (0) to AR (3)). As a result, the data processing device 2 can reduce the number of times that the input data is loaded into the data register 8, so that the processing speed can be increased as a whole.

【0124】以下、フィルタ係数が図8に示すようにフ
ィルタ係数記憶部23に配置されている状態におけるデ
ータ処理装置2のフィルタ計算の動作について図11を
参照して説明する。図11は、データ処理装置2のフィ
ルタ計算の動作を示すフローチャートである。
The operation of the data processor 2 for calculating the filter in a state where the filter coefficients are arranged in the filter coefficient storage unit 23 as shown in FIG. 8 will be described below with reference to FIG. FIG. 11 is a flowchart illustrating an operation of the filter calculation of the data processing device 2.

【0125】まず、データ処理装置2は、累算レジスタ
26の4つのレジスタ(AR(0)〜AR(3))の値
をゼロクリアする(ステップS402)。
First, the data processing device 2 clears the values of the four registers (AR (0) to AR (3)) of the accumulation register 26 to zero (step S402).

【0126】データ処理装置2は、読み出しポインタ2
0及びフィルタ係数ポインタ28に初期値を設定する
(ステップS404、ステップS405)。なお、読み
出しポインタ20の初期値には、書き込みポインタ19
の値を設定する。
The data processing device 2 has a read pointer 2
Initial values are set to 0 and the filter coefficient pointer 28 (step S404, step S405). The initial value of the read pointer 20 includes the write pointer 19
Set the value of.

【0127】次に、データ処理装置2は、4つの連続し
た時刻の積和演算において、入力データが共通とならな
い先頭の積和演算を処理する(先頭4タップ処理40
0)。最初に、データ処理装置2は、時刻nの積和演算
を行う。データ処理装置2は、入力装置1から取得した
入力データを書き込みポインタ19の示すリング・メモ
リ15のアドレスにライトして記憶する(ステップS4
06)。
Next, the data processing device 2 processes the first sum-of-products operation in which input data is not common in the four successive times of sum-of-products operations (first 4-tap processing 40).
0). First, the data processing device 2 performs a product-sum operation at time n. The data processing device 2 writes the input data obtained from the input device 1 to the address of the ring memory 15 indicated by the write pointer 19 and stores it (step S4).
06).

【0128】データ処理装置2は、リング・メモリ15
に記憶されている入力データから、読み出しポインタ2
0の示すアドレスに記憶されている4データ分の入力デ
ータをデータレジスタ8にロードする(ステップS40
7)。
The data processing device 2 includes a ring memory 15
From the input data stored in the
The input data of 4 data stored at the address indicated by 0 is loaded into the data register 8 (step S40).
7).

【0129】データ処理装置2は、フィルタ係数記憶部
23に記憶されているフィルタ係数から、フィルタ係数
ポインタ28の示すアドレスに記憶されている4タップ
分のフィルタ係数をフィルタ係数レジスタ26(FR
(0))にロードする(ステップS408)。
The data processing device 2 converts the filter coefficients for four taps stored at the address indicated by the filter coefficient pointer 28 from the filter coefficients stored in the filter coefficient storage unit 23 into the filter coefficient register 26 (FR
(0)) (step S408).

【0130】並列演算装置7は、データレジスタ8にロ
ードした4データ分の入力データと、フィルタ係数レジ
スタ26(FR(0))にロードした4タップ分のフィ
ルタ係数との4並列積和演算を行い、演算結果を累算レ
ジスタ26(AR(0))に格納する(ステップS40
9)。
The parallel operation device 7 performs a 4-parallel multiply-accumulate operation on the input data for 4 data loaded in the data register 8 and the filter coefficient for 4 taps loaded in the filter coefficient register 26 (FR (0)). Then, the operation result is stored in the accumulation register 26 (AR (0)) (step S40).
9).

【0131】データ処理装置2は、同様に、時刻n+
1、時刻n+2、時刻n+3の最初の積和演算を行う
(S410〜S421)。なお、データ処理装置2は、
時刻n+1に、フィルタ係数レジスタ25(FR
(1))にフィルタ係数ポインタ28の指すアドレス+
8のフィルタ係数をロードし、時刻n+2に、FR
(2)にフィルタ係数ポインタ28の指すアドレス+1
6のフィルタ係数をロードし、時刻n+3に、FR
(3)にフィルタ係数ポインタ28の指すアドレス+2
4のフィルタ係数をロードする。また、並列演算装置7
は、時刻n+1のときに、累算レジスタ26(AR
(1))に演算結果を格納し、時刻n+2のときに、A
R(2)に演算結果を格納し、時刻n+3のときに、A
R(3)に演算結果を格納する。
The data processing device 2 similarly operates at time n +
The first product-sum operation is performed at 1, time n + 2, and time n + 3 (S410 to S421). Note that the data processing device 2
At time n + 1, the filter coefficient register 25 (FR
In (1)), the address indicated by the filter coefficient pointer 28+
8 is loaded, and at time n + 2, FR
In (2), the address indicated by the filter coefficient pointer 28 + 1
6, and at time n + 3, FR
(3) the address indicated by the filter coefficient pointer 28 + 2
Load the filter coefficients of 4. In addition, the parallel operation device 7
Is the accumulation register 26 (AR
The calculation result is stored in (1)), and at time n + 2, A
The calculation result is stored in R (2), and at time n + 3, A
The calculation result is stored in R (3).

【0132】データ処理装置2は、全フィルタタップ分
の処理が終了したか否かの判別を行なう(ステップS4
22)。データ処理装置2は、全フィルタタップ分の処
理が終了したと判別した場合、後述するステップS43
5に進んで、累算レジスタ26に記憶された4つの16
bit数の総和を算出する。
The data processing device 2 determines whether or not processing for all filter taps has been completed (step S4).
22). When the data processing device 2 determines that the processing for all the filter taps has been completed, the data processing device 2 performs step S43 described later.
5 and the four 16s stored in the accumulation register 26
Calculate the sum of the number of bits.

【0133】一方、データ処理装置2は、全フィルタタ
ップ分の処理が終了していないと判別した場合、4デー
タ分の入力データをデータレジスタ8にロードするため
に、読み出しポインタ20に8(4データ分)を加算
し、加算後の値で更新する(ステップS423)。
On the other hand, if the data processing device 2 determines that the processing for all the filter taps has not been completed, the read pointer 20 stores 8 (4) in order to load the input data for 4 data into the data register 8. (For data) and updates with the value after the addition (step S423).

【0134】データ処理装置2は、更新後の読み出しポ
インタ20の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別し(ステップS424)、大き
いと判別した場合、リング・メモリ先頭ポインタ17の
値を読み出しポインタ20の値に代入して更新する(ス
テップS425)。
The data processing device 2 determines whether the value of the read pointer 20 after the update is larger than the value of the ring memory end pointer 18 (step S424). The value of 17 is substituted for the value of the read pointer 20 and updated (step S425).

【0135】データ処理装置2は、次の4×4タップ分
のフィルタ係数をフィルタ係数レジスタ25にロードす
るために、フィルタ係数ポインタ28に32(4×4タ
ップ分)を加算し、加算後の値で更新する(ステップS
426)。
The data processing device 2 adds 32 (for 4 × 4 taps) to the filter coefficient pointer 28 to load the filter coefficients for the next 4 × 4 taps into the filter coefficient register 25, and Update with value (Step S
426).

【0136】データ処理装置2は、リング・メモリ15
に記憶されている入力データから、読み出しポインタ2
0の示すアドレスに記憶されている4データ分の入力デ
ータをデータレジスタ8にロードする(ステップS42
7)。
The data processing device 2 includes a ring memory 15
From the input data stored in the
The input data of 4 data stored at the address indicated by 0 is loaded into the data register 8 (step S42).
7).

【0137】データ処理装置2は、フィルタ係数記憶部
23に記憶されているフィルタ係数から、フィルタ係数
ポインタ28の示すアドレスに記憶されている4×4タ
ップ分のフィルタ係数をフィルタ係数レジスタ25(F
R(0)〜FR(3))にロードする(ステップS42
8)。
The data processing device 2 converts the filter coefficients for 4 × 4 taps stored at the address indicated by the filter coefficient pointer 28 from the filter coefficients stored in the filter coefficient storage unit 23 into the filter coefficient register 25 (F
R (0) to FR (3)) (step S42).
8).

【0138】並列演算装置7は、データレジスタ8にロ
ードした4データ分の入力データと、フィルタ係数レジ
スタ25にロードしたフィルタ係数との4並列積和演算
をそれぞれ行い、演算結果を累算レジスタ26にそれぞ
れ加算して格納する(ステップS429)。即ち、並列
演算装置7は、入力データとFR(0)との演算結果を
AR(0)に加算して格納し、入力データとFR(1)
との演算結果をAR(1)に加算して格納し、入力デー
タとFR(2)との演算結果をAR(2)に加算して格
納し、入力データとFR(3)との演算結果をAR
(3)に加算して格納する。
The parallel operation device 7 performs four parallel multiply-accumulate operations on the input data for four data loaded in the data register 8 and the filter coefficient loaded in the filter coefficient register 25, and stores the operation result in the accumulation register 26. Are added and stored (step S429). That is, the parallel operation device 7 adds the operation result of the input data and FR (0) to AR (0), stores the result, and stores the input data and FR (1).
Is added to AR (1) and stored, the operation result of input data and FR (2) is added to AR (2) and stored, and the operation result of input data and FR (3) is stored. AR
Add to (3) and store.

【0139】データ処理装置2は、次の4データ分の入
力データをデータレジスタ8にロードするために、読み
出しポインタ20に8(4データ分)を加算し、加算後
の値で更新する(ステップS430)。
The data processing device 2 adds 8 (for 4 data) to the read pointer 20 to load the input data for the next 4 data into the data register 8 and updates the read pointer 20 with the value after the addition (step). S430).

【0140】データ処理装置2は、更新後の読み出しポ
インタ20の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別し(ステップS431)、大き
いと判別した場合、リング・メモリ先頭ポインタ17の
値を読み出しポインタ20の値に代入して更新する(ス
テップS432)。
The data processing device 2 determines whether or not the value of the updated read pointer 20 is greater than the value of the ring memory end pointer 18 (step S431). The value of 17 is assigned to the value of the read pointer 20 and updated (step S432).

【0141】データ処理装置2は、次の4×4タップ分
のフィルタ係数をフィルタ係数レジスタ25にロードす
るために、フィルタ係数ポインタ22に32(4×4タ
ップ分)を加算し、加算後の値でを更新する(ステップ
S433)。
The data processing device 2 adds 32 (for 4 × 4 taps) to the filter coefficient pointer 22 to load the filter coefficients for the next 4 × 4 taps into the filter coefficient register 25, and The value is updated with the value (step S433).

【0142】データ処理装置2は、全フィルタタップ分
の処理が終了したか否かの判別を行なう(ステップS4
34)。データ処理装置2は、全フィルタタップ分の処
理が終了していないと判別した場合、ステップS427
に戻って、ステップS427〜ステップS434の処理
を繰り返す(積和計算ループS401)。
The data processing device 2 determines whether or not processing for all filter taps has been completed (step S4).
34). If the data processing device 2 determines that the process for all filter taps has not been completed, the process proceeds to step S427.
Then, the processing of steps S427 to S434 is repeated (product-sum calculation loop S401).

【0143】一方、データ処理装置2は、全フィルタタ
ップ分の処理が終了したと判別した場合、累算レジスタ
26(AR(0)〜AR(3))に記憶されたそれぞれ
の4つの16bit数の総和を算出し、フィルタ計算後の
出力データとする(ステップS435)。
On the other hand, when the data processing device 2 determines that the processing for all the filter taps has been completed, the four 16-bit numbers stored in the accumulation registers 26 (AR (0) to AR (3)) respectively. Is calculated as the output data after the filter calculation (step S435).

【0144】データ処理装置2は、求めた出力データを
出力装置4に順次出力する(ステップS436)。
The data processing device 2 sequentially outputs the obtained output data to the output device 4 (step S436).

【0145】データ処理装置2は、次の4時刻分のフィ
ルタ計算のために、書き込みポインタ19に8(4デー
タ分)を加算し、加算後の値で更新する(ステップS4
37)。
The data processing device 2 adds 8 (for 4 data) to the write pointer 19 for the filter calculation for the next four times and updates it with the value after the addition (step S4).
37).

【0146】データ処理装置2は、更新後の書き込みポ
インタ19の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別し(ステップS438)、大き
いと判別した場合、リング・メモリ先頭ポインタ17の
値を書き込みポインタ19の値に代入して更新する(ス
テップS439)。
The data processing device 2 determines whether or not the value of the updated write pointer 19 is larger than the value of the ring memory end pointer 18 (step S438). The value of 17 is assigned to the value of the write pointer 19 and updated (step S439).

【0147】以上説明したように、この第3の実施の形
態に係る発明によれば、データレジスタ8にロードされ
た入力データを複数の時刻のフィルタ計算に利用するこ
とにより、全体のロード回数を減らし、処理を高速化す
ることができる。また、フィルタ係数レジスタ25に、
4つの連続する時刻用のフィルタ係数を、一度にロード
することにより、全体のロード回数を減らし、処理を高
速化することができる。更に、積和計算ループ401に
て、4つの連続する時刻の積和演算処理を行なうことに
より、全体のループの数を減らし、処理を高速化するこ
とができる。
As described above, according to the invention of the third embodiment, the input data loaded in the data register 8 is used for the filter calculation at a plurality of times, so that the total number of times of loading can be reduced. And speed up the process. Also, in the filter coefficient register 25,
By loading the filter coefficients for four consecutive times at once, it is possible to reduce the total number of times of loading and speed up the processing. Further, by performing the product-sum operation processing at four consecutive times in the product-sum calculation loop 401, the number of entire loops can be reduced and the processing can be speeded up.

【0148】上記の第3の実施の形態では、積和計算ル
ープ401内で毎回リング・メモリの終端を行なってい
るが、第2の実施の形態のように、積和ループを2つに
分割してもよい。
In the third embodiment, the end of the ring memory is performed each time in the product-sum calculation loop 401. However, the product-sum loop is divided into two as in the second embodiment. May be.

【0149】次に、図面を参照して、この発明の第4の
実施の形態にかかる演算処理装置について説明する。第
4の実施の形態では、第3の実施の形態と同様に、積和
演算ループ内で8つの連続した時刻の積和演算を行うも
のであるが、その際、フィルタ係数を共有してフィルタ
計算を行うことを特徴とする。図12は、この発明の第
4の実施の形態にかかる演算処理装置の構成を示すブロ
ック図である。この演算処理装置は、データを入力する
入力装置1と、入力データに対してフィルタ計算を行う
データ処理装置2と、入力データ及びフィルタ係数を記
憶する記憶装置3と、出力データを出力する出力装置4
とから構成される。
Next, an arithmetic processing unit according to a fourth embodiment of the present invention will be described with reference to the drawings. In the fourth embodiment, as in the third embodiment, the product-sum operation at eight consecutive times is performed in the product-sum operation loop. The calculation is performed. FIG. 12 is a block diagram illustrating a configuration of an arithmetic processing device according to the fourth embodiment of the present invention. The arithmetic processing device includes an input device 1 for inputting data, a data processing device 2 for performing a filter calculation on the input data, a storage device 3 for storing input data and filter coefficients, and an output device for outputting output data. 4
It is composed of

【0150】記憶装置3は、入力データを記憶するリン
グ・メモリ15と、フィルタ係数を記憶するフィルタ係
数記憶部23とから構成される。リング・メモリ15及
びフィルタ係数記憶部23は、第3の実施の形態と同一
である。
The storage device 3 comprises a ring memory 15 for storing input data and a filter coefficient storage unit 23 for storing filter coefficients. The ring memory 15 and the filter coefficient storage unit 23 are the same as in the third embodiment.

【0151】データ処理装置2は、並列演算装置7と、
データレジスタ29と、フィルタ係数レジスタ25と、
累算レジスタ30と、リング・メモリ先頭ポインタ17
と、リング・メモリ終端ポインタ18と、書き込みポイ
ンタ19と、読み出しポインタ20と、フィルタ係数先
頭ポインタ27と、フィルタ係数ポインタ28とから構
成される。
The data processing device 2 comprises a parallel operation device 7,
A data register 29, a filter coefficient register 25,
Accumulation register 30 and ring memory head pointer 17
, A ring memory end pointer 18, a write pointer 19, a read pointer 20, a filter coefficient head pointer 27, and a filter coefficient pointer 28.

【0152】データ処理装置2は、データレジスタ29
と累算レジスタ30だけが、図7の第3の実施の形態と
異なる。データレジスタ29は、2つの64bitレジス
タ(DR(0)、DR(1))からなり、リング・メモ
リ15に記憶された2×4データ分の入力データをロー
ドする。累算レジスタ30は、8つの64bitレジスタ
(AR(0)〜AR(7))からなり、並列演算装置7
による8回の4並列積和演算の中間結果を逐次累算す
る。
The data processing device 2 includes a data register 29
And only the accumulation register 30 is different from the third embodiment of FIG. The data register 29 includes two 64-bit registers (DR (0), DR (1)), and loads input data of 2 × 4 data stored in the ring memory 15. The accumulation register 30 includes eight 64-bit registers (AR (0) to AR (7)).
, The intermediate results of eight 4-parallel multiply-accumulate operations are sequentially accumulated.

【0153】以下、データ処理装置2が行う8つの連続
した積和演算について図面を参照して説明する。図13
に示すように、8つの連続した時刻(時刻4j〜4j+
7)に積和演算する入力データとフィルタ係数との組み
合わせは、先頭の組み合わせを除き、入力データが同一
のものとなる。更に、最初の4時刻(時刻4j〜4j+
3)と残りの4時刻(時刻4j+4〜4j+7)とで
は、太枠で示したように、フィルタ係数が4タップずれ
て同一のものとなる。即ち、図14に示すように、共通
のフィルタ係数を4時刻経過後に使用した積和演算が可
能となる。従って、データ処理装置2は、データレジス
タ29(DR(0)、DR(1))に2×4データ分の
入力データをロードし、フィルタ係数レジスタ25(F
R(0)〜FR(3))に4×4タップ分のフィルタ係
数をロードして、8つの連続した4並列積和演算を行
う。それぞれの積和演算結果は、累算レジスタ30(A
R(0)〜AR(7))にそれぞれ加算され格納され
る。この結果、データ処理装置2は、データレジスタ2
9及びフィルタ係数レジスタ25に入力データ及びフィ
ルタ係数をロードする回数を減らすことができるため、
全体として、処理を高速化することができる。
Hereinafter, eight consecutive product-sum operations performed by the data processing device 2 will be described with reference to the drawings. FIG.
As shown in FIG. 8, eight consecutive times (time 4j to 4j +
Regarding the combination of the input data and the filter coefficient for which the product-sum operation is performed in 7), the input data is the same except for the first combination. Furthermore, the first four times (time 4j to 4j +
At 3) and the remaining four times (time 4j + 4 to 4j + 7), as shown by the thick frame, the filter coefficients are the same with a shift of 4 taps. That is, as shown in FIG. 14, it is possible to perform a product-sum operation using a common filter coefficient after the elapse of four times. Therefore, the data processing device 2 loads the input data of 2 × 4 data into the data register 29 (DR (0), DR (1)), and loads the filter coefficient register 25 (F
R (0) to FR (3)) are loaded with filter coefficients for 4 × 4 taps, and eight consecutive 4-parallel multiply-accumulate operations are performed. Each product-sum operation result is stored in the accumulation register 30 (A
R (0) to AR (7)). As a result, the data processing device 2
9 and the number of times of loading input data and filter coefficients into the filter coefficient register 25 can be reduced.
As a whole, the processing can be speeded up.

【0154】以下、フィルタ係数がフィルタ係数記憶部
23に配置されている状態におけるデータ処理装置2の
フィルタ計算の動作について図15を参照して説明す
る。図15は、データ処理装置2のフィルタ計算の動作
を示すフローチャートである。
Hereinafter, the operation of the filter calculation of the data processing device 2 in a state where the filter coefficients are stored in the filter coefficient storage unit 23 will be described with reference to FIG. FIG. 15 is a flowchart showing the operation of the filter calculation of the data processing device 2.

【0155】まず、データ処理装置2は、累算レジスタ
30の8つのレジスタ(AR(0)〜AR(7))の値
をゼロクリアする(ステップS503)。
First, the data processing device 2 clears the values of the eight registers (AR (0) to AR (7)) of the accumulation register 30 to zero (step S503).

【0156】データ処理装置2は、読み出しポインタ2
0及びフィルタ係数ポインタ28に初期値を設定する
(ステップS504、ステップS505)。
The data processing device 2 has a read pointer 2
Initial values are set to 0 and the filter coefficient pointer 28 (step S504, step S505).

【0157】次に、データ処理装置2は、8つの連続し
た時刻の積和演算において、入力データが共通とならな
い先頭の積和演算を処理する(先頭4タップ処理S50
0)。
Next, in the product-sum operation at eight consecutive times, the data processing device 2 processes the first product-sum operation in which input data is not common (first 4-tap processing S50).
0).

【0158】データ処理装置2は、フィルタ係数記憶部
23に記憶されているフィルタ係数から、フィルタ係数
ポインタ28の示すアドレスに記憶されている4×4タ
ップ分のフィルタ係数をフィルタ係数レジスタ26(F
R(0)〜FR(3))にロードする(ステップS50
6)。なお、FR(0)〜FR(3)にロードしたフィ
ルタ係数は、それぞれ4時刻後の積和演算にて再度使用
されるため、1度ロードすれば8つの連続する時刻の積
和演算で使用可能となる。
The data processing device 2 converts the filter coefficients for 4 × 4 taps stored at the address indicated by the filter coefficient pointer 28 from the filter coefficients stored in the filter coefficient storage section 23 into the filter coefficient register 26 (F
R (0) to FR (3)) (step S50).
6). Note that the filter coefficients loaded in FR (0) to FR (3) are used again in the product-sum operation after four times, so once loaded, they are used in the product-sum operation at eight consecutive times. It becomes possible.

【0159】データ処理装置2は、入力装置1から取得
した入力データを書き込みポインタ19の示すリング・
メモリ15のアドレスにライトして記憶する(ステップ
S507)。
The data processing device 2 writes the input data obtained from the input device 1
The data is written and stored at the address of the memory 15 (step S507).

【0160】データ処理装置2は、時刻nに、リング・
メモリ15に記憶されている入力データから、読み出し
ポインタ20の示すアドレスに記憶されている4データ
分の入力データをデータレジスタ29のDR(1)にロ
ードする(ステップS508)。
At time n, the data processing device 2
From the input data stored in the memory 15, the input data for four data stored at the address indicated by the read pointer 20 is loaded into DR (1) of the data register 29 (step S508).

【0161】並列演算装置7は、データレジスタ29
(DR(1))にロードした4データ分の入力データ
と、フィルタ係数レジスタ26(FR(0))にロード
した4タップ分のフィルタ係数とで4並列積和演算を行
い、演算結果を累算レジスタ30(AR(0))に格納
する(ステップS509)。
The parallel operation device 7 includes a data register 29
Four parallel multiply-accumulate operations are performed on the input data for four data loaded in (DR (1)) and the filter coefficients for four taps loaded in the filter coefficient register 26 (FR (0)). It is stored in the arithmetic register 30 (AR (0)) (step S509).

【0162】並列演算装置2は、同様に、時刻n+1、
時刻n+2、時刻n+3の最初の積和演算を行う(ステ
ップS510〜S512)。なお、並列演算装置7は、
時刻n+1のときに、累算レジスタ26(AR(1))
に演算結果を格納し、時刻n+2のときに、AR(2)
に演算結果を格納し、時刻n+3のときに、AR(3)
に演算結果を格納する。
Similarly, the parallel operation device 2 operates at time n + 1,
The first product-sum operation at time n + 2 and time n + 3 is performed (steps S510 to S512). Note that the parallel operation device 7
At time n + 1, the accumulation register 26 (AR (1))
And at time n + 2, AR (2)
And at time n + 3, AR (3)
To store the operation result.

【0163】データ処理装置2は、次の4時刻分の積和
演算のために、書き込みポインタ19に8(4データ
分)を加算し、加算後の値で更新する(ステップS51
3)。
The data processing device 2 adds 8 (for 4 data) to the write pointer 19 for the product-sum operation for the next four times, and updates it with the value after the addition (step S51).
3).

【0164】データ処理装置2は、更新後の書き込みポ
インタ19の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別し(ステップS514)、大き
いと判別した場合、リング・メモリ先頭ポインタ17の
値を書き込みポインタ19の値に代入して更新する(ス
テップS515)。
The data processing device 2 determines whether or not the value of the updated write pointer 19 is larger than the value of the ring memory end pointer 18 (step S514). The value of 17 is assigned to the value of the write pointer 19 and updated (step S515).

【0165】データ処理装置2は、読み出しポインタ2
0に書き込みポインタ19の値を設定する(ステップS
516)。
The data processing device 2 has a read pointer 2
0 is set to the value of the write pointer 19 (step S
516).

【0166】データ処理装置2は、入力装置1から取得
した入力データを書き込みポインタ19の示すリング・
メモリ15のアドレスにライトして記憶する。時刻n+
4に、データ処理装置2は、リング・メモリ15に記憶
されている入力データから、読み出しポインタ20の示
すアドレスに記憶されている4データ分の入力データを
データレジスタ29のDR(0)にロードする(ステッ
プS517)。なお、DR(0)にロードした入力デー
タは、後述する積和計算ループ501に時刻n〜時刻n
+3用のデータとして使用されるものである。ここで先
にロードすることにより、以降の時刻n+4〜時刻n+
7の入力データによってリング・メモリ15の内容が上
書きされても積和演算が可能となる。
The data processing device 2 writes the input data acquired from the input device 1
The data is written to the address of the memory 15 and stored. Time n +
4, the data processing device 2 loads the input data for four data stored at the address indicated by the read pointer 20 into the DR (0) of the data register 29 from the input data stored in the ring memory 15. (Step S517). The input data loaded to DR (0) is supplied to a sum-of-products calculation loop 501 described later from time n to time n.
This is used as data for +3. Here, by loading first, the subsequent time n + 4 to time n +
Even if the contents of the ring memory 15 are overwritten by the input data of 7, the product-sum operation can be performed.

【0167】データ処理装置2は、時刻n+4に、リン
グ・メモリ15から、読み出しポインタ20の示すアド
レスに記憶されている4データ分の入力データをDR
(1)にロードし、FR(0)にロードしたフィルタ係
数とで4並列積和演算を行い、演算結果をAR(4)に
格納する(ステップS518)。
At time n + 4, the data processor 2 converts the input data of four data stored at the address indicated by the read pointer 20 from the ring memory 15 into the DR.
(1), a 4-parallel product-sum operation is performed with the filter coefficient loaded in FR (0), and the operation result is stored in AR (4) (step S518).

【0168】データ処理装置2は、同様に、時刻n+
5、時刻n+6、時刻n+7の最初の積和演算を行う
(ステップS518〜S521)。なお、並列演算装置
7は、時刻n+5のときに、累算レジスタ26(AR
(5))に演算結果を格納し、時刻n+6のときに、A
R(6)に演算結果を格納し、時刻n+7のときに、A
R(7)に演算結果を格納する。
The data processing device 2 similarly operates at time n +
5. The first product-sum operation is performed at time n + 6 and time n + 7 (steps S518 to S521). Note that, at time n + 5, the parallel operation device 7 sets the accumulation register 26 (AR
The calculation result is stored in (5)), and at time n + 6, A
The calculation result is stored in R (6), and at time n + 7, A
The calculation result is stored in R (7).

【0169】データ処理装置2は、次の4×4タップ分
のフィルタ係数をフィルタ係数レジスタ25にロードす
るために、フィルタ係数ポインタ28に32(4×4タ
ップ分)を加算し、加算後の値で更新する(ステップS
522)。
The data processing device 2 adds 32 (for 4 × 4 taps) to the filter coefficient pointer 28 to load the filter coefficients for the next 4 × 4 taps into the filter coefficient register 25, and Update with value (Step S
522).

【0170】データ処理装置2は、全フィルタタップ分
の処理が終了したか否かの判別を行なう(ステップS5
23)。データ処理装置2は、全フィルタタップ分の処
理が終了したと判別した場合、後述するステップS53
3に進んで、累算レジスタ30に記憶された8つの16
bit数の総和を算出する。
The data processing device 2 determines whether or not processing for all filter taps has been completed (step S5).
23). When the data processing device 2 determines that the processing for all filter taps has been completed, the data processing device 2 performs step S53 described later.
3 to the eight 16 stored in the accumulation register 30.
Calculate the sum of the number of bits.

【0171】一方、データ処理装置2は、全フィルタタ
ップ分の処理が終了していないと判別した場合、フィル
タ係数記憶部23に記憶されているフィルタ係数から、
フィルタ係数ポインタ28の示すアドレスに記憶されて
いる4×4タップ分のフィルタ係数をフィルタ係数レジ
スタ26(FR(0)〜FR(3))にロードする(ス
テップS524)。
On the other hand, if the data processing device 2 determines that the processing for all the filter taps has not been completed, the data processing device 2 calculates the filter coefficients from the filter coefficients stored in the filter coefficient storage unit 23.
The filter coefficients for 4 × 4 taps stored at the address indicated by the filter coefficient pointer 28 are loaded into the filter coefficient registers 26 (FR (0) to FR (3)) (step S524).

【0172】並列演算装置2は、時刻n、時刻n+1、
時刻n+2、時刻n+3の積和演算を行う(ステップS
525)。即ち、並列演算装置2は、時刻nに、演算結
果をAR(0)に加算して格納し、時刻n+1に、演算
結果をAR(1)に加算して格納し、時刻n+2に、演
算結果をAR(2)に加算して格納し、時刻n+3に、
演算結果をAR(3)に加算して格納する。
The parallel operation device 2 calculates time n, time n + 1,
The product-sum operation at time n + 2 and time n + 3 is performed (step S
525). That is, the parallel operation device 2 adds the operation result to AR (0) and stores it at time n, adds the operation result to AR (1) at time n + 1, and stores the operation result at time n + 2. Is added to AR (2) and stored, and at time n + 3,
The calculation result is added to AR (3) and stored.

【0173】データ処理装置2は、次の4データ分の入
力データをデータレジスタ8にロードするために、読み
出しポインタ20に8(4データ分)を加算し、加算後
の値で更新する(ステップS526)。
The data processing device 2 adds 8 (for 4 data) to the read pointer 20 and loads the read pointer 20 with the value after the addition in order to load the input data for the next 4 data into the data register 8 (step). S526).

【0174】データ処理装置2は、更新後の読み出しポ
インタ20の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別し(ステップS527)、大き
いと判別した場合、リング・メモリ先頭ポインタ17の
値を読み出しポインタ20の値に代入して更新する(ス
テップS528)。
The data processing device 2 determines whether or not the value of the read pointer 20 after the update is larger than the value of the ring memory end pointer 18 (step S527). The value of 17 is assigned to the value of the read pointer 20 and updated (step S528).

【0175】データ処理装置2は、リング・メモリ15
に記憶されている入力データから、読み出しポインタ2
0の示すアドレスに記憶されている4データ分の入力デ
ータをデータレジスタ29のDR(0)にロードする
(ステップS529)。
The data processing device 2 includes a ring memory 15
From the input data stored in the
The input data for four data stored at the address indicated by 0 is loaded into DR (0) of the data register 29 (step S529).

【0176】並列演算装置2は、時刻n+4、時刻n+
5、時刻n+6、時刻n+7の積和演算を行う(ステッ
プS530)。即ち、並列演算装置2は、時刻n+4
に、演算結果をAR(4)に加算して格納し、時刻n+
5に、演算結果をAR(5)に加算して格納し、時刻n
+6に、演算結果をAR(6)に加算して格納し、時刻
n+7に、演算結果をAR(7)に加算して格納する。
The parallel operation device 2 calculates the time n + 4, the time n +
5, a product-sum operation at time n + 6 and time n + 7 is performed (step S530). That is, the parallel operation device 2 calculates the time n + 4
Is added to AR (4), and the result is stored at time n +
5, the arithmetic result is added to AR (5) and stored.
The arithmetic result is added to AR (6) and stored at +6, and the arithmetic result is added to AR (7) and stored at time n + 7.

【0177】データ処理装置2は、次の4×4タップ分
のフィルタ係数をフィルタ係数レジスタ25にロードす
るために、フィルタ係数ポインタ22に32(4×4タ
ップ分)を加算し、加算後の値でを更新する(ステップ
S531)。
The data processing device 2 adds 32 (for 4 × 4 taps) to the filter coefficient pointer 22 in order to load the filter coefficients for the next 4 × 4 taps into the filter coefficient register 25, and The value is updated with the value (step S531).

【0178】データ処理装置2は、全フィルタタップ分
の処理が終了したか否かの判別を行う(ステップS53
2)。データ処理装置2は、全フィルタタップ分の処理
が終了していないと判別した場合、ステップS524に
戻って、ステップS524〜ステップS532の処理を
繰り返す(積和計算ループS501)。
The data processing device 2 determines whether or not the processing for all filter taps has been completed (step S53).
2). If the data processing device 2 determines that the processing for all filter taps has not been completed, the process returns to step S524, and repeats the processing of steps S524 to S532 (product-sum calculation loop S501).

【0179】一方、データ処理装置2は、全フィルタタ
ップ分の処理が終了したと判別した場合、累算レジスタ
30(AR(0)〜AR(7))に記憶されたそれぞれ
の4つの16bit数の総和を算出し、フィルタ計算後の
出力データとする(ステップS533)。
On the other hand, when the data processing device 2 determines that the processing for all the filter taps has been completed, the four 16-bit numbers stored in the accumulation registers 30 (AR (0) to AR (7)) respectively. Is calculated and used as output data after the filter calculation (step S533).

【0180】データ処理装置2は、求めた出力データを
出力装置4に順次出力する(ステップS534)。
The data processing device 2 sequentially outputs the obtained output data to the output device 4 (step S534).

【0181】データ処理装置2は、次の最初の4時刻分
の積和演算のために、書き込みポインタ19に8(4デ
ータ分)を加算し、加算後の値で更新する(ステップS
535)。
The data processing device 2 adds 8 (for 4 data) to the write pointer 19 for the product-sum operation for the next first four times, and updates the value with the added value (step S).
535).

【0182】データ処理装置2は、更新後の書き込みポ
インタ19の値がリング・メモリ終端ポインタ18の値
より大きいか否かを判別し(ステップS536)、大き
いと判別した場合、リング・メモリ先頭ポインタ17の
値を書き込みポインタ19の値に代入して更新する(ス
テップS537)。
The data processing device 2 determines whether or not the value of the updated write pointer 19 is larger than the value of the ring memory end pointer 18 (step S536). The value of 17 is assigned to the value of the write pointer 19 and updated (step S537).

【0183】以上説明したように、この第4の実施の形
態に係る発明によれば、データレジスタ29にロードさ
れた入力データを複数の時刻の積和演算に利用すること
に加え、フィルタ係数レジスタ25にロードされたフィ
ルタ係数も複数の時刻の積和演算に使用することによ
り、全体のロード回数を減らし、処理を高速化すること
ができる。また、フィルタ係数レジスタ25に、8つの
連続する時刻用のフィルタ係数を、一度にロードするこ
とにより、全体のロード回数を減らし、処理を高速化す
ることができる。更に、積和計算ループ501にて84
つの連続する時刻の積和演算処理を行なうことにより、
全体のループの数を減らし、処理を高速化することがで
きる。
As described above, according to the fourth embodiment, in addition to using the input data loaded in the data register 29 for the product-sum operation at a plurality of times, the filter coefficient register By using the filter coefficients loaded in the block 25 for the multiply-accumulate operation at a plurality of times, the overall number of loads can be reduced and the processing can be sped up. Further, by loading the filter coefficients for eight consecutive times into the filter coefficient register 25 at one time, the total number of times of loading can be reduced and the processing speed can be increased. Further, in the product-sum calculation loop 501, 84
By performing the product-sum operation at two consecutive times,
The number of entire loops can be reduced, and the processing can be speeded up.

【0184】上記の第4の実施の形態では、積和計算ル
ープ501内で毎回リング・メモリの終端を行なってい
るが、第2の実施の形態のように、積和ループを2つに
分割してもよい。
In the fourth embodiment, the termination of the ring memory is performed every time in the product-sum calculation loop 501. However, the product-sum loop is divided into two as in the second embodiment. May be.

【0185】次に、図面を参照して、この発明の第5の
実施の形態にかかる演算処理装置について説明する。こ
こでは、入力データ、出力データ、フィルタ係数のそれ
ぞれが実部及び虚部を持つ、複素数FIRフィルタ計算
を実行する場合を例に挙げて説明する。複素数FIRフ
ィルタは、数式1に示されたFIRフィルタにおけるx
(n)、y(n)、a(k)を、それぞれ複素数xc
(n)、yc(n)、ac(k)に置き換えたもので、
数式8で表される。
Next, an arithmetic processing unit according to a fifth embodiment of the present invention will be described with reference to the drawings. Here, a case will be described as an example where a complex FIR filter calculation in which each of input data, output data, and filter coefficients has a real part and an imaginary part is performed. The complex number FIR filter is represented by x in the FIR filter shown in Equation 1.
(N), y (n) and a (k) are each converted to a complex number xc
(N), yc (n), ac (k),
It is represented by Expression 8.

【0186】[0186]

【数8】 xc(n):時刻nの入力データ(複素数) yc(n):時刻nの出力データ(複素数) n:時刻(n=0、1、2・・・) ac(k):フィルタ係数(複素数)(k=0、1、
2、・・・、M−1) M:フィルタのタップ数(フィルタ長)
(Equation 8) xc (n): input data (complex number) at time n yc (n): output data (complex number) at time n n: time (n = 0, 1, 2,...) ac (k): filter coefficient (complex number) ) (K = 0, 1,
2,..., M-1) M: Number of filter taps (filter length)

【0187】また、複素数xc(n)、yc(n)、a
c(k)は、数式9から数式11で表される。
The complex numbers xc (n), yc (n), a
c (k) is expressed by Expressions 9 to 11.

【0188】[0188]

【数9】 xc(n) = xr(n) + xi(n)・j xc(n):時刻nの入力データ(複素数) xr(n):実部 xi(n):虚部 j:虚数単位(j×j=−1)Xc (n) = xr (n) + xi (n) · j xc (n): input data (complex number) at time n xr (n): real part xi (n): imaginary part j: imaginary number Unit (j × j = -1)

【0189】[0189]

【数10】 yc(n) = yr(n) + yi(n)・j yc(n):時刻nの出力データ(複素数) yr(n):実部 yi(n):虚部 j:虚数単位(j×j=−1)Yc (n) = yr (n) + yi (n) · jic (n): output data (complex number) at time n yr (n): real part yi (n): imaginary part j: imaginary number Unit (j × j = -1)

【0190】[0190]

【数11】 ac(k) = ar(k) + ai(k)・j ac(k):フィルタ係数(複素数)(k=0、1、
2、・・・、M−1) ar(n):実部 ai(n):虚部 j:虚数単位(j×j=−1)
[Mathematical formula-see original document] ac (k) = ar (k) + ai (k) .jac (k): filter coefficient (complex number) (k = 0, 1,
2,..., M-1) ar (n): real part ai (n): imaginary part j: imaginary unit (j × j = −1)

【0191】従って、数式8に示した複素数FIRフィ
ルタは、数式9〜11により変形することができ、数式
12で表される。
Therefore, the complex FIR filter shown in Expression 8 can be modified by Expressions 9 to 11, and is expressed by Expression 12.

【0192】[0192]

【数12】 xc(n):時刻nの入力データ(複素数) yc(n):時刻nの出力データ(複素数) ac(k):フィルタ係数(複素数)(k=0、1、
2、・・・、M−1) xr(n)、yr(n)、ar(n):実部 xi(n)、yi(n)、ai(n):虚部 j:虚数単位(j×j=−1)
(Equation 12) xc (n): input data at time n (complex number) yc (n): output data at time n (complex number) ac (k): filter coefficient (complex number) (k = 0, 1,
2,..., M-1) xr (n), yr (n), ar (n): real part xi (n), yi (n), ai (n): imaginary part j: imaginary unit (j × j = -1)

【0193】以下、複素数FIRフィルタについて具体
的に説明する。入力データが、xr(0)、xi
(0)、xr(1)、xi(1)、xr(2)、xi
(2)、・・・というように、実部及び虚部が交互に入
力されると仮定する。この場合、数式12に示すよう
に、出力データyc(n)の実部yr(n)は、ar
(0)、−ai(0)、ar(1)、−ai(1)、a
r(2)、−ai(2)、・・・を係数とするタップ数
2MのFIRフィルタにより求めることができる。同様
に、出力データyc(n)の虚部yi(n)は、ai
(0)、ar(0)、ai(1)、ar(1)、ai
(2)、ar(2)、・・・を係数とするタップ数2M
のFIRフィルタにより求めることができる。
Hereinafter, the complex FIR filter will be specifically described. The input data is xr (0), xi
(0), xr (1), xi (1), xr (2), xi
(2), suppose that the real part and the imaginary part are inputted alternately. In this case, as shown in Expression 12, the real part yr (n) of the output data yc (n) is ar
(0), -ai (0), ar (1), -ai (1), a
It can be obtained by a 2M tap FIR filter using r (2), -ai (2),... as coefficients. Similarly, the imaginary part yi (n) of the output data yc (n) is ai
(0), ar (0), ai (1), ar (1), ai
(2), 2M taps with ar (2),.
Can be obtained by the following FIR filter.

【0194】複素数FIRフィルタは、入力データにお
ける実部及び虚部の入力と同様に、yr(0)、yi
(0)、yr(1)、yi(1)、yr(2)、yi
(2)、・・・というように実部及び虚部を交互に出力
するために、図16に示すように、実部計算用の係数及
び虚部計算用の係数が、各出力データを算出するのに必
要な演算に対応して、4通りの係数列に交互に配列され
る。すなわち、奇数番目の出力用のフィルタには、実部
計算用の係数となるar(0)、−ai(0)、ar
(1)、−ai(1)、ar(2)、−ai(2)、・
・・が配置される。一方、偶数番目の出力用のフィルタ
には、虚部計算用の係数となるai(0)、ar
(0)、ai(1)、ar(1)、ai(2)、ar
(2)、・・・が配列される。
The complex number FIR filter has a function of yr (0), yi in the same manner as the input of the real part and the imaginary part in the input data.
(0), yr (1), yy (1), yr (2), yy
(2) To output the real part and the imaginary part alternately as shown in FIG. 16, the coefficient for the real part calculation and the coefficient for the imaginary part calculation calculate each output data as shown in FIG. Are arranged alternately in four types of coefficient sequences corresponding to the operations required to perform the operations. That is, the odd-numbered output filters include ar (0), -ai (0), and ar, which are coefficients for calculating the real part.
(1), -ai (1), ar (2), -ai (2),
・ ・ Is arranged. On the other hand, even-numbered output filters include ai (0), ar, which are coefficients for calculating an imaginary part.
(0), ai (1), ar (1), ai (2), ar
(2),... Are arranged.

【0195】第5の実施の形態にかかる演算処理装置の
特徴は、各出力データに対して必要となる計算に対応し
て、それぞれ異なる配列となるフィルタ係数使用してフ
ィルタ計算する点にある。従って、第5の実施の形態に
かかる演算処理装置は、図19に示すような従来の構成
となる演算処理装置においても、実現可能である。その
際、フィルタ係数記憶部106は、各出力データに対し
て必要となる計算に対応して、それぞれ異なる配列とな
るフィルタ係数を予め記憶する。すなわち、演算処理装
置は、複素数FIRフィルタを使用してフィルタ計算す
る場合に、前述のように、図16に示すようなフィルタ
係数をフィルタ係数記憶部106に予め記憶される。
The arithmetic processing apparatus according to the fifth embodiment is characterized in that filter calculations are performed using filter coefficients having different arrangements in correspondence with calculations required for each output data. Therefore, the arithmetic processing device according to the fifth embodiment can also be realized in an arithmetic processing device having a conventional configuration as shown in FIG. At that time, the filter coefficient storage unit 106 stores in advance filter coefficients having different arrangements in correspondence with calculations required for each output data. That is, when performing a filter calculation using a complex FIR filter, the arithmetic processing device previously stores filter coefficients as shown in FIG. 16 in the filter coefficient storage unit 106, as described above.

【0196】以下、図16に示すフィルタ係数につい
て、詳細に説明する。フィルタ係数列CFc(0)は、
1、5、9、・・・、4i+1番目(iは0以上の整
数)の出力の計算に用いられるフィルタ係数であるの
で、実部計算用の係数を格納する。一方、フィルタ係数
列CFc(1)は、2、6、10、・・・、4i+2番
目の出力の計算に用いられるフィルタ係数であるので、
虚部計算用の係数を格納する。フィルタ係数列CFc
(2)には、CFc(0)の各係数を係数2個分ずらし
た係数列が格納される。同様に、フィルタ係数列CFc
(3)には、CFc(1)の各係数を係数2個分ずらし
た係数列が格納される。これは、従来の技術の説明で述
べたように、8の倍数となるアドレスからのロードのほ
うが、8の倍数とならないアドレスからのロードより高
速に実行できるためであり、従来の技術において、図2
6に示すように各係数の位置をずらした4通りの係数列
をフィルタ係数記憶部106に記憶しているのと同様の
効果を持つ。
Hereinafter, the filter coefficients shown in FIG. 16 will be described in detail. The filter coefficient sequence CFc (0) is
, 4i + 1 (i is an integer equal to or greater than 0) are the filter coefficients used for calculating the output, and therefore the coefficients for the real part calculation are stored. On the other hand, since the filter coefficient sequence CFc (1) is a filter coefficient used for calculating the second, sixth, ten,..., 4i + 2nd outputs,
Stores coefficients for imaginary part calculation. Filter coefficient sequence CFc
(2) stores a coefficient sequence obtained by shifting each coefficient of CFc (0) by two coefficients. Similarly, the filter coefficient sequence CFc
(3) stores a coefficient sequence obtained by shifting each coefficient of CFc (1) by two coefficients. This is because, as described in the description of the related art, loading from an address that is a multiple of 8 can be executed faster than loading from an address that is not a multiple of 8. 2
As shown in FIG. 6, the same effect as storing four types of coefficient sequences in which the position of each coefficient is shifted in the filter coefficient storage unit 106 is obtained.

【0197】演算処理装置は、実部及び虚部が交互に入
力される入力データを図28のフローチャートに従っ
て、順次フィルタ計算を行い実部及び虚部からなる出力
データを算出する。このように、第5の実施の形態にか
かる演算処理装置は、装置の構成及び、データ処理装置
の動作の流れを変えなくとも、フィルタ係数の配列を例
えば、複素数FIRフィルタの配列とするだけで、必要
となる実部及び虚部からなる出力データを算出すること
ができる。
The arithmetic processing unit sequentially performs a filter calculation on input data to which a real part and an imaginary part are input alternately according to the flowchart of FIG. 28 to calculate output data composed of the real part and the imaginary part. As described above, the arithmetic processing device according to the fifth embodiment can be realized by merely changing the filter coefficient array to, for example, an array of complex FIR filters without changing the configuration of the device and the operation flow of the data processing device. , Required output data consisting of a real part and an imaginary part can be calculated.

【0198】以上説明したように、この第5の実施の形
態に係る発明によれば、フィルタ係数記憶部106にあ
らかじめ記憶させるフィルタ係数の配置を、各出力デー
タに対して必要な計算に対応してそれぞれ異なった並び
のフィルタ係数とすることにより、各出力データごとに
必要とされるフィルタ計算を実行することができる。
As described above, according to the invention of the fifth embodiment, the arrangement of the filter coefficients stored in advance in the filter coefficient storage unit 106 corresponds to the calculation required for each output data. By setting the filter coefficients different from each other, filter calculations required for each output data can be executed.

【0199】上記の第5の実施の形態では、演算処理装
置の構成、データ処理装置の動作の流れは従来の技術と
同一であるとして説明したが、これらは従来の技術と同
一である必要はなく、例えば本発明の第1の実施の形態
で述べた演算処理装置の構成、データ処理装置の動作の
流れを用いることもできる。その場合の、フィルタ係数
記憶部16に格納するフィルタ係数の配置は、本発明の
第1の実施の形態で述べたように、論理的に先頭と終端
がつながった環状構造とする。
In the above-described fifth embodiment, the configuration of the arithmetic processing unit and the flow of operation of the data processing unit have been described as being the same as in the conventional technology. However, these need not be the same as in the conventional technology. Instead, for example, the configuration of the arithmetic processing device and the operation flow of the data processing device described in the first embodiment of the present invention can be used. In this case, the arrangement of the filter coefficients stored in the filter coefficient storage unit 16 has a circular structure in which the head and the end are logically connected as described in the first embodiment of the present invention.

【0200】上記の実施の形態では、64bitのALU
からなる並列演算装置7を使用し、分割ALU方式を用
いて4つの16bit積和演算を並列に実行する4並列積
和演算にてフィルタ計算を行ったが、ALUのbit数及
び分割数等は任意である。例えば、32bitのALUを
使用し、2並列積和演算にてフィルタ計算してもよい。
また、4つの16bit積和演算の結果を2個の32bit数
値で得るようなALUを使用してもよい。なお、ALU
のbit数を変更した場合、それに伴って各レジスタのbit
数も変更するものとする。
In the above embodiment, a 64-bit ALU is used.
The filter calculation was performed by a 4-parallel multiply-accumulate operation in which four 16-bit multiply-accumulate operations are performed in parallel using the divided ALU method using the parallel arithmetic unit 7 consisting of Optional. For example, a 32-bit ALU may be used to perform filter calculation by two-parallel product-sum operation.
Also, an ALU that obtains the results of four 16-bit multiply-accumulate operations by two 32-bit numerical values may be used. ALU
When the number of bits of the register is changed, the bit of each register
The numbers shall also change.

【0201】また、上記の実施の形態では、データ処理
装置2において、8の倍数のアドレスのメモリ(リング
・メモリ15等)からレジスタ(データレジスタ8等)
へのロードを高速に実行した場合について説明したが、
このロードアドレスは任意である。例えば、4の倍数の
アドレスのメモリからレジスタに高速にロードしてもよ
い。なお、ロードアドレスの変更した場合、それに伴っ
てメモリ(リング・メモリ15等)に記憶するデータの
配列も変更するものとする。
Further, in the above embodiment, in the data processing device 2, the memory (such as the ring memory 15) of the address of a multiple of 8 is used to change the register (such as the data register 8).
Has been described in the case of fast loading to the
This load address is arbitrary. For example, a register may be loaded at a high speed from a memory having an address which is a multiple of four. When the load address is changed, the arrangement of data stored in the memory (such as the ring memory 15) is also changed accordingly.

【0202】なお、この発明の演算処理装置は、専用の
システムによらず、通常のコンピュータシステムを用い
て実現可能である。例えば、コンピュータに上述の動作
を実行するためのプログラムを格納した媒体(フロッピ
ーディスク、CD−ROM等)から該プログラムをイン
ストールすることにより、上述の処理を実行する演算処
理装置を構成することができる。
The arithmetic processing unit according to the present invention can be realized using a general computer system without using a dedicated system. For example, by installing a computer from a medium (a floppy disk, a CD-ROM, or the like) storing a program for executing the above-described operation, an arithmetic processing unit that executes the above-described processing can be configured. .

【0203】また、コンピュータにプログラムを供給す
るための媒体は、通信媒体(通信回線、通信ネットワー
ク、通信システムのように、一時的に且つ流動的にプロ
グラムを保持する媒体)でも良い。例えば、通信ネット
ワークの掲示板(BBS)に該プログラムを掲示し、こ
れをネットワークを介して配信してもよい。そして、こ
のプログラムを起動し、OSの制御下で、他のアプリケ
ーションプログラムと同様に実行することにより、上述
の処理を実行することができる。
The medium for supplying the program to the computer may be a communication medium (a medium that temporarily and fluidly holds the program, such as a communication line, a communication network, or a communication system). For example, the program may be posted on a bulletin board (BBS) of a communication network and distributed via the network. Then, by starting this program and executing it in the same manner as other application programs under the control of the OS, the above-described processing can be executed.

【0204】[0204]

【発明の効果】以上説明したように、分割ALU方式の
並列演算処理を利用した演算処理装置において、メモリ
を効率よく利用し、高速に演算処理を実行することがで
きる。
As described above, in an arithmetic processing device utilizing the parallel arithmetic processing of the divided ALU system, it is possible to efficiently use the memory and execute the arithmetic processing at a high speed.

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

【図1】この発明の第1の実施の形態にかかる演算処理
装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an arithmetic processing device according to a first embodiment of the present invention.

【図2】リング・メモリ15の入力データの配列を説明
する模式図である。
FIG. 2 is a schematic diagram illustrating an array of input data of a ring memory 15;

【図3】フィルタ係数記憶部16のフィルタ係数の配列
を説明する模式図である。
FIG. 3 is a schematic diagram illustrating an array of filter coefficients in a filter coefficient storage unit 16;

【図4】リング・メモリ15の入力データとフィルタ係
数記憶部16のフィルタ係数の配列を説明する模式図で
ある。
FIG. 4 is a schematic diagram illustrating an array of input data of a ring memory 15 and a filter coefficient of a filter coefficient storage unit 16;

【図5】この発明の第1の実施の形態にかかる演算処理
装置のフィルタ計算処理を説明するフローチャートであ
る。
FIG. 5 is a flowchart illustrating a filter calculation process of the arithmetic processing device according to the first embodiment of the present invention;

【図6】この発明の第2の実施の形態にかかる演算処理
装置のフィルタ計算処理を説明するフローチャートであ
る。
FIG. 6 is a flowchart illustrating a filter calculation process of an arithmetic processing device according to a second embodiment of the present invention;

【図7】この発明の第3の実施の形態にかかる演算処理
装置の構成を示すブロック図である。
FIG. 7 is a block diagram illustrating a configuration of an arithmetic processing device according to a third embodiment of the present invention;

【図8】フィルタ係数記憶部23のフィルタ係数の配列
を説明する模式図である。
8 is a schematic diagram illustrating an array of filter coefficients in a filter coefficient storage unit 23. FIG.

【図9】リング・メモリ15の入力データとフィルタ係
数記憶部23のフィルタ係数の配列を説明する模式図で
ある。
FIG. 9 is a schematic diagram illustrating an array of input data of a ring memory 15 and a filter coefficient of a filter coefficient storage unit 23;

【図10】入力データとフィルタ係数との積和演算を説
明する模式図である。
FIG. 10 is a schematic diagram illustrating a product-sum operation of input data and a filter coefficient.

【図11】この発明の第3の実施の形態にかかる演算処
理装置のフィルタ計算処理を説明するフローチャートで
ある。
FIG. 11 is a flowchart illustrating a filter calculation process of an arithmetic processing device according to a third embodiment of the present invention;

【図12】この発明の第4の実施の形態にかかる演算処
理装置の構成を示すブロック図である。
FIG. 12 is a block diagram illustrating a configuration of an arithmetic processing device according to a fourth embodiment of the present invention.

【図13】リング・メモリ15の入力データとフィルタ
係数記憶部23のフィルタ係数の配列を説明する模式図
である。
FIG. 13 is a schematic diagram illustrating an array of input data of a ring memory 15 and a filter coefficient of a filter coefficient storage unit 23.

【図14】入力データとフィルタ係数との積和演算を説
明する模式図である。
FIG. 14 is a schematic diagram illustrating a product-sum operation of input data and a filter coefficient.

【図15】この発明の第4の実施の形態にかかる演算処
理装置のフィルタ計算処理を説明するフローチャートで
ある。
FIG. 15 is a flowchart illustrating a filter calculation process of an arithmetic processing device according to a fourth embodiment of the present invention.

【図16】この発明の第5の実施の形態にかかる演算処
理装置のフィルタ係数記憶部に記憶されるフィルタ係数
の一例を示す模式図である。
FIG. 16 is a schematic diagram illustrating an example of a filter coefficient stored in a filter coefficient storage unit of an arithmetic processing device according to a fifth embodiment of the present invention.

【図17】分割ALU方式の並列処理を説明する模式図
である。
FIG. 17 is a schematic diagram illustrating parallel processing of the divided ALU system.

【図18】フィルタ係数と入力データの組み合わせを説
明する模式図である。
FIG. 18 is a schematic diagram illustrating a combination of a filter coefficient and input data.

【図19】従来の演算処理装置の構成を示すブロック図
である。
FIG. 19 is a block diagram showing a configuration of a conventional arithmetic processing device.

【図20】入力データ記憶部105の入力データの配列
を説明する模式図である。
20 is a schematic diagram illustrating an array of input data in an input data storage unit 105. FIG.

【図21】分割ALU方式の4並列積和演算を説明する
模式図である。
FIG. 21 is a schematic diagram illustrating a 4-parallel multiply-add operation of the divided ALU system.

【図22】入力データとフィルタ係数との組み合わせを
説明する模式図である。
FIG. 22 is a schematic diagram illustrating a combination of input data and a filter coefficient.

【図23】データレジスタ108及びフィルタ係数レジ
スタ109のデータのロードを説明する模式図である。
FIG. 23 is a schematic diagram illustrating data loading of a data register and a filter coefficient register.

【図24】フィルタ係数記憶部106に記憶されたフィ
ルタ係数の合計が4の倍数でなかった場合におけるフィ
ルタ係数の端数部を説明する模式図である。
FIG. 24 is a schematic diagram illustrating a fractional part of a filter coefficient when the sum of the filter coefficients stored in the filter coefficient storage unit is not a multiple of four;

【図25】データレジスタ108の時刻毎入力データを
ロードする位置が変化する様子を説明する模式図であ
る。
FIG. 25 is a schematic diagram for explaining a state where a position of the data register for loading input data for each time changes.

【図26】フィルタ係数記憶部16のフィルタ係数の配
列を説明する模式図である。
FIG. 26 is a schematic diagram illustrating an array of filter coefficients in a filter coefficient storage unit 16;

【図27】入力データとフィルタ係数との組み合わせを
説明する模式図である。
FIG. 27 is a schematic diagram illustrating a combination of input data and a filter coefficient.

【図28】従来の演算処理装置のフィルタ計算処理を説
明するフローチャートである。
FIG. 28 is a flowchart illustrating a filter calculation process of a conventional arithmetic processing device.

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

1 入力装置 2 データ処理装置 3 記憶装置 4 出力装置 7 並列演算処理装置 8 データレジスタ 9 フィルタ係数レジスタ 10 累算レジスタ 15 リング・メモリ 16 フィルタ係数記憶部 17 リング・メモリ先頭ポインタ 18 リング・メモリ終端ポインタ 19 書き込みポインタ 20 読み出しポインタ 21 フィルタ係数先頭ポインタ 22 フィルタ係数ポインタ 23 フィルタ係数記憶部 25 フィルタ係数レジスタ 26 累算レジスタ 27 フィルタ係数先頭ポインタ 28 フィルタ係数ポインタ 29 データレジスタ 30 累算レジスタ 101 入力装置 102 データ処理装置 103 記憶装置 104 出力装置 107 並列演算処理装置 108 データレジスタ 109 フィルタ係数レジスタ 110 累算レジスタ 111 リング・メモリ 112 フィルタ係数記憶部 113 リング・メモリ先頭ポインタ 114 リング・メモリ終端ポインタ Reference Signs List 1 input device 2 data processing device 3 storage device 4 output device 7 parallel operation processing device 8 data register 9 filter coefficient register 10 accumulation register 15 ring memory 16 filter coefficient storage unit 17 ring memory head pointer 18 ring memory end pointer 19 Write Pointer 20 Read Pointer 21 Filter Coefficient Top Pointer 22 Filter Coefficient Pointer 23 Filter Coefficient Storage Unit 25 Filter Coefficient Register 26 Accumulation Register 27 Filter Coefficient Top Pointer 28 Filter Coefficient Pointer 29 Data Register 30 Accumulation Register 101 Input Device 102 Data Processing Device 103 Storage device 104 Output device 107 Parallel operation processing device 108 Data register 109 Filter coefficient register 110 Accumulation register 111 Ring memo 112 filter coefficient storage unit 113 ring memory head pointer 114 ring memory end pointer

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/00 G06F 17/10 H03H 17/02 635 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 7/00 G06F 17/10 H03H 17/02 635

Claims (12)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】分割ALU(Arithmetic and Logic Uni
t)方式のALUを用いた並列演算処理にて、入力デー
タをフィルタリングするために、入力データとフィルタ
係数との演算を並列に実行する並列演算手段を備えた演
算処理装置であって、 入力データを論理的に先頭と終端とがつながれた環状構
造となる記憶領域に順次記憶する入力データ記憶手段
と、 前記入力データ記憶手段に記憶された各入力データと1
対1に対応して配列されたフィルタ係数が記憶領域に満
たされて記憶されたフィルタ係数記憶手段と、 前記並列演算手段が並列演算処理を行うために必要とな
る予め定められたデータ量の入力データを前記入力デー
タ記憶手段から読み込んで一時記憶する入力データ一時
記憶手段と、 前記並列演算手段が並列演算処理を行うために必要とな
る予め定められたデータ量のフィルタ係数を前記フィル
タ係数記憶手段から読み込んで一時記憶するフィルタ係
数一時記憶手段と、を備え、 前記並列演算手段は、前記入力データ一時記憶手段に読
み込まれた入力データと前記フィルタ係数一時記憶手段
に読み込まれたフィルタ係数とを積和演算し、入力デー
タをフィルタリングする、 ことを特徴とする演算処理装置。
1. A division ALU (Arithmetic and Logic Uni)
t) An arithmetic processing device comprising parallel arithmetic means for executing an arithmetic operation on input data and a filter coefficient in parallel in order to filter input data in a parallel arithmetic processing using an ALU of the t) type. Input data storage means for sequentially storing the input data in a storage area having a circular structure in which a head and an end are logically connected, and each input data stored in the input data storage means
Filter coefficient storage means in which storage areas are filled with filter coefficients arranged in a one-to-one correspondence, and input of a predetermined data amount required for the parallel operation means to perform parallel operation processing Input data temporary storage means for reading and temporarily storing data from the input data storage means; and a filter coefficient storage means for storing a filter coefficient of a predetermined data amount required for the parallel operation means to perform parallel operation processing. And a filter coefficient temporary storage means for reading and temporarily storing the input data from the input data read from the input data temporary storage means and the filter coefficient read into the filter coefficient temporary storage means. An arithmetic processing device for performing a sum operation and filtering input data.
【請求項2】前記入力データ記憶手段は、前記入力デー
タ一時記憶手段が入力データの読み込みを開始する予め
決められた開始位置に合わせて入力データを配列し、 前記フィルタ係数記憶手段は、前記フィルタ係数一時記
憶手段がフィルタ係数の読み込みを開始する予め決めら
れた開始位置に合わせて、論理的に先頭と終端とがつな
がれた環状構造となる記憶領域にフィルタ係数を配列す
る、 ことを特徴とする請求項1に記載の演算処理装置。
2. The input data storage means arranges input data in accordance with a predetermined start position at which the input data temporary storage means starts reading input data, and the filter coefficient storage means comprises: The filter coefficients are arranged in a storage area having a ring structure in which a head and an end are logically connected according to a predetermined start position at which the coefficient temporary storage means starts reading the filter coefficients. The arithmetic processing device according to claim 1.
【請求項3】分割ALU方式のALUを用いた並列演算
処理にて、入力データをフィルタリングするために、入
力データとフィルタ係数との演算を並列に実行する並列
演算手段を備えた演算処理装置であって、 入力データを論理的に先頭と終端とがつながれた環状構
造となる記憶領域に順次記憶する入力データ記憶手段
と、 前記入力データ記憶手段に記憶された各入力データと1
対n(nは、2以上の自然数)に対応して配列されたフ
ィルタ係数が記憶領域に満たされて記憶されたフィルタ
係数記憶手段と、 前記並列演算手段が並列演算処理を行うために、予め定
められたデータ量となる1列の入力データ列を前記入力
データ記憶手段から読み込んで一時記憶する入力データ
一時記憶手段と、 前記並列演算手段が並列演算処理を行うために、前記入
力データ一時記憶手段に一時記憶された1列の入力デー
タ列のn倍のデータ量となるn列のフィルタ係数列を前
記フィルタ係数記憶手段から読み込んで一時記憶するフ
ィルタ係数一時記憶手段と、を備え、 前記並列演算手段は、前記入力データ一時記憶手段に読
み込まれた1列の入力データ列と前記フィルタ係数一時
記憶手段に読み込まれたn列のフィルタ係数列とを予め
定められた順番に積和演算し、入力データをフィルタリ
ングする、 ことを特徴とする演算処理装置。
3. An arithmetic processing device having parallel arithmetic means for executing an arithmetic operation on input data and a filter coefficient in parallel in order to filter input data in a parallel arithmetic processing using an ALU of a divided ALU system. Input data storage means for sequentially storing input data in a storage area having a circular structure in which a head and an end are logically connected; and each of the input data stored in the input data storage means
Filter coefficient storage means in which storage areas are filled with filter coefficients arranged corresponding to pairs n (n is a natural number of 2 or more); and An input data temporary storage unit that reads one input data sequence having a determined data amount from the input data storage unit and temporarily stores the input data sequence; and the input data temporary storage unit so that the parallel operation unit performs a parallel operation process. A filter coefficient temporary storage means for reading from the filter coefficient storage means and temporarily storing the n filter coefficient strings having a data amount of n times the input data string of one column temporarily stored in the means; The calculating means predicts one input data string read into the input data temporary storage means and n filter coefficient strings read into the filter coefficient temporary storage means. And product-sum operation in a defined order to filter the input data, it arithmetic processing unit according to claim.
【請求項4】前記フィルタ係数一時記憶手段は、前記入
力データ一時記憶手段が1列の入力データ列をm(m
は、2以上の自然数)回読み込む間に、n列のフィルタ
係数列を1回読み込む、 ことを特徴とする請求項3に記載の演算処理装置。
4. The filter coefficient temporary storage means, wherein the input data temporary storage means stores one input data string as m (m
4. The arithmetic processing device according to claim 3, wherein, while reading (n is a natural number of 2 or more) times, n filter coefficient sequences are read once. 5.
【請求項5】分割ALU方式のALUを用いた並列演算
処理にて、入力データをフィルタリングするために、入
力データとフィルタ係数との演算を並列に実行する並列
演算手段を備えた演算処理装置であって、 入力データを記憶領域に順次記憶する入力データ記憶手
段と、 前記入力データ記憶手段に記憶された各入力データと、
各入力データから出力データを算出するのに必要となる
演算とに対応して配列されたフィルタ係数が記憶領域に
満たされて記憶されたフィルタ係数記憶手段と、 前記並列演算手段が並列演算処理を行うために必要とな
る予め定められたデータ量の入力データを前記入力デー
タ記憶手段から読み込んで一時記憶する入力データ一時
記憶手段と、 前記並列演算手段が並列演算処理を行うために必要とな
る予め定められたデータ量のフィルタ係数を前記フィル
タ係数記憶手段から読み込んで一時記憶するフィルタ係
数一時記憶手段と、を備え、 前記並列演算手段は、前記入力データ一時記憶手段に読
み込まれた入力データと前記フィルタ係数一時記憶手段
に読み込まれたフィルタ係数とを積和演算し、入力デー
タをフィルタリングする、 ことを特徴とする演算処理装置。
5. An arithmetic processing unit having parallel arithmetic means for executing an arithmetic operation on input data and a filter coefficient in parallel in order to filter input data in a parallel arithmetic processing using an ALU of the divided ALU system. Input data storage means for sequentially storing input data in a storage area; each input data stored in the input data storage means;
Filter coefficient storage means in which a storage area is filled with filter coefficients arranged in correspondence with an operation required to calculate output data from each input data, and the parallel operation means executes parallel operation processing. Input data temporary storage means for reading input data of a predetermined data amount necessary for performing the input data storage means from the input data storage means and temporarily storing the input data; A filter coefficient temporary storage means for reading and temporarily storing a filter coefficient of a predetermined data amount from the filter coefficient storage means, wherein the parallel operation means includes input data read into the input data temporary storage means and Multiply and accumulate with the filter coefficient read into the filter coefficient temporary storage means and filter the input data. Arithmetic processing unit.
【請求項6】分割ALU方式のALUを用いた並列演算
処理にて、入力データをフィルタリングするために、入
力データとフィルタ係数との演算を並列に実行する並列
演算ステップを備えたフィルタ計算方法であって、 入力データを論理的に先頭と終端とがつながれた環状構
造となる記憶領域に順次記憶する入力データ記憶ステッ
プと、 前記並列演算ステップにて並列演算処理を行うために必
要となる予め定められたデータ量の入力データを、前記
入力データ記憶ステップにより記憶された記憶領域から
読み込んで一時記憶する入力データ一時記憶ステップ
と、 前記並列演算ステップにて並列演算処理を行うために必
要となる予め定められたデータ量のフィルタ係数を、前
記入力データ記憶ステップにより記憶された各入力デー
タと1対1に対応して配列されたフィルタ係数が満たさ
れて記憶された記憶領域から読み込んで一時記憶するフ
ィルタ係数一時記憶ステップと、を備え、 前記並列演算ステップは、前記入力データ一時記憶ステ
ップにて入力データ一時記憶領域に読み込まれた入力デ
ータと前記フィルタ係数一時記憶ステップにてフィルタ
係数一時記憶領域に読み込まれたフィルタ係数とを積和
演算し、入力データをフィルタリングする、 ことを特徴とするフィルタ計算方法。
6. A filter calculation method comprising a parallel operation step of executing an operation of input data and a filter coefficient in parallel in order to filter input data in a parallel operation process using an ALU of the divided ALU system. An input data storage step of sequentially storing input data in a storage area having a circular structure in which a head and an end are logically connected; and a predetermined processing required for performing parallel operation processing in the parallel operation step. An input data temporary storage step of reading input data of the obtained data amount from the storage area stored in the input data storage step and temporarily storing the input data, and a parallel operation step required for performing the parallel operation processing in the parallel operation step. The filter coefficient of the determined data amount is one-to-one with each input data stored in the input data storage step. A filter coefficient temporary storage step of reading from a storage area in which the correspondingly arranged filter coefficients are satisfied and temporarily storing the filter coefficient, and the parallel operation step includes a step of temporarily storing input data in the input data temporary storage step. A filter calculation method, comprising: performing a product-sum operation on the input data read into the storage area and the filter coefficient read into the filter coefficient temporary storage area in the filter coefficient temporary storage step to filter the input data.
【請求項7】前記並列演算ステップは、前記入力データ
一時記憶ステップにて入力データ一時記憶領域に読み込
まれた入力データが、前記記憶領域の読込み開始位置か
ら記憶領域の終端位置までの間に記憶されていた場合
と、前記記憶領域の先頭位置から読込み開始位置までの
間に記憶されていた場合とに分けて前記フィルタ係数一
時記憶ステップにてフィルタ係数一時記憶領域に読み込
まれたフィルタ係数と積和演算し、入力データをフィル
タリングする、 ことを特徴とする請求項6に記載のフィルタ計算方法。
7. The parallel operation step, wherein the input data read into the input data temporary storage area in the input data temporary storage step is stored between a reading start position of the storage area and an end position of the storage area. The filter coefficient is stored in the filter coefficient temporary storage step in the filter coefficient temporary storage step. 7. The filter calculation method according to claim 6, wherein a sum operation is performed and the input data is filtered.
【請求項8】分割ALU方式のALUを用いた並列演算
処理にて、入力データをフィルタリングするために、入
力データとフィルタ係数との演算を並列に実行する並列
演算ステップを備えたフィルタ計算方法であって、 入力データを論理的に先頭と終端とがつながれた環状構
造となる記憶領域に順次記憶する入力データ記憶ステッ
プと、 前記並列演算ステップにて並列演算処理を行うために、
予め定められたデータ量となる1列の入力データ列を、
前記入力データ記憶ステップにて記憶された記憶領域か
ら読み込んで一時記憶する入力データ一時記憶ステップ
と、 前記並列演算ステップにて並列演算処理を行うために、
前記入力データ一時記憶ステップに一時記憶された1列
の入力データ列のn倍のデータ量となるn列のフィルタ
係数列を、前記入力データ記憶ステップにより記憶され
た各入力データと1対nに対応して配列されたフィルタ
係数が満たされて記憶された記憶領域から読み込んで一
時記憶するフィルタ係数一時記憶ステップと、を備え、 前記並列演算ステップは、前記入力データ一時記憶ステ
ップにて入力データ一時記憶領域に読み込まれた1列の
入力データ列と前記フィルタ係数一時記憶ステップにて
フィルタ係数一時記憶領域に読み込まれたn列のフィル
タ係数列とを予め定められた順番に積和演算する、 ことを特徴とするフィルタ計算方法。
8. A filter calculation method comprising a parallel operation step of executing an operation of input data and a filter coefficient in parallel in order to filter input data in a parallel operation process using an ALU of the divided ALU system. An input data storage step of sequentially storing input data in a storage area having a circular structure in which a head and an end are logically connected, and in order to perform parallel operation processing in the parallel operation step,
An input data sequence of one column having a predetermined data amount is
An input data temporary storage step of reading from a storage area stored in the input data storage step and temporarily storing the input data, and performing a parallel operation process in the parallel operation step.
An n-number of filter coefficient strings, which are n times as large as the one-row input data string temporarily stored in the input data temporary storing step, are arranged in a one-to-n relationship with each input data stored in the input data storing step. A filter coefficient temporary storage step of reading from a storage area in which the correspondingly arranged filter coefficients are satisfied and temporarily storing the filter coefficient, and the parallel operation step includes a step of temporarily storing input data in the input data temporary storage step. Performing a product-sum operation in a predetermined order between the one input data string read into the storage area and the n filter coefficient strings read into the filter coefficient temporary storage area in the filter coefficient temporary storage step. A filter calculation method characterized by the following.
【請求項9】分割ALU方式のALUを用いた並列演算
処理にて、入力データをフィルタリングするために、入
力データとフィルタ係数との演算を並列に実行する並列
演算ステップを備えたフィルタ計算方法であって、 入力データを記憶領域に順次記憶する入力データ記憶ス
テップと、 前記並列演算ステップにて並列演算処理を行うために必
要となる予め定められたデータ量の入力データを、前記
入力データ記憶ステップにより記憶された記憶領域から
読み込んで一時記憶する入力データ一時記憶ステップ
と、 前記並列演算ステップにて並列演算処理を行うために必
要となる予め定められたデータ量のフィルタ係数を、前
記入力データ記憶ステップにより記憶された各入力デー
タと、各入力データから出力データを算出するのに必要
となる演算とに対応して配列されたフィルタ係数が満た
されて記憶された記憶領域から読み込んで一時記憶する
フィルタ係数一時記憶ステップと、を備え、 前記並列演算ステップは、前記入力データ一時記憶ステ
ップにて入力データ一時記憶領域に読み込まれた入力デ
ータと前記フィルタ係数一時記憶ステップにてフィルタ
係数一時記憶領域に読み込まれたフィルタ係数とを積和
演算し、入力データをフィルタリングする、 ことを特徴とするフィルタ計算方法。
9. A filter calculation method comprising a parallel operation step of executing an operation of input data and a filter coefficient in parallel in order to filter input data in a parallel operation process using an ALU of the divided ALU system. An input data storage step of sequentially storing input data in a storage area; and a predetermined data amount of input data required for performing a parallel operation process in the parallel operation step. The input data storage step of temporarily storing the input data by reading from the storage area stored by the input data storage unit, and a filter coefficient of a predetermined data amount required for performing the parallel operation processing in the parallel operation step. Required to calculate output data from each input data stored in each step and each input data And a filter coefficient temporary storage step of temporarily reading and storing from a storage area in which the filter coefficients arranged corresponding to the calculation are satisfied, and wherein the parallel operation step is performed in the input data temporary storage step. A filter for performing a product-sum operation on the input data read into the input data temporary storage area and the filter coefficient read into the filter coefficient temporary storage area in the filter coefficient temporary storage step to filter the input data. Method of calculation.
【請求項10】コンピュータを演算処理装置として機能
させるプログラムを記録するコンピュータ読み取り可能
な記録媒体であって、 該コンピュータを、入力データを論理的に先頭と終端と
がつながれた環状構造となる記憶領域に順次記憶する入
力データ記憶手段と、前記入力データ記憶手段に記憶さ
れた各入力データと1対1に対応して配列されたフィル
タ係数が記憶領域に満たされて記憶されたフィルタ係数
記憶手段と、前記並列演算手段が並列演算処理を行うた
めに、予め定められたデータ量の入力データを前記入力
データ記憶手段から読み込んで一時記憶する入力データ
一時記憶手段と、前記並列演算手段が並列演算処理を行
うために、予め定められたデータ量のフィルタ係数を前
記フィルタ係数記憶手段から読み込んで一時記憶するフ
ィルタ係数一時記憶手段と、前記入力データ一時記憶手
段に読み込まれた入力データと前記フィルタ係数一時記
憶手段に読み込まれたフィルタ係数とを入力データをフ
ィルタリングするために、分割ALU方式のALUを用
いた並列演算処理にて積和演算を並列に実行する並列演
算手段として機能させるプログラムを記録したコンピュ
ータ読み取り可能な記録媒体。
10. A computer-readable recording medium for recording a program for causing a computer to function as an arithmetic processing unit, the computer comprising: a storage area having an annular structure in which input data is logically connected to a head and an end. Input data storage means for sequentially storing the input data stored in the input data storage means, and filter coefficient storage means for storing filter coefficients arranged in a one-to-one correspondence with each input data stored in the input data storage means. An input data temporary storage unit that reads a predetermined amount of input data from the input data storage unit and temporarily stores the input data so that the parallel operation unit performs the parallel operation process; In order to perform, a filter coefficient of a predetermined data amount is read from the filter coefficient storage means and temporarily stored. A filter coefficient temporary storage means, and an ALU of a divided ALU system for filtering input data between the input data read into the input data temporary storage means and the filter coefficient read into the filter coefficient temporary storage means. A computer-readable recording medium in which a program for functioning as a parallel operation means for executing a product-sum operation in parallel in a parallel operation process is recorded.
【請求項11】コンピュータを演算処理装置として機能
させるプログラムを記録するコンピュータ読み取り可能
な記録媒体であって、 該コンピュータを、入力データを論理的に先頭と終端と
がつながれた環状構造となる記憶領域に順次記憶する入
力データ記憶手段と、前記入力データ記憶手段に記憶さ
れた各入力データと1対n(nは、2以上の自然数)に
対応して配列されたフィルタ係数が記憶領域に満たされ
て記憶されたフィルタ係数記憶手段と、前記並列演算手
段が並列演算処理を行うために、予め定められたデータ
量となる1列の入力データ列を前記入力データ記憶手段
から読み込んで一時記憶する入力データ一時記憶手段
と、前記並列演算手段が並列演算処理を行うために、前
記入力データ一時記憶手段に一時記憶された1列の入力
データ列のn倍のデータ量となるn列のフィルタ係数列
を前記フィルタ係数記憶手段から読み込んで一時記憶す
るフィルタ係数一時記憶手段と、前記入力データ一時記
憶手段に読み込まれた1列の入力データ列と前記フィル
タ係数一時記憶手段に読み込まれたn列のフィルタ係数
列とを入力データをフィルタリングするために、分割A
LU方式のALUを用いた並列演算処理にて予め定めら
れた順番の積和演算を並列に実行する並列演算手段とし
て機能させるプログラムを記録したコンピュータ読み取
り可能な記録媒体。
11. A computer-readable recording medium for recording a program for causing a computer to function as an arithmetic processing unit, the computer comprising: a storage area having an annular structure in which input data is logically connected to a head and an end. , And a storage area filled with filter coefficients arranged in a one-to-n (n is a natural number of 2 or more) correspondence with each input data stored in the input data storage means. A filter coefficient storage means stored in advance and an input for temporarily storing one input data string having a predetermined data amount from the input data storage means in order for the parallel operation means to perform parallel operation processing. The temporary data storage means and the input data of one column temporarily stored in the input data temporary storage means for the parallel operation means to perform the parallel operation processing. Filter coefficient temporary storage means for reading and temporarily storing an n-th filter coefficient sequence having a data amount n times as large as the force data sequence from the filter coefficient storage means, and an input of one column read into the input data temporary storage means In order to filter the input data, the data sequence and the n-th filter coefficient sequence read into the filter coefficient temporary storage means are divided into
A computer-readable recording medium in which a program for functioning as a parallel operation means for executing a product-sum operation in a predetermined order in parallel in a parallel operation process using an LU ALU is recorded.
【請求項12】コンピュータを演算処理装置として機能
させるプログラムを記録するコンピュータ読み取り可能
な記録媒体であって、 該コンピュータを、入力データを記憶領域に順次記憶す
る入力データ記憶手段と、前記入力データ記憶手段に記
憶された各入力データと、各入力データから出力データ
を算出するのに必要となる演算とに対応して配列された
フィルタ係数が記憶領域に満たされて記憶されたフィル
タ係数記憶手段と、前記並列演算手段が並列演算処理を
行うために、予め定められたデータ量の入力データを前
記入力データ記憶手段から読み込んで一時記憶する入力
データ一時記憶手段と、前記並列演算手段が並列演算処
理を行うために、予め定められたデータ量のフィルタ係
数を前記フィルタ係数記憶手段から読み込んで一時記憶
するフィルタ係数一時記憶手段と、前記入力データ一時
記憶手段に読み込まれた入力データと前記フィルタ係数
一時記憶手段に読み込まれたフィルタ係数とを入力デー
タをフィルタリングするために、分割ALU方式のAL
Uを用いた並列演算処理にて積和演算を並列に実行する
並列演算手段として機能させるプログラムを記録したコ
ンピュータ読み取り可能な記録媒体。
12. A computer-readable recording medium for recording a program for causing a computer to function as an arithmetic processing device, the computer comprising: input data storage means for sequentially storing input data in a storage area; A filter coefficient storage unit in which a storage area is filled with filter coefficients arranged in correspondence with each input data stored in the means and an operation required to calculate output data from each input data; An input data temporary storage unit that reads a predetermined amount of input data from the input data storage unit and temporarily stores the input data so that the parallel operation unit performs the parallel operation process; In order to perform the processing, a filter coefficient of a predetermined data amount is read from the filter coefficient storage means and temporarily stored. A filter coefficient temporary storage means for storing the input data read in the input data temporary storage means and a filter coefficient read in the filter coefficient temporary storage means for filtering input data;
A computer-readable recording medium in which a program for functioning as a parallel operation means for executing a product-sum operation in parallel in a parallel operation process using U is recorded.
JP12451498A 1998-02-26 1998-05-07 Arithmetic processing device using parallel operation by divided ALU system, filter calculation method, and recording medium Expired - Fee Related JP3324501B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12451498A JP3324501B2 (en) 1998-02-26 1998-05-07 Arithmetic processing device using parallel operation by divided ALU system, filter calculation method, and recording medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4485498 1998-02-26
JP10-44854 1998-02-26
JP12451498A JP3324501B2 (en) 1998-02-26 1998-05-07 Arithmetic processing device using parallel operation by divided ALU system, filter calculation method, and recording medium

Publications (2)

Publication Number Publication Date
JPH11312075A JPH11312075A (en) 1999-11-09
JP3324501B2 true JP3324501B2 (en) 2002-09-17

Family

ID=26384824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12451498A Expired - Fee Related JP3324501B2 (en) 1998-02-26 1998-05-07 Arithmetic processing device using parallel operation by divided ALU system, filter calculation method, and recording medium

Country Status (1)

Country Link
JP (1) JP3324501B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023223385A1 (en) * 2022-05-16 2023-11-23 日本電信電話株式会社 Signal processing device and signal processing method

Also Published As

Publication number Publication date
JPH11312075A (en) 1999-11-09

Similar Documents

Publication Publication Date Title
US20090043836A1 (en) Method and system for large number multiplication
US6189021B1 (en) Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations
US8909687B2 (en) Efficient FIR filters
US20050256917A1 (en) Address generators integrated with parallel FFT for mapping arrays in bit reversed order
CA1223664A (en) Address computation system for digital processing apparatus
US4797849A (en) Pipelined vector divide apparatus
JP3324501B2 (en) Arithmetic processing device using parallel operation by divided ALU system, filter calculation method, and recording medium
EP0474246A2 (en) Image signal processor
WO2009042107A2 (en) Shift-add based parallel multiplication
JP5262248B2 (en) Multiply and accumulate circuit
JP3579087B2 (en) Arithmetic unit and microprocessor
EP1197874B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JP2011186999A (en) Device for supporting conversion of floating point representation program to fixed point representation and support program thereof
JP3226823B2 (en) High precision high digit multiplier
JP4464380B2 (en) Digital filter
JP4295234B2 (en) FIR type digital filter
KR100315303B1 (en) Digital signal processor
JPS61213926A (en) Dsp arithmetic processing system
JPS58151644A (en) digital arithmetic device
JP2001160736A (en) Digital filter circuit
JP2002319844A (en) Digital filter and its processing method
JP3320767B2 (en) Data processing apparatus and control method thereof
JPH05738B2 (en)
JPH0652215A (en) Matrix arithmetic processor
KR100251547B1 (en) Digital Sgnal Processor

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees