JPS61213926A - Dsp arithmetic processing system - Google Patents

Dsp arithmetic processing system

Info

Publication number
JPS61213926A
JPS61213926A JP60053710A JP5371085A JPS61213926A JP S61213926 A JPS61213926 A JP S61213926A JP 60053710 A JP60053710 A JP 60053710A JP 5371085 A JP5371085 A JP 5371085A JP S61213926 A JPS61213926 A JP S61213926A
Authority
JP
Japan
Prior art keywords
data
calculation
order
arithmetic
bit part
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP60053710A
Other languages
Japanese (ja)
Inventor
Kaoru Yamamoto
薫 山本
Kazuhiro Kaneko
和弘 金子
Toshiko Masuko
益子 敏子
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60053710A priority Critical patent/JPS61213926A/en
Publication of JPS61213926A publication Critical patent/JPS61213926A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To decrease the necessary number of cycles and to improve efficiency by performing the arithmetic of a low-order bit part corresponding to an error part before the arithmetic of a high-order bit part, and allowing high-precision arithmetic which is not limited to the word length of a data bus. CONSTITUTION:When data in an accumulator is transferred to a RAM or another register, a part to be rounded off is extracted, shifted to within a range which is handled by the data bus, and transferred. The arithmetic of the part to be rounded off, i.e. an error component is performed firstly and the result of the arithmetic regarding the high-order bit part is accumulated on the arithmetic result of the error component which is obtained previously. Consequently, the number of times of a left shift per session is reduced to one, so the necessary number of cycles is decreased greatly.

Description

【発明の詳細な説明】 (4[要〕 DSP演算処理方式において、アキュムレータ上市デー
タをRAMまたは他のレジスタに転送する際に、切り捨
てられる部分を取り出し、シフトしてデータバスで取り
扱われる範囲内に収めて転送することにより、データバ
スの語長ではなく。
Detailed Description of the Invention (4 [Required] In the DSP operation processing method, when transferring accumulator launch data to RAM or other registers, the portion to be truncated is extracted and shifted to within the range handled by the data bus. By storing and transmitting data instead of the word length of the data bus.

アキュムレータの語長にまで演算精度を上げるようにさ
れた処理方式であって、かつ誤差分に相当する下位ピン
ト部分の演算を、上位ビット部分に関する演算よりも先
に実行させることにより、所要サイクル数を大幅に減少
させたDSP演算処理方式を開示している。
This is a processing method that increases the calculation accuracy up to the word length of the accumulator, and by executing the calculation on the lower focus part corresponding to the error before the calculation on the upper bit part, the number of cycles required is This paper discloses a DSP calculation processing method that significantly reduces the amount of data.

〔産業上の利用分野〕[Industrial application field]

本発明は2例えばD S P (Digital Si
gnal Pro’c、    ’essor)による
大規模遅延等化層などの演算処理を実行するDSP演算
処理方式に関するものである。
The present invention has two applications, for example, DSP (Digital Si
The present invention relates to a DSP arithmetic processing method that executes arithmetic processing such as a large-scale delay equalization layer using GNAL Pro'c, 'essor).

〔従来の技術〕[Conventional technology]

第5図は一般的な大規模遅延等化器を構成する巡回形フ
ィルタのブロック図である。
FIG. 5 is a block diagram of a recursive filter constituting a general large-scale delay equalizer.

第5図に示す巡回形フィルタは、2次のセクション型A
I、A2.A3.・・・を縦続したもので。
The cyclic filter shown in FIG. 5 is a second-order section type A
I, A2. A3. It is a series of...

2次当りの計算処理は1例えば第1段(AI)で考える
と。
The calculation processing per secondary stage is 1, for example, if we consider the first stage (AI).

となる。なお、第5図において、符号1は遅延器。becomes. In addition, in FIG. 5, code 1 is a delay device.

2は乗算器、3は加算器であり、a、b、c、・・・は
係数を表している。DSPによりプログラム処理を行う
場合に、YNは次式により求められる。
2 is a multiplier, 3 is an adder, and a, b, c, . . . represent coefficients. When program processing is performed by a DSP, YN is determined by the following equation.

YN =aXH+bXH−++CXH−z−dYN−+
  eYn−zところで、この式の演算を行うにあたっ
て2例えば語長が26ビツトのアキュムレータ(以下D
レジスタともいう)と9語長が16ビツトのデータバス
とを備えたDSPを用いる場合、従来、Dレジスタに得
られた演算結果の下位ピント部分は。
YN =aXH+bXH-++CXH-z-dYN-+
eYn-z By the way, when calculating this equation, we need to use an accumulator with a word length of 26 bits (hereinafter D
When using a DSP equipped with a 9-word 16-bit data bus (also called a register) and a data bus with a length of 9 words and 16 bits, conventionally, the lower focused portion of the operation result obtained in the D register is

切り捨てられるようにされていた。It was meant to be cut down.

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

そのため、従来9このようなりSPを用いて。 Therefore, conventionally 9 SPs are used like this.

例えば2次の遅延等化層150セクシヨンを16ビツト
精度で実現させた場合、減衰量特性や遅延時間特性につ
いては、いずれも良好な結果が得られるが、演算結果の
下位ビット切り捨てによる誤差が累積していくことによ
り、雑音特性が劣化するという問題があった。
For example, if 150 sections of the second-order delay equalization layer are realized with 16-bit precision, good results can be obtained in terms of attenuation characteristics and delay time characteristics, but errors due to truncating the lower bits of the calculation results will accumulate. There was a problem in that the noise characteristics deteriorated as a result.

そこで3本発明者等は、データバスの語長の制限を受け
ることなく、アキュムレータの語長にまで演算精度を上
げ、特性のよい遅延等化層などを実現する手段として、
特願昭59−275407号において、切り捨てられる
下位ビットの誤差分についても演算対象とすることによ
り、演算精度を上げる演算処理方式を提案している。
Therefore, the present inventors proposed the following method as a means to increase the calculation accuracy to the word length of the accumulator without being limited by the word length of the data bus, and to realize a delay equalization layer with good characteristics.
Japanese Patent Application No. 59-275407 proposes an arithmetic processing method that increases the accuracy of arithmetic operations by also calculating errors in the lower bits that are discarded.

〔本発明に関連する技術〕[Technology related to the present invention]

上記演算処理方式では2例えば第6図に示すように、D
レジスタ5に格納されている演算結果がY、であるとき
、その上位16ビツト部分をY。
In the above arithmetic processing method, 2 For example, as shown in FIG.
When the operation result stored in register 5 is Y, its upper 16 bits are Y.

とじてRAMに転送する。それと共に従来切り捨てられ
ていた下位9ビツトを取り出し、左にシフトして、その
シフト結果の上位16ビツトY″8を誤差分としてRA
Mにストアし、この誤差分について、上位16ビツトY
Nと同様な処理を行うようにする。なお、第6図におい
て、Sは符号ビットを示し、YNにおいてシフトされた
9ビツトの上位部分には、符号ピッ)Sと同じビット値
が詰められる。
and transfer it to RAM. At the same time, the lower 9 bits, which were conventionally truncated, are taken out, shifted to the left, and the upper 16 bits of the shift result, Y''8, are used as the error in RA.
Store it in M, and store the upper 16 bits Y for this error.
The same processing as N is performed. In FIG. 6, S indicates a code bit, and the upper part of the 9 bits shifted in YN is filled with the same bit value as the code bit S.

誤差分の演算結果で下位の9ビツトから操り上がる数値
データがあれば、その繰り上がり部分を。
If there is numerical data that is manipulated from the lower 9 bits as a result of the calculation of the error, use that carried part.

上位16ビツトのY’Hに反映させる。これにより。It is reflected in the upper 16 bits of Y'H. Due to this.

各セクションにおける処理結果の誤差が累積されること
なく、データバス力月6ビツト幅であっても、26ビツ
トの精度が得られることになる。
Errors in the processing results in each section are not accumulated, and even if the data bus is 6 bits wide, an accuracy of 26 bits can be obtained.

即ち、上記演算処理方式では2例えば第7図に示すよう
に処理される。
That is, in the arithmetic processing method described above, processing is performed as shown in FIG. 7, for example.

■ まず1通常の16ビツト精度演算と同様の処理によ
り、YNの仮の値を求める。
(1) First, obtain a temporary value of YN by processing similar to normal 16-bit precision calculation.

■ そして、Y′8を貴AMに記憶すると共に、Aレジ
スター転送し、Dレジスタ5からAレジスタの内容を引
く。これにより、下位9ビツトのみが取り出されること
になる。
(2) Then, store Y'8 in your AM, transfer it to the A register, and subtract the contents of the A register from the D register 5. As a result, only the lower 9 bits are taken out.

■ これを9ビツト左にシフトする。■ Shift this to the left by 9 bits.

■ 9ビツト左にシフトした結果を残したまま。■ Leave the result of shifting 9 bits to the left as is.

先に求められた誤差分のデータr′8〜Y″N−2等の
値に基づいて、Y′8の演算を行う。処理■の結果は、
Y′9に加算される。
Y'8 is calculated based on the previously determined error data r'8 to Y''N-2, etc. The result of process (2) is:
It is added to Y'9.

■ Y′8の結果を9ビツト右にシフトする。■ Shift the result of Y'8 to the right by 9 bits.

■ 処理■の結果に、処理ので求めたY′8を加算する
(2) Add Y'8 obtained in the process (2) to the result of the process (2).

■ そして、上位の16ビツトを最終的なゾ、として、
RAMに転送する。
■ Then, using the upper 16 bits as the final
Transfer to RAM.

■ また、9ビツト左シフト等により誤差分の9ビツト
YNを抽出して、下位ビットのデータ記憶部へ転送し1
次の誤差分の演算処理に用いるようにする。
■ Also, extract the 9-bit YN error by 9-bit left shift, etc., and transfer it to the data storage section of the lower bits.
It is used for the calculation process for the next error.

以上のような方式において1例えば演算を行うDSPが
、−2から2までの範囲の値のみを取り扱うようなもの
であるとする。この場合に、上記処理■によるDレジス
タ5の右シフトは、Dレジスタ5の内容にr2−9Jの
値を掛けることにより行われる。一方、処理■等の左シ
フトは、「2」の値を9回繰り返し掛けることによって
行われる。
In the above-described system, for example, it is assumed that the DSP that performs the calculation handles only values in the range from -2 to 2. In this case, the right shift of the D register 5 by the above process (2) is performed by multiplying the contents of the D register 5 by the value of r2-9J. On the other hand, the left shift such as in process (2) is performed by repeatedly multiplying by a value of "2" nine times.

そのため、特に左シフトの場合には、シフトビット数に
相当するサイクルの演算が必要となる。
Therefore, especially in the case of a left shift, calculations of cycles corresponding to the number of shift bits are required.

従って、この方式によれば、演算精度は向上するが、所
要サイクル数が増大することになる。即ち、誤差分を全
く考慮しない従来の演算では、1セクション当り9サイ
クルで演算できるが、第7図に示した方式によれば、1
セクション当り2例えば・41サイクルになる。
Therefore, although this method improves calculation accuracy, the number of required cycles increases. In other words, in conventional calculations that do not consider errors at all, calculations can be performed in 9 cycles per section, but according to the method shown in FIG.
2, for example, 41 cycles per section.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は上記問題点の解決を図り、データバスの語長に
制限されない高精度演算を可能とすると共に、所要サイ
クル数の少ない効率のよい演算処理方式を提供する。
The present invention aims to solve the above-mentioned problems, and provides a high-precision arithmetic operation that is not limited by the word length of a data bus, and an efficient arithmetic processing method that requires a small number of cycles.

第1図は本発明の構成を示す図である。第1図において
、10はマイクロプログラムによる演算の実行制御を行
う実行制御部、11は読出し専用メモリ(ROM)、1
2は係数記憶部、13はランダムアクセスメモリ (R
AM)、14は誤差分の演算結果を記憶する下位データ
記憶部、15は上位ビット部分の演算結果を記憶する上
位データ記憶部、16は誤差分についての所定の演算を
実行する下位データ演算部、17は下位データ演算部1
6の演算結果について上位ビット部分のデータとの位合
わせを行う位合わせ処理部、18は上位ビット部分のデ
ータについて所定の演算を実行する上位データ演算部、
19は上位データ演算部18の演算結果の上位16ビツ
トを上位データ記憶部15へ転送する上位データ転送部
、20は上位データ演算部18による演算結果から左シ
フトにより下位ビット部分を抽出する下位データ抽出部
、21は下位データ抽出部20によって抽出された誤差
分のデータを下位データ記憶部14へ転送する下位デー
タ転送部を表す。
FIG. 1 is a diagram showing the configuration of the present invention. In FIG. 1, 10 is an execution control unit that controls the execution of calculations by a microprogram, 11 is a read-only memory (ROM), and 1
2 is a coefficient storage unit, 13 is a random access memory (R
AM), 14 is a lower data storage unit that stores the calculation result of the error portion, 15 is a higher data storage unit that stores the calculation result of the upper bit portion, and 16 is a lower data calculation unit that executes a predetermined calculation regarding the error portion. , 17 is the lower data calculation unit 1
18 is an alignment processing unit that performs alignment of the operation result of 6 with the data of the upper bit part; 18 is an upper data calculation unit that performs a predetermined operation on the data of the upper bit part;
19 is an upper data transfer unit that transfers the upper 16 bits of the operation result of the upper data operation unit 18 to the upper data storage unit 15; 20 is a lower data transfer unit that extracts the lower bit portion from the operation result of the upper data operation unit 18 by left shifting; The extraction unit 21 represents a lower-order data transfer unit that transfers the error data extracted by the lower-order data extraction unit 20 to the lower-order data storage unit 14.

〔作用〕[Effect]

本発明のDS、P演算処理方式は、アキュムレーり上の
データをRAMまたは他のレジスタに転送する際に、切
り捨てられる部分を取り出しシフトしてデータバスで取
り扱われる範囲内に収めて転送する。そして、切り捨て
られる部分、即ち誤差分の演算が先に実行されるような
処理構成とされ。
In the DS, P arithmetic processing method of the present invention, when data on an accumulator is transferred to a RAM or other register, a portion to be truncated is taken out and shifted to fit within the range handled by the data bus before being transferred. The processing configuration is such that the portion to be truncated, that is, the calculation for the error, is executed first.

先に実行して得られた誤差分の演算結果に、上位ピント
部分に関する演算が累積されるような構成とされる。こ
れにより、1セクション当りの左シフトの回数が1回に
削減されるので、所要サイクル数が大幅に削減されるよ
うになっている。
The configuration is such that the calculations related to the upper focus portion are accumulated on the error calculation results obtained by the previous execution. This reduces the number of left shifts per section to one, thereby significantly reducing the number of required cycles.

〔実施例〕〔Example〕

第1図に示す構成に従って1本発明の詳細な説明する。 The present invention will be described in detail according to the configuration shown in FIG.

本発明では9例えば次式。In the present invention, 9, for example, the following formula.

YH=aXH+bXN−+ TI−cX)+−11dY
、4−+  eYH−zの演算を行うにあたって、YN
を上位ビット部分     。
YH=aXH+bXN-+TI-cX)+-11dY
, 4-+ eYH-z, YN
the upper bit part.

のYMと、従来の誤差分に相当する下位ビット部分のY
Nとに分けて演算を行う。なお、この式の右辺に現れる
係数a、  b、  c、・・・は、予め係数記憶部1
2へ登録され、右辺の変数X N+ X N−1,X 
N−2+ YH−+、 Y、−、についての上位ピント
部分に関するデータx’、、 x’、、、、、・・・Y
N−2は、上位データ記憶部15へ、また下位ビット部
分に関するデータrN+ X″N−1−・・・’/”+
+−2は、下位データ記憶部14へ。
YM of the lower bit part corresponding to the conventional error
Calculation is performed separately for N. Note that the coefficients a, b, c, ... that appear on the right side of this equation are stored in the coefficient storage unit 1 in advance.
2, and the variable on the right side is X N+ X N-1,
N-2+ YH-+, data regarding the upper focus part x',, x',,,,...Y, for Y,-
N-2 is sent to the upper data storage unit 15, and data rN+ X″N-1−...'/”+ regarding the lower bit part
+-2 goes to the lower data storage section 14.

前の入力に対する演算で用意される。Prepared by operation on previous input.

特に本発明の場合には、第7図に示した処理■に相当す
る処理が、下位データ演算部16によって、YNに関す
る演算よりも、先に実行されるようになっている。
Particularly in the case of the present invention, the process corresponding to process (2) shown in FIG. 7 is executed by the lower data calculation section 16 before the calculation regarding YN.

位合わせ処理部17は、下位データ演算部16による演
算結果を9ビツト右ヘシフトして、上位データとの桁の
位置を合わせる。上位データ演算部18は、この結果を
加算する処理を含む上位データの演算を行う。以後、上
位データ転送部19゜下位データ抽出部20.下位デー
タ転送部21によって、第7図に示した処理■ないし処
理■に相当する処理が実行されるようになっている。
The alignment processing unit 17 shifts the calculation result by the lower data calculation unit 16 to the right by 9 bits to match the digit position with the upper data. The higher-order data calculation unit 18 performs calculations on the higher-order data, including the process of adding the results. Thereafter, the upper data transfer unit 19, the lower data extraction unit 20. The lower data transfer unit 21 executes processes corresponding to processes (1) to (2) shown in FIG.

これらの各処理部は1例えばROMに格納された命令群
およびDSPの命令実行機構によって固11  。
Each of these processing units is fixed by, for example, a group of instructions stored in a ROM and an instruction execution mechanism of a DSP.

定されるが、実質的に論理的な電子回路と等価であると
いってよい。
However, it can be said that it is substantially equivalent to a logical electronic circuit.

次に上記実施例による具体的な処理内容を、第2図に従
って説明する。
Next, specific processing contents according to the above embodiment will be explained with reference to FIG.

下位データ演算部16は、第2図に示すように。The lower data calculation section 16 is as shown in FIG.

係数記憶部12に記憶されている係数a、 ’b’、 
 c。
Coefficients a, 'b', stored in the coefficient storage unit 12
c.

・・・と、下位データ記憶部14に記憶されている誤差
分に相当するデータx”、、 x″N−1+・・・Y′
N−2を用いて。
. . . and data x'' corresponding to the error stored in the lower data storage unit 14, x''N-1+...Y'
Using N-2.

a *x”、+ b *X”N−1+ c *X#H−
z  d *Y’N−1−e*’1’″1□ なる演算をDレジスタを用いて行い、Y″8を算出する
a *x", + b *X"N-1+ c *X#H-
z d *Y'N-1-e*'1'''1□ is performed using the D register to calculate Y''8.

次に2位合わせ処理部17は、下位データ演算部16の
演算結果YNに、r2−9Jを掛けることにより、Y′
8を9ビツト右ヘシフトする。
Next, the second position matching processing section 17 multiplies the calculation result YN of the lower data calculation section 16 by r2-9J, thereby calculating Y'
Shift 8 to the right by 9 bits.

上位データ演算部18は9位合わせ処理部17の処理結
果をDレジスタ5に残したまま、上位データ記憶部15
に記憶しである上位ビット部分に関す□るデータX’y
、 X’N−+、・・・Y、−、を用い。
The upper data calculation section 18 stores the processing result of the 9th position matching processing section 17 in the D register 5 and stores it in the upper data storage section 15.
□Data X'y regarding the upper bit part stored in
, X'N-+,...Y,-.

a * X’H+ b * X’N−1+ C* X’
N−2−d* YN−+−e*Y′N−2 なる演算を実行し、Y′8を求める。
a * X'H+ b * X'N-1+ C* X'
Execute the calculation N-2-d*YN-+-e*Y'N-2 to find Y'8.

上位データ演算部18による演算結果は、Dレジスタ5
上に26ビツト精度で得られるが、このY、の上位16
ビソトを、上位データ転送部19により、上位データ記
憶部15へ転送する。
The calculation result by the upper data calculation unit 18 is stored in the D register 5.
The above is obtained with 26-bit precision, but the top 16 of this Y
The upper data transfer unit 19 transfers the bisoto to the upper data storage unit 15.

次に、下位データ抽出部2oは、Dレジスタ5上の上位
16ビツト部分を正の場合には“0”。
Next, the lower data extraction unit 2o sets the upper 16 bits on the D register 5 to "0" if it is positive.

負の場合にはl″で消去した後1例えば「2」を9回乗
算することにより、誤差分のデータを9ビツト左ヘシフ
トした値を持つY)lを求める。
If it is negative, it is erased by l'' and then multiplied nine times by 1, for example, by 2, to obtain Y)l having a value obtained by shifting the error data to the left by 9 bits.

最後に下位データ転送部21は、Dレジスタ5上のY″
8を下位データ記憶部14に転送する。なお、このデー
タY#おば2次段における演算および次の入力における
演算に利用されることは言うまでもない。下位データ転
送部21による転送によって、1人力に対する1セクシ
ヨンに関する演算が終了する。
Finally, the lower data transfer unit 21 transfers Y″ on the D register 5.
8 is transferred to the lower data storage section 14. It goes without saying that this data Y# is used for calculations in the secondary stage and calculations for the next input. The transfer by the lower data transfer unit 21 completes the computation for one section performed by one person.

本発明が適用されるDSPの演算に関する部分は2例え
ば第3図に示すようになっている。
The calculation-related portion of the DSP to which the present invention is applied is shown in FIG. 3, for example.

データバス30は、16ビソト幅であり、このデータバ
ス30にROMI 1.RAMI 3.Dレジスタ5お
よびデータをロードするAレジスタ31.8レジスタ3
2が接続される。
The data bus 30 has a width of 16 bits, and includes ROMI 1. RAMI 3. D register 5 and A register 31.8 register 3 to load data
2 is connected.

33は乗算器であり2乗算器33による演算結果は、一
時的にテンポラリレジスタ34−0.34−1に格納さ
れる。加算器35は、命令制御によって、Aレジスタ3
1.Bレジスタ32.テンポラリレジスタ34−0.3
4−1またはDレジスタ5の値の加算を行い、結果をD
レジスタ5に転送する。Dレジスタ5は、符号ビットを
含めて26ビツトの語長を持つ。
33 is a multiplier, and the result of operation by the 2 multiplier 33 is temporarily stored in a temporary register 34-0.34-1. The adder 35 adds the A register 3 under instruction control.
1. B register 32. Temporary register 34-0.3
4-1 or the value of D register 5, and the result is D.
Transfer to register 5. D register 5 has a word length of 26 bits including the sign bit.

この演算機構により9例えば第4図に示すように、Aレ
ジスタ31の内容(A)とBレジスタ3゛2の内容(B
)との乗算結果に、Dレジスタ5の内容(D)を加算す
る処理を、■命令処理で実行できるようになっている。
With this arithmetic mechanism, the contents of the A register 31 (A) and the contents of the B register 3'2 (B
) The process of adding the content (D) of the D register 5 to the multiplication result can be executed by the (2) instruction process.

即ち。That is.

(D)+ (A)* (B)→(D) の演算が実行できるようになっている。(D) + (A) * (B) → (D) calculations can now be executed.

実施例として、データバスが16ビツト、アキュムレー
タが26ビソトのものについて説明したが、もちろん、
他のピント幅を持つものに対しても、シフト量を変える
ことなどにより2同様に本発明を適用できる。また、遅
延等化層の例でもって説明したが9本発明は他のDSP
演算処理方弐方式同様に適用可能である。
As an example, the case where the data bus is 16 bits and the accumulator is 26 bits has been described, but of course,
The present invention can be applied to objects having other focus widths in the same way as in 2 by changing the shift amount. In addition, although the explanation was given using the example of a delay equalization layer,9 the present invention is applicable to other DSPs.
This method can be applied in the same way as the calculation processing method 2.

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

以上説明したように1本発明によれば、DSPにおける
データバスの語長による制限を受けず。
As explained above, according to the present invention, there is no restriction due to the word length of the data bus in the DSP.

アキュムレータの語長にまで演算精度を上げることがで
きるので、ディジタル信号処理における有限語長制限に
よる特性の劣化を大幅に改善することが可能になる。例
えば、従来2次の遅延等化層150セクシヨンを16ビ
ツト精度で実現させた場合、雑音特性がS/N=52d
Bであったものが9本発明により、S/Nが約15dB
はど改善され、減衰量特性、遅延時間特性、雑音特性の
すべてについて良好な結果が得られるようになった。
Since the calculation accuracy can be increased to the word length of the accumulator, it is possible to significantly improve the deterioration of characteristics due to the finite word length restriction in digital signal processing. For example, when a conventional second-order delay equalization layer with 150 sections is realized with 16-bit accuracy, the noise characteristic is S/N = 52d.
According to the present invention, the S/N has been reduced to approximately 15 dB.
The performance has been improved, and good results can now be obtained in all of the attenuation characteristics, delay time characteristics, and noise characteristics.

また1例えば第7図に示したような方式で、高精度演算
を行う場合に、1セクション当り41サイクルを要して
いたものが1本発明により、27サイクルに減少でき、
150セクシツンについては、  (41−27)X1
50=2100サイクルも所要サイクル数を削減するこ
とができた。
In addition, for example, when performing high-precision calculation using the method shown in FIG. 7, 41 cycles per section can be reduced to 27 cycles according to the present invention.
For 150 sexy tunes, (41-27)X1
The required number of cycles could be reduced by 50=2100 cycles.

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

第1図は本発明の構成を示す図、第2図は本発明の詳細
な説明図、第3図は本発明が適用されるDSPの例、第
4図は第3図図示DSPによる演算の例、第5図は一般
的な大規模遅延等化層を構成する巡回形フィルタのブロ
ック図、第6図は本発明に関連する技術の概念を説明す
る図、第7図は本発明の詳細な説明図を示す。 図中、5はDレジスタ(アキュムレータ)、12は係数
記憶部、14は下位データ記憶部、15は上位データ記
憶部、16は下位データ演算部。 17は位合わせ処理部、18は上位データ演算部。 19は上位データ転送部、20は下位データ抽出部、2
1は下位データ転送部を表す。 特許出願人   富士通株式会社 代理人弁理士  森1)寛(外1名) 17  ・ た。 理 へ 本発明1楕底゛図 −1lI!1
FIG. 1 is a diagram showing the configuration of the present invention, FIG. 2 is a detailed explanatory diagram of the present invention, FIG. 3 is an example of a DSP to which the present invention is applied, and FIG. 4 is an illustration of the calculation by the DSP shown in FIG. For example, FIG. 5 is a block diagram of a cyclic filter constituting a general large-scale delay equalization layer, FIG. 6 is a diagram explaining the concept of technology related to the present invention, and FIG. 7 is a detailed diagram of the present invention. An explanatory diagram is shown. In the figure, 5 is a D register (accumulator), 12 is a coefficient storage section, 14 is a lower data storage section, 15 is an upper data storage section, and 16 is a lower data calculation section. 17 is an alignment processing section, and 18 is an upper data calculation section. 19 is an upper data transfer unit, 20 is a lower data extraction unit, 2
1 represents a lower data transfer section. Patent applicant Hiroshi Mori (1 other person), agent patent attorney for Fujitsu Ltd. 17. To the principle, the present invention 1 elliptical base ゛Figure-1lI! 1

Claims (1)

【特許請求の範囲】 データバスの語長がアキュムレータの語長より小さく、
アキュムレータ上のデータをデータバスの語長に相当す
る上位ビット部分と、その下位ビット部分とに分割して
RAMに転送し、所定の乗算および加算を含む演算を行
うようにされたDSP演算処理方式であって、 前記上位ビット部分のデータを記憶する上位データ記憶
部(15)と、 前記下位ビット部分のデータを記憶する下位データ記憶
部(14)と、 該下位データ記憶部から読み出したデータについて、上
位データより先に前記所定の演算を行う下位データ演算
部(16)と、 該下位データ演算部によるアキュムレータ上の演算結果
を右方へシフトし、前記上位ビット部分との位合わせを
行う位合わせ処理部(17)と、前記上位データ記憶部
から読み出したデータについて、下位データに対する演
算より後に前記所定の演算を行うと共に、前記位合わせ
処理部による処理結果を加算する処理を行う上位データ
演算部(18)と、 該上位データ演算部によるアキュムレータ上の演算結果
の上位ビット部分を前記上位データ記憶部へ転送する上
位データ転送部(19)と、前記上位データ演算部によ
る演算結果を左方にシフトして下位ビット部分について
データバスで取り扱われる範囲内に収める下位データ抽
出部(20)と、 該下位データ抽出部により抽出された下位ビット部分の
データを前記下位データ記憶部へ転送する下位データ転
送部(21)とを備え、 演算精度が少なくともデータバスの語長より上がるよう
に構成されたDSP演算処理方式。
[Claims] The word length of the data bus is smaller than the word length of the accumulator;
A DSP calculation processing method that divides the data on the accumulator into an upper bit part corresponding to the word length of the data bus and its lower bit part, transfers it to RAM, and performs calculations including predetermined multiplication and addition. An upper data storage section (15) that stores the data of the upper bit part; a lower data storage section (14) that stores the data of the lower bit part; and about the data read from the lower data storage section. , a lower data calculation unit (16) that performs the predetermined calculation before the upper data, and a position that shifts the calculation result on the accumulator by the lower data calculation unit to the right and aligns it with the upper bit part. an alignment processing section (17); and an upper data operation that performs the predetermined operation on the data read from the upper data storage section after the operation on the lower order data, and adds the processing results by the alignment processing section. a high-order data transfer unit (19) that transfers the high-order bit part of the calculation result on the accumulator by the high-order data calculation unit to the high-order data storage unit; a lower-order data extractor (20) that shifts the lower-order bit portion to a range handled by the data bus; and a lower-order data extractor that transfers the data of the lower-order bit portion extracted by the lower-order data extractor to the lower-order data storage section. A DSP arithmetic processing system comprising a data transfer section (21) and configured such that the arithmetic accuracy is at least higher than the word length of the data bus.
JP60053710A 1985-03-18 1985-03-18 Dsp arithmetic processing system Pending JPS61213926A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60053710A JPS61213926A (en) 1985-03-18 1985-03-18 Dsp arithmetic processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60053710A JPS61213926A (en) 1985-03-18 1985-03-18 Dsp arithmetic processing system

Publications (1)

Publication Number Publication Date
JPS61213926A true JPS61213926A (en) 1986-09-22

Family

ID=12950383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60053710A Pending JPS61213926A (en) 1985-03-18 1985-03-18 Dsp arithmetic processing system

Country Status (1)

Country Link
JP (1) JPS61213926A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240313A (en) * 1987-03-26 1988-10-06 株式会社日立製作所 Digital processor
JPH01227612A (en) * 1988-03-07 1989-09-11 Hitachi Ltd Digital protective-relay
JPH01284009A (en) * 1988-05-10 1989-11-15 Hitachi Ltd Digital filter processing unit, digital protection relay device and digital differential relay device
JPH02155417A (en) * 1988-12-07 1990-06-14 Hitachi Ltd Input processor for digital protective relay and digital protective relay device equipped with same input processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240313A (en) * 1987-03-26 1988-10-06 株式会社日立製作所 Digital processor
JPH01227612A (en) * 1988-03-07 1989-09-11 Hitachi Ltd Digital protective-relay
JPH01284009A (en) * 1988-05-10 1989-11-15 Hitachi Ltd Digital filter processing unit, digital protection relay device and digital differential relay device
JPH02155417A (en) * 1988-12-07 1990-06-14 Hitachi Ltd Input processor for digital protective relay and digital protective relay device equipped with same input processor

Similar Documents

Publication Publication Date Title
JPH0235348B2 (en)
JP3529828B2 (en) Population count calculator
US4947363A (en) Pipelined processor for implementing the least-mean-squares algorithm
JP2738443B2 (en) Processor
US6122653A (en) Block IIR processor utilizing divided ALU operation instructions
JPH0477932B2 (en)
JPS61213926A (en) Dsp arithmetic processing system
JPH07234778A (en) Arithmetic circuit
JP3318753B2 (en) Product-sum operation device and product-sum operation method
JPH09116387A (en) Digital filter
JPH0519170B2 (en)
JPH0127463B2 (en)
WO2000022729A1 (en) Area efficient realization of coefficient architecture for bit-serial fir, iir filters and combinational/sequential logic structure with zero latency clock output
JP3221076B2 (en) Digital filter design method
JP2869668B2 (en) Discrete Fourier or cosine transform device for digital data
JPS59198020A (en) Digital signal processor
JPS61150034A (en) Operation processing system
SU783791A1 (en) Polynominal multiplying device
JP3074910B2 (en) Division device
JPH0720047B2 (en) Digital Filter
JPS58214948A (en) Pipeline arithmetic device
JPS6117415B2 (en)
JPH0828646B2 (en) Digital filter
JPS60173915A (en) Digital filter
JPS63113757A (en) Operation circuit