JPH069029B2 - Digital signal processing processor - Google Patents

Digital signal processing processor

Info

Publication number
JPH069029B2
JPH069029B2 JP61033179A JP3317986A JPH069029B2 JP H069029 B2 JPH069029 B2 JP H069029B2 JP 61033179 A JP61033179 A JP 61033179A JP 3317986 A JP3317986 A JP 3317986A JP H069029 B2 JPH069029 B2 JP H069029B2
Authority
JP
Japan
Prior art keywords
data
memory
register
input
read
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 - Lifetime
Application number
JP61033179A
Other languages
Japanese (ja)
Other versions
JPS62190527A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP61033179A priority Critical patent/JPH069029B2/en
Publication of JPS62190527A publication Critical patent/JPS62190527A/en
Publication of JPH069029B2 publication Critical patent/JPH069029B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ディジタル信号処理プロセッサ(以下、DS
Pという)に関するものである。
The present invention relates to a digital signal processor (hereinafter, DS).
(Referred to as P).

(従来の技術) DSPは、アナログ信号からディジタル信号に変換され
た処理対象信号に対して所定のディジタル演算を施す装
置である。ディジタル信号処理の利点としては、高精度
化や、非線形処理、多重化処理、適応制御等が容易にな
ること、温度変化や経年変化に対して安定性が向上する
こと、製造や検査工程の簡易化が図れること等があげら
れる。
(Prior Art) A DSP is a device that performs a predetermined digital operation on a signal to be processed that has been converted from an analog signal to a digital signal. The advantages of digital signal processing include higher precision, easier nonlinear processing, multiplexing processing, adaptive control, etc., improved stability against temperature changes and aging changes, and simplified manufacturing and inspection processes. It can be realized.

従来、このような分野の技術としては、例えば、次のよ
うな文献に記載されるものがあった。
Conventionally, as a technique in such a field, for example, there is one described in the following documents.

文献1;特開昭56-101266号公報 文献2;「マイクロシステム コンポーネント ハンド
ブック(MICROSYSTEM COMPONENTS HANDBOOK)」、(195
4)インテル社(米)P.4-52〜4-75 文献1に記載されたDSPは、プログラムを格納する読
出し専用メモリ、データを格納するデータメモリ、シフ
ト回路、加減算器、及び累算用レジスタ等を備えてい
る。そして、内部の演算データ形式として固定小数点形
式を採用すると共に、ディジタル信号処理演算に必要な
積和演算の演算能力を強化するために、並列型乗算回路
を内蔵した構成になっている。
Reference 1; JP-A-56-101266. Reference 2; "MICROSYSTEM COMPONENTS HANDBOOK", 1 (195
4) Intel Corporation (US) P.4-52 to 4-75 The DSP described in Reference 1 is a read-only memory for storing programs, a data memory for storing data, a shift circuit, an adder / subtractor, and an accumulator. It is equipped with registers and the like. A fixed-point format is adopted as an internal operation data format, and a parallel type multiplication circuit is incorporated in order to strengthen the operation capability of the product-sum operation necessary for the digital signal processing operation.

また、文献2には、浮動小数点形式を採用した数値演算
プロセッサ80287(インテル社製)の技術が記載されて
いる。
Further, Document 2 describes a technique of a numerical arithmetic processor 80287 (manufactured by Intel Corporation) which adopts a floating point format.

(発明が解決しようとする問題点) しかしながら、従来のDSPでは、次のような問題点
(1),(2)があった。
(Problems to be Solved by the Invention) However, the conventional DSP has the following problems (1) and (2).

(1)文献1のDSPにおいて、適応制御等で係数の時
間変化の動作を必要とする場合、係数用の読出し専用メ
モリは随時、係数の更新ができないので、該メモリを使
用できない。そのため、プログラムのステップが増加し
たり、データメモリの記憶領域が無駄に使用される原因
になっていた。
(1) In the DSP of Document 1, when the time-varying operation of the coefficient is required for adaptive control or the like, the read-only memory for the coefficient cannot update the coefficient at any time, so the memory cannot be used. Therefore, the number of steps of the program is increased, and the storage area of the data memory is wasted.

さらに、この種のDSPでは、内部の演算データ形式と
して固定小数点形式を採用しているため、処理データを
[+1,−1]の区間内に変換するような操作を必要と
し、データの小数点位置を絶えず管理しなければならな
いという問題があった。
Furthermore, since this type of DSP uses the fixed-point format as the internal arithmetic data format, it is necessary to perform an operation such as converting the processed data into the [+1, -1] section, and the decimal point position of the data. There was a problem that they had to be constantly managed.

例えば、非巡回型ディジタルフィルタの演算では、多数
の乗算結果を加算するために、オーバフロー等を見込ん
で小数点位置を現在の位置からNビット右へシフトして
おき、演算後に再びNビット左へ戻すという余計な操作
を行っていた。このようなシフト処理を行うのは、固定
小数点演算形式のダイナミックレンジが狭いからであ
る。さらに、誤差の累積や精度の劣化に対する補正操作
も多く必要とするという問題があった。
For example, in the operation of the non-recursive digital filter, in order to add a large number of multiplication results, the decimal point position is shifted to the right by N bits from the current position in consideration of overflow, etc., and then returned to the left by N bits again after the operation. I was doing an extra operation. This shift processing is performed because the fixed-point arithmetic format has a narrow dynamic range. Further, there is a problem that many correction operations for accumulating errors and deterioration of accuracy are required.

(2)前記ダイナミックレンジを広くするため、文献2
のDSPでは浮動小数点形式を採用しているが、同文献
2の4−58ページに記載されているように、加算14
μs、乗算19μs(単精度)、及び27μs(倍精
度)という処理時間を必要とする。そのため、音声帯域
0〜4KHzの信号をディジタル信号処理する場合、8KHZ
サンプリングを採用するので、125μsの時間内にわ
ずか数命令実行できるのみであり、リアルタイム(実時
間)でディジタル信号処理を行うには、未だ算術演算能
力が充分でない。そこで、回路規模を大型化して算術演
算能力を向上することも考えられるが、1チップの集積
回路とする場合、それが困難になるという新たな問題が
生じる。
(2) In order to widen the dynamic range, reference 2
Floating point format is adopted in the DSP of the above, but as described on page 4-58 of the same document 2, addition 14
It requires processing times of μs, multiplication 19 μs (single precision), and 27 μs (double precision). Therefore, when digitally processing signals in the voice band 0 to 4 kHz, 8 kHz
Since sampling is adopted, only a few instructions can be executed within the time of 125 μs, and the arithmetic operation capability is not yet sufficient for performing digital signal processing in real time (real time). Therefore, it is conceivable to increase the circuit scale to improve the arithmetic operation capability, but in the case of a one-chip integrated circuit, there is a new problem that it becomes difficult.

本発明は、前記従来技術が持っていた問題点として、デ
ィジタル信号処理をリアルタイムで実行するのに適した
高速性を有していない点と、高速性を持たせると1チッ
プでの集積化が困難になる点について解決し、1チップ
での集積化が容易で、処理速度の速いDSPを提供する
ことを目的とする。
The present invention has the problems that the above-mentioned prior art has a problem that it does not have a high speed suitable for executing digital signal processing in real time, and that if it has a high speed, integration on a single chip is possible. It is an object of the present invention to solve a difficult point and to provide a DSP which can be easily integrated on one chip and has a high processing speed.

(問題点を解決するための手段) 第1の発明は、前記問題点を解決するために、DSPに
おいて、プログラムを格納する読出し用の第1のメモリ
と、前記第1のメモリのアドレスを制御する第1のアド
レス制御部と、前記プログラムにより制御されデータの
書込み及び読出しが行える第2のメモリと、前記第2の
メモリのアドレスを制御する第2のアドレス制御部と、
前記第2のメモリのデータと内部データバスのデータの
いずれか一方のデータを入力として取込み、そのデータ
を該第2のメモリ及び該内部データバスへ出力するメモ
リ書込み用レジスタと、前記第2のメモリのデータと前
記内部データバスのデータのいずれか一方のデータを保
持するメモリ読出し用レジスタとを、備えている。
(Means for Solving Problems) In order to solve the above problems, the first invention controls a read first memory for storing a program and an address of the first memory in a DSP. A first address control unit, a second memory which is controlled by the program and can write and read data, and a second address control unit which controls an address of the second memory,
A memory write register which takes in one of the data of the second memory and the data of the internal data bus as an input and outputs the data to the second memory and the internal data bus; A memory read register that holds one of the data in the memory and the data in the internal data bus is provided.

さらに、前記メモリ読出し用レジスタの内容を乗数及び
被乗数として乗算する乗算回路と、前記乗算回路の出力
データを保持する乗算レジスタと、演算結果のデータを
累算する累算用レジスタと、前記メモリ読出し用レジス
タ、前記乗算レジスタ及び前記累算用レジスタのうち
の、前記プログラムで指定された2つのレジスタの内容
を入力データとして取込み、それらの入力データの算術
論理演算を行う算術論理演算回路とが、設けられてい
る。
Furthermore, a multiplication circuit that multiplies the contents of the memory reading register as a multiplier and a multiplicand, a multiplication register that holds the output data of the multiplication circuit, an accumulation register that accumulates the operation result data, and the memory reading. An arithmetic logic operation circuit that takes in the contents of two registers designated by the program among the input registers, the multiplication registers, and the accumulation registers as input data and performs arithmetic logic operation on those input data, It is provided.

第2の発明では、プログラムを格納する読出し用の第1
のメモリと、前記第1のメモリのアドレスを制御する第
1のアドレス制御部と、前記プログラムにより制御され
データの書込み及び読出しが行える2面の第2,第3の
メモリと、前記第2,第3のメモリのアドレスを制御す
る第2のアドレス制御部と、前記第2,第3のメモリの
データと内部データバスのデータのいずれか一方のデー
タを入力として取込み、そのデータを該第2,第3のメ
モリ及び該内部データバスへ出力するメモリ書込み用レ
ジスタと、前記第2及び第3のメモリから読出された2
つのデータのうちの一方を保持する第1のメモリ読出し
用レジスタと、前記第3のメモリのデータと前記内部デ
ータバスのデータのいずれか一方のデータを保持する第
2のメモリ読出し用レジスタとを、備えている。
In the second invention, the first read-out storing the program is provided.
Memory, a first address control unit for controlling an address of the first memory, two-sided second and third memories controlled by the program and capable of writing and reading data, and the second and third memories. A second address control unit for controlling an address of the third memory, and one of the data of the second and third memories and the data of the internal data bus is taken as an input, and the data is taken as the second data. , A third memory and a memory write register for outputting to the internal data bus, and 2 read from the second and third memories.
A first memory read register that holds one of the two data, and a second memory read register that holds one of the third memory data and the internal data bus data. Is prepared.

さらに、前記第1及び第2のメモリ読出し用レジスタの
内容を乗数及び被乗数として乗算しそれを倍長データと
して出力する乗算回路と、前記倍長データをそれぞれ保
持する第1,第2の単長レジスタと、演算結果を表わす
単長データをそれぞれ累算する第1,第2の累算用レジ
スタと、前記第1,第2のメモリ読出し用レジスタ、前
記第1,第2の単長レジスタ及び前記第1,第2の累算
用レジスタのうちの、前記プログラムで指定された2つ
のレジスタの内容を入力データとして取込み、それらの
入力データの算術論理演算を行う算術論理演算回路と
が、設けられている。
Further, a multiplication circuit that multiplies the contents of the first and second memory read registers as a multiplier and a multiplicand and outputs the result as double length data, and first and second single lengths that respectively hold the double length data. A register, first and second accumulation registers for accumulating single-length data representing a calculation result, the first and second memory reading registers, the first and second single-length registers, and An arithmetic logic operation circuit that takes in the contents of two registers designated by the program as input data among the first and second accumulation registers and performs an arithmetic logic operation on those input data is provided. Has been.

(作用) 第1及び第2の発明によれば、以上のようにDSPを構
成したので、メモリ書込み用レジスタ、メモリ読出し用
レジスタ、及びALU入力側の入力データ選択手段は、
各構成要素に入力されるデータの選択を行い、第1のメ
モリに格納されたプログラムによってDSP内部での信
号処理を変更する働きがある。そのため、各種の適応信
号処理に対応可能となり、1チップでの集積化を容易に
させる。
(Operation) According to the first and second inventions, since the DSP is configured as described above, the memory write register, the memory read register, and the input data selection means on the ALU input side are:
It has a function of selecting data input to each component and changing signal processing inside the DSP by a program stored in the first memory. Therefore, various types of adaptive signal processing can be supported, and integration on one chip is facilitated.

さらに、メモリ書込み用レジスタ、メモリ読出し用レジ
スタ、及びALU入力側の入力データ選択手段は、デー
タ処理の手順を最適化した該データ処理に要するステッ
プ数を削減する働きがある。そのため、従来であれば、
1クロック・サイクルにつき1つの処理しかできなかっ
たものが、これらの書込み用レジスタ及びメモリ読出し
用レジスタにデータを一時的に蓄え、次ステップの処理
に用いることによって複数の処理の並列実行を行わせる
働きがある。その上、メモリ書込み用レジスタ及びメモ
リ読出し用レジスタは、それらのレジスタが取り扱う処
理のステップ数がほぼ均一になるように配置されてい
る。それ故、メモリ、乗算回路及びALU等の処理にお
いて、次の段階の処理(例えば、メモリ→乗算回路、乗
算回路→ALU等)へ移行する際、並列に処理されてい
る次段階の処理が完了するまでの無駄な待ち時間の削減
化を図る。これにより、DSPにおける処理速度の高速
化が図れる。従って、前記問題点を除去できるのであ
る。
Further, the memory writing register, the memory reading register, and the input data selecting means on the ALU input side have the function of optimizing the data processing procedure and reducing the number of steps required for the data processing. Therefore, if conventional
Although only one process can be performed per clock cycle, data is temporarily stored in these write register and memory read register and used in the process of the next step to execute a plurality of processes in parallel. It has a function. Moreover, the memory write register and the memory read register are arranged such that the number of processing steps handled by these registers is substantially uniform. Therefore, in the processing of the memory, the multiplication circuit, the ALU, etc., when the processing shifts to the next step (for example, memory → multiplication circuit, multiplication circuit → ALU, etc.), the next step processing which is processed in parallel is completed. Aim to reduce unnecessary waiting time. As a result, the processing speed of the DSP can be increased. Therefore, the above problems can be eliminated.

(実施例) 第1図は、本発明の実施例を示すDSP(ディジタル信
号処理プロセッサ)の要部の構成ブロック図である。
(Embodiment) FIG. 1 is a configuration block diagram of a main part of a DSP (digital signal processor) showing an embodiment of the present invention.

このDSPは、図示しない内部データバスコントローラ
で制御される内部データバス1を有し、この内部データ
バス1に制御部、記憶部、演算部及び入出力部が接続さ
れている。
This DSP has an internal data bus 1 controlled by an internal data bus controller (not shown), and a control unit, a storage unit, a calculation unit and an input / output unit are connected to this internal data bus 1.

制御部及び記憶部は、プログラムを格納する読出し用の
第1のメモリ(例えば、ROM)10、該ROM10の
アドレスを制御する第1のアドレス制御部11、該アド
レス制御部11に外部制御メモリ用データバス12を介
して接続された外部データバス端子13、及び該アドレ
ス制御部11に外部制御メモリ用アドレスバス14を介
して接続された外部アドレスバス端子15を有してい
る。さらに、制御部及び記憶部には、データの書込み読
出しが行える第2,第3のメモリ(例えば、RAM)2
0,21該RAM20,21のアドレスを制御する第2
のアドレス制御部22、メモリ書込み用レジスタ23、
第1,第2のメモリ読出し用レジスタ24,25、及び
信号選択用のセレクタ26,27,28が設けられてい
る。
The control unit and the storage unit include a first memory (for example, ROM) 10 for reading that stores a program, a first address control unit 11 that controls an address of the ROM 10, and an external control memory for the address control unit 11. It has an external data bus terminal 13 connected via a data bus 12 and an external address bus terminal 15 connected to the address control section 11 via an external control memory address bus 14. Further, the control unit and the storage unit have second and third memories (for example, RAM) 2 capable of writing and reading data.
0,21 second for controlling the address of the RAM 20,21
Address control unit 22, memory writing register 23,
First and second memory read registers 24, 25 and signal selecting selectors 26, 27, 28 are provided.

ROM10は、アドレス制御部11に対して信号の授受
を行い、該アドレス制御部11で指定されたアドレスの
プログラム命令を読出し、それを内部データバス1等へ
出力するメモリである。アドレス制御部11は、内部デ
ータバス1に対してデータの授受を行い、ROM10の
アドレスを制御する回路である。アドレス制御部11に
接続された外部データバス端子13及び外部アドレスバ
ス端子15は、外部制御メモリ(例えば、プログラムを
格納する外部ROM)を接続するためのもので、その外
部ROMの読出し用アドレスを出力したり、該読出し結
果をデータとして入力する機能を持つ。これらバス1
2,14及び端子13,15は、内部ROM10を使用
しない場合とか、プログラムのデバック時で内部ROM
10を使用できない場合等に使用される。
The ROM 10 is a memory that sends and receives signals to and from the address control unit 11, reads out a program command at an address designated by the address control unit 11, and outputs the program command to the internal data bus 1 or the like. The address control unit 11 is a circuit that sends and receives data to and from the internal data bus 1 and controls the address of the ROM 10. The external data bus terminal 13 and the external address bus terminal 15 connected to the address control unit 11 are for connecting an external control memory (for example, an external ROM storing a program), and the read address of the external ROM is used. It has a function of outputting and inputting the read result as data. These bus 1
2, 14 and terminals 13 and 15 are used for the internal ROM 10 when the internal ROM 10 is not used or when debugging a program.
It is used when 10 cannot be used.

RAM20,21は、メモリ書込み用レジスタ23内の
データをアドレス制御部22で指定されたアドレスへ書
込んだり、書込んだデータを読出してセレクタ27,2
8へ与える回路である。メモリ書込み用レジスタ23の
入力側に接続されたセレクタ26は、内部データバス1
上のデータまたはRAM20,21の読出しデータのう
ちの1つを選択して該メモリ書込み用レジスタ23に与
える回路である。メモリ書込み用レジスタ23は、セレ
クタ26の出力データを一時保持してそれをRAM2
0,21及び内部データバス1に与える回路である。セ
レクタ27はRAM20または21の読出しデータの1
つを選択してセレクタ26及びメモリ読出し用レジスタ
24に与える回路、セレクタ28はRAM21の読出し
データまたは内部データバス1上のデータの1つを選択
してメモリ読出し用レジスタ25に与える回路である。
各メモリ読出し用レジスタ24,25は、各セレクタ2
7,28の出力データを一時保持してその浮動小数点形
式のデータを演算部へ出力する回路である。
The RAMs 20 and 21 write the data in the memory write register 23 to an address designated by the address control unit 22 and read the written data to select the selectors 27 and 2.
It is a circuit to give to 8. The selector 26 connected to the input side of the memory write register 23 is connected to the internal data bus 1
It is a circuit that selects one of the above data or the read data of the RAMs 20 and 21 and supplies it to the memory write register 23. The memory write register 23 temporarily holds the output data of the selector 26 and stores it in the RAM 2
0, 21 and a circuit applied to the internal data bus 1. The selector 27 is one of the read data of the RAM 20 or 21.
The selector 28 is a circuit for selecting one of the read data of the RAM 21 and the data on the internal data bus 1 and supplying it to the memory reading register 25.
The memory read registers 24 and 25 are connected to the selectors 2 respectively.
This is a circuit for temporarily holding the output data of 7, 28 and outputting the data in the floating point format to the arithmetic unit.

演算部は、並列型乗算回路30、乗算結果を保持するた
めの乗算レジスタである第1,第2の単長レジスタ3
1,32、第1,第2の累算用レジスタ(アキュムレー
タ)33,34、セレクタ35,36、及び算術論理演
算回路(以下、ALUという)37を有している。
The arithmetic unit includes a parallel type multiplication circuit 30 and first and second single-length registers 3 which are multiplication registers for holding a multiplication result.
1, 32, first and second accumulation registers (accumulators) 33 and 34, selectors 35 and 36, and an arithmetic logic operation circuit (hereinafter referred to as ALU) 37.

乗算回路30は、メモリ読出し用レジスタ24,25に
おける浮動小数点形式の出力データを入力し、その2入
力を乗数及び被乗数として乗算し、その乗算結果を正規
化浮動小数点形式の倍長データとして第1,第2の単長
レジスタ31,32に与える回路である。第1,第2の
単長レジスタ31,32は、それぞれ乗算回路30の出
力データを一時保持し、そのうち第1の単長レジスタ3
1は保持データを内部データバス1及びセレクタ35
へ、第2の単長レジスタ32は保持データをセレクタ3
5へ、それぞれ与える回路である。第1,第2の累算用
レジスタ33,34は、演算結果をそれぞれ累算し、そ
の累算結果を浮動小数点形式のデータとして出力してセ
レクタ36に与える回路である。セレクタ35はメモリ
読出し用レジスタ24,25及び単長レジスタ31,3
2における浮動小数点形式の4出力データのうちの1つ
を選択してそれをALU37に第1の入力データとして
与える回路、セレクタ36はメモリ読出し用レジスタ2
5及び累算用レジスタ33,34における浮動小数点形
式の3出力データのうちの1つを選択してそれをALU
37に第2の入力データとして与える回路である。AL
U37は第1と第2の入力データの演算を行い、その演
算結果を正規化浮動小数点形式のデータとして出力して
累算用レジスタ33,34及び内部データバス1に与え
る回路である。
The multiplication circuit 30 inputs the output data in the floating-point format in the memory read registers 24 and 25, multiplies the two inputs as a multiplier and a multiplicand, and outputs the multiplication result as first double-length data in normalized floating-point format. , A circuit for giving to the second single length registers 31, 32. The first and second single-length registers 31 and 32 each temporarily hold the output data of the multiplication circuit 30, and among them, the first single-length register 3
Reference numeral 1 designates retained data as an internal data bus 1 and a selector 35.
The second single-length register 32 stores the held data in the selector 3
5 is a circuit to give to each. The first and second accumulation registers 33 and 34 are circuits for accumulating operation results, outputting the accumulation results as floating-point format data, and giving the same to the selector 36. The selector 35 includes the memory read registers 24 and 25 and the single length registers 31 and 3.
A circuit for selecting one of the four output data in the floating point format in 2 and supplying it to the ALU 37 as the first input data, the selector 36 is the memory read register 2
5 and one of the three output data in the floating point format in the accumulation registers 33 and 34 and select it from the ALU.
37 is a circuit which is given to 37 as the second input data. AL
A U37 is a circuit for performing an operation on the first and second input data, outputting the operation result as data in a normalized floating point format, and giving it to the accumulation registers 33 and 34 and the internal data bus 1.

入出力部は、制御部で制御されてデータの入出力を行う
回路であり、外部データを内部データバス1に入力する
入力レジスタ40、該内部データバス1上のデータを外
部に出力する出力レジスタ41、該入,出力レジスタ4
0,41に外部データバス42を介して接続された外部
データバス端子43、該内部データバス1に接続された
外部メモリ用のアドレスレジスタ44,45、該アドレ
スレジスタ44,45に外部データメモリアドレスバス
46を介して接続された外部アドレスバス端子47、及
び該内部データバス1に接続された汎用の入,出力フラ
グ48,49を備えている。
The input / output unit is a circuit that is controlled by the control unit to input / output data, and includes an input register 40 for inputting external data to the internal data bus 1 and an output register for outputting data on the internal data bus 1 to the outside. 41, the input / output register 4
0 and 41 connected to the internal data bus 42 via the external data bus 42, external memory address registers 44 and 45 connected to the internal data bus 1, and external data memory addresses to the address registers 44 and 45. An external address bus terminal 47 connected via a bus 46 and general-purpose input / output flags 48, 49 connected to the internal data bus 1 are provided.

2つのアドレスレジスタ44,45のうち、一方のアド
レスレジスタ44はディスティネーション(行き先)レ
ジスタ、他方のアドレスレジスタ45はソース(発生
元)アドレスレジスタとして機能し、データを記憶する
外部のメモリ(例えば、RAM)を使用する場合に、該
外部RAMの読出しと書込みを行うアドレスを指定する
働きを持つ。従って、アドレスレジスタ44に接続され
た外部データバス端子47には、内部RAM20,21
のメモリ容量が不足する場合等に、外部RAMが接続さ
れる。また、入,出力フラグ48,49は、演算処理の
繰返し動作の際に、DSPの外部の回路とのデータの受
渡しを制御する機能を持ち、その入,出力フラグ48,
49の使用方法は外部回路との通信制御手順によって決
定される。
Of the two address registers 44 and 45, one address register 44 functions as a destination (destination) register and the other address register 45 functions as a source (source) address register, and an external memory (for example, When a RAM) is used, it has a function of designating an address for reading and writing the external RAM. Therefore, the external data bus terminal 47 connected to the address register 44 is connected to the internal RAMs 20 and 21.
An external RAM is connected when the memory capacity is insufficient. Further, the input / output flags 48, 49 have a function of controlling the transfer of data to / from a circuit external to the DSP during the repeated operation of the arithmetic processing.
The usage of 49 is determined by the communication control procedure with the external circuit.

以上のように構成されるDSPを用いて、例えば第2図
及び第3図のような2次巡回型ディジタルフィルタ演算
を行う場合の動作を説明する。
The operation when performing the second-order cyclic digital filter operation as shown in FIGS. 2 and 3 using the DSP configured as described above will be described.

(A)第2図及び第3図の説明 ディジタルフィルタの設計手法として、アナログフィル
タの設計値をディジタルフィルタへ変換する方法を用
い、アナログ領域でのフィルタ仕様を、バンドパス特性
の f=1KHz,Q=5,A=0dB ・・・(1) として、2次巡回型の一般式 但し、ω=2Πf に対して公知の整合Z変換を行う。すると、そのZ領域
の一般式は 但し、Z=ejWT T;サンプリング周期 (=125μs) で表わすことができ、その係数値が、 a=0.1343065 a=-0.1343065 b=-1.312528 b=0.854636 ・・・(4) となる。
(A) Description of FIG. 2 and FIG. 3 As a method of designing a digital filter, a method of converting a design value of an analog filter into a digital filter is used, and a filter specification in an analog area is f 0 = 1 KHz of a bandpass characteristic. , Q = 5, A = 0 dB (1) However, a known matching Z transformation is performed on ω 0 = 2Πf 0 . Then, the general formula of the Z region is However, Z = e jWT T; can be represented by a sampling period (= 125 μs), and its coefficient value is a 0 = 0.1343065 a 1 = -0.1343065 b 1 = -1.312528 b 2 = 0.854636 (4) Become.

(3)式に対応したZ領域のフィルタ構成図を示したも
のが第2図である。
FIG. 2 shows a filter configuration diagram of the Z region corresponding to the equation (3).

第2図のフィルタは、入力信号X(Z)を入力する入力
端子100、出力信号Y(Z)を出力する出力端子10
1、係数−bを入力する端子102、係数−bを入
力する端子103、係数aを入力する端子104、係
数aを入力する端子105、1クロックの単位遅延処
理時間Z−1を持つ遅延回路106,107、乗算器1
08,109,110,111、及び加算器112,1
13で構成されている。
The filter of FIG. 2 has an input terminal 100 for inputting an input signal X (Z) and an output terminal 10 for outputting an output signal Y (Z).
1, a terminal 102 for inputting a coefficient −b 1 , a terminal 103 for inputting a coefficient −b 2 , a terminal 104 for inputting a coefficient a 0 , a terminal 105 for inputting a coefficient a 1, and a unit delay processing time Z −1 of one clock Delay circuits 106 and 107, and a multiplier 1
08,109,110,111 and adders 112,1
It is composed of 13.

この種のフィルタでは、入力信号X(Z)に対して加算
器112で(3)式の分母の演算に相当する処理が行わ
れ、さらに加算器113で(3)式の分子の演算に相当
する処理が行われた後、出力端子101から出力信号Y
(Z)を得る。
In this type of filter, the input signal X (Z) is processed by the adder 112 corresponding to the calculation of the denominator of Expression (3), and the adder 113 corresponds to the calculation of the numerator of Expression (3). Output signal Y from the output terminal 101.
Get (Z).

第2図のフィルタ演算をDSPで処理する場合の演算式
は、フィルタ内部状態信号W(Z)を用いて、 W(Z)=X(Z)-b1Z-1W(Z)-b2Z-2W(Z) ・・・(5) Y(Z)=a0W(Z)+a1Z-1W(Z) ・・・(6) と表わせる。しかるに、(4)式のフィルタ係数a
,b,bには絶対値が1を越えるもの(b
があるため、固定小数点データ形式で演算する場合に
は、係数bを分割して(5)式を次式(7)のように
変形し、その演算を行う。
The arithmetic expression when the filter operation of FIG. 2 is processed by the DSP is W (Z) = X (Z) -b 1 Z -1 W (Z) -b using the filter internal state signal W (Z). 2 Z -2 W (Z) ・ ・ ・ (5) Y (Z) = a 0 W (Z) + a 1 Z -1 W (Z) ・ ・ ・ (6) Therefore, the filter coefficient a 0 of the equation (4),
a 1 , b 1 , b 2 whose absolute value exceeds 1 (b 1 )
Therefore, when the arithmetic operation is performed in the fixed-point data format, the coefficient b 1 is divided, the equation (5) is transformed into the following equation (7), and the arithmetic operation is performed.

W(Z)=X(Z)+(-b1+1)Z-1W(Z)-Z-1W(Z) -b2Z-2W(Z) ・・・(7) この(7)式の処理内容を示すフィルタ構成図が第3図
である。第3図のものは、第2図のものに比較して、係
数−1を入力する入力端子114及び乗算器115が追
加されると共に、3入力加算器112に代えて4入力加
算器116が設けられているため、乗算処理と加算処理
が各々1回づつ増加し、全体として2ステップだけ処理
が増すだけである。
W (Z) = X (Z) + (-b 1 +1) Z -1 W (Z) -Z -1 W (Z) -b 2 Z -2 W (Z) ・ ・ ・ (7) This ( FIG. 3 is a filter configuration diagram showing the processing contents of equation 7). Compared to the one shown in FIG. 2, the one shown in FIG. 3 has an input terminal 114 for inputting a coefficient −1 and a multiplier 115, and has a four-input adder 116 instead of the three-input adder 112. Since it is provided, the multiplication processing and the addition processing are each increased once, and the processing is increased by only two steps as a whole.

そこで、以下では第2図の処理内容、即ち、(5),
(6)式を浮動小数点データ形式を用いて第1図のDS
Pで実現する動作説明を行う。
Therefore, in the following, the processing contents of FIG. 2, that is, (5),
The equation (6) is converted into the DS of FIG. 1 by using the floating point data format.
The operation realized by P will be described.

(B)第2図の処理動作 先ず、第1図のROM10の格納されたプログラムに基
き、アドレス制御部11が該ROM10内のフィルタ係
数a,a,−b,−bを読出した後、アドレス
制御部22でメモリアドレス値を決めてから、RAM2
1の該アドレス値にそれぞれレジスタ23を用いてフィ
ルタ係数−b,−b,a,aを書込む。例え
ば、第4図のメモリマップに示すように、RAM21の
アドレス128,129,130,131にそれぞれフ
ィルタ係数−b,−b,a,aを書込む。同様
に、例えばRAM20のアドレス0,1,2は、それぞ
れ第2図における遅延回路106,107の入出力用一
時記憶領域として使用し、そのアドレス0,1,2に
(5),(6)式におけるデータ値W(Z),Z−1
(Z),Z−2W(Z)を書込む。
(B) Processing operation of FIG. 2 First, based on the program stored in the ROM 10 of FIG. 1, the address control unit 11 reads the filter coefficients a 0 , a 1 , -b 1 , -b 2 in the ROM 10. After determining the memory address value in the address control unit 22, the RAM2
It writes the filter coefficient -b 1, -b 2, a 0 , a 1 using each to the address value of the first register 23. For example, as shown in the memory map of FIG. 4, the filter coefficients −b 1 , −b 2 , a 0 , a 1 are written in the addresses 128, 129, 130, 131 of the RAM 21, respectively. Similarly, for example, addresses 0, 1 and 2 of the RAM 20 are used as input / output temporary storage areas of the delay circuits 106 and 107 in FIG. 2, respectively, and (5) and (6) are assigned to the addresses 0, 1 and 2, respectively. Data value W (Z), Z −1 W in the formula
Write (Z), Z −2 W (Z).

以下、第1ステップ(1)〜第9ステップ(9)の動作
を実行する。
Hereinafter, the operations of the first step (1) to the ninth step (9) are executed.

(1)第1ステップ 入力レジスタ40の入力データX(Z)は、通常、固定
小数点データであるため、それが浮動小数点の正規化デ
ータとなるように、該入力データX(Z)をレジスタ2
5へ転送し、ROM10のプログラムで指定する正規化
定数(スケーリング定数)をレジスタ24に設定した
後、該レジスタ24,25内の2つのデータをALU3
7で正規化浮動小数点データに変換し、それをレジスタ
33に設定する。
(1) First step Since the input data X (Z) of the input register 40 is usually fixed point data, the input data X (Z) is registered in the register 2 so that it becomes the floating point normalized data.
5, and sets the normalization constant (scaling constant) specified by the program of the ROM 10 in the register 24, and then the two data in the registers 24 and 25 are set in the ALU3.
It is converted into normalized floating point data in 7 and set in the register 33.

(2)第2ステップ RAM21内のフィルタ係数−bを読出してレジスタ
25に設定すると共に、RAM20内に格納された遅延
回路107の出力Z−2W(Z)を読出してレジスタ2
4に設定する。
(2) Second Step The filter coefficient −b 2 in the RAM 21 is read out and set in the register 25, and the output Z −2 W (Z) of the delay circuit 107 stored in the RAM 20 is read out and the register 2 is read out.
Set to 4.

(3)第3ステップ レジスタ24,25内のデータ−b,Z−2W(Z)
を乗算回路30で乗算してその乗算結果−b×Z−2
W(Z)を単長レジスタ31に設定すると共に、各RA
M21,20内の次のフィルタ係数−bと遅延回路1
06の出力Z−1W(Z)とを読出してそれを各レジス
タ25,24に設定する。
(3) Data in the third step register 24, 25 -b 2 , Z -2 W (Z)
Is multiplied by the multiplication circuit 30 and the multiplication result −b 2 × Z −2
W (Z) is set in the single length register 31, and each RA
The next filter coefficient -b 1 in M21, 20 and the delay circuit 1
The output Z −1 W (Z) of 06 is read and set in each register 25, 24.

(4)第4ステップ 次の4項目(4)(i)〜(iv)の処理が並列実行され
る。
(4) Fourth Step The following four items (4) (i) to (iv) are executed in parallel.

(4)(i)各レジスタ25,24内のデータ−b
−1W(Z)を乗算回路30で乗算し、その乗算結果
−b×Z−1W(Z)を単長レジスタ31に格納す
る。
(4) (i) The data -b 1 in each register 25, 24 and Z -1 W (Z) are multiplied by the multiplication circuit 30, and the multiplication result -b 1 × Z -1 W (Z) is a single length. Store in register 31.

(4)(ii)単長レジスタ31に保持された前記乗算結
果−b×Z−2W(Z)を読出してセレクタ35を介
してALU37に入力すると共に、レジスタ33内のデ
ータX(Z)をセレクタ36を介して該ALU37に入
力し、該ALU37にて X(Z)−b×Z−2W(Z) の減算処理を行い、その減算結果をレジスタ33に設定
する。
(4) (ii) The multiplication result −b 2 × Z −2 W (Z) held in the single length register 31 is read out and input to the ALU 37 via the selector 35, and the data X (Z in the register 33 is read. ) Is input to the ALU 37 via the selector 36, and the ALU 37 performs a subtraction process of X (Z) -b 2 × Z −2 W (Z) and sets the subtraction result in the register 33.

(4)(iii)各RAM21,20内のフィルタ係数a
と遅延回路106の出力Z−1W(Z)とを読出して
各レジスタ25,24に設定する。
(4) (iii) Filter coefficient a in each RAM 21, 20
1 and the output Z −1 W (Z) of the delay circuit 106 are read and set in the registers 25 and 24.

(4)(iv)レジスタ24内のデータZ−1W(Z)を
セレクタ36を介してレジスタ23へ転送し、RAM2
0のアドレスが2となるようにアドレス制御部22をプ
ログラム制御して該アドレス2に書込み処理を行う。こ
の書込み処理により、遅延回路107の遅延処理が行わ
れることになり、Z−2W(Z)のデータ更新が実施さ
れる。
(4) (iv) The data Z −1 W (Z) in the register 24 is transferred to the register 23 via the selector 36, and the RAM 2
The address control unit 22 is program-controlled so that the address of 0 becomes 2, and the writing process is performed at the address 2. By this writing process, the delay process of the delay circuit 107 is performed, and the data of Z −2 W (Z) is updated.

(5)第5ステップ 次の3項目(5)(i)〜(iii)の処理が並列実行さ
れる。
(5) Fifth Step The following three items (5) (i) to (iii) are executed in parallel.

(5)(i)レジスタ33に格納された前記データ X(Z)−b×Z−2W(Z) を読出してALU37に入力すると共に、単長レジスタ
31に保持された前記データ−b×Z−1W(Z)を
該ALU37に入力し、該ALU37にて(5)式の右
辺の減算処理を行い、その減算結果を内部データバス1
及びセレクタ28を介してレジスタ25に格納する。
(5) (i) The data X (Z) −b 2 × Z −2 W (Z) stored in the register 33 is read and input to the ALU 37, and the data −b held in the single length register 31 is read. 1 × Z −1 W (Z) is input to the ALU 37, the right side of the expression (5) is subtracted by the ALU 37, and the subtraction result is stored in the internal data bus 1
Also, it is stored in the register 25 via the selector 28.

(5)(ii)レジスタ25,24内に保持された前記デ
ータa,Z−1W(Z)の乗算a×Z−1W(Z)
を乗算回路30で行い、その乗算結果を単長レジスタ3
1に格納する。
(5) (ii) Multiplication a 1 × Z −1 W (Z) of the data a 1 , Z −1 W (Z) held in the registers 25, 24
Is performed by the multiplication circuit 30, and the multiplication result is stored in the single length register 3
Store in 1.

(5)(iii)RAM21からフィルタ係数aを読出
し、レジスタ24に設定する。
(5) (iii) The filter coefficient a 0 is read from the RAM 21 and set in the register 24.

(6)第6ステップ 次の2項目(6)(i),(ii)の処理が並列に実行さ
れる。
(6) Sixth Step The processes of the following two items (6) (i) and (ii) are executed in parallel.

(6)(i)レジスタ25,24に保持されたデータa
,W(Z)の乗算a×W(Z)を乗算回路30で行
い、その乗算結果を単長レジスタ31に設定する。
(6) (i) Data a held in the registers 25 and 24
The multiplication circuit 30 performs multiplication a 0 × W (Z) of 0 , W (Z), and sets the multiplication result in the single length register 31.

(6)(ii)単長レジスタ31内の前記データa×W
(Z)をALU37を通過させてレジスタ34に設定す
る。
(6) (ii) The data a 0 × W in the single length register 31
(Z) is passed through the ALU 37 and set in the register 34.

(7)第7ステップ 単長レジスタ31内の前記データa×W(Z)を読出
してALU37に入力すると共に、レジスタ34内の前
記データa×W−1W(Z)を該ALU37に入力
し、該ALU37にて(6)式の右辺の加算処理を行っ
てその加算結果をレジスタ33に設定する。
(7) Seventh Step The data a 0 × W (Z) in the single length register 31 is read and input to the ALU 37, and the data a 1 × W −1 W (Z) in the register 34 is written to the ALU 37. It is input, and the addition processing of the right side of the equation (6) is performed in the ALU 37, and the addition result is set in the register 33.

(8)第8ステップ レジスタ33内の前記(6)式の加算結果は、浮動小数
点形データであるので、これを外部のD/Aコンバータ
等で使うのに適した固定小数点データにフォーマット変
換を行うために、変換用指数部オフセット値をROM1
0から発生させ、内部データバス1を通してレジスタ2
5に設定する。
(8) Since the addition result of the expression (6) in the eighth step register 33 is floating point type data, format conversion is performed to fixed point data suitable for use by an external D / A converter or the like. To do this, the exponent offset value for conversion is stored in ROM1.
0 to register 2 through internal data bus 1
Set to 5.

(9)第9ステップ レジスタ33に保持された第7ステップの演算結果と、
レジスタ25に保持された第8ステップのデータとをA
LU37に入力し、該ALU37にて浮動小数点データ
から固定少数点データへの変換を行い、その変換結果を
内部データバス1を通して出力レジスタ41に設定す
る。
(9) The operation result of the seventh step held in the ninth step register 33,
The data of the eighth step held in the register 25 is set to A
It is input to the LU 37, the floating point data is converted by the ALU 37 to fixed decimal point data, and the conversion result is set in the output register 41 through the internal data bus 1.

この第9ステップで、1回のサンプルデータに対する2
次巡回型ディジタルフィルタの演算が終了したことにな
る。以後同様に、次のサンプルデータが外部データバス
端子43から入力レジスタ40に入力され、該入力デー
タに対して上記の第1〜第9ステップの処理が行われ、
その処理結果が出力レジスタ41に設定されるという動
作が繰り返して行われる。このような繰り返し動作は、
入,出力フラグ48,49を介して授受される外部回路
とのデータによって制御される。
In this 9th step, 2
This means that the calculation of the next cyclic digital filter has been completed. Thereafter, similarly, the next sample data is input to the input register 40 from the external data bus terminal 43, and the above-mentioned first to ninth steps are performed on the input data,
The operation of setting the processing result in the output register 41 is repeated. Such repetitive operation is
It is controlled by the data with the external circuit transmitted / received via the input / output flags 48 and 49.

(C)第1図中の他の回路動作 上記(B)で使用しなかった単長レジスタ32の動作
は、次のようになる。乗算回路30では、その入力デー
タの仮数部は単長であるが、その出力データの仮数部が
倍長となるため、該出力データの上位を第1の単長レジ
スタ31に格納し、下位を第2の単長レジスタ32に格
納する。従って、浮動小数点データでは、通常、第1の
単長レジスタ31に乗算結果の上位仮数部と指数部を設
定して使用し、第2の単長レジスタ32は固定小数点デ
ータで倍長演算を行う場合に使用される。
(C) Other circuit operation in FIG. 1 The operation of the single length register 32 not used in the above (B) is as follows. In the multiplication circuit 30, the mantissa part of the input data has a single length, but the mantissa part of the output data has a double length. Therefore, the upper part of the output data is stored in the first single-length register 31, and the lower part is stored. It is stored in the second single length register 32. Therefore, in the floating point data, the upper single mantissa part and the exponent part of the multiplication result are usually set in the first single length register 31 and used, and the second single length register 32 performs the double length operation on the fixed point data. Used in case.

(D)本実施例の利点 前記第4ステップで説明したように、RAM20,2
1から2つのデータの読出し、乗算処理、RAM2
0への書込み、及び算術論理演算処理という4項目の
同時処理が行える。そのため、ディジタル信号処理演算
の基本である乗算、加算、遅延の処理に対するハードウ
ェアの並列処理性がきわめて高い、効率的なDSPを実
現できると共に、回路構成の冗長性がきわめて少ないた
め、1チップへの集積化が容易に行える。
(D) Advantages of this embodiment As described in the fourth step, the RAM 20, 2
Reading of 1 to 2 data, multiplication processing, RAM2
Simultaneous processing of 4 items of writing to 0 and arithmetic logic operation processing can be performed. Therefore, it is possible to realize an efficient DSP with extremely high parallelism of hardware for the processing of multiplication, addition, and delay, which are the basics of digital signal processing operations, and because the redundancy of the circuit configuration is extremely low, it is possible to use one chip. Can be easily integrated.

その上、パイプラインレジスタの採用により、浮動小数
点演算の処理を1命令100nsで実行するような構成も
可能である。そのため、例えば、8KHZサンプリングの
音声信号に対して 125μs/100ns=1250ステップ の処理が各サンプリング周期毎に実施でき、リアルタイ
ムのディジタル信号処理に対する演算能力が著しく向上
する。
Moreover, by adopting a pipeline register, it is possible to adopt a configuration in which a floating-point operation process is executed in one instruction of 100 ns. Therefore, for example, the processing of 125 μs / 100 ns = 1250 steps can be performed on the audio signal of 8 KHZ sampling for each sampling period, and the computing ability for real-time digital signal processing is significantly improved.

また、メモリ書込み用レジスタ23、メモリ読出し用レ
ジスタ24,25、及びALU37入力側の入力データ
選択手段(セレクタ35,36)が設けられているの
で、DSPの各構成要素に入力されるデータが選択可能
となり、ROM10に格納されたプログラムによってD
SP内部での信号処理を変更することができる。その結
果、本実施例のDSPは、各種の適応信号処理に対応可
能となり、1チップでの集積化が容易になる。
Further, since the memory write register 23, the memory read registers 24 and 25, and the input data selection means (selectors 35 and 36) on the input side of the ALU 37 are provided, the data input to each component of the DSP is selected. It becomes possible, and it becomes D by the program stored in ROM10.
The signal processing inside the SP can be changed. As a result, the DSP of this embodiment can be applied to various types of adaptive signal processing and can be easily integrated on one chip.

各種の適応信号処理としては、例えば次のようなものが
ある。
Various types of adaptive signal processing include, for example, the following.

(a)第1のメモリ読出し用レジスタ24に格納された
データと、第2のメモリ読出し用レジスタ25に格納さ
れたデータを共に、乗算回路30を経由することなく、
直接に、ALU37に入力することにより、絶対値演算
等の乗算を必要としない演算処理が可能となる。
(A) Both the data stored in the first memory read register 24 and the data stored in the second memory read register 25 do not pass through the multiplication circuit 30,
By directly inputting to the ALU 37, calculation processing such as absolute value calculation that does not require multiplication becomes possible.

(b)RAM21に格納されたデータを、第1,第2の
メモリ読出し用レジスタ24,25にそれぞれ入力し、
その内容をそれぞれ乗算回路30に入力することによ
り、従来であれば必要であったステップ数を削減し、容
易に2乗計算を実行することができる。
(B) The data stored in the RAM 21 is input to the first and second memory reading registers 24 and 25, respectively,
By inputting the contents into the multiplication circuit 30, respectively, the number of steps required in the prior art can be reduced, and the square calculation can be easily executed.

(c)RAM20とRAM21を直列に接続し、フィル
タ処理に利用できるメモリ容量を倍にすることもでき
る。
(C) The RAM 20 and the RAM 21 can be connected in series to double the memory capacity available for the filtering process.

なお、本発明は図示の実施例に限定されず、種々の変形
が可能である。
The present invention is not limited to the illustrated embodiment, and various modifications can be made.

(発明の効果) 以上詳細に説明したように、第1及び第2の発明によれ
ば、メモリ書込み用レジスタ、メモリ読出し用レジス
タ、及びALU入力側の入力データ選択手段を備えてい
るので、DSPの各構成要素に入力されるデータが選択
可能となり、第1のメモリに格納されたプログラムによ
ってDSP内部での信号処理を変更することができる。
その結果、本発明のDSPは、各種の適応信号処理に対
応可能となり、1チップでの集積化が容易になる。
(Effect of the Invention) As described in detail above, according to the first and second inventions, since the memory write register, the memory read register, and the input data selection means on the ALU input side are provided, the DSP is provided. The data input to each of the components can be selected, and the signal processing in the DSP can be changed by the program stored in the first memory.
As a result, the DSP of the present invention can be applied to various types of adaptive signal processing and can be easily integrated on one chip.

さらに、前記のようなメモリ書込み用レジスタ、メモリ
読出し用レジスタ、及びALU入力側の入力データ選択
手段を有するので、データ処理の手順を最適化し、その
データ処理に要するステップ数を削減することができ
る。そして、従来であれば1クロック・サイクルにつ
き、1つの処理しかできなかったものが、該メモリ書込
み用レジスタやメモリ読出し用レジスタにデータを一時
的に蓄え、次ステップの処理に用いることにより、複数
の処理が並列して実行可能となる。その上、メモリ書込
み用レジスタ及びメモリ読出し用レジスタは、それらの
レジスタが取り扱う処理のステップ数がほぼ均一になる
ように配置されているので、メモリ、乗算回路及びAL
U等の処理において、次の段階の処理(例えば、メモリ
→乗算回路、乗算回路→ALU等)へ移行する際、並列
に処理されている次段階の処理が完了するまでの無駄な
待ち時間を削減することができる。従って、DSPの処
理速度を高速化できる。
Furthermore, since the memory write register, the memory read register, and the input data selection means on the ALU input side are provided, the data processing procedure can be optimized and the number of steps required for the data processing can be reduced. . In the past, only one process could be performed per clock cycle, but by temporarily storing data in the memory write register or memory read register and using it in the process of the next step, a plurality of The processes can be executed in parallel. In addition, the memory write register and the memory read register are arranged so that the number of processing steps handled by the registers is substantially uniform, so that the memory, the multiplication circuit, and the AL are arranged.
In processing such as U, when shifting to the processing of the next stage (for example, memory → multiplication circuit, multiplication circuit → ALU, etc.), there is a wasteful waiting time until the processing of the next stage which is processed in parallel is completed. Can be reduced. Therefore, the processing speed of the DSP can be increased.

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

第1図は本発明の一実施例を示すDSP(ディジタル信
号処理プロセッサ)の要部の構成ブロック図、第2図及
び第3図はフィルタ構成図、第4図は第1図のメモリマ
ップである。 1……内部データバス、10……ROM、11……アド
レス制御部、20,21……RAM、22……アドレス
制御部、23……メモリ書込み用レジスタ、24,25
……メモリ読出し用レジスタ、30……乗算回路、3
1,32……単長レジスタ、33,34……累算用レジ
スタ、37……ALU。
FIG. 1 is a block diagram of the essential parts of a DSP (digital signal processor) showing an embodiment of the present invention, FIGS. 2 and 3 are filter block diagrams, and FIG. 4 is the memory map of FIG. is there. 1 ... Internal data bus, 10 ... ROM, 11 ... Address control unit, 20,21 ... RAM, 22 ... Address control unit, 23 ... Memory writing register, 24,25
...... Memory read register, 30 …… Multiplier circuit, 3
1, 32 ... Single length register, 33, 34 ... Accumulation register, 37 ... ALU.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 野村 彰 東京都港区虎ノ門1丁目7番12号 沖電気 工業株式会社内 (56)参考文献 特開 昭59−47837(JP,A) 特開 昭60−182815(JP,A) ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Akira Nomura 1-7-12 Toranomon, Minato-ku, Tokyo Oki Electric Industry Co., Ltd. (56) Reference JP-A-59-47837 (JP, A) JP-A-SHO 60-182815 (JP, A)

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】プログラムを格納する読出し用の第1のメ
モリと、 前記第1のメモリのアドレスを制御する第1のアドレス
制御部と、 前記プログラムにより制御されデータの書込み及び読出
しが行える第2のメモリと、 前記第2のメモリのアドレスを制御する第2のアドレス
制御部と、 前記第2のメモリのデータと内部データバスのデータの
いずれか一方のデータを入力として取込み、そのデータ
を該第2のメモリ及び該内部データバスへ出力するメモ
リ書込み用レジスタと、 前記第2のメモリのデータと前記内部データバスのデー
タのいずれか一方のデータを保持するメモリ読出し用レ
ジスタと、 前記メモリ読出し用レジスタの内容を乗数及び被乗数と
して乗算する乗算回路と、 前記乗算回路の出力データを保持する乗算レジスタと、 演算結果のデータを累算する累算用レジスタと、 前記メモリ読出し用レジスタ、前記乗算レジスタ及び前
記累算用レジスタのうちの、前記プログラムで指定され
た2つのレジスタの内容を入力データとして取込み、そ
れらの入力データの算術論理演算を行う算術論理演算回
路とを、 備えたことを特徴とするディジタル信号処理プロセッ
サ。
1. A first memory for reading that stores a program, a first address control unit that controls an address of the first memory, and a second memory that is capable of writing and reading data controlled by the program. Memory, a second address control unit for controlling the address of the second memory, and one of the data of the second memory and the data of the internal data bus is taken as an input, and the data is fetched as A memory write register for outputting to a second memory and the internal data bus; a memory read register for holding one of the data of the second memory and the data of the internal data bus; and the memory read. A multiplication circuit for multiplying the contents of the register for multiplication as a multiplier and a multiplicand, a multiplication register for holding output data of the multiplication circuit, An accumulation register for accumulating the data of the arithmetic result, and the contents of two registers designated by the program among the memory read register, the multiplication register and the accumulation register are taken as input data, A digital signal processor, comprising: an arithmetic logic operation circuit that performs an arithmetic logic operation on the input data.
【請求項2】プログラムを格納する読出し用の第1のメ
モリと、 前記第1のメモリのアドレスを制御する第1のアドレス
制御部と、 前記プログラムにより制御されデータの書込み及び読出
しが行える2面の第2,第3のメモリと、 前記第2,第3のメモリのアドレスを制御する第2のア
ドレス制御部と、 前記第2,第3のメモリのデータと内部データバスのデ
ータのいずれか一方のデータを入力として取込み、その
データを該第2,第3のメモリ及び該内部データバスへ
出力するメモリ書込み用レジスタと、 前記第2及び第3のメモリから読出された2つのデータ
のうちの一方を保持する第1のメモリ読出し用レジスタ
と、 前記第3のメモリのデータと前記内部データバスのデー
タのいずれか一方のデータを保持する第2のメモリ読出
し用レジスタと、 前記第1及び第2のメモリ読出し用レジスタの内容を乗
数及び被乗数として乗算しそれを倍長データとして出力
する乗算回路と、 前記倍長データをそれぞれ保持する第1,第2の単長レ
ジスタと、 演算結果を表わす単長データをそれぞれ累算する第1,
第2の累算用レジスタと、 前記第1,第2のメモリ読出し用レジスタ、前記第1,
第2の単長レジスタ及び前記第1,第2の累算用レジス
タのうちの、前記プログラムで指定された2つのレジス
タの内容を入力データとして取込み、それらの入力デー
タの算術論理演算を行う算術論理演算回路とを、 備えたことを特徴とするディジタル信号処理プロセッ
サ。
2. A first memory for reading which stores a program, a first address control section which controls an address of the first memory, and two surfaces which are controlled by the program and can write and read data. Second and third memories, a second address control unit that controls addresses of the second and third memories, and one of the data of the second and third memories and the data of the internal data bus. Of the two data read from the second and third memories, a memory write register that takes in one data as an input and outputs the data to the second and third memories and the internal data bus And a second memory read register that holds either one of the data in the third memory and the data in the internal data bus. A register, a multiplication circuit that multiplies the contents of the first and second memory read registers as a multiplier and a multiplicand, and outputs the result as double-length data; first and second single units that respectively hold the double-length data. The first register that accumulates the long register and the single length data that represents the operation result
A second accumulation register; the first and second memory reading registers;
Arithmetic for fetching as input data the contents of two registers designated by the program, of the second single-length register and the first and second accumulation registers, and performing arithmetic logic operation of those input data A digital signal processor, comprising: a logical operation circuit.
JP61033179A 1986-02-18 1986-02-18 Digital signal processing processor Expired - Lifetime JPH069029B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61033179A JPH069029B2 (en) 1986-02-18 1986-02-18 Digital signal processing processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61033179A JPH069029B2 (en) 1986-02-18 1986-02-18 Digital signal processing processor

Publications (2)

Publication Number Publication Date
JPS62190527A JPS62190527A (en) 1987-08-20
JPH069029B2 true JPH069029B2 (en) 1994-02-02

Family

ID=12379284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61033179A Expired - Lifetime JPH069029B2 (en) 1986-02-18 1986-02-18 Digital signal processing processor

Country Status (1)

Country Link
JP (1) JPH069029B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01205329A (en) * 1988-02-12 1989-08-17 Nippon Hoso Kyokai <Nhk> Multiplier

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5947837A (en) * 1982-09-10 1984-03-17 Hitachi Ltd Digital signal processor
JP2517702B2 (en) * 1984-03-01 1996-07-24 ソニー株式会社 Equalizer device

Also Published As

Publication number Publication date
JPS62190527A (en) 1987-08-20

Similar Documents

Publication Publication Date Title
US4633386A (en) Digital signal processor
US6205459B1 (en) Digital signal processor and digital signal processing system incorporating same
JPS6242296B2 (en)
US6101521A (en) Data processing method and apparatus operable on an irrational mathematical value
JP2738443B2 (en) Processor
CN114448390A (en) Biquad digital filter device and implementation method
JPH069029B2 (en) Digital signal processing processor
US5822609A (en) Processing circuit for performing a convolution computation
JPH0127463B2 (en)
JPH0199312A (en) Arithmetic unit
JPS61213926A (en) Dsp arithmetic processing system
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
KR100337716B1 (en) A circuit forming the sum of products
JP2000293357A (en) Microprocessor
TW410308B (en) Multiplication and multiplication accumulation processor under the structure of PA-RISC
CN121417853A (en) FPGA-based multi-channel cascaded arbitrary-order IIR digital filter
JP3723311B2 (en) Parallel processor
CN121441257A (en) FPGA-based time-division multiplexing IIR filter element second-order section
JP2960595B2 (en) Digital signal processor
JPH037971B2 (en)
JPS642290B2 (en)
JPH1063641A (en) Multiply-accumulate circuit with shift
JPS63318670A (en) Processor for processing digital signal
JPH01240961A (en) Dma transfer system
KR19990065805A (en) How to perform continuous Mac operations and updates