JPH08190445A - Signal processor - Google Patents

Signal processor

Info

Publication number
JPH08190445A
JPH08190445A JP7003455A JP345595A JPH08190445A JP H08190445 A JPH08190445 A JP H08190445A JP 7003455 A JP7003455 A JP 7003455A JP 345595 A JP345595 A JP 345595A JP H08190445 A JPH08190445 A JP H08190445A
Authority
JP
Japan
Prior art keywords
data
signal
input
program
initialization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7003455A
Other languages
Japanese (ja)
Other versions
JP3470432B2 (en
Inventor
Kazufumi Takeuchi
千史 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP00345595A priority Critical patent/JP3470432B2/en
Publication of JPH08190445A publication Critical patent/JPH08190445A/en
Application granted granted Critical
Publication of JP3470432B2 publication Critical patent/JP3470432B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

PURPOSE: To provide a digital signal processor capable of initializing necessary registers. CONSTITUTION: A signal processing program is stored in a microprogram register 11. The DSP repeats the signal processing program to perform processing of musical sound synthesis, etc. The signal processing program reads data out of an IRAM 21, a TRAM 22, etc., to a multiplier 26, an ALU 20, an accumulator 17, etc., to perform arithmetic processing, writes out data on the arithmetic result to an output port, and also writes the data back to the TRAM 21 and TRAM 22 to use them as delay data. Therefore, input data and the arithmetic result data are circulated between the IRAM 21 and TRAM 22 of a register group, and accumulator 17. Values inputted to the accumulator 17 and the register group are initial values selected by the multiplexer 16 and the signal processing program is utilized to initialize the necessary registers.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、電子楽器に用いられ
るDSPなどの信号処理装置に関し、特に、内部レジス
タのクリア動作を容易にした信号処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a signal processing device such as a DSP used in an electronic musical instrument, and more particularly to a signal processing device which facilitates a clear operation of an internal register.

【0002】[0002]

【従来の技術】電子楽器において、楽音信号の合成や効
果の付与などに用いられるDSPでは、信号処理のスタ
ート時に無意味な信号が出力されたり、残っていたデー
タによって誤った信号処理が行われないように、信号処
理スタートに先立って、内部レジスタをクリアする必要
がある。しかし、DSPは高速の応答性が要求されるた
め、この内部レジスタのクリアも高速に行う必要があ
る。
2. Description of the Related Art In an electronic musical instrument, a DSP used for synthesizing a musical tone signal or adding an effect causes a meaningless signal to be output at the start of signal processing or erroneous signal processing due to remaining data. In order to prevent this, it is necessary to clear the internal register before starting the signal processing. However, since the DSP is required to have high-speed response, it is necessary to clear this internal register at high speed.

【0003】[0003]

【発明が解決しようとする課題】従来の可変長命令タイ
プの汎用DSPにおいては、簡略な初期化プログラムを
記憶しておき、外部からの指示等に応じて実行させるな
どの方法が取られていたが、楽音信号処理用の特化され
たDSPは一般にプログラムステップ数に限りがあるも
のが多いため、このような初期化プログラムにステップ
を占有されると実際の信号処理のためのステップを十分
にとれないという問題点がある。
In the conventional variable-length instruction type general-purpose DSP, a simple initialization program is stored and executed according to an external instruction or the like. However, DSPs specialized for musical tone signal processing generally have a limited number of program steps, so if the steps are occupied by such an initialization program, the steps for actual signal processing will be sufficient. There is a problem that it cannot be taken.

【0004】また、レジスタをハード的にリセットでき
るようにDSP素子を構成することも考えられるが、D
SPをこのような構造にするとチップ面積が大きくな
り、大型化・コストアップを招くという問題点があっ
た。
It is also possible to configure the DSP element so that the register can be reset by hardware.
When the SP has such a structure, there is a problem that a chip area becomes large, resulting in an increase in size and an increase in cost.

【0005】この発明は、簡略な構成で必要なレジスタ
(データ記憶部)を初期化することができる信号処理装
置を提供することを目的とする。
An object of the present invention is to provide a signal processing device capable of initializing a necessary register (data storage unit) with a simple structure.

【0006】[0006]

【課題を解決するための手段】この出願の請求項1の発
明は、外部から入力された信号データや演算結果データ
を記憶するデータ記憶部と、与えられたデータに対して
所定の演算を実行する演算部と、演算処理プログラムを
記憶する演算処理プログラム記憶部と、該演算処理プロ
グラムに基づき、前記データ記憶部に記憶されているデ
ータを前記演算部に与えるとともに、演算部が演算を行
った演算結果データを前記データ記憶部に書き込むデー
タ転送手段とを有する信号処理装置において、前記デー
タ転送手段に、初期化指示に応じて、前記データ記憶部
から読み出されたデータに代えて初期値を前記演算部に
入力し、または、前記演算部が出力したデータに代えて
初期値を前記データ記憶部に書き込むデータ切換手段を
設けたことを特徴とする。
According to the invention of claim 1 of this application, a data storage section for storing signal data and operation result data inputted from the outside, and a predetermined operation for given data are executed. And an arithmetic processing program storage section for storing an arithmetic processing program, and based on the arithmetic processing program, the data stored in the data storage section is given to the arithmetic section, and the arithmetic section performs the arithmetic operation. In a signal processing device having a data transfer unit for writing operation result data to the data storage unit, the data transfer unit is responsive to an initialization instruction to replace the data read from the data storage unit with an initial value. Data switching means for writing an initial value into the data storage unit in place of the data input to the calculation unit or output from the calculation unit is provided. To.

【0007】この出願の請求項2の発明は、外部から入
力された信号データや演算結果データを記憶するデータ
記憶部と、与えられたデータに対して所定の演算を実行
する演算部と、演算処理プログラムを記憶する演算処理
プログラム記憶部と、該演算処理プログラムに基づき、
前記データ記憶部に記憶されているデータを前記演算部
に与えるとともに、演算部が演算を行った演算結果デー
タを前記データ記憶部に書き込むデータ転送手段とを有
する信号処理装置において、初期化プログラムを記憶す
る初期化プログラム記憶部を設け、初期化が指示された
とき、前記データ転送手段を前記初期化プログラムで動
作させる動作切換手段と、該初期化指示に応じて、前記
データ記憶部から読み出されたデータに代えて初期値を
前記演算部に入力し、または、前記演算部が出力したデ
ータに代えて初期値を前記データ記憶部に書き込むデー
タ切換手段とを設けたことを特徴とする。
According to a second aspect of the present invention, a data storage section for storing signal data and operation result data input from the outside, an operation section for executing a predetermined operation on given data, and an operation An arithmetic processing program storage unit for storing the processing program, and based on the arithmetic processing program,
In the signal processing device, the data stored in the data storage unit is given to the calculation unit, and the calculation result data obtained by the calculation unit is written into the data storage unit. An initialization program storage unit for storing the data is provided, and when the initialization is instructed, an operation switching unit that operates the data transfer unit by the initialization program, and read from the data storage unit according to the initialization instruction Data switching means for inputting an initial value to the arithmetic unit instead of the stored data, or for writing an initial value to the data storage unit in place of the data output by the arithmetic unit is provided.

【0008】この出願の請求項3の発明は、前記データ
切換手段に、複数種類の候補値から1つを初期値として
選択する手段を含むことを特徴とする。
The invention of claim 3 of this application is characterized in that the data switching means includes means for selecting one from a plurality of types of candidate values as an initial value.

【0009】この出願の請求項4の発明は、前記演算処
理プログラムまたは初期化プログラムに記述されている
指定データに基づいて行うことを特徴とする。
The invention of claim 4 of this application is characterized in that it is carried out based on specified data described in the arithmetic processing program or the initialization program.

【0010】[0010]

【作用】請求項1の信号処理装置は、信号処理プログラ
ム記憶手段に記憶されている信号処理プログラムに基づ
いて動作する。データ転送手段がデータ記憶部に記憶さ
れているデータを演算部に与え、演算部はこのデータに
対して所定の演算を行う。データ転送装置は、この演算
結果のデータをデータ記憶部に書き込む。この動作を繰
り返し行うことにより楽音信号の合成やフィルタ処理等
が実行される。初期化が指示されたときもこの信号処理
プログラムに基づく動作を継続するが、データ切換手段
により、データ記憶部から読み出されたデータに代えて
初期値が演算部に与えられ、または、演算部が出力した
データに代えて初期値がデータ記憶部に書き込まれる。
これにより、データ切換手段を切り換えて通常の信号処
理プログラムを実行するのみで、この信号処理プログラ
ムが用いるデータ記憶部を初期化することができるた
め、特別の初期化プログラムを持つ必要がない。
The signal processing apparatus according to the first aspect operates based on the signal processing program stored in the signal processing program storage means. The data transfer means gives the data stored in the data storage unit to the arithmetic unit, and the arithmetic unit performs a predetermined arithmetic operation on this data. The data transfer device writes the data of the calculation result in the data storage unit. By repeating this operation, the synthesis of the musical tone signal, the filtering process and the like are executed. When the initialization is instructed, the operation based on the signal processing program is continued, but the data switching means gives the arithmetic unit an initial value instead of the data read from the data storage unit, or the arithmetic unit. The initial value is written in the data storage section in place of the data output by.
As a result, the data storage unit used by this signal processing program can be initialized only by switching the data switching means and executing the normal signal processing program, and there is no need to have a special initialization program.

【0011】請求項2の信号処理装置は、通常は、請求
項1の信号処理装置と同様、信号処理プログラム記憶手
段に記憶されている信号処理プログラムに基づいて動作
する。一方、初期化プログラムが信号処理プログラム記
憶部とは別の初期化プログラム記憶部に記憶されてい
る。初期化が指示されたとき、データ転送手段を該初期
化プログラムで動作させるとともに、データ切換手段に
より、データ記憶部から読み出されたデータデータに代
えて初期値を演算部に与え、または、演算部が出力した
データに代えて初期値をデータ記憶部に書き込む。これ
により、簡略な初期化プログラムで必要なデータ記憶部
を迅速に初期化することができる。
The signal processing device according to claim 2 normally operates based on the signal processing program stored in the signal processing program storage means, similarly to the signal processing device according to claim 1. On the other hand, the initialization program is stored in an initialization program storage unit different from the signal processing program storage unit. When initialization is instructed, the data transfer means is operated by the initialization program, and the data switching means gives an initial value to the arithmetic section instead of the data data read from the data storage section, or An initial value is written in the data storage unit instead of the data output by the unit. As a result, the necessary data storage unit can be quickly initialized with a simple initialization program.

【0012】請求項3の信号処理装置は、データ切換手
段が書き込む初期値を複数種類の候補値のなかからから
1つ選択することができる。これにより、次にスタート
する動作に最適の値でデータ記憶部を初期化することが
できる。
In the signal processing device according to the third aspect, one initial value written by the data switching means can be selected from a plurality of types of candidate values. As a result, the data storage section can be initialized with the optimum value for the next operation to be started.

【0013】また、請求項4の発明は、前記選択を前記
演算処理プログラムまたは初期化プログラムに記述され
ている指定データに基づいて行う。これにより、プログ
ラム上で初期値の指定ができ、各ステップ毎に複数種類
の初期値で初期化が可能になる。
Further, according to the invention of claim 4, the selection is performed based on designation data described in the arithmetic processing program or the initialization program. As a result, the initial value can be designated on the program, and initialization can be performed with a plurality of types of initial values for each step.

【0014】[0014]

【実施例】図1はこの発明の実施例であるディジタルシ
グナルプロセッサ(DSP)のブロック図である。この
DSPはマイクロプログラムレジスタ11に記憶されて
いる信号処理プログラムを順次読み出してその処理を行
う。信号処理プログラムは、256ステップの水平型命
令で構成されており、マイクロプログラムレジスタ11
もこの記憶容量を備えている。マイクロプログラムレジ
スタ11への信号処理プログラムの書き込みは、ホスト
CPUインタフェース10を介してホストCPUが行
う。水平型命令は、命令コード(オペコード)、係数デ
ータ、メモリアドレスおよび初期化フィールドからなる
固定長の命令であり、同時に読み出される。読み出され
た命令コードは、デコーダ14に入力される。デコーダ
14は、この命令コードをデコード信号にデコードして
各動作部に送信する。このデコード信号を受信した動作
部は対応する動作を実行する。この動作時にメモリアド
レスや係数が用いられる。また、初期値選択フィールド
には、後述するIRAM21,TRAM22などのレジ
スタを初期化する場合の初期値を選択する初期値選択コ
ードが書き込まれる。
1 is a block diagram of a digital signal processor (DSP) according to an embodiment of the present invention. The DSP sequentially reads out the signal processing program stored in the micro program register 11 and performs its processing. The signal processing program is composed of horizontal instructions of 256 steps, and the micro program register 11
Also has this storage capacity. The host CPU writes the signal processing program to the micro program register 11 via the host CPU interface 10. The horizontal instruction is a fixed-length instruction consisting of an instruction code (opcode), coefficient data, a memory address, and an initialization field, and is read simultaneously. The read instruction code is input to the decoder 14. The decoder 14 decodes this instruction code into a decode signal and sends it to each operation unit. The operation unit that receives this decode signal executes the corresponding operation. Memory addresses and coefficients are used during this operation. Further, in the initial value selection field, an initial value selection code for selecting an initial value when initializing registers such as IRAM 21 and TRAM 22 described later is written.

【0015】テンポラリRAM(TRAM)22は、単
位遅延(Z-1)や演算の途中経過の値を記憶するレジス
タ群である。また、インプットRAM(IRAM)21
は、外部から入力される信号データや外部メモリから取
り込んだデータを記憶するレジスタ群であり、時にはテ
ンポラリレジスタとしても用いられるレジスタ群であ
る。IRAM21のデータはIBUS23に出力され
る。また、TRAM22のデータはTBUS24に出力
される。IBUS23,TBUS24には、それぞれマ
ルチプレクサ25,27が接続されている。マルチプレ
クサ27には、また、後述する内部データBUS18が
接続されているとともに、定数値データとして“1”が
入力されている。マルチプレクサ27はこの3つのバス
のデータと“1”のデータのうち1つのデータを選択し
てALU20に入力する。ALU20の他の入力端子に
は、マルチプレクサ28が接続されている。このマルチ
プレクサ28は前記マルチプレクサ25の出力値,マル
チプライヤ26の出力値,マイクロプログラムレジスタ
11から読み出される係数値または定数値としての
“1”のうち1つを選択してALU20に入力する。前
記マルチプライヤ26は、前記マルチプレクサ25によ
って選択されたIBUS23上のデータまたはTBUS
24上のデータにマイクロプログラムレジスタ11から
読み出される係数値を乗算する。ALU20では、上記
マルチプレクサ27,28により選択入力されたデータ
を加算するなど演算して出力する。通常動作時は、この
ALU20の出力は、マルチプレクサ16を介してアキ
ュムレータ17に入力される。アキュムレータ17は、
入力された値をそのとき記憶している値に累算して内部
データバス18上に出力する。内部データバス上に出力
されたデータは、メモリアドレスレジスタ,データレジ
スタ,出力ポートなどの所定の回路に読み取られるとと
もに、IRAM21,TRAM22やマルチプレクサ2
7に入力される。
The temporary RAM (TRAM) 22 is a group of registers for storing a unit delay (Z -1 ) and a value in the middle of calculation. In addition, the input RAM (IRAM) 21
Is a register group for storing signal data input from the outside or data taken in from an external memory, and is a register group that is also sometimes used as a temporary register. The data in the IRAM 21 is output to the IBUS 23. The data in the TRAM 22 is output to the TBUS 24. Multiplexers 25 and 27 are connected to the IBUS 23 and TBUS 24, respectively. The multiplexer 27 is also connected to an internal data BUS18 described later, and also receives "1" as constant value data. The multiplexer 27 selects one of the data of the three buses and the data of “1” and inputs it to the ALU 20. The multiplexer 28 is connected to the other input terminal of the ALU 20. The multiplexer 28 selects one of the output value of the multiplexer 25, the output value of the multiplier 26, "1" as a coefficient value or a constant value read from the microprogram register 11, and inputs it to the ALU 20. The multiplier 26 selects the data on the IBUS 23 or the TBUS selected by the multiplexer 25.
The data on 24 is multiplied by the coefficient value read from the micro program register 11. In the ALU 20, the data selected and input by the multiplexers 27 and 28 are calculated and output. During normal operation, the output of this ALU 20 is input to the accumulator 17 via the multiplexer 16. Accumulator 17
The input value is accumulated in the value stored at that time and output on the internal data bus 18. The data output on the internal data bus is read by a predetermined circuit such as a memory address register, a data register, an output port, and the IRAM 21, TRAM 22, and multiplexer 2
7 is input.

【0016】DSP内の以上の構成において、通常はマ
ルチプライヤ26による乗算,ALU20による加算お
よびアキュムレータ17による累算がTRAM22を含
む循環路を介して繰り返し行われ、これによる畳み込み
演算によってフィルタ回路等が実現される。
In the above structure in the DSP, the multiplication by the multiplier 26, the addition by the ALU 20 and the accumulation by the accumulator 17 are normally repeated through the circulation path including the TRAM 22, and the convolution operation by this results in a filter circuit or the like. Will be realized.

【0017】ここで、マルチプレクサ16は、ALU2
0の出力を含めて8個の入力から1つを選択してアキュ
ムレータ17に入力する回路である。8個の入力端子の
うち0番の入力端子に前記ALU20の出力が供給され
ており、1番〜7番の入力端子には、それぞれ異なる7
種類の初期値が供給される。この初期値はIRAM2
1,TRAM22などを初期化するときに書き込む値で
ある。1番,2番,3番の入力端子には、定数値として
それぞれ、“0”,“1”,“−1”が供給されてい
る。また、4番〜7番の4つの入力端子には、初期値レ
ジスタ12に記憶されている初期値が供給される。初期
値レジスタ12への初期値の書き込みは、ホストCPU
インタフェース10を介してホストCPUが行う。
Here, the multiplexer 16 is the ALU 2
It is a circuit that selects one of eight inputs including the output of 0 and inputs the selected one to the accumulator 17. The output of the ALU 20 is supplied to the 0th input terminal out of the 8 input terminals, and the 7th to 7th input terminals are different from each other.
An initial value for the type is supplied. This initial value is IRAM2
1, a value written when the TRAM 22 and the like are initialized. "0", "1", and "-1" are supplied as constant values to the first, second, and third input terminals, respectively. Further, the initial values stored in the initial value register 12 are supplied to the four input terminals Nos. 4 to 7. The initial value is written to the initial value register 12 by the host CPU.
It is performed by the host CPU via the interface 10.

【0018】マルチプレクサ16のセレクト端子にはゲ
ート回路(AND回路群)15が接続されている。この
ゲート回路には前記マイクロプログラムレジスタ11の
初期値選択フィールドに記憶されている初期値選択コー
ドが各プログラムステップ毎に入力される。このゲート
回路15の制御端子にはフラグ制御回路13のfi信号
が入力されている。fi信号はレジスタの初期化を許可
/禁止する信号であり、この信号が“1(H)”のと
き、前記ゲート回路15が開いて初期値選択コードがマ
ルチプレクサ16に入力され、ALU20から出力され
たデータ(0番)に代えて、1番〜7番の初期値がアキ
ュムレータ17に入力される。
A gate circuit (AND circuit group) 15 is connected to the select terminal of the multiplexer 16. The initial value selection code stored in the initial value selection field of the micro program register 11 is input to this gate circuit for each program step. The fi signal of the flag control circuit 13 is input to the control terminal of the gate circuit 15. The fi signal is a signal for permitting / prohibiting the initialization of the register. When this signal is "1 (H)", the gate circuit 15 is opened and the initial value selection code is input to the multiplexer 16 and output from the ALU 20. Instead of the data (0), the initial values of 1 to 7 are input to the accumulator 17.

【0019】フラグ制御回路13にはホストCPUイン
タフェース10を介してfiセット信号,fiリセット
信号が入力される。また、マイクロプログラムレジスタ
11に書き込まれた信号処理プログラム中にfiセット
信号,fiリセット信号を出力するステップが含まれて
いる場合には、デコーダ14からfiセット信号,fi
リセット信号が入力される。フラグ制御回路13はこれ
らの信号に基づいてfi信号をセット(“1”)/リセ
ット(“0”)する。上述したように、fi信号がセッ
トされたとき、ゲート回路15が開き、マイクロプログ
ラムレジスタ11の初期化フィールドに記憶されている
初期値選択コードがマルチプレクサ16に入力され、1
番〜7番の入力端子に入力されている7種類の初期値の
うちいずれか1つがアキュムレータ17に入力される。
A fi set signal and a fi reset signal are input to the flag control circuit 13 via the host CPU interface 10. When the signal processing program written in the micro program register 11 includes a step of outputting the fi set signal and the fi reset signal, the decoder 14 outputs the fi set signal and the fi reset signal.
A reset signal is input. The flag control circuit 13 sets (“1”) / reset (“0”) the fi signal based on these signals. As described above, when the fi signal is set, the gate circuit 15 is opened, the initial value selection code stored in the initialization field of the microprogram register 11 is input to the multiplexer 16, and 1
Any one of the seven types of initial values input to the No. 7 to No. 7 input terminals is input to the accumulator 17.

【0020】図2は前記フラグ制御回路13の詳細図で
ある。このフラグ制御回路13はホストCPUからfi
セット信号が入力されると、そのときの実行サイクルの
次の実行サイクルを初期化サイクルとすべく、該次の実
行サイクルの先頭からfiを“1”にセットする。ま
た、ホストCPUからfiリセット信号が入力される
と、その次の実行サイクルから信号処理サイクルにもど
すべく、該次の実行サイクルの先頭からfiをリセット
する。以下各部の動作を詳細に説明する。
FIG. 2 is a detailed diagram of the flag control circuit 13. The flag control circuit 13 sends the fi
When the set signal is input, fi is set to "1" from the beginning of the next execution cycle so that the next execution cycle of the current execution cycle is the initialization cycle. When the fi reset signal is input from the host CPU, fi is reset from the beginning of the next execution cycle so as to return to the signal processing cycle from the next execution cycle. The operation of each unit will be described in detail below.

【0021】ホストCPUからfiセット信号またはf
iリセット信号が入力されると、フリップフロップ30
がこの信号入力によりセットされる。また、フリップフ
ロップ31はfiセット信号が入力されたときセットさ
れ、fiリセット信号が入力されたときリセットされ
る。フリップフロップ30がセットすると、Q信号が
“1”となるため、OR回路33を介してフラグビジー
信号が出力される。このフラグビジー信号はホストCP
Uインタフェース10に入力される。このフラグビジー
信号がたっている間は、ホストCPUインタフェース1
0は新たなfiセット信号またはfiリセット信号の入
力を受け付けない。フリップフロップ30のQ信号はA
ND回路34に入力される。AND回路34の他の入力
端子には図示しないクロックカウンタからLASTST
EP信号が入力される。LASTSTEP信号とは、2
56ステップのマイクロプログラムのうち、最終ステッ
プ(255ステップ)である旨を示す信号である。マイ
クロプログラム(信号処理プログラム)は繰り返し実行
されるため、LASTSTEP信号は次のステップから
新たな実行サイクルが始まることを示しているため、こ
のタイミングでホストCPUの指示に応じてfiをセッ
ト/リセットする。LASTSTEP信号(“1”信
号)によりフリップフロップ30のQ信号(“1”信
号)がAND回路34を通過すると、このQ信号は、A
ND回路37,38に入力される。AND回路37,3
8の他の入力端子には、それぞれ、フリップフロップ3
1からQ信号および/Q信号(/は負論理を示す)が入
力されている。したがって、CPUから入力された信号
がfiセット信号であった場合には、AND回路37の
出力が“1”となり、CPUから入力された信号がfi
リセット信号であった場合には、AND回路38の出力
が“1”となる。
A fi set signal or f from the host CPU
When the i reset signal is input, the flip-flop 30
Is set by this signal input. The flip-flop 31 is set when the fi set signal is input and reset when the fi reset signal is input. When the flip-flop 30 is set, the Q signal becomes "1", so that the flag busy signal is output via the OR circuit 33. This flag busy signal is the host CP
It is input to the U interface 10. While this flag busy signal is on, the host CPU interface 1
0 does not accept input of a new fi set signal or fi reset signal. The Q signal of the flip-flop 30 is A
It is input to the ND circuit 34. The other input terminal of the AND circuit 34 is connected to a LASTST from a clock counter (not shown).
The EP signal is input. The LASTSTEP signal is 2
It is a signal indicating that it is the final step (255 steps) of the 56-step microprogram. Since the micro program (signal processing program) is repeatedly executed, the LASTSTEP signal indicates that a new execution cycle starts from the next step. Therefore, at this timing, fi is set / reset according to the instruction from the host CPU. . When the Q signal (“1” signal) of the flip-flop 30 passes through the AND circuit 34 by the LASTSTEP signal (“1” signal), this Q signal becomes
It is input to the ND circuits 37 and 38. AND circuits 37, 3
To the other input terminals of the flip-flop 3
Q signals and / Q signals (/ indicates negative logic) are input from 1. Therefore, when the signal input from the CPU is the fi set signal, the output of the AND circuit 37 becomes "1" and the signal input from the CPU is fi.
If it is a reset signal, the output of the AND circuit 38 becomes "1".

【0022】AND回路37の出力信号が“1”となっ
た場合には、AND回路40,OR回路44,OR回路
47およびディレイ48を介してこの“1”信号がfi
信号として出力される。なお、AND回路40にはAN
D回路34と同様のLASTSTEP信号が入力されて
いるため、AND回路34と同期して開き、この“1”
信号が通過することができる。また、ディレイ48は、
LASTSTEP信号によって形成されたAND回路3
7の“1”信号を次の実行サイクルの先頭からfi信号
として出力するためのディレイである。ディレイ48か
らfi信号(“1”信号)が出力されると、この信号は
図1のゲート回路15に入力されるとともに、該フラグ
制御回路内のAND回路46に戻される。このAND回
路46の他方の入力端子には通常“1”信号が入力され
ているため、AND回路46はこのディレイ48から戻
された“1”信号によって“1”を出力する。この
“1”信号はOR回路47を介してディレイ48に入力
されるため、こののち、AND回路46の前記他方の入
力端子(NOR回路45の出力)が“0”に落ちるまで
fi信号は“1”を継続することになる。
When the output signal of the AND circuit 37 becomes "1", this "1" signal is fi through the AND circuit 40, the OR circuit 44, the OR circuit 47 and the delay 48.
It is output as a signal. The AND circuit 40 has an AN
Since the LASTSTEP signal similar to that of the D circuit 34 is input, it opens in synchronization with the AND circuit 34, and this "1"
Signals can pass through. Also, the delay 48 is
AND circuit 3 formed by the LASTSTEP signal
This is a delay for outputting the "1" signal of No. 7 as the fi signal from the beginning of the next execution cycle. When the fi signal (“1” signal) is output from the delay 48, this signal is input to the gate circuit 15 of FIG. 1 and returned to the AND circuit 46 in the flag control circuit. Since the "1" signal is normally input to the other input terminal of the AND circuit 46, the AND circuit 46 outputs "1" by the "1" signal returned from the delay 48. Since this "1" signal is input to the delay 48 via the OR circuit 47, the fi signal is "" until the other input terminal of the AND circuit 46 (the output of the NOR circuit 45) falls to "0". 1 ”will be continued.

【0023】一方、CPUからfiリセット信号が入力
されたのち、LASTSTEP信号が入力されてAND
回路38の出力信号が“1”となった場合には、AND
回路42を介してこの信号がNOR回路44に入力され
る。AND回路42にはLASTSTEP信号が入力さ
れるため、この“1”信号が通過する。NOR回路45
はこの“1”入力により“0”を出力するため、AND
回路46はディレイ48から“1”入力が入力されてい
ても強制的に“0”に落とされ、この“0”信号がOR
回路47を介してディレイ48に入力される。なお、こ
のときOR回路44が“1”を出力することはない。し
たがって、fiリセット信号が入力されたのちLAST
STEP信号が入力されると、fi信号が“0”に落と
されることになる。なお、ディレイ48は、次の実行サ
イクルの先頭からfi信号を“0”にするためのディレ
イである。
On the other hand, after the fi reset signal is input from the CPU, the LASTSTEP signal is input and the AND signal is input.
When the output signal of the circuit 38 becomes "1", AND
This signal is input to the NOR circuit 44 via the circuit 42. Since the LASTSTEP signal is input to the AND circuit 42, this "1" signal passes. NOR circuit 45
Outputs "0" by this "1" input, so AND
The circuit 46 is forcibly dropped to "0" even if the "1" input is input from the delay 48, and this "0" signal is ORed.
It is input to the delay 48 via the circuit 47. At this time, the OR circuit 44 does not output "1". Therefore, after the fi reset signal is input, LAST
When the STEP signal is input, the fi signal is dropped to "0". The delay 48 is a delay for setting the fi signal to "0" from the beginning of the next execution cycle.

【0024】また、fiセット信号およびfiリセット
信号がマイクロプログラム中に書き込まれている場合に
はデコーダ14からこれらが入力される。デコーダ14
からfiセット信号が入力されると、AND回路42,
OR回路44,OR回路47およびディレイ48を介し
てこのfiセット信号がfi信号として出力される。な
お、AND回路42の他方の端子には反転されたLAS
TSTEP信号が入力されているため、実行サイクルの
最終ステップ以外は、デコーダ14から入力されたfi
セット信号はそのままディレイ48まで伝達される。デ
ィレイ48からfi信号が出力されると、この信号は図
1のゲート回路15に入力されるとともに、該フラグ制
御回路内のAND回路46に戻される。このAND回路
46の他方の入力端子には通常“1”信号が入力されて
いるため、AND回路46はこのディレイ48から戻さ
れた“1”信号によって“1”を出力する。この“1”
信号はOR回路47を介してディレイ48に入力される
ため、こののち、AND回路46の前記他方の入力端子
(NOR回路45の出力)が“0”に落ちるまでfi信
号は“1”を継続することになる。
When the fi set signal and the fi reset signal are written in the microprogram, they are input from the decoder 14. Decoder 14
When the fi set signal is input from the AND circuit 42,
This fi set signal is output as a fi signal via the OR circuit 44, the OR circuit 47, and the delay 48. Note that the other terminal of the AND circuit 42 has an inverted LAS
Since the TSTEP signal is input, the fi input from the decoder 14 is input except for the final step of the execution cycle.
The set signal is transmitted to the delay 48 as it is. When the fi signal is output from the delay 48, this signal is input to the gate circuit 15 of FIG. 1 and returned to the AND circuit 46 in the flag control circuit. Since the "1" signal is normally input to the other input terminal of the AND circuit 46, the AND circuit 46 outputs "1" by the "1" signal returned from the delay 48. This "1"
Since the signal is input to the delay 48 via the OR circuit 47, the fi signal continues to be "1" until the other input terminal of the AND circuit 46 (the output of the NOR circuit 45) drops to "0". Will be done.

【0025】一方、デコーダ14からfiリセット信号
が入力されると、AND回路43を介してこの信号はN
OR回路45に入力される。なお、AND回路43の他
方の端子には反転されたLASTSTEP信号が入力さ
れているため、実行サイクルの最終ステップ以外は、デ
コーダ14から入力されたfiリセット信号はそのまま
NOR回路45に入力される。NOR回路45はこの
“1”入力により“0”を出力するため、AND回路4
6はディレイ48から“1”入力が入力されていても強
制的に“0”に落とされ、この“0”信号がOR回路4
7を介してディレイ48に入力される。
On the other hand, when the fi reset signal is input from the decoder 14, this signal is set to N via the AND circuit 43.
It is input to the OR circuit 45. Since the inverted LASTSTEP signal is input to the other terminal of the AND circuit 43, the fi reset signal input from the decoder 14 is input to the NOR circuit 45 as it is, except for the final step of the execution cycle. Since the NOR circuit 45 outputs "0" by this "1" input, the AND circuit 4
6 is forcibly dropped to “0” even if the “1” input is input from the delay 48, and this “0” signal is applied to the OR circuit 4
It is input to the delay 48 via 7.

【0026】なお、図2の説明において、ホストCPU
から入力されたfiセット信号はホストCPUから入力
されるfiリセット信号でリセットするようにし、デコ
ーダ14から入力されたfiセット信号はデコーダ14
から入力されるfiリセット信号でリセットするように
説明しているが、ホストCPUから入力されたfiセッ
ト信号をデコーダ14から入力されるfiリセット信号
でリセットすることもでき、デコーダ14から入力され
たfiセット信号をホストCPUから入力されるfiリ
セット信号でリセットすることもできる。
In the description of FIG. 2, the host CPU
The fi set signal input from the host CPU is reset by the fi reset signal input from the host CPU, and the fi set signal input from the decoder 14 is reset by the decoder 14.
The fi reset signal input from the host CPU is used for resetting, but the fi set signal input from the host CPU can also be reset by the fi reset signal input from the decoder 14, and the fi reset signal input from the decoder 14 is input. The fi set signal can be reset by a fi reset signal input from the host CPU.

【0027】図3は上記の構成のフラグ制御回路にホス
トCPUからfiセット信号またはfiリセット信号が
入力された場合の各部の信号のタイミングチャートであ
る。ホストCPUからfiセット信号が入力されると、
こののちこの実行サイクルの間はフラグビジー信号が
“1”となる。この実行サイクルの最終ステップにクロ
ックカウンタからLASTSTEP信号が入力される
と、次のステップの立ち上がりでフラグビジー信号が
“0”に落ちるとともに、fi信号が立ち上がる。ホス
トCPUからfiリセット信号が入力された場合も、実
行サイクルの間はフラグビジー信号が“1”となる。こ
の実行サイクルの最終ステップにクロックカウンタから
LASTSTEP信号が入力されると、次のステップの
立ち上がりでフラグビジー信号が“0”に落ちるととも
に、上記fiセット信号とは逆にfi信号が“0”に落
ちる。
FIG. 3 is a timing chart of signals of respective parts when a fi set signal or a fi reset signal is input from the host CPU to the flag control circuit having the above configuration. When the fi set signal is input from the host CPU,
After this, the flag busy signal becomes "1" during this execution cycle. When the LASTSTEP signal is input from the clock counter in the final step of this execution cycle, the flag busy signal drops to "0" and the fi signal rises at the rising edge of the next step. Even when the fi reset signal is input from the host CPU, the flag busy signal becomes "1" during the execution cycle. When the LASTSTEP signal is input from the clock counter in the final step of this execution cycle, the flag busy signal drops to "0" at the rising edge of the next step, and the fi signal drops to "0" in contrast to the above fi set signal. .

【0028】図4は簡略なフィルタの例を示す図であ
る。また、図5(A)は図4のフィルタを上記DSPの
演算で実現するためのマイクロプログラムを示してい
る。さらに、図5(B)は同図(A)のプログラムの実
行中にfiがセットされた場合の初期化動作を説明する
図である。
FIG. 4 is a diagram showing an example of a simple filter. Further, FIG. 5A shows a microprogram for realizing the filter of FIG. 4 by the calculation of the DSP. Further, FIG. 5B is a diagram for explaining the initialization operation when fi is set during execution of the program of FIG.

【0029】図5(A)の動作を説明する。ここで、i
nit=1とは、初期化フィールドに記憶されている初
期値選択コードが1、すなわち、1番の入力端子の値を
初期値として選択することを示しており、前記fiが
“1”となったとき、セレクタ16にこの値が入力され
1番の入力端子に入力されている定数値“0”がアキュ
ムレータ17入力されることを示している。
The operation of FIG. 5A will be described. Where i
nit = 1 means that the initial value selection code stored in the initialization field is 1, that is, the value of the first input terminal is selected as the initial value, and the fi is “1”. At this time, this value is input to the selector 16 and the constant value “0” input to the first input terminal is input to the accumulator 17.

【0030】INPUTのデータをアキュムレータに
ロードする。なおINPUTはたとえばIRAM21に
設けられているレジスタである。
The INPUT data is loaded into the accumulator. The INPUT is a register provided in the IRAM 21, for example.

【0031】TRAM22内のエリアT1にある値を
マルチプライヤ26に入力し、この値に係数a1を掛け
てこの乗算結果をアキュムレータ17に累算する。した
がって、アキュムレータの内容は、INPUT+T1×
a1となる。なお、図4に示すように、エリアT1は前
サイクルの動作で記憶された遅延の内容である。
The value in the area T1 in the TRAM 22 is input to the multiplier 26, this value is multiplied by the coefficient a1, and the multiplication result is accumulated in the accumulator 17. Therefore, the contents of the accumulator are INPUT + T1 ×
It becomes a1. As shown in FIG. 4, the area T1 is the content of the delay stored in the operation of the previous cycle.

【0032】アキュムレータ17の内容をTRAM2
2内のレジスタT2に転送する。しかし、アキュムレー
タ17には未だ上記の値が残っている。
The contents of the accumulator 17 are stored in the TRAM 2
2 to the register T2. However, the above value still remains in the accumulator 17.

【0033】エリアT1にある値をマルチプライヤ2
6に入力し、この値に係数a2を掛けてこの乗算結果を
アキュムレータ17に累算する。したがって、アキュム
レータの内容は、INPUT+T1×a1+T1×a2
となる。
The value in the area T1 is assigned to the multiplier 2
6 is input, this value is multiplied by a coefficient a2, and the multiplication result is accumulated in the accumulator 17. Therefore, the contents of the accumulator are INPUT + T1 × a1 + T1 × a2
Becomes

【0034】現在アキュムレータ17に記憶している
内容をOUTに転送する。OUTは例えば出力バッファ
である。出力バッファに記憶された内容は外部回路(例
えばD/Aコンバータ)などによって適時読み取られ
る。
The contents currently stored in the accumulator 17 are transferred to OUT. OUT is, for example, an output buffer. The contents stored in the output buffer are read at appropriate times by an external circuit (for example, D / A converter) or the like.

【0035】T2に記憶されている内容をT1に書き
込む。これにより、今回のサイクルの遅延値が遅延レジ
スタT1に書き込まれる。
The contents stored in T2 are written in T1. As a result, the delay value of this cycle is written in the delay register T1.

【0036】以上の動作を繰り返すことにより、図4に
示すフィルタの動作が実行される。ところで、この動作
をスタートするとき、T1に記憶されている値は不定で
あるため、クリアしなければその後の演算に影響を及ぼ
す。そこで、このようなフィルタ動作のスタートに先立
って、初期化サイクルを実行する。初期化サイクルは、
上述したようにfiを“1”にして実行サイクルを1サ
イクル行うことによって実現される。同図(B)はこの
クリアサイクルによって各エリアに0が書き込まれてい
く手順を示している。
By repeating the above operation, the operation of the filter shown in FIG. 4 is executed. By the way, when this operation is started, the value stored in T1 is indefinite, so that if it is not cleared, it affects the subsequent calculation. Therefore, an initialization cycle is executed prior to the start of such filter operation. The initialization cycle is
As described above, it is realized by setting fi to "1" and performing one execution cycle. FIG. 6B shows a procedure in which 0 is written in each area by this clear cycle.

【0037】fi=1であると、どのような命令であっ
ても、アキュムレータ17にはinit=1で選択され
ている値“0”が入力される。通常、処理される信号は
ALU20およびアキュムレータ17を介して転送され
るため、ALU20とアキュムレータ17の間にセレク
タを入れて、ALU20からアキュムレータ17に送ら
れる信号を他の信号(初期値:例えば0)に置き換える
ことにより、このDSP内で転送されるデータを全てこ
の初期値でクリアすることができる。
When fi = 1, the value "0" selected at init = 1 is input to the accumulator 17 for any instruction. Normally, the signal to be processed is transferred via the ALU 20 and the accumulator 17, so a selector is inserted between the ALU 20 and the accumulator 17 so that the signal sent from the ALU 20 to the accumulator 17 is another signal (initial value: 0, for example). By replacing with, it is possible to clear all the data transferred in this DSP with this initial value.

【0038】この例では、簡略なフィルタ回路について
説明したが、より複雑な信号処理をする場合でも、乗
算,加算,累算の組み合わせであるため、上記のフィル
タ処理と基本的に異なるところはない。したがって、ど
のような複雑な信号処理であっても、そのスタート前に
fi=1にして、信号処理プログラムを1実行サイクル
分実行することにより初期化サイクルが実行され、信号
処理に必要なレジスタを全て所定の初期値にクリアする
ことができる。
In this example, a simple filter circuit is explained, but even in the case of performing more complicated signal processing, since it is a combination of multiplication, addition and accumulation, there is basically no difference from the above filter processing. . Therefore, in any complicated signal processing, the initialization cycle is executed by setting fi = 1 before the start and executing the signal processing program for one execution cycle, and registers necessary for signal processing are set. All can be cleared to predetermined initial values.

【0039】図6にこの発明の第2の実施例であるDS
Pのブロック図を示す。この実施例において、図1に示
した第1の実施例と構成において同一の部分は同一番号
を付して説明を省略する。この実施例では、通常動作の
ための信号処理プログラムとは別に、レジスタ初期化用
の初期化プログラムを内蔵し、初期化サイクル時にはこ
れを起動することによって所定のレジスタを迅速に初期
化するようにした点で上記第1の実施例と異なってい
る。
FIG. 6 shows a DS according to the second embodiment of the present invention.
A block diagram of P is shown. In this embodiment, the same parts as those of the first embodiment shown in FIG. 1 are designated by the same reference numerals and the description thereof will be omitted. In this embodiment, in addition to the signal processing program for normal operation, an initialization program for register initialization is built in, and this is activated during the initialization cycle so that a predetermined register is quickly initialized. This is different from the first embodiment in that.

【0040】このDSPでは初期化専用のプログラムで
ある初期化プログラムを記憶する初期化プログラムレジ
スタ50を備えている。初期化プログラムレジスタ50
に記憶される初期化プログラムは、マイクロプログラム
レジスタ11に記憶される並列型の命令形式ではなく、
初期化すべき内部レジスタのアドレスを示すコード(内
部レジスタコード)と初期値選択コードのみからなる簡
略な形式のものである。すなわち、クリアサイクルにお
いては、加算・乗算などの演算動作を実行することはな
く、初期値を各レジスタに転送するのみであるため、初
期化プログラムとしては初期化する内部レジスタコード
と初期値選択コードのみでよく、実際にDSPを動作さ
せるための命令は命令発生器53が自動的に発生する。
なお、この実施例では命令発生器53がオペコードを発
生し、これをデコーダ14に入力してデコード信号に変
換するようにしているが、命令発生器53がデコード信
号を直接発生する構成にすれば、この命令発生器53と
デコーダ14とを切り換えることで信号処理サイクルと
初期化サイクルを切り換えることができる。
This DSP has an initialization program register 50 for storing an initialization program which is a program dedicated to initialization. Initialization program register 50
The initialization program stored in is not the parallel instruction format stored in the microprogram register 11,
This is a simple format consisting only of a code indicating the address of the internal register to be initialized (internal register code) and an initial value selection code. In other words, in the clear cycle, arithmetic operations such as addition and multiplication are not executed and the initial value is only transferred to each register. Therefore, the initialization program uses the internal register code and the initial value selection code to be initialized. The instruction generator 53 automatically generates an instruction for actually operating the DSP.
In this embodiment, the instruction generator 53 generates an opcode and inputs it to the decoder 14 to convert it into a decode signal. However, if the instruction generator 53 is configured to directly generate a decode signal, By switching between the instruction generator 53 and the decoder 14, the signal processing cycle and the initialization cycle can be switched.

【0041】ホストCPUは初期化プログラムを初期化
プログラムレジスタ50に書き込むとき、同時にカウン
タ51に対してinitstepデータを入力する。i
nitstepデータは、初期化プログラムのステップ
数を示すデータである。カウンタ51は、初期化プログ
ラムレジスタ50に対して動作クロックに同期したアド
レス値を入力するとともに、前記initstepの区
間のみマスクフラグMASKを解除して初期化プログラ
ムレジスタ50から読み出される初期化プログラムが命
令発生器53,マルチプレクサ16へ到達できるように
する。このカウンタ51のカウント動作は、初期化サイ
クル時のみならず信号処理サイクル中にも常時行われて
おり、信号処理サイクル時における初期化プログラムの
出力は、ゲート回路52においてfiの“0”信号によ
り阻止されている。
When the host CPU writes the initialization program in the initialization program register 50, it simultaneously inputs the initstep data to the counter 51. i
The nitstep data is data indicating the number of steps of the initialization program. The counter 51 inputs an address value synchronized with the operation clock to the initialization program register 50, releases the mask flag MASK only in the section of initstep, and generates an instruction for the initialization program read from the initialization program register 50. The device 53 and the multiplexer 16 can be reached. The counting operation of the counter 51 is always performed not only during the initialization cycle but also during the signal processing cycle, and the output of the initialization program during the signal processing cycle is generated by the gate circuit 52 by the "0" signal of fi. It has been blocked.

【0042】ホストCPUは、上記初期化プログラム,
initstepの設定ののち、DSPを初期化する場
合、第1の実施例と同様にfiセット信号をDSPに対
して出力する。DSPにおいて、このfiセット信号は
ホストCPUインタフェース10を介してフラグ制御回
路13に入力される。フラグ制御回路13は図2と同様
の構成であり、fiセット信号が入力された実行サイク
ルの次のサイクルの先頭からfiの“1”信号を出力す
る。この信号はAND回路55およびマルチプレクサ5
6のセレクト端子に入力される。AND回路55の他の
入力端子には前記/MASK信号が入力されている。ま
た、AND回路55の出力信号はゲート回路52に入力
されている。ゲート回路52は初期化プログラムレジス
タ50から読み出された内部レジスタコードおよび初期
値選択コードをそれぞれ命令発生器53およびマルチプ
レクサ16に出力する。また、マルチプレクサ56はf
iの“1”信号入力応じて入力をマイクロプログラムレ
ジスタ11側から命令発生器53側へ切り換える(この
ときMASKは“0”であるとする。)。なお、このマ
ルチプレクサ56にはMASKも入力されており、fi
=1且つMASK=1の場合には、マルチプレクサ56
は、デコーダ14に対してNOP(Not Operation) を入
力する。すなわち、初期化サイクルのうち、実際に初期
化プログラムが読み出される区間のみデコーダ14と命
令発生器53とを接続する。なお、命令発生器53とマ
ルチプレクサ56との間に挿入されているディレイ54
は命令コードの入力タイミングを調整するためのもので
ある。
The host CPU uses the initialization program,
When the DSP is initialized after the setting of initstep, the fi set signal is output to the DSP as in the first embodiment. In the DSP, this fi set signal is input to the flag control circuit 13 via the host CPU interface 10. The flag control circuit 13 has the same configuration as that of FIG. 2, and outputs the fi "1" signal from the beginning of the cycle next to the execution cycle to which the fi set signal is input. This signal is the AND circuit 55 and the multiplexer 5
6 is input to the select terminal. The / MASK signal is input to the other input terminal of the AND circuit 55. The output signal of the AND circuit 55 is input to the gate circuit 52. The gate circuit 52 outputs the internal register code and the initial value selection code read from the initialization program register 50 to the instruction generator 53 and the multiplexer 16, respectively. In addition, the multiplexer 56 is f
The input is switched from the side of the micro program register 11 to the side of the instruction generator 53 in response to the input of the signal "1" of i (MASK is "0" at this time). MASK is also input to the multiplexer 56, and fi
= 1 and MASK = 1, the multiplexer 56
Inputs NOP (Not Operation) to the decoder 14. That is, in the initialization cycle, the decoder 14 and the instruction generator 53 are connected only in the section in which the initialization program is actually read. In addition, the delay 54 inserted between the instruction generator 53 and the multiplexer 56.
Is for adjusting the input timing of the instruction code.

【0043】上記構成のDSPの動作を説明する。ま
ず、立ち上げ時の設定動作として、ホストCPUはマイ
クロプログラムレジスタ11に信号処理プログラムを書
き込み、初期値レジスタ12に4種類の初期値を書き込
むとともに、初期化プログラムレジスタ50に初期化プ
ログラムを書き込み、カウンタ51に初期化プログラム
のステップ数データinitstepを書き込む。これ
によりこのDSPは動作可能になる。DSPはマイクロ
プログラムレジスタ11から信号処理プログラムを読み
出して実行サイクルを繰り返し実行する。このとき同時
にカウンタ51は初期化プログラムレジスタ50に対し
てアドレスを出力しており、初期化プログラムも並行し
て読み出されている。しかし、この初期化プログラムは
ゲート回路52で阻止されてDSP内部には出力されな
い。
The operation of the DSP having the above configuration will be described. First, as a setting operation at startup, the host CPU writes a signal processing program in the micro program register 11, four types of initial values in the initial value register 12, and an initialization program in the initialization program register 50. The step count data initstep of the initialization program is written in the counter 51. This enables the DSP. The DSP reads the signal processing program from the micro program register 11 and repeatedly executes the execution cycle. At this time, the counter 51 simultaneously outputs the address to the initialization program register 50, and the initialization program is also read in parallel. However, this initialization program is blocked by the gate circuit 52 and is not output inside the DSP.

【0044】ホストCPUがレジスタの初期化をするた
めfiセット信号を入力すると、次のサイクルの先頭に
fiが“1”になり、AND回路回路55によってゲー
ト回路52が開くとともに、マルチプレクサ56が初期
化プログラムレジスタ50(命令発生器53)側に切り
替わる。これにより、初期化プログラムレジスタ50か
ら読み出された命令(内部レジスタコード)が命令発生
器53に入力され、これに基づいて作成された命令コー
ドがマルチプレクサ56を介してデコーダ14に入力さ
れる。これにより、初期化動作が実行される。所定ステ
ップ数の初期化プログラムの実行が終了するとカウンタ
51はMASK信号を“1”にするためゲート回路52
が閉じてそれ以後の初期化プログラムの読み出しが阻止
されるとともに、マルチプレクサはfi=1 AND
MASK=1によりNOPコードをデコーダ14に出力
する。これにより、所定ステップのクリア動作を終了し
たのちは、そのサイクル内で他の不要な動作を実行しな
いようにしている。
When the host CPU inputs the fi set signal to initialize the register, fi becomes "1" at the beginning of the next cycle, the AND circuit 55 opens the gate circuit 52, and the multiplexer 56 initializes. It is switched to the computerized program register 50 (instruction generator 53) side. As a result, the instruction (internal register code) read from the initialization program register 50 is input to the instruction generator 53, and the instruction code created based on this is input to the decoder 14 via the multiplexer 56. As a result, the initialization operation is executed. When the initialization program of a predetermined number of steps is completed, the counter 51 sets the MASK signal to "1" so that the gate circuit 52
Is closed to prevent the reading of the initialization program after that, and the multiplexer is fi = 1 AND
When MASK = 1, the NOP code is output to the decoder 14. As a result, after the clear operation of the predetermined step is completed, other unnecessary operations are not executed in the cycle.

【0045】このようにすることにより、実行プログラ
ムを利用してクリアする場合に比して簡略なプログラム
で短時間でクリア動作を終了することができる。また、
初期化プログラムは短いステップ数で足り、また、命令
も短いものでよいため、初期化プログラムレジスタは信
号処理プログラムを記憶するマイクロプログラムレジス
タに比して小さいものでよい。また、初期化プログラム
レジスタをマイクロプログラムレジスタと同じ程度の大
きさのもので構成した場合には、初期化プログラムを複
数種類記憶しておき、カウンタ51に対してカウントス
タートアドレスおよびステップ数を指示することによ
り、上記複数種類の初期化プログラムのなかから適当な
ものを選択して読み出し・実行することが可能になる。
By doing so, the clearing operation can be completed in a short time with a simple program as compared with the case where the execution program is used for clearing. Also,
Since the initialization program requires only a short number of steps and the instructions may be short, the initialization program register may be smaller than the micro program register storing the signal processing program. Further, when the initialization program register is formed to have the same size as the micro program register, a plurality of types of initialization programs are stored and the counter 51 is instructed of the count start address and the number of steps. As a result, it is possible to select and read out and execute an appropriate one from the plurality of types of initialization programs.

【0046】なお、上記実施例では、信号伝達経路に初
期値を送り込むマルチプレクサ16をALU20とアキ
ュムレータ17との間に挿入したが、これ以外の場所、
例えば、IBUS23,TBUS24とALU20との
間やアキュムレータ17と内部データバス18との間に
挿入するようにしてもよい。
Although the multiplexer 16 for sending the initial value to the signal transmission path is inserted between the ALU 20 and the accumulator 17 in the above-mentioned embodiment, at a place other than this,
For example, it may be inserted between the IBUS 23, TBUS 24 and the ALU 20 or between the accumulator 17 and the internal data bus 18.

【0047】また、上記実施例では初期値レジスタ12
に4種類の初期値を設定可能であるが、より多くの初期
値を設定できるようにしてもよく、また逆に、マルチプ
レクサ16で選択できる初期値を一般的に多用される値
(例えば“0”)に限定してもよい。また、上記マイク
ロプログラムでは初期値フィールドに初期値選択コード
を記憶しているが、この初期値フィールドに設定すべき
初期値を直接書き込むようにしてもよい。
Further, in the above embodiment, the initial value register 12
Although it is possible to set four kinds of initial values, it is possible to set more initial values, and conversely, an initial value that can be selected by the multiplexer 16 is a commonly used value (for example, “0”). "). Further, in the above micro program, the initial value selection code is stored in the initial value field, but the initial value to be set in this initial value field may be directly written.

【0048】また、フラグ制御回路13は上記実施例の
ものに限定されない。特に、上記実施例ではfiセット
信号によってfi=1となると、次にfiリセット信号
が入力されるまでfi=1のままであるが、fi=1で
処理サイクルを1サイクル実行したのち自動的にfi=
0におとすようにしてもよい。
The flag control circuit 13 is not limited to that of the above embodiment. In particular, in the above embodiment, when fi = 1 is set by the fi set signal, it remains fi = 1 until the next fi reset signal is input. However, after fi = 1, the processing cycle is automatically executed after one cycle is executed. fi =
It may be set to 0.

【0049】また、第1の実施例(請求項1)の構成
は、可変プログラム長のDSPにも同様に適用可能であ
り、この場合には、初期化の簡略な処理に多くのプログ
ラムサイズを割く必要がなくなる。
The configuration of the first embodiment (claim 1) is also applicable to a DSP having a variable program length, and in this case, a large program size is required for simple initialization processing. No need to spend.

【0050】なお、上記実施例は、特許請求の範囲に記
載した発明の他に以下のような特徴を有している。「請
求項1,2の演算処理プログラムは、繰り返し実行され
るマイクロプログラムである。」,「演算されるデータ
をデータ記憶部と演算部との間に循環させて演算処理を
実行する。」,「請求項1,2の信号処理装置は、演算
処理プログラムにしたがって、データをメモリと演算部
との間に循環させて演算処理をする。」,「前記演算処
理プログラムは水平型命令プログラムである。」
The above embodiment has the following features in addition to the invention described in the claims. "The arithmetic processing program according to claims 1 and 2 is a microprogram that is repeatedly executed.", "The arithmetic processing is executed by circulating the data to be arithmetically operated between the data storage unit and the arithmetic unit.", "The signal processing device according to claims 1 and 2 performs arithmetic processing by circulating data between a memory and an arithmetic unit according to an arithmetic processing program.", "The arithmetic processing program is a horizontal instruction program. . "

【0051】[0051]

【発明の効果】以上のようにこの発明によれば、信号処
理プログラムを実行しながらこの信号処理プログラムが
用いるデータ記憶部を初期化することができるため、特
に初期化プログラムを要さず、必要なデータ記憶部のみ
を初期化することができる。
As described above, according to the present invention, since the data storage unit used by the signal processing program can be initialized while the signal processing program is being executed, the initialization program is not particularly required and necessary. Only the data storage unit can be initialized.

【0052】また、請求項2の発明によれば、信号処理
プログラム記憶部とは別の初期化プログラムメモリを設
けたことにより、簡略な初期化プログラムで迅速に装置
内のデータ記憶部をクリアすることができる。
According to the second aspect of the present invention, since the initialization program memory different from the signal processing program storage section is provided, the data storage section in the apparatus can be cleared quickly with a simple initialization program. be able to.

【0053】また、請求項3の発明によれば、初期化動
作時には複数種類の初期値から信号処理プログラムまた
は初期化プログラムによって選択された1つの初期値で
データ記憶部を初期化する。これにより、次にスタート
する動作に最適の値でデータ記憶部を初期化することが
できる。また、この選択を信号処理プログラムや初期化
プログラムに書き込まれた選択データに基づいて行うよ
うにしたことにより、プログラムで任意の初期値を選択
することができる。
According to the third aspect of the invention, the data storage section is initialized with one initial value selected by the signal processing program or the initialization program from a plurality of types of initial values during the initialization operation. As a result, the data storage section can be initialized with the optimum value for the next operation to be started. Moreover, since the selection is performed based on the selection data written in the signal processing program or the initialization program, the program can select an arbitrary initial value.

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

【図1】この発明の実施例であるDSPのブロック図FIG. 1 is a block diagram of a DSP which is an embodiment of the present invention.

【図2】同DSPのフラグ制御回路のブロック図FIG. 2 is a block diagram of a flag control circuit of the DSP.

【図3】同フラグ制御回路の信号のタイミングチャートFIG. 3 is a timing chart of signals of the flag control circuit.

【図4】前記DSPによって実現されるフィルタの例を
示す図
FIG. 4 is a diagram showing an example of a filter realized by the DSP.

【図5】同フィルタをDSPで実現するためのマイクロ
プログラムを示す図
FIG. 5 is a diagram showing a microprogram for realizing the filter with a DSP.

【図6】この発明の第2の実施例であるDSPのブロッ
ク図
FIG. 6 is a block diagram of a DSP which is a second embodiment of the present invention.

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

12−初期値レジスタ、13−フラグ制御回路、16−
マルチプレクサ
12-initial value register, 13-flag control circuit, 16-
Multiplexer

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G10K 15/12 ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI technical display location G10K 15/12

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 外部から入力された信号データや演算結
果データを記憶するデータ記憶部と、与えられたデータ
に対して所定の演算を実行する演算部と、演算処理プロ
グラムを記憶する演算処理プログラム記憶部と、該演算
処理プログラムに基づき、前記データ記憶部に記憶され
ているデータを前記演算部に与えるとともに、演算部が
演算を行った演算結果データを前記データ記憶部に書き
込むデータ転送手段とを有する信号処理装置において、 前記データ転送手段に、初期化指示に応じて、前記デー
タ記憶部から読み出されたデータに代えて初期値を前記
演算部に入力し、または、前記演算部が出力したデータ
に代えて初期値を前記データ記憶部に書き込むデータ切
換手段を設けたことを特徴とする信号処理装置。
1. A data storage unit for storing signal data and calculation result data input from the outside, a calculation unit for executing a predetermined calculation on given data, and a calculation processing program for storing a calculation processing program. A storage unit, and data transfer means for supplying the data stored in the data storage unit to the calculation unit based on the calculation processing program and writing the calculation result data calculated by the calculation unit to the data storage unit. In the signal processing device having, the data transfer means inputs an initial value to the arithmetic unit instead of the data read from the data storage unit in response to an initialization instruction, or outputs the arithmetic unit. The signal processing device is provided with data switching means for writing an initial value to the data storage section instead of the data.
【請求項2】 外部から入力された信号データや演算結
果データを記憶するデータ記憶部と、与えられたデータ
に対して所定の演算を実行する演算部と、演算処理プロ
グラムを記憶する演算処理プログラム記憶部と、該演算
処理プログラムに基づき、前記データ記憶部に記憶され
ているデータを前記演算部に与えるとともに、演算部が
演算を行った演算結果データを前記データ記憶部に書き
込むデータ転送手段とを有する信号処理装置において、 初期化プログラムを記憶する初期化プログラム記憶部を
設け、 初期化が指示されたとき、前記データ転送手段を前記初
期化プログラムで動作させる動作切換手段と、該初期化
指示に応じて、前記データ記憶部から読み出されたデー
タに代えて初期値を前記演算部に入力し、または、前記
演算部が出力したデータに代えて初期値を前記データ記
憶部に書き込むデータ切換手段とを設けたことを特徴と
する信号処理装置。
2. A data storage unit that stores signal data and calculation result data input from the outside, a calculation unit that executes a predetermined calculation on given data, and a calculation processing program that stores a calculation processing program. A storage unit, and data transfer means for supplying the data stored in the data storage unit to the calculation unit based on the calculation processing program and writing the calculation result data calculated by the calculation unit to the data storage unit. In the signal processing device having the above, an initialization program storage section for storing the initialization program is provided, and when the initialization is instructed, the operation switching means for operating the data transfer means by the initialization program, and the initialization instruction. In response to this, an initial value is input to the arithmetic unit instead of the data read from the data storage unit, or the arithmetic unit outputs the initial value. Signal processing device an initial value instead of the data, characterized in that a data switching means for writing in the data storage unit.
【請求項3】 前記データ切換手段は、複数種類の候補
値から1つを初期値として選択する手段を含む請求項1
または請求項2に記載の信号処理装置。
3. The data switching means includes means for selecting one of a plurality of types of candidate values as an initial value.
Alternatively, the signal processing device according to claim 2.
【請求項4】 前記選択は、前記演算処理プログラムま
たは初期化プログラムに記述されている指定データに基
づいて行う請求項3に記載の信号処理装置。
4. The signal processing apparatus according to claim 3, wherein the selection is performed based on designated data described in the arithmetic processing program or the initialization program.
JP00345595A 1995-01-12 1995-01-12 Signal processing device Expired - Fee Related JP3470432B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00345595A JP3470432B2 (en) 1995-01-12 1995-01-12 Signal processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00345595A JP3470432B2 (en) 1995-01-12 1995-01-12 Signal processing device

Publications (2)

Publication Number Publication Date
JPH08190445A true JPH08190445A (en) 1996-07-23
JP3470432B2 JP3470432B2 (en) 2003-11-25

Family

ID=11557807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00345595A Expired - Fee Related JP3470432B2 (en) 1995-01-12 1995-01-12 Signal processing device

Country Status (1)

Country Link
JP (1) JP3470432B2 (en)

Also Published As

Publication number Publication date
JP3470432B2 (en) 2003-11-25

Similar Documents

Publication Publication Date Title
JP3188467B2 (en) Minimum / maximum value search device
JPH08106375A (en) Signal processing computing element
EP0180196B1 (en) Programmable counter/timer device
US4584642A (en) Logic simulation apparatus
JP3403298B2 (en) Arithmetic processing unit and microprocessor
EP0260837B1 (en) Microprocessor with selective cache memory
JPH08190445A (en) Signal processor
JPH03204718A (en) Information processor
US6003141A (en) Single chip processor with externally executed test function
JPH07219766A (en) Arithmetic processor
JP3004972B2 (en) Data processing device
US6009483A (en) System for dynamically setting and modifying internal functions externally of a data processing apparatus by storing and restoring a state in progress of internal functions being executed
JP2001005789A (en) Multicore dsp circuit
JPH0792740B2 (en) Programmable logic unit
JP2901648B2 (en) Digital signal processor and control method thereof
JP2001092658A (en) Data processing circuit and data processor
EP0862112B1 (en) Data processing system having an instruction pipeline
EP0260639A2 (en) Microprogram sequencer
JP3825709B2 (en) Pipeline processing method and processor device
JPH05173779A (en) Digital arithmetic integrated circuit
JP2604203B2 (en) Debug device for one-chip digital signal processor
JP2763655B2 (en) Semiconductor integrated circuit
JP2577452B2 (en) Digital signal processor
JP3082674B2 (en) Microcomputer
JP2003044315A (en) Debugging circuit for semiconductor integrated circuit, and debugging method of semiconductor integrated circuit

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070912

Year of fee payment: 4

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070912

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100912

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100912

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees