JPH04368999A - Signal processor - Google Patents

Signal processor

Info

Publication number
JPH04368999A
JPH04368999A JP3145886A JP14588691A JPH04368999A JP H04368999 A JPH04368999 A JP H04368999A JP 3145886 A JP3145886 A JP 3145886A JP 14588691 A JP14588691 A JP 14588691A JP H04368999 A JPH04368999 A JP H04368999A
Authority
JP
Japan
Prior art keywords
data
signal
register
storage means
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3145886A
Other languages
Japanese (ja)
Inventor
Hiroshi Iwase
広 岩瀬
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP3145886A priority Critical patent/JPH04368999A/en
Publication of JPH04368999A publication Critical patent/JPH04368999A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To execute the signal processing of a reverberation whose delay time is long and a delay, etc., by a small storage area. CONSTITUTION:A storage part of the signal processor is constituted by containing a main memory 91 for storing data in a difference format, a sub- memory 92 for storing input data before a prescribed sampling period, a modulating means 106 for storing a value obtained by subtracting data stored in advance in the sub-memory 92 from the data inputted to the storage part, in the main memory 91 as difference data, and also, storing the storage data in the sub- storage means 92, and a demodulating means 107 for adding the data stored in the main memory 91 and the sub-memory 92 and outputting it as storage data, and also, storing the added data in the sub-memory 92.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、信号処理装置に係わり
、詳しくはDSP(Digital Signal P
roccesor)と称され、例えば電子楽器等のエフ
ェクト回路に用いられる信号処理装置に関する。
[Industrial Field of Application] The present invention relates to a signal processing device, and more specifically to a DSP (Digital Signal P
The present invention relates to a signal processing device called a "roccesor" and used, for example, in an effect circuit of an electronic musical instrument.

【0002】0002

【従来の技術】一般に、音を加工してある種の効果を出
す(エフェクト)装置としては、入力信号の遅延を応用
したものが数多くある。このような背景下、従来から電
子楽器等から発生される楽音信号に残響音やディレィな
どの効果を付与するために、楽音信号をデジタル的に処
理する信号処理装置が知られており、その代表的なもの
はオーディオの分野で用いられるDSPを用いて行う方
式である。
2. Description of the Related Art In general, there are many effect devices that process sound and produce certain effects by applying input signal delay. Against this background, signal processing devices that digitally process musical sound signals generated from electronic musical instruments, etc. in order to add effects such as reverberation and delay to musical sound signals have been known. A typical method is a method using a DSP used in the audio field.

【0003】図12は、このようなDSPを用いた電子
楽器の概略ブロック図である。同図において、電子楽器
はブロック的に分けてCPU1、ROM2、RAM3、
鍵盤4、音源5、DSP6、D/A変換器7および発音
回路8よって構成され、これらの各部はデータバス9に
よって接続されている。CPU1はROM2に記憶され
ているプログラムに基づきRAM3をワークメモリとし
て電子楽器全体を制御するもので、このCPU1に対し
て鍵盤4から演算情報として曲の音高データが供給され
る。そして、CPU1はこの音高データに必要な処理を
して音源5に送り、音源5は供給された音高データに基
づいてデジタル楽音信号を生成し、一定のサンプリング
周期でDSP6に出力する。
FIG. 12 is a schematic block diagram of an electronic musical instrument using such a DSP. In the figure, the electronic musical instrument is divided into blocks: CPU1, ROM2, RAM3,
It is composed of a keyboard 4, a sound source 5, a DSP 6, a D/A converter 7, and a sound generation circuit 8, and these parts are connected by a data bus 9. The CPU 1 controls the entire electronic musical instrument based on the program stored in the ROM 2 and uses the RAM 3 as a work memory. Pitch data of a song is supplied to the CPU 1 from the keyboard 4 as calculation information. Then, the CPU 1 performs necessary processing on this pitch data and sends it to the sound source 5, and the sound source 5 generates a digital musical tone signal based on the supplied pitch data and outputs it to the DSP 6 at a constant sampling period.

【0004】ここで、仮に音源5から楽音信号をそのま
まD/A変換器7に送ってアナログ信号に変換し、スピ
ーカ・アンプ等からなる発音回路8に供給すると、楽音
として発生するが、同図に示すように音源5からのデジ
タル楽音信号をDSP6に送ると、DSP6によってデ
ジタル楽音信号に残響等の効果を付加したりすることが
できる。
[0004] Here, if a musical tone signal is directly sent from the sound source 5 to the D/A converter 7 and converted into an analog signal, and then supplied to the sound generation circuit 8 consisting of a speaker amplifier, etc., a musical tone will be generated. When the digital musical tone signal from the sound source 5 is sent to the DSP 6 as shown in FIG. 2, the DSP 6 can add effects such as reverberation to the digital musical tone signal.

【0005】このようなDSP6の詳細な構成は図示は
略しているが、DSP6は入力された楽音データや処理
されたデータ又は各種係数データを記憶するメモリ部と
、入力されたデータやメモリ部のデータを加減算・乗算
する演算部と、全体の動作を制御するためのプログラム
を記憶し、このプログラムに従って各部の制御を行う制
御部とに大別され、外部から(この場合、音源5)一定
周期で入力される楽音データを次の楽音データが入って
くるまでの間(例えば、一定のサンプリング周期内)に
、プログラムに従い演算を行って出力する。
Although the detailed configuration of the DSP 6 is not shown in the drawings, the DSP 6 includes a memory section for storing input musical tone data, processed data, or various coefficient data, and a memory section for storing input data and memory section. It is roughly divided into an arithmetic unit that adds, subtracts, and multiplies data, and a control unit that stores a program to control the overall operation and controls each part according to this program. The input musical tone data is calculated and output according to a program until the next musical tone data is input (for example, within a certain sampling period).

【0006】上記のような演算は単に直前のサンプルタ
イミングで入力されたデータに所定の係数を乗算したり
するだけでなく、以前のサンプルタイミングで入力され
て処理されたデータ(すなわち、複数の以前のサンプル
タイミングで入力されたもの)を用いて演算することも
あり(例えば、リバーブやディレィ)、以前に処理され
た楽音データをDSP6内に記憶しておかなければなは
らない。このため、DSP6の内のメモリ部にはデータ
処理用メモリ(以下、遅延用メモリと称する)と呼ばれ
るメモリ領域がある。なお、この遅延用メモリを外付け
とする場合もある。そして、この遅延用メモリに処理さ
れた楽音データを記憶している。
[0006] The above-mentioned calculation not only multiplies the data input at the previous sample timing by a predetermined coefficient, but also multiplies the data input and processed at the previous sample timing (that is, multiple (for example, reverb or delay), it is necessary to store previously processed musical tone data in the DSP 6. For this reason, the memory section of the DSP 6 includes a memory area called a data processing memory (hereinafter referred to as delay memory). Note that this delay memory may be externally attached. The processed musical tone data is stored in this delay memory.

【0007】[0007]

【発明が解決しようとする課題】ところで、上述した従
来のDSP内における遅延用メモリは、例えば残響時間
の長いリバーブ音を得られるようにしようとすると、複
数の以前のサンプルタイミングで入力された数多くのデ
ータを記憶する必要があることから、極めて記憶領域が
大きくなければならないが、メモリ容量に限度があって
長い遅延時間を必要とする音響効果を付与するのが困難
であるという問題点があった。
[Problems to be Solved by the Invention] By the way, when trying to obtain a reverberation sound with a long reverberation time, for example, the delay memory in the conventional DSP described above has a large number of input signals at a plurality of previous sample timings. The storage area must be extremely large because it is necessary to store this data, but there is a problem in that the memory capacity is limited and it is difficult to add sound effects that require long delay times. Ta.

【0008】すなわち、リバーブ音を得るには、[遅延
時間長]×[サンプリングレート]×[ビット数]とい
う式で与えられるだけの記憶領域が必要となる。例えば
、サンプリングレートを40KHz、ビット数を24、
遅延時間(時間長)を1秒とすると、[1秒]×[40
KHz]×[24]=960000ビットもの記憶領域
が必要となる。しかしながら、このような大きな記憶領
域を持つことは困難であり、あまり長い遅延時間を必要
とするリバーブやディレィなどは従来のDSPでは付与
できなかった。
[0008] That is, to obtain reverberation sound, a storage area is required that is given by the formula: [delay time length] x [sampling rate] x [number of bits]. For example, if the sampling rate is 40KHz and the number of bits is 24,
If the delay time (time length) is 1 second, [1 second] x [40
A storage area of 960,000 bits (KHz]×[24]=960,000 bits is required. However, it is difficult to have such a large storage area, and conventional DSPs cannot add reverb, delay, etc. that require too long a delay time.

【0009】そこで本発明は、少ない記憶領域で、遅延
時間の長いリバーブやディレィなどの音響効果の得られ
る信号処理を行うことのできる信号処理装置を提供する
ことを目的としている。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a signal processing device that can perform signal processing that provides acoustic effects such as reverb and delay with a long delay time using a small storage area.

【0010】0010

【課題を解決するための手段】本発明による信号処理装
置は、信号処理の制御を行うプログラムを記憶するプロ
グラム記憶手段と、外部から一定のサンプリング周期で
入力されるデータと信号処理された処理データとを記憶
データとして記憶する記憶手段と、該記憶手段に記憶さ
れた記憶データおよび外部から入力されて記憶された入
力データを、前記プログラム記憶手段に記憶されたプロ
グラムに基づく信号処理手順に従って演算処理する演算
手段とを備えた信号処理装置において、前記記憶手段は
、データを差分形式で記憶するメイン記憶手段と、所定
のサンプリング周期前の入力データを記憶するサブ記憶
手段と、前記記憶手段に入力されるデータから前記サブ
記憶手段に予め記憶されているデータを減算した値を差
分データとして前記メイン記憶手段に記憶させるととも
に、前記記憶データをサブ記憶手段に記憶させる変調手
段と、メイン記憶手段とサブ記憶手段とに記憶されたデ
ータを加算して前記記憶データとして出力するとともに
、該加算されたデータを前記サブ記憶手段に記憶させる
復調手段とを含むように構成したことを特徴とする。
[Means for Solving the Problems] A signal processing device according to the present invention includes a program storage means for storing a program for controlling signal processing, data input from the outside at a constant sampling period, and processing data subjected to signal processing. a storage means for storing the data as stored data; and arithmetic processing of the stored data stored in the storage means and input data inputted and stored from the outside according to a signal processing procedure based on a program stored in the program storage means. In the signal processing device, the storage means includes a main storage means for storing data in a differential format, a sub-storage means for storing input data before a predetermined sampling period, and an input data input to the storage means. modulating means for storing a value obtained by subtracting data stored in advance in the sub-storage means from the data stored in the sub-storage means as difference data in the main storage means; and a modulation means for storing the stored data in the sub-storage means; The apparatus is characterized in that it is configured to include demodulation means for adding the data stored in the sub-storage means and outputting the resultant data as the stored data, and for storing the added data in the sub-storage means.

【0011】[0011]

【作用】本発明では、記憶手段にデータを読み込むとき
は入力されるデータからサブ記憶手段に記憶されるデー
タが減算されて差分形式でメイン記憶手段に記憶される
とともに、このときの入力データはサブ記憶手段に記憶
されて次回の読み込み時に所定サンプリング周期(例え
ば、1サンプリング周期)前のデータとなる。一方、記
憶手段にデータを書き込むときはメイン記憶手段からの
データにサブ記憶手段からのデータが加算されて元の値
に戻されるとともに、その加算結果がサブ記憶手段に書
き込まれて次回読み出し時に所定サンプリング周期前の
データとなる。
[Operation] In the present invention, when data is read into the storage means, the data stored in the sub storage means is subtracted from the input data and stored in the main storage means in a differential format, and the input data at this time is The data is stored in the sub-storage means and becomes data from a predetermined sampling period (for example, one sampling period) before the next reading. On the other hand, when writing data to the storage means, the data from the sub-storage means is added to the data from the main storage means to return to the original value, and the addition result is written to the sub-storage means and used as a predetermined value the next time it is read. The data is from before the sampling period.

【0012】したがって、データが差分値で記憶される
ため、遅延用のメモリとしての記憶領域が少なく済む。 また、一定の記憶領域であれば、従来に比して遅延時間
の長いリバーブやディレィなどの音響効果の得られる信
号処理が行える。
[0012] Therefore, since data is stored as a differential value, the storage area required as a delay memory can be reduced. Furthermore, with a certain storage area, signal processing that produces acoustic effects such as reverb and delay that have a longer delay time than before can be performed.

【0013】[0013]

【実施例】以下、図面を参照して本発明の一実施例につ
いて説明する。図1は本発明に係る信号処理装置の一実
施例の内部構成図である。本実施例の信号処理装置はD
SPと称されるもので、図1に示すように、大きく分け
て入力されるデータや処理されたデータを記憶するRA
M部11と、演算に用いられる係数を記憶する係数RO
M12と、入力されたデータやRAM部11等に記憶さ
れたデータを処理手順に従って演算処理するALU13
と、信号処理の制御を行うプログラムを記憶しているマ
イクロコードROM14とを含んで構成される。ここで
、RAM部11は記憶手段に相当し、ALU13は演算
手段に相当し、マイクロコードROM14はプログラム
記憶手段に相当する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is an internal configuration diagram of an embodiment of a signal processing device according to the present invention. The signal processing device of this embodiment is D
It is called SP, and as shown in Figure 1, it is broadly divided into RA that stores input data and processed data.
M section 11 and a coefficient RO that stores coefficients used in calculations.
M12, and ALU 13 that performs arithmetic processing on input data and data stored in the RAM unit 11, etc. according to processing procedures.
and a microcode ROM 14 that stores a program for controlling signal processing. Here, the RAM section 11 corresponds to a storage means, the ALU 13 corresponds to a calculation means, and the microcode ROM 14 corresponds to a program storage means.

【0014】最初に、マイクロコードROM14の方か
ら順次説明する。マイクロコードROM14には、DS
Pの動作を制御するマイクロプログラムが記憶されてお
り、このマイクロプログラムはアドレスカウンタである
カウンタ22の出力CT1〜CT7によって順次読み出
される。なお、カウンタ22の最初の出力CT0は後述
するように、RAM部11内のメモリのライト/リード
(W/R)を制御するために使用される。一方、上位ビ
ットのCT8〜CT23はRAM部11にデータを読み
込むときのアドレス指定に用いられる。この場合、上位
ビットCT8〜CT23は16ビットであり、したがっ
て、[1048576]個分のアドレスを指定可能とな
っている。なお、図1の各データラインに添えてある数
字はビット数を表す。
First, the microcode ROM 14 will be explained in order. Microcode ROM14 contains DS
A microprogram for controlling the operation of P is stored, and this microprogram is sequentially read out by the outputs CT1 to CT7 of the counter 22, which is an address counter. Note that the first output CT0 of the counter 22 is used to control write/read (W/R) of the memory in the RAM section 11, as will be described later. On the other hand, the upper bits CT8 to CT23 are used for addressing when reading data into the RAM section 11. In this case, the upper bits CT8 to CT23 are 16 bits, so it is possible to specify [1048576] addresses. Note that the numbers attached to each data line in FIG. 1 represent the number of bits.

【0015】カウンタ22はクロックジェネレータ23
からのクロック信号CK1、CK2に同期して作動し、
これらのクロック信号CK1、CK2はオペレーション
デコーダ24にも出力される。オペレーションデコーダ
24はマイクロコードROM14から読み出された命令
を解読して各種の制御信号をクロック信号CK1、CK
2に同期するタイミングで出力する。一方、マイクロコ
ードROM14から読み出されるマイクロプログラムは
MCレジスタ25を介して係数ROM12に入力される
。係数ROM12は演算に用いられる係数をマイクロコ
ードROM14から読み出されたマイクロプログラムの
うちの下位0〜4ビットで指定して記憶する。係数RO
M12に記憶された演算のための係数はCONSTレジ
スタ26を介して読み出され、乗算器(MPY)27に
供給される。
The counter 22 is a clock generator 23
It operates in synchronization with clock signals CK1 and CK2 from
These clock signals CK1 and CK2 are also output to the operation decoder 24. The operation decoder 24 decodes the instructions read from the microcode ROM 14 and converts various control signals into clock signals CK1 and CK.
Output at a timing synchronized with 2. On the other hand, the microprogram read from the microcode ROM 14 is input to the coefficient ROM 12 via the MC register 25. The coefficient ROM 12 stores coefficients used in calculations designated by the lower 0 to 4 bits of the microprogram read from the microcode ROM 14. Coefficient R.O.
The coefficients for the calculation stored in M12 are read out via the CONST register 26 and supplied to the multiplier (MPY) 27.

【0016】乗算器27は係数ROM12からのデータ
とデータバス28からMPYレジスタ29を介して入力
されるデータとを乗算してALU13の端子Aに出力す
る。ALU13は端子A、Bを有し、これら2つの端子
A、Bから入力されるデータを加減算するものである。 詳しくは、乗算器27の出力と自己の演算出力(端子B
に入力される)を加減算するか、あるいはマイクロコー
ドROM14からの0〜4ビットのデータにより読み出
されるオフセットアドレスROM30からのオフセット
データとカウンタ22からの上位ビットのアドレス指定
CT8〜CT23(PCU)とを加減算する。
The multiplier 27 multiplies the data from the coefficient ROM 12 by the data input from the data bus 28 via the MPY register 29 and outputs the result to terminal A of the ALU 13. The ALU 13 has terminals A and B, and adds and subtracts data input from these two terminals A and B. In detail, the output of the multiplier 27 and its own calculation output (terminal B
), or the offset data from the offset address ROM 30 read by the 0 to 4 bit data from the microcode ROM 14 and the upper bit addressing CT8 to CT23 (PCU) from the counter 22. Add and subtract.

【0017】ALU13における上記演算の切換えは、
オペレーションデコーダ24の出力信号GOFSTに基
づいて行われ、この出力信号GOFSTはスリーステー
トゲート31、32に供給されるとともに、インバータ
33を介してスリーステートゲート34、35に供給さ
れる。これらのスリーステートゲート31〜34は、い
わゆるハイアクティブで作動するもので、“H”パルス
が供給されると、ゲートを開いて入力される信号の通過
を許容し、“L”パルスが供給されたときはゲートを閉
じて信号の通過を禁止(つまり遮断)する。このような
機能は、後述するスリーステートゲートについても同様
である。
[0017] The above calculation switching in the ALU 13 is as follows:
The operation is performed based on the output signal GOFST of the operation decoder 24, and this output signal GOFST is supplied to the three-state gates 31 and 32 as well as to the three-state gates 34 and 35 via the inverter 33. These three-state gates 31 to 34 operate in a so-called high active state, and when an "H" pulse is supplied, the gates open and allow the input signal to pass through, and an "L" pulse is supplied. When this happens, the gate is closed to prevent (or block) the signal from passing through. Such a function also applies to the three-state gate described later.

【0018】ALU13の端子Aにはスリーステートゲ
ート31を介してオフセットアドレスROM30からの
オフセットデータが供給されるとともに、スリーステー
トゲート34を介して乗算器27からの出力が供給され
る。また、ALU13の端子Bにはスリーステートゲー
ト32を介してカウンタ22からの上位ビットのアドレ
ス指定CT8〜CT23(PCU)が供給されるととも
に、スリーステートゲート35を介して自己の出力デー
タがACCレジスタ36を経由して供給される。一方、
ALU13における加算/減算の切換えは、オペレーシ
ョンデコーダ24の出力信号SUBに基づいて行われる
。ALU13の演算結果はACCレジスタ36を介して
データバス28に出力される。
Offset data from the offset address ROM 30 is supplied to terminal A of the ALU 13 via a three-state gate 31, and the output from the multiplier 27 is supplied via a three-state gate 34. Furthermore, the upper bit address designations CT8 to CT23 (PCU) from the counter 22 are supplied to the terminal B of the ALU 13 via the three-state gate 32, and its own output data is sent to the ACC register via the three-state gate 35. 36. on the other hand,
Switching between addition and subtraction in the ALU 13 is performed based on the output signal SUB of the operation decoder 24. The calculation result of the ALU 13 is output to the data bus 28 via the ACC register 36.

【0019】また、ALU13の演算結果はMAレジス
タ37を介してRAM部11に出力され、RAM部11
はマイクロコードROM14からSAレジスタ38を介
して入力される0〜4ビット(すなわち、5ビット長)
の命令データと、ALU13からMAレジスタ37を介
して入力される演算データとをアドレスとしてデータバ
ス28を経由してくるデータをMWレジスタ39を介し
て読み込み、あるいはMRレジスタ40を介して読み出
しデータをデータバス28に出力する。データバス28
にはINレジスタ41を介して外部からデータが取り込
まれたり、あるいはOUTレジスタ42を介してデータ
バス28から外部へデータが出力されたりする。
Further, the calculation result of the ALU 13 is output to the RAM section 11 via the MA register 37, and
is 0 to 4 bits (i.e., 5 bits long) input from the microcode ROM 14 via the SA register 38
The command data and the operation data inputted from the ALU 13 through the MA register 37 are used as addresses to read data coming through the data bus 28 through the MW register 39, or read data through the MR register 40. Output to data bus 28. data bus 28
Data is taken in from the outside via the IN register 41, or data is output from the data bus 28 to the outside via the OUT register 42.

【0020】この場合、データバス28に対してデータ
の授受を行う信号ラインには、スリーステートゲート4
3、44、45が介在している。すなわち、ACCレジ
スタ36からの信号はスリーステートゲート43を介し
てデータバス28に出力されており、スリーステートゲ
ート43はオペレーションデコーダ24の出力信号GA
CCに基づいて同信号の通過を許容/遮断する。同様に
、MRレジスタ40からの信号はスリーステートゲート
45を介してデータバス28に出力されており、スリー
ステートゲート45はオペレーションデコーダ24の出
力信号GMEMに基づいて同信号の通過を許容/遮断す
る。さらに、INレジスタ41からの信号はスリーステ
ートゲート44を介してデータバス28に入力されてお
り、スリーステートゲート44はオペレーションデコー
ダ24の出力信号GINに基づいて同信号の通過を許容
/遮断する。
In this case, the signal line for transmitting and receiving data to and from the data bus 28 includes a three-state gate 4.
3, 44, and 45 are intervening. That is, the signal from the ACC register 36 is output to the data bus 28 via the three-state gate 43, and the three-state gate 43 receives the output signal GA of the operation decoder 24.
Passage of the same signal is permitted/blocked based on the CC. Similarly, the signal from the MR register 40 is output to the data bus 28 via the three-state gate 45, and the three-state gate 45 allows or blocks passage of the signal based on the output signal GMEM of the operation decoder 24. . Furthermore, the signal from the IN register 41 is input to the data bus 28 via a three-state gate 44, and the three-state gate 44 allows or blocks passage of the signal based on the output signal GIN of the operation decoder 24.

【0021】なお、上記各レジスタ25、26、29、
36、37、38、39、40、41、42は、それぞ
れ入力されるクロック信号の立ち下がりでデータをラッ
チする。また、ACCレジスタ36はオペレーションデ
コーダ24の出力信号ARSTに基づいてリセットされ
る。
Note that each of the registers 25, 26, 29,
36, 37, 38, 39, 40, 41, and 42 each latch data at the falling edge of the input clock signal. Further, the ACC register 36 is reset based on the output signal ARST of the operation decoder 24.

【0022】図2および図3はオペレーションデコーダ
24の内部構成図である。オペレーションデコーダ24
にはマイクロコードROM14から読み出された命令O
P0〜OP7およびカウンタ22の出力CT1〜CT7
が入力されている。命令OP0〜OP7の解読を行う論
理構成は図2で示され、アンドゲート51〜73および
ラッチ74〜83によって構成される。アンドゲート5
1〜64は命令OP0〜OP7のうちから必要に応じて
2つのものをあるいは3つのものをそれぞれ同時に入力
する。なお、アンドゲート51〜64に対する各命令O
P0〜OP7の入力については、ゲートの入力側で必要
に応じて信号レベルを反転するようにインバータが設け
られている(ただし、符号付けは省略)。以下に、命令
OP0〜OP7の解読を行って出力される信号について
詳細に説明する。
FIGS. 2 and 3 are internal configuration diagrams of the operation decoder 24. Operation decoder 24
The instruction O read from the microcode ROM 14 is
P0 to OP7 and outputs CT1 to CT7 of counter 22
is entered. The logic configuration for decoding instructions OP0-OP7 is shown in FIG. 2, and is comprised of AND gates 51-73 and latches 74-83. and gate 5
1 to 64 input two or three of the commands OP0 to OP7 at the same time as necessary. Note that each instruction O for the AND gates 51 to 64
Regarding the inputs of P0 to OP7, inverters are provided on the input side of the gate so as to invert the signal levels as necessary (however, the numbers are omitted). Below, the signals output by decoding the instructions OP0 to OP7 will be explained in detail.

【0023】まず、アンドゲート51〜53は命令OP
2、OP3、OP7のうちから必要な論理を取ってそれ
ぞれ信号GACC、GMEM、GINを生成する。ここ
で、信号GACCはアンドゲート51の論理結果として
スリーステートゲート43に出力され、ACCレジスタ
36とデータバス28との間における信号の通過/遮断
を制御するものとなる。そして、各命令OP2、OP3
、OP7が全て“L”レベルになったときアンドゲート
51の論理結果が“H”となってスリーステートゲート
43に供給される。すなわち、この信号GACCがスリ
ーステートゲート43に“H”の状態で供給されると、
スリーステートゲート43が開いてACCレジスタ36
にラッチされたデータがデータバス28に出力される。 この動作は、後述の図8のタイミングチャートにおいて
データバスの部分にACCと描かれており、ACCレジ
スタ36からのデータがデータバス28に乗っているこ
とを意味している。
First, AND gates 51 to 53 are used for instruction OP.
2, OP3, and OP7 to generate signals GACC, GMEM, and GIN, respectively. Here, the signal GACC is outputted to the three-state gate 43 as a logical result of the AND gate 51, and controls passage/blocking of the signal between the ACC register 36 and the data bus 28. And each instruction OP2, OP3
, OP7 all go to "L" level, the logical result of AND gate 51 becomes "H" and is supplied to three-state gate 43. That is, when this signal GACC is supplied to the three-state gate 43 in the "H" state,
Three-state gate 43 opens and ACC register 36
The data latched in is output to the data bus 28. This operation is indicated by ACC in the data bus section in the timing chart of FIG. 8, which will be described later, and means that the data from the ACC register 36 is on the data bus 28.

【0024】上記と同様の内容で以下説明すると、次に
、信号GMEMはアンドゲート52の論理結果としてス
リーステートゲート45に出力され、MRレジスタ40
とデータバス28との間における信号の通過/遮断を制
御するものとなる。すなわち、この信号GMEMがスリ
ーステートゲート45に“H”の状態で供給されると、
スリーステートゲート45が開いてMRレジスタ40に
ラッチされたデータがデータバス28に出力される。こ
の動作は、後述の図8のタイミングチャートにおいてデ
ータバスの部分にMRと描かれており、RAM部11か
らデータが読み出されてデータバス28に乗っているこ
とを意味している。
The following explanation will be made in the same manner as above. Next, the signal GMEM is outputted to the three-state gate 45 as the logical result of the AND gate 52, and the signal GMEM is outputted to the three-state gate 45 as the logical result of the AND gate 52.
It controls passage/cutoff of signals between the data bus 28 and the data bus 28. That is, when this signal GMEM is supplied to the three-state gate 45 in the "H" state,
Three-state gate 45 opens and the data latched in MR register 40 is output to data bus 28. This operation is indicated by MR in the data bus section in the timing chart of FIG. 8, which will be described later, and means that data is read from the RAM section 11 and is placed on the data bus 28.

【0025】また、信号GINはアンドゲート53の論
理結果としてスリーステートゲート44に出力され、I
Nレジスタ41とデータバス28との間における信号の
通過/遮断を制御するものとなる。すなわち、この信号
GINがスリーステートゲート44に“H”の状態で供
給されると、スリーステートゲート44が開いてINレ
ジスタ41からデータバス28へのデータの通過が許容
されるものとなる。この動作は、後述の図8のタイミン
グチャートにおいてデータバスの部分にINと描かれて
おり、INレジスタ41にラッチされた外部の入力デー
タがデータバス28に乗ることを意味している。
Further, the signal GIN is outputted to the three-state gate 44 as a logical result of the AND gate 53, and
It controls passage/cutoff of signals between the N register 41 and the data bus 28. That is, when this signal GIN is supplied to the three-state gate 44 in the "H" state, the three-state gate 44 opens and data is allowed to pass from the IN register 41 to the data bus 28. This operation is indicated by IN in the data bus section in the timing chart of FIG. 8, which will be described later, and means that external input data latched in the IN register 41 is transferred to the data bus 28.

【0026】アンドゲート54〜56は命令OP0、O
P1、OP7のうちから必要な論理を取り、その出力は
それぞれラッチ74〜76に供給される。ラッチ74〜
76はクロック信号CK1の立ち下がりのタイミングで
入力される信号をラッチしてそれぞれアンドゲート65
〜67に送る。アンドゲート65〜67はクロック信号
CK2に同期してそれぞれラッチ74〜76から供給さ
れた信号に基づいて信号ΦMW、ΦOUT、ΦMPYを
生成する。
AND gates 54 to 56 are used for instructions OP0, O
Necessary logic is selected from P1 and OP7, and its output is supplied to latches 74-76, respectively. Latch 74~
76 is an AND gate 65 which latches the signal input at the falling timing of the clock signal CK1.
~Send to 67. AND gates 65-67 generate signals ΦMW, ΦOUT, and ΦMPY based on signals supplied from latches 74-76, respectively, in synchronization with clock signal CK2.

【0027】ここで、信号ΦMWはアンドゲート65の
論理結果としてクロック信号CK2に同期し、かつ同じ
ような単一パルスとしてMWレジスタ39に出力され、
このMWレジスタ39のデータラッチタイミングを制御
する。これは、データバス28からのデータをMWレジ
スタ39にラッチするタイミングとなる。信号ΦOUT
はアンドゲート66の論理結果としてクロック信号CK
2に同期し、かつ同じような単一パルスとしてOUTレ
ジスタ42に出力され、データバス28からのデータを
OUTレジスタ42にラッチするタイミングを制御する
。信号ΦMPYはアンドゲート67の論理結果としてク
ロック信号CK2に同期し、かつ同じような単一パルス
としてMPYレジスタ29に出力され、データバス28
からのデータをMPYレジスタ29にラッチするタイミ
ングを制御する。
Here, the signal ΦMW is synchronized with the clock signal CK2 as a logical result of the AND gate 65, and is output as a similar single pulse to the MW register 39,
The data latch timing of this MW register 39 is controlled. This is the timing at which data from the data bus 28 is latched into the MW register 39. Signal ΦOUT
is the logical result of the AND gate 66, which is the clock signal CK.
2 and is output as a similar single pulse to the OUT register 42 to control the timing at which data from the data bus 28 is latched into the OUT register 42. The signal ΦMPY is synchronized with the clock signal CK2 as a logical result of the AND gate 67, and is output as a similar single pulse to the MPY register 29 and connected to the data bus 28.
Controls the timing of latching data from MPY into the MPY register 29.

【0028】アンドゲート57〜64は命令OP5、O
P6、OP7のうちから必要な論理を取り、そのうちア
ンドゲート57の出力は信号SUBに、アンドゲート5
9の出力は信号GOFSTに、さらにアンドゲート58
の出力はアンドゲート68を介して信号ARSTとなる
。ここで、信号SUBはALU13に供給され、ALU
13における加算/減算の切換えを行うことは前述の通
りである。信号GOFSTはインバータ33およびスリ
ーステートゲート31、32に供給され、ALU13に
おける演算データの切換えを行うことは前述の通りであ
る。信号ARSTはアンドゲート68の論理結果として
クロック信号CK1に同期し、かつ同じような単一パル
スとしてACCレジスタ36に供給され、ACCレジス
タ36をリセットするタイミングを制御する。
AND gates 57 to 64 are used for instructions OP5 and O
The necessary logic is taken from P6 and OP7, and the output of AND gate 57 is sent to signal SUB, and the output of AND gate 5 is
The output of 9 is connected to the signal GOFST, and further to the AND gate 58
The output of the signal is passed through the AND gate 68 and becomes the signal ARST. Here, the signal SUB is supplied to the ALU13, and the ALU
The addition/subtraction switching in step 13 is as described above. As described above, the signal GOFST is supplied to the inverter 33 and the three-state gates 31 and 32, and switches the operation data in the ALU 13. Signal ARST is synchronized to clock signal CK1 as the logical result of AND gate 68 and is provided as a similar single pulse to ACC register 36 to control the timing of resetting ACC register 36.

【0029】アンドゲート60〜64の出力はそれぞれ
ラッチ77〜81に供給されており、ラッチ77〜81
はクロック信号CK1およびCK2の単独のあるいは双
方の立ち下がりのタイミングで入力される信号をラッチ
してそれぞれ後段の素子に送る。アンドゲート69〜7
1はクロック信号CK2に同期してそれぞれ信号ΦAC
C、ΦCNST、ΦMAを生成する。
The outputs of AND gates 60-64 are supplied to latches 77-81, respectively.
latches signals input at the timing of falling of one or both of clock signals CK1 and CK2, and sends the signals to the subsequent elements. and gate 69~7
1 is the signal ΦAC in synchronization with the clock signal CK2.
Generate C, ΦCNST, and ΦMA.

【0030】ここで、信号ΦACCはアンドゲート69
の論理結果としてクロック信号CK2に同期し、かつ同
じような単一パルスとしてACCレジスタ36に供給さ
れ、ACCレジスタ36のデータラッチタイミングを制
御する。信号ΦCNSTはアンドゲート70の論理結果
としてクロック信号CK2に同期し、かつ同じような単
一パルスとしてCONSTレジスタ26に供給され、C
ONSTレジスタ26のデータラッチタイミングを制御
する。信号ΦMAはアンドゲート71の論理結果として
クロック信号CK2に同期し、かつ同じような単一パル
スとしてMAレジスタ37およびSAレジスタ38に供
給され、これらのレジスタ37、38のデータラッチタ
イミングを制御する。
Here, the signal ΦACC is connected to the AND gate 69
is synchronized with the clock signal CK2 and is supplied as a similar single pulse to the ACC register 36 to control the data latch timing of the ACC register 36. Signal ΦCNST is synchronized with clock signal CK2 as the logical result of AND gate 70 and is provided as a similar single pulse to CONST register 26,
Controls the data latch timing of the ONST register 26. Signal ΦMA is synchronized with clock signal CK2 as the logical result of AND gate 71 and is supplied as a similar single pulse to MA register 37 and SA register 38 to control the data latch timing of these registers 37,38.

【0031】また、ラッチ80、81の出力は、さらに
後段のラッチ82、83にそれぞれ供給され、ラッチ8
2、83はクロック信号CK1の立ち下がりのタイミン
グで入力される信号をラッチしてそれぞれアンドゲート
72、73に送る。アンドゲート72、73はクロック
信号CK2に同期してそれぞれラッチ82、83から供
給された信号に基づいて信号ΦMR、MWを生成する。 なお、ラッチ80からは信号MEMWが生成される。
The outputs of the latches 80 and 81 are further supplied to the subsequent latches 82 and 83, respectively.
2 and 83 latch the signals input at the falling timing of the clock signal CK1 and send them to AND gates 72 and 73, respectively. AND gates 72 and 73 generate signals ΦMR and MW based on signals supplied from latches 82 and 83, respectively, in synchronization with clock signal CK2. Note that the latch 80 generates a signal MEMW.

【0032】ここで、信号ΦMRはアンドゲート72の
論理結果としてクロック信号CK2に同期し、かつ同じ
ような単一パルスとしてMRレジスタ40に供給され、
MRレジスタ40のデータラッチタイミングを制御する
。信号MWはアンドゲート73の論理結果としてクロッ
ク信号CK2に同期してRAM部11に供給され、RA
M部11における後述のメインメモリ91およびサブメ
モリ92における端子WTのレベルを制御する(図5参
照)。詳しくは、メインメモリ91の場合は端子WTに
対して信号MMWとして、サブメモリ92の場合は端子
WTに対して信号SMWとして供給される(動作は後述
)。信号MEMWはラッチ80の出力としてRAM部1
1に供給され、RAM部11における後述のメインメモ
リ91およびサブメモリ92における記憶制御のタイミ
ングを制御する(詳しくは図5の説明のとき述べる)。
Here, the signal ΦMR is synchronized with the clock signal CK2 as a logical result of the AND gate 72, and is supplied as a similar single pulse to the MR register 40,
Controls the data latch timing of the MR register 40. The signal MW is supplied to the RAM section 11 in synchronization with the clock signal CK2 as a logical result of the AND gate 73, and is
The level of a terminal WT in a main memory 91 and a sub-memory 92 (described later) in the M section 11 is controlled (see FIG. 5). Specifically, in the case of the main memory 91, the signal MMW is supplied to the terminal WT, and in the case of the sub memory 92, the signal SMW is supplied to the terminal WT (the operation will be described later). The signal MEMW is sent to the RAM section 1 as the output of the latch 80.
1, and controls the timing of storage control in a main memory 91 and a sub-memory 92, which will be described later, in the RAM section 11 (details will be described in the description of FIG. 5).

【0033】一方、カウンタ22の出力CT1〜CT7
の解読を行う論理構成は図3で示され、アンドゲート8
4、85およびラッチ86によって構成される。アンド
ゲート84はカウンタ22の出力CT1〜CT7の全て
のアンド論理を取り、その論理結果はラッチ86に入力
される。ラッチ86はクロック信号CK1の立ち下がり
のタイミングで入力される信号をラッチしてアンドゲー
ト85に送り、アンドゲート85はクロック信号CKに
同期してラッチ86から供給された信号に基づいて信号
ΦINを生成する。信号ΦINはINレジスタ41に出
力され、INレジスタ41におけるデータラッチタイミ
ングを制御する。
On the other hand, the outputs CT1 to CT7 of the counter 22
The logical configuration for decoding is shown in FIG. 3, and the AND gate 8
4, 85 and a latch 86. The AND gate 84 takes all the AND logics of the outputs CT1 to CT7 of the counter 22, and the logic result is input to the latch 86. The latch 86 latches the signal input at the falling timing of the clock signal CK1 and sends it to the AND gate 85, and the AND gate 85 outputs the signal ΦIN based on the signal supplied from the latch 86 in synchronization with the clock signal CK. generate. The signal ΦIN is output to the IN register 41 and controls the data latch timing in the IN register 41.

【0034】命令OP0〜OP7の論理レベルに基づく
意味内容は図4(a)、(b)に示す命令構成図によっ
て表される。これを説明すると、以下のようになる。以
下の命令は図4(a)に示すものの説明であるが、その
中でS、Dは処理対象で、図4(b)の論理レベルをと
るとき、その対象自体が示される。
The meanings of the instructions OP0 to OP7 based on their logical levels are represented by the instruction configuration diagrams shown in FIGS. 4(a) and 4(b). This can be explained as follows. The following commands are explanations of those shown in FIG. 4(a), among which S and D are processing targets, and when they take the logic level of FIG. 4(b), the targets themselves are indicated.

【0035】ADD:ALU13の加算命令であり、命
令OP5〜OP7の3ビットが[000]となることが
特徴である。そして、命令OP0〜OP3の下位4ビッ
トで加算する対象を決定している。この命令OP5〜O
P7が[000]となることにより、オペレーションデ
コーダ24の出力SUBが[0]となり、ALU13が
加算状態になる。また、オペレーションデコーダ24か
らクロック信号CK2に同期して信号ΦACCが出力さ
れ、ACCレジスタ36にALU13の加算結果がラッ
チされる。
ADD: This is an addition instruction of the ALU 13, and is characterized in that three bits of instructions OP5 to OP7 are [000]. The target to be added is determined by the lower 4 bits of the instructions OP0 to OP3. This instruction OP5~O
When P7 becomes [000], the output SUB of the operation decoder 24 becomes [0], and the ALU 13 enters the addition state. Further, a signal ΦACC is outputted from the operation decoder 24 in synchronization with the clock signal CK2, and the addition result of the ALU 13 is latched in the ACC register 36.

【0036】このとき、例えば下位のOP3〜OP0が
[1011](INレジスタ41の値と乗算器27の値
を指定)であるとすると、信号GINが[1]となって
INレジスタ41の値がデータバス28に入力される。 また、信号ΦMPYが[1]となることにより、このI
Nレジスタ41の値がMPYレジスタ29にラッチされ
る。その後、この値は乗算器27で乗算される。さらに
、このとき信号GOFSTが[0]であるため、ALU
13はACCレジスタ36の値と乗算器27の値とを加
算して信号ΦACCが立ち下がるタイミングでACCレ
ジスタ36にラッチする。当初、ACCレジスタ36の
値が[0]であれば、ALU13の端子Aに入力される
値がACCレジスタ36に入力されることになる。また
、下位のOP3〜OP0が[0000]のときは、AC
Cレジスタ36の値とその時点で端子Aに入力されてい
るデータとを加算した値をACCレジスタ36にラッチ
してデータバス28に出力する。これは、信号ΦACC
=[1]のためである。
At this time, for example, if the lower OP3 to OP0 are [1011] (specifying the value of the IN register 41 and the value of the multiplier 27), the signal GIN becomes [1] and the value of the IN register 41 is is input to the data bus 28. Also, since the signal ΦMPY becomes [1], this I
The value of N register 41 is latched into MPY register 29. This value is then multiplied by multiplier 27. Furthermore, since the signal GOFST is [0] at this time, the ALU
13 adds the value of the ACC register 36 and the value of the multiplier 27 and latches it into the ACC register 36 at the timing when the signal ΦACC falls. Initially, if the value of the ACC register 36 is [0], the value input to the terminal A of the ALU 13 will be input to the ACC register 36. Also, when lower OP3 to OP0 are [0000], AC
The value obtained by adding the value of the C register 36 and the data input to the terminal A at that time is latched in the ACC register 36 and output to the data bus 28. This is the signal ΦACC
= [1].

【0037】SUB:ALU13が減算状態になるだけ
で(SUB=[1])、その他はADDと同様である。
SUB: Only the ALU 13 enters the subtraction state (SUB=[1]), and the rest is the same as ADD.

【0038】ACC  RESET:命令OP5〜OP
7の3ビットが[010]となり、ACCレジスタ36
をクロック信号CK1のタイミングでリセットするもの
である(ARST=1)。また、下位のビットOP3〜
OP0の状態でこのときレジスタ間のデータ移動を行う
。 具体的には、下位のビットOP3〜OP0の状態が[0
000]のとき、ACCレジスタ36の値がデータバス
28へ移動する。[1011]のとき、信号GIN=[
1]となり、INレジスタ41の値がΦMPY=1とな
った時点でMPYレジスタ29にラッチされる(IN→
MPY)。[0111]のとき、信号GMEM=[1]
となり、MRレジスタ40の値がデータバス28を介し
てΦMPY=1となった時点でMPYレジスタ29にラ
ッチされる(MR→MPY)。[0001]のとき、信
号GACC=[1]となり、ACCレジスタ36の値が
データバス28を介してΦMW=1となった時点でMW
レジスタ39にラッチされる(ACC→MW)。 [0010]のとき、信号GACC=[1]となり、A
CCレジスタ36の値がデータバス28を介してΦOU
T=1となった時点でOUTレジスタ42にラッチされ
る(ACC→OUT)。
ACC RESET: Instructions OP5 to OP
The 3 bits of 7 become [010], and the ACC register 36
is reset at the timing of clock signal CK1 (ARST=1). Also, lower bits OP3~
At this time, data is moved between registers in the OP0 state. Specifically, the state of lower bits OP3 to OP0 is [0
000], the value of the ACC register 36 is moved to the data bus 28. When [1011], signal GIN=[
1], and when the value of the IN register 41 becomes ΦMPY=1, it is latched in the MPY register 29 (IN→
MPY). When [0111], signal GMEM=[1]
When the value of the MR register 40 becomes ΦMPY=1 via the data bus 28, it is latched into the MPY register 29 (MR→MPY). [0001], the signal GACC becomes [1], and when the value of the ACC register 36 becomes ΦMW=1 via the data bus 28, the MW
It is latched into the register 39 (ACC→MW). When [0010], signal GACC=[1], and A
The value of the CC register 36 is transferred to ΦOU via the data bus 28.
When T=1, it is latched in the OUT register 42 (ACC→OUT).

【0039】係数No.SET:係数ROM12からの
データをCONSTレジスタ26にラッチするものであ
る。すなわち、命令OP4〜OP0の5ビットで係数R
OM12のアドレスを指定し、命令OP7、OP6=[
10]となることにより、クロック信号CK2のタイミ
ングで信号ΦCNSTを発生し、係数データをラッチす
る。
Coefficient No. SET: Latch data from the coefficient ROM 12 into the CONST register 26. In other words, the coefficient R is determined by the 5 bits of instructions OP4 to OP0.
Specify the address of OM12 and execute instructions OP7, OP6=[
10], the signal ΦCNST is generated at the timing of the clock signal CK2, and the coefficient data is latched.

【0040】RAM  READ:RAM部11の記憶
内容をMRレジスタ40に出力するものである。下位ビ
ットOP4〜OP0のデータをSAレジスタ38に指定
し、信号GOFST=[1]となる状態(オフセット値
+PCU)の値をMAレジスタ37に供給する。そして
、これらの値は信号ΦMW=[1]となった時点でSA
、MAレジスタ38、37にラッチされる。その後、1
サンプル遅れて信号ΦMRが出力され、MRレジスタ4
0にRAM部11からのデータがラッチされる。
RAM READ: This is for outputting the stored contents of the RAM section 11 to the MR register 40. The data of the lower bits OP4 to OP0 is designated to the SA register 38, and the value of the state (offset value + PCU) where the signal GOFST=[1] is supplied to the MA register 37. Then, these values become SA when the signal ΦMW=[1].
, MA registers 38 and 37. After that, 1
The signal ΦMR is output after a sample delay, and the MR register 4
Data from the RAM section 11 is latched to 0.

【0041】RAM  WRITE:RAM部11にM
Wレジスタ39でラッチされた値を書込むものである。 下位ビットOP4〜OP0はアドレス値となり、読み出
し(READ)のときと同様である。
RAM WRITE: M in RAM section 11
This is to write the value latched by the W register 39. The lower bits OP4 to OP0 become address values, which are the same as when reading (READ).

【0042】NOP:いわゆるノーオペレーションで何
もしないものである。したがって、下位ビットOP3〜
OP0(4ビット)で指定されるレジスタ間でデータの
転送が行われるのみである。
NOP: This is a so-called no operation, which does nothing. Therefore, lower bits OP3~
Data is only transferred between registers specified by OP0 (4 bits).

【0043】次に、図5はRAM部11の詳細な回路構
成を示す図である。この図において、RAM部11は主
要なものとしてメインメモリ91、サブメモリ92、A
LU93、ROM94、ROM95およびレジスタ96
を含んで構成される。以下に、これら以外に他の回路素
子を加えながら回路構成の詳細を説明する。まず、メイ
ンメモリ91はデータを差分形式で記憶するもので、メ
イン記憶手段に相当する。また、サブメモリ92は所定
のサンプリング周期前(本実施例では1サンプリング周
期前)の入力データを記憶するもので、サブ記憶手段に
相当する。これらのメモリ91、92に共通する機能と
して各端子OEのレベルが[1]のとき、データの書込
みが可能になり、端子WTのレベルが[1]となるタイ
ミングで端子Dに入力されるデータを、端子Aに入力さ
れるアドレスで指定される領域に記憶する。各端子WT
には前述したように、オペレーションデコーダ24から
の信号MWが供給されるが、メインメモリ91では信号
MMWとして、サブメモリ92では信号SMWとして供
給される。なお、メインメモリ91の端子AはMAレジ
スタ37に接続され、サブメモリ92の端子AはSAレ
ジスタ38に接続される。
Next, FIG. 5 is a diagram showing a detailed circuit configuration of the RAM section 11. In this figure, the RAM section 11 includes a main memory 91, a sub memory 92, and an A.
LU93, ROM94, ROM95 and register 96
It consists of: Below, the details of the circuit configuration will be explained while adding other circuit elements in addition to these. First, the main memory 91 stores data in a differential format and corresponds to main storage means. Further, the sub-memory 92 stores input data before a predetermined sampling period (in this embodiment, one sampling period before), and corresponds to a sub-storage means. A common function of these memories 91 and 92 is that data can be written when the level of each terminal OE is [1], and data is input to the terminal D at the timing when the level of the terminal WT becomes [1]. is stored in the area specified by the address input to terminal A. Each terminal WT
As described above, the signal MW from the operation decoder 24 is supplied to the main memory 91 as the signal MMW, and the sub memory 92 as the signal SMW. Note that the terminal A of the main memory 91 is connected to the MA register 37, and the terminal A of the sub memory 92 is connected to the SA register 38.

【0044】ROM94は指数変換テーブルを有し、入
力される16ビットのデータを8ビットに圧縮して変換
する。また、ROM95は外数変換テーブルを有し、入
力される8ビットのデータを16ビットに戻すように変
換する。メインメモリ91の端子Dはスリーステートゲ
ート97、ROM94を順次介して出力ポートDOに接
続されるとともに、ROM95、スリーステートゲート
98を順次介してALU93の一方の入力端子に接続さ
れる。また、ALU93の一方の入力端子はスリーステ
ートゲート99を介して入力ポートDIと接続されてい
る。スリーステートゲート98はオペレーションデコー
ダ24からの信号MEHWが“H”のとき開き、スリー
ステートゲート99はインバータ100を介して供給さ
れる信号MEHWの反転値により同様にハイアクティブ
で開く。一方、スリーステートゲート97はアンドゲー
ト101の出力信号に基づいて作動し、アンドゲート1
01には信号CT0、MEMWが供給される。なお、ア
ンドゲート101の出力信号はメインメモリ91の端子
OEにも供給される。
The ROM 94 has an exponent conversion table and compresses and converts input 16-bit data into 8-bit data. The ROM 95 also has an external number conversion table, and converts input 8-bit data back to 16-bit data. Terminal D of main memory 91 is connected to output port DO via three-state gate 97 and ROM 94 in sequence, and to one input terminal of ALU 93 via ROM 95 and three-state gate 98 in sequence. Further, one input terminal of the ALU 93 is connected to the input port DI via a three-state gate 99. The three-state gate 98 opens when the signal MEHW from the operation decoder 24 is "H", and the three-state gate 99 similarly opens when the inverted value of the signal MEHW supplied via the inverter 100 is active. On the other hand, the three-state gate 97 operates based on the output signal of the AND gate 101.
01 is supplied with signals CT0 and MEMW. Note that the output signal of the AND gate 101 is also supplied to the terminal OE of the main memory 91.

【0045】ALU93の他方の入力端子はサブメモリ
92の端子Dに接続され、この端子Dはさらにスリース
テートゲート102を介して出力ポートDOに接続され
る。なお、出力ポートDOはレジスタ96の出力側にも
接続されている。また、ALU93の他方の入力端子は
スリーステートゲート103を介して入力ポートDIに
も接続される。スリーステートゲート102はアンドゲ
ート104の出力信号に基づいて作動し、スリーステー
トゲート103はアンドゲート105の出力信号に基づ
いて作動する。アンドゲート104、105には信号C
T0、MEMWが供給される。ただし、アンドゲート1
05には信号MEMWが反転して供給される。
The other input terminal of ALU 93 is connected to terminal D of submemory 92, which is further connected to output port DO via three-state gate 102. Note that the output port DO is also connected to the output side of the register 96. Further, the other input terminal of ALU 93 is also connected to input port DI via three-state gate 103. Three-state gate 102 operates based on the output signal of AND gate 104, and three-state gate 103 operates based on the output signal of AND gate 105. AND gates 104 and 105 have a signal C
T0 and MEMW are supplied. However, and gate 1
The signal MEMW is inverted and supplied to 05.

【0046】ALU93は加減算器であり、制御のため
の信号MEMWが[1]のとき加算を行い、MEMW=
[0]のとき減算を行う。加算のときは、ROM95、
スリーステートゲート98を介したメインメモリ91か
らのデータが端子Aに入力されるとともに、端子Bには
1サンプリング周期前に出力されたデータがサブメモリ
92から入力され、これらの各データがALU93が加
算される。その後、加算データはレジスタ96にラッチ
され、出力ポートDOから出力される。ALU93が加
算を行うのは、データの読み出し時に相当する。また、
このときアンドゲート104の出力信号によってレジス
タ96にラッチされた値がスリーステートゲート102
が開くタイミングでサブメモリ92に入力され、1サン
プリング周期前のデータとして記憶される。
The ALU 93 is an adder/subtracter, and performs addition when the control signal MEMW is [1], and MEMW=
When [0], subtraction is performed. When adding, ROM95,
Data from the main memory 91 via the three-state gate 98 is input to terminal A, and data output one sampling period ago is input from the sub-memory 92 to terminal B, and each of these data is input to the ALU 93. will be added. Thereafter, the added data is latched into register 96 and output from output port DO. The ALU 93 performs addition when reading data. Also,
At this time, the value latched in the register 96 by the output signal of the AND gate 104 is transferred to the three-state gate 102.
The data is input to the submemory 92 at the timing when the data is opened, and is stored as data from one sampling period before.

【0047】一方、減算のときはデータの書込み時に相
当し、入力ポートDIからのデータがスリーステートゲ
ート99を介して端子Aに入力され、この値から端子B
に入力されるサブメモリ92からの1サンプリング周期
前に出力されたデータを減算する。その後、減算データ
はレジスタ96にラッチされ、ROM94によって圧縮
された後、サンプリング周期の後半(CT0=[1])
でアンドゲート101の出力信号によってスリーステー
トゲート97が開くタイミングでメインメモリ91に入
力される。そして、この後のクロック信号CK2に同期
して書込まれる。なお、このときスリーステートゲート
103も開いて入力ポートDIからのデータも信号MW
に同期してサブメモリ92に書込まれる。ここで、上記
ROM94、アンドゲート101、スリーステートゲー
ト97、98、99、インバータ100およびALU9
3は全体として変調手段106に相当する。また、上記
ROM95、アンドゲート104、105、スリーステ
ートゲート98、99、102、103、インバータ1
00およびALU93は全体として復調手段107に相
当する。
On the other hand, the subtraction corresponds to data writing, and data from the input port DI is input to the terminal A via the three-state gate 99, and from this value is input to the terminal B.
The data inputted from the submemory 92 and outputted one sampling period ago is subtracted. After that, the subtraction data is latched into the register 96 and compressed by the ROM 94, and then the second half of the sampling period (CT0=[1])
The signal is input to the main memory 91 at the timing when the three-state gate 97 is opened by the output signal of the AND gate 101. Then, it is written in synchronization with the subsequent clock signal CK2. At this time, the three-state gate 103 is also opened, and the data from the input port DI is also transferred to the signal MW.
The data is written into the submemory 92 in synchronization with . Here, the ROM 94, the AND gate 101, the three-state gates 97, 98, 99, the inverter 100 and the ALU 9
3 corresponds to the modulation means 106 as a whole. Also, the ROM 95, AND gates 104, 105, three-state gates 98, 99, 102, 103, inverter 1
00 and ALU 93 correspond to demodulation means 107 as a whole.

【0048】次に、図6は上記DSPを用いて信号のデ
ィレィ処理を行う場合の動作を回路的に示すものである
。この図に示すディレィ処理回路は、ディレィ回路11
0、乗算器111〜113および加算器114によって
構成される。α、β、γは係数ROM12に記憶されて
いる係数であり、乗算器111〜113において入力さ
れるデータに対してそれぞれ乗算されるものである。 この乗算処理は図1との対応で示すと、乗算器27の処
理に相当する。また、加算器114の加算処理はALU
13の処理に相当する。ディレィ回路110は入力され
たデータを順次1ビットずつ右にシフトするシフトレジ
スタのようなものであり、これはRAM部11に相当す
る。ディレィ回路110の入力側のデータOFST0、
出力側のデータOFST2、途中のデータOFST1が
RAM部11のアドレスに相当し、(OFST1−OF
ST0)がオフセットアドレスROM30に記憶される
オフセット値に相当する。このようなディレィ処理回路
では、入力された信号はオフセット値分遅れたデータと
加算されて順次入力されていく。
Next, FIG. 6 shows a circuit diagram of the operation when delay processing of a signal is performed using the DSP described above. The delay processing circuit shown in this figure is a delay circuit 11.
0, multipliers 111 to 113 and an adder 114. α, β, and γ are coefficients stored in the coefficient ROM 12, and are respectively multiplied by the data inputted in the multipliers 111 to 113. This multiplication process corresponds to the process of the multiplier 27 when shown in correspondence with FIG. Furthermore, the addition process of the adder 114 is performed by the ALU.
This corresponds to No. 13 processing. The delay circuit 110 is like a shift register that sequentially shifts input data to the right one bit at a time, and corresponds to the RAM section 11. Data OFST0 on the input side of the delay circuit 110,
Data OFST2 on the output side and data OFST1 in the middle correspond to the address of the RAM section 11, and (OFST1-OFST1)
ST0) corresponds to the offset value stored in the offset address ROM 30. In such a delay processing circuit, an input signal is added to data delayed by an offset value and is sequentially input.

【0049】図7はDSPで上記ディレィ処理回路の動
作を行わせるためにマイクロコードROM14に記憶さ
れるプログラムリストである。アドレス0からアドレス
Dまでの各命令が順次実行される。
FIG. 7 is a program list stored in the microcode ROM 14 to cause the DSP to operate the delay processing circuit. Each instruction from address 0 to address D is executed sequentially.

【0050】次に、上記構成による本実施例の作用につ
いて説明する。本実施例のDSPを用いて信号のディレ
ィ処理を行う場合の動作は回路的に図6で示されるため
、この図6を参照して説明する。すなわち、ディレィ処
理回路への入力はインパルスの波形で与えられ、このイ
ンパルス入力がディレィ処理回路に入力されてディレィ
処理され再び循環する過程を経ると、結局、入力された
信号はオフセット値分遅れたデータと加算されて入力さ
れることとなり、図6のディレィ処理回路で係数をβ<
1にした場合、出力される信号が徐々に小さくなる。
Next, the operation of this embodiment with the above configuration will be explained. The operation when performing signal delay processing using the DSP of this embodiment is shown in circuit form in FIG. 6, and will be described with reference to FIG. In other words, the input to the delay processing circuit is given as an impulse waveform, and when this impulse input is input to the delay processing circuit, subjected to delay processing, and circulated again, the input signal is delayed by the offset value. It will be added to the data and input, and the delay processing circuit in Figure 6 will calculate the coefficient by β<
When set to 1, the output signal gradually becomes smaller.

【0051】以下、図8に示すディレィ処理回路の動作
の全体的なタイミングチャートおよび図9、図10に示
すRAM部11の主要な動作のタイミングチャートを参
照して詳細な作用を説明する。
The detailed operation will be described below with reference to the overall timing chart of the operation of the delay processing circuit shown in FIG. 8 and the timing chart of the main operation of the RAM section 11 shown in FIGS. 9 and 10.

【0052】DSPで上記のディレィ処理を行わせる場
合、マイクロコードROM14に格納された図7に示す
プログラムリストでアドレス0からアドレスDまでの各
命令(マイクロプログラム)が順次実行される。すなわ
ち、マイクロコードROM14に格納されたマイクロプ
ログラムはカウンタ22の出力CT1〜CT7によって
順次読み出され、このとき、カウンタ22はアドレスカ
ウンタとして動作し、図8に示すクロック信号CK1、
CK2に同期して出力CT1〜CT7がマイクロコード
ROM14に送られる。マイクロコードROM14から
読み出されたマイクロプログラムはクロック信号CK2
に同期するタイミングでMCレジスタ25にラッチされ
、その後、オフセットアドレスROM30、SAレジス
タ38、係数ROM12およびオペレーションデコーダ
24に供給される。
When the DSP performs the above-mentioned delay processing, each instruction (microprogram) from address 0 to address D is sequentially executed according to the program list shown in FIG. 7 stored in the microcode ROM 14. That is, the microprogram stored in the microcode ROM 14 is sequentially read out by the outputs CT1 to CT7 of the counter 22. At this time, the counter 22 operates as an address counter and receives the clock signals CK1 and CK1 shown in FIG.
Outputs CT1 to CT7 are sent to the microcode ROM 14 in synchronization with CK2. The microprogram read from the microcode ROM 14 is clock signal CK2.
The signal is latched into the MC register 25 at a timing synchronized with , and then supplied to the offset address ROM 30 , SA register 38 , coefficient ROM 12 and operation decoder 24 .

【0053】そして、オフセットアドレスROM30で
マイクロプログラムの下位0〜4ビットでアドレスが指
定されて遅延時間に相当するオフセット値が読み出され
ることにより、このオフセットアドレスROM30から
のオフセットデータの値とカウンタ22からの出力CT
8〜22の値(PCU)との加算値とにより、RAM部
11から入力される信号に対してオフセット分だけ遅れ
たデータが読み出される。また、このときSAレジスタ
38では信号ΦMAに同期してマイクロプログラムの下
位0〜4ビットの値がそのままラッチされる。係数RO
M12ではマイクロプログラムの下位0〜4ビットによ
って演算に用いる係数が指定されて記憶される。さらに
、オペレーションデコーダ24では読み出された命令O
P0〜7が解読され、各種の制御信号が生成されて出力
される。
Then, by specifying an address in the lower 0 to 4 bits of the microprogram in the offset address ROM 30 and reading out the offset value corresponding to the delay time, the value of the offset data from the offset address ROM 30 and the counter 22 are output CT of
By adding the value 8 to 22 (PCU), data delayed by the offset with respect to the signal input from the RAM section 11 is read out. Further, at this time, the values of the lower 0 to 4 bits of the microprogram are latched as they are in the SA register 38 in synchronization with the signal ΦMA. Coefficient R.O.
In M12, the coefficients used for calculation are designated and stored by the lower 0 to 4 bits of the microprogram. Furthermore, the operation decoder 24 reads out the instruction O.
P0 to P7 are decoded and various control signals are generated and output.

【0054】まず、ディレィ処理の最初の命令サイクル
(アドレス0)では、図9に詳細なタイミングチャート
を示すように、RAM部11からデータの読み出し、す
なわちRAM部11の記憶内容をMRレジスタ40に出
力する処理が行われる。この場合、命令OP5〜OP7
の3ビットが[011]となる。オフセットアドレスR
OM30に記憶されているオフセット値(アドレスOF
ST1)は信号GOFSTが“H”になるタイミングで
開状態のスリーステートゲート31を介してALU13
の一方の端子Aに供給され、カウンタ22からの出力C
T8〜23の値(PCU)も同様のタイミングでスリー
ステートゲート32を介してALU13の他方の端子B
に供給される。そして、これら両者はALU13で加算
され、その結果はMAレジスタ37に供給される。また
、SAレジスタ38にはマイクロプログラムの下位0〜
4ビットの値がそのまま供給されており、これはサブメ
モリ92のデータを選ぶものとなる。その後、信号ΦM
Aが“H”となるタイミングでMAレジスタ37および
SAレジスタ38に供給されているデータがそれぞれラ
ッチされる。
First, in the first instruction cycle (address 0) of delay processing, as shown in the detailed timing chart in FIG. Output processing is performed. In this case, instructions OP5 to OP7
3 bits become [011]. Offset address R
Offset value stored in OM30 (address OF
ST1) is connected to the ALU 13 via the three-state gate 31 which is open at the timing when the signal GOFST becomes "H".
is supplied to one terminal A of the counter 22, and the output C from the counter 22
The values of T8 to T23 (PCU) are also transferred to the other terminal B of the ALU 13 via the three-state gate 32 at the same timing.
supplied to Then, these two values are added by the ALU 13, and the result is supplied to the MA register 37. In addition, the SA register 38 contains the lower 0 to
A 4-bit value is supplied as is, and this is used to select data in the submemory 92. Then the signal ΦM
The data supplied to the MA register 37 and the SA register 38 are each latched at the timing when A becomes "H".

【0055】次いで、アドレス1の処理では、係数βの
セットが行われる。すなわち、命令OP7、OP6=[
10]となることにより、クロック信号CK2のタイミ
ングで信号ΦCNSTが発生してCONSTレジスタ2
6に出力されるとともに、命令OP4〜OP0の5ビッ
トで係数ROM12のアドレスが指定され、係数βが係
数ROM12からOP4〜0をアドレスとして読み出さ
れてCONSTレジスタ26に供給される。次いで、オ
ペレーションデコーダ24からの信号ΦCNSTに同期
して係数βがCONSTレジスタ26にラッチされる。 また、このときアドレス0で読み出されたデータがMR
レジスタ40にラッチされる。
Next, in the processing of address 1, coefficient β is set. That is, instructions OP7, OP6=[
10], the signal ΦCNST is generated at the timing of the clock signal CK2 and the CONST register 2 is generated.
At the same time, the address of the coefficient ROM 12 is specified by the 5 bits of the instructions OP4 to OP0, and the coefficient β is read from the coefficient ROM 12 using OP4 to 0 as the address and supplied to the CONST register 26. Next, the coefficient β is latched into the CONST register 26 in synchronization with the signal ΦCNST from the operation decoder 24. Also, at this time, the data read at address 0 is MR
It is latched into register 40.

【0056】ここで、アドレス0およびアドレス1にお
けるデータの読み出し時(リード時)のRAM部11の
内部回路の動作を説明すると、RAM部11ではマイク
ロコードROM14からSAレジスタ38を介して入力
される0〜4ビット(すなわち、5ビット長)の命令デ
ータと、ALU13からMAレジスタ37を介して入力
される演算データとをアドレスとして、MRレジスタ4
0を介して読み出しデータがデータバス28に出力され
る。すなわち、このリード時はオペレーションデコーダ
24からの信号MEMWが[1]となり、ROM95、
スリーステートゲート98を介したメインメモリ91か
らのデータがALU93の端子Aに入力されるとともに
、端子Bには1サンプリング周期前に出力されたデータ
がサブメモリ92から入力され、これらの各データがA
LU93で加算された後、その加算データがレジスタ9
6にラッチされ、出力ポートDOから出力される。
Now, to explain the operation of the internal circuit of the RAM section 11 when reading data at address 0 and address 1, the RAM section 11 receives data input from the microcode ROM 14 via the SA register 38. The MR register 4 uses 0 to 4 bits (i.e., 5 bits long) instruction data and operation data input from the ALU 13 via the MA register 37 as an address.
Read data is output to data bus 28 via 0. That is, during this read, the signal MEMW from the operation decoder 24 becomes [1], and the ROM 95,
Data from the main memory 91 via the three-state gate 98 is input to terminal A of the ALU 93, and data output one sampling period ago is input from the sub memory 92 to terminal B. A
After being added in LU93, the added data is stored in register 9.
6 and output from output port DO.

【0057】また、このときアンドゲート104の出力
信号によってレジスタ96にラッチされた値がスリース
テートゲート102が開くタイミングでサブメモリ92
に入力され、1サンプリング周期前のデータとして記憶
される。なお、リード時にRAM部11からMRレジス
タ40にラッチするタイミングは命令1サイクル分遅れ
て行われる。これは、メインメモリ91からのデータを
出力ポートDOに出力するまでの間で1サイクル分の時
間を使ってしまうからである。また、ライト時にもライ
ト命令サイクルではMWレジスタ39にラッチするまで
の間で次のサイクルでデータがメインメモリ91に読み
込まれる。
At this time, the value latched in the register 96 by the output signal of the AND gate 104 is stored in the submemory 92 at the timing when the three-state gate 102 opens.
, and is stored as data from one sampling period before. Note that the timing of latching from the RAM section 11 to the MR register 40 at the time of reading is delayed by one instruction cycle. This is because it takes one cycle of time to output data from main memory 91 to output port DO. Furthermore, in the write command cycle, data is read into the main memory 91 in the next cycle until it is latched into the MW register 39.

【0058】次いで、次の命令サイクル(アドレス2の
処理)に移ると、命令OP5〜OP7の3ビットは[0
10]となり、命令OP0〜OP3の下位4ビットの状
態でレジスタ間のデータ移動が行われる。すなわち、命
令OP5〜OP7が[010]となることにより、オペ
レーションデコーダ24からACCレジスタ36に出力
される信号ARSTが“H”となることによってACC
レジスタ36がリセット(クリア)される。また、命令
OP0〜OP3の下位4ビットが[0111]となるこ
とにより、信号GMEMのレベルが立ち上がってスリー
ステートゲート45が開状態になり、MRレジスタ45
にラッチされているデータがデータバス28を介してM
PYレジスタ29に供給される。そして、オペレーショ
ンデコーダ24からの信号ΦMPYが“H”となるタイ
ミングでデータバス28からのデータがMPYレジスタ
29にラッチされる。したがって、MRレジスタ45に
ラッチされているデータがデータバス28を介してMP
Yレジスタ29に転送されることになる。この結果、乗
算器27からMPYレジスタ29にラッチされたデータ
に係数βを乗算した値が出力される。
Next, when moving to the next instruction cycle (processing address 2), the 3 bits of instructions OP5 to OP7 become [0
10], and data is moved between registers in the state of the lower 4 bits of instructions OP0 to OP3. That is, when the instructions OP5 to OP7 become [010], the signal ARST outputted from the operation decoder 24 to the ACC register 36 becomes "H", so that the ACC
Register 36 is reset (cleared). Furthermore, when the lower 4 bits of the instructions OP0 to OP3 become [0111], the level of the signal GMEM rises, the three-state gate 45 becomes open, and the MR register 45
The data latched in the M
The signal is supplied to the PY register 29. Then, data from the data bus 28 is latched into the MPY register 29 at the timing when the signal ΦMPY from the operation decoder 24 becomes "H". Therefore, the data latched in the MR register 45 is transferred to the MP via the data bus 28.
It will be transferred to the Y register 29. As a result, the multiplier 27 outputs a value obtained by multiplying the data latched in the MPY register 29 by the coefficient β.

【0059】次いで、アドレス3の処理ではALU13
による加算を行う。このとき、命令OP5〜OP7の3
ビットは[000]であり、命令OP0〜OP3の下位
4ビットで加算する対象が決定される。そして、命令O
P5〜OP7が[000]となることにより、オペレー
ションデコーダ24からALU13に出力される信号S
UBが[0]となり、ALU13が加算状態になる。こ
のときは、下位のOP3〜OP0が[1011]であり
、INレジスタ41の値と乗算器27の値とが指定され
るため、信号GINが[1]となってスリーステートゲ
ート44が開状態になり、INレジスタ41にラッチさ
れているデータがデータバス28に入力されるとともに
、信号ΦMPYが[1]となることにより、そのタイミ
ングでデータバス28上のデータがMPYレジスタ29
にラッチされる。その後、この値は乗算器27で乗算さ
れる。
Next, in the processing of address 3, the ALU 13
Perform addition by. At this time, instructions OP5 to OP7 3
The bit is [000], and the target to be added is determined by the lower 4 bits of the instructions OP0 to OP3. And command O
When P5 to OP7 become [000], the signal S output from the operation decoder 24 to the ALU 13
UB becomes [0] and the ALU 13 enters the addition state. At this time, the lower OP3 to OP0 are [1011], and the value of the IN register 41 and the value of the multiplier 27 are specified, so the signal GIN becomes [1] and the three-state gate 44 is in the open state. , the data latched in the IN register 41 is input to the data bus 28, and the signal ΦMPY becomes [1], so that at that timing, the data on the data bus 28 is input to the MPY register 29.
latched to. This value is then multiplied by multiplier 27.

【0060】さらに、このとき信号GOFSTが[0]
であるため、この反転信号がインバータ33を介してス
リーステートゲート34、35に供給されると、これら
のゲート34、35が開くため、乗算器27の出力デー
タとACCレジスタ36の値(=0)とがALU13に
より加算されてACCレジスタ36に出力される。また
、オペレーションデコーダ24からクロック信号CK2
に同期して信号ΦACCが出力され、上記加算結果は、
信号ΦACCが立ち下がるタイミングでACCレジスタ
36にラッチされる。結果的には、乗算器27の値をA
CCレジスタ36に転送したと同じになる。
Furthermore, at this time, the signal GOFST becomes [0]
Therefore, when this inverted signal is supplied to the three-state gates 34 and 35 via the inverter 33, these gates 34 and 35 open, so that the output data of the multiplier 27 and the value of the ACC register 36 (=0 ) are added by the ALU 13 and output to the ACC register 36. Also, the clock signal CK2 is output from the operation decoder 24.
The signal ΦACC is output in synchronization with , and the above addition result is
It is latched into the ACC register 36 at the timing when the signal ΦACC falls. As a result, the value of the multiplier 27 is A
It is the same as if it were transferred to the CC register 36.

【0061】次いで、アドレス4の処理に移り、ここで
はアドレス1と同じ方法で係数αが係数ROM12から
OP4〜0をアドレスとして読み出され、CONSTレ
ジスタ26にセットされる。この結果、乗算器27から
MPYレジスタ29にラッチされたデータ(すなわち、
INレジスタ41から転送されたデータ)に係数αを乗
算した値が出力される。
Next, the process moves to address 4, where the coefficient α is read out from the coefficient ROM 12 using OP4-0 as addresses in the same manner as address 1, and is set in the CONST register 26. As a result, the data latched from the multiplier 27 to the MPY register 29 (i.e.
The value obtained by multiplying the data transferred from the IN register 41 by the coefficient α is output.

【0062】次いで、アドレス5の処理では、アドレス
3の場合と同様に乗算器27の値がACCレジスタ36
に転送される。また、アドレス6の処理では、信号GA
CCのレベルが立ち上げるため、スリーステートゲート
43が開き、ACCレジスタ36にラッチされているデ
ータがデータバス28を介してMWレジスタ39に転送
され、アドレス6の終了タイミングで信号ΦMWが“H
”になると、MWレジスタ39において供給されたデー
タがラッチされる。このデータは、以後、RAM部11
に記憶されることになる。
Next, in the processing of address 5, the value of the multiplier 27 is transferred to the ACC register 36 as in the case of address 3.
will be forwarded to. In addition, in the processing of address 6, the signal GA
In order to raise the level of CC, the three-state gate 43 opens, the data latched in the ACC register 36 is transferred to the MW register 39 via the data bus 28, and the signal ΦMW becomes "H" at the end timing of address 6.
”, the data supplied in the MW register 39 is latched. This data is then stored in the RAM section 11.
will be memorized.

【0063】次いで、アドレス7の処理では、信号GO
FSTのレベルが立ち上ってスリーステートゲート31
、32が開くため、入力側のデータOFST0をアドレ
スとしてオフセットアドレスROM30から読み出され
たオフセットデータとPCU(CT8〜23)とがAL
U13にて加算され、その加算結果がMAレジスタ37
に供給されるとともに、この命令サイクルの終了時点で
信号ΦMAが“H”となることから、前記加算結果がM
Aレジスタ37にラッチされる。また、同じラッチタイ
ミングでSAレジスタ38にはOP4〜0の値がセット
される。
Next, in the processing of address 7, the signal GO
FST level rises and three-state gate 31
, 32 are open, the offset data read from the offset address ROM30 using the input side data OFST0 as an address and the PCU (CT8 to CT23) are AL
It is added in U13, and the addition result is stored in MA register 37.
Since the signal ΦMA becomes "H" at the end of this instruction cycle, the addition result is
It is latched into the A register 37. Furthermore, the values of OP4 to 0 are set in the SA register 38 at the same latch timing.

【0064】次いで、次の命令サイクル(アドレス8)
になると、上記動作に引続いてMWレジスタ39の値が
MAレジスタ37およびSAレジスタ38によって示さ
れる領域のRAM部11に記憶される。また、MAレジ
スタ37およびSAレジスタ38にはデータOFST2
に対応するオフセットデータとOP4〜0のデータとが
それぞれセットされる。すなわち、RAM部11にはマ
イクロコードROM14からSAレジスタ38を介して
入力される0〜4ビットの命令データと、ALU13か
らMAレジスタ37を介して入力される演算データとを
アドレスとしてデータバス28を経由してくるデータが
MWレジスタ39を介して読み込まれる。
Next, the next instruction cycle (address 8)
Then, following the above operation, the value of the MW register 39 is stored in the RAM section 11 in the area indicated by the MA register 37 and the SA register 38. In addition, data OFST2 is stored in the MA register 37 and the SA register 38.
The offset data corresponding to OP4 and the data of OP4 to OP0 are respectively set. That is, the RAM unit 11 receives 0 to 4-bit instruction data inputted from the microcode ROM 14 via the SA register 38 and operation data inputted from the ALU 13 via the MA register 37 as addresses and connects the data bus 28. Data coming through is read via the MW register 39.

【0065】この部分の詳細は図10のタイミングチャ
ートで示される。このデータの書込み処理を、RAM部
11の内部回路で説明すると、データ書込み時には信号
MEMW=[0]となるため、ALU93が減算処理の
状態になるとともに、信号MEMWがインバータ100
を介してスリーステートゲート100に供給されるため
、このスリーステートゲート99が開いて入力ポートD
Iに導かれた入力データがALU93の一方の端子Aに
供給され、他方の端子Bにはサブメモリ92から出力さ
れたデータが供給される。そして、ALU93において
入力ポートDIに導かれた入力データからサブメモリ9
2の出力データが減算され、クロック信号CK1に同期
するタイミングでレジスタ96にラッチされる。その後
、このデータはROM94で圧縮され、サンプリング周
期の後半(CT0=[1]の部分)でアンドゲート10
1の出力信号によってスリーステートゲート97が開く
タイミングでメインメモリ91に入力される。そして、
この後の信号MMWに同期してメインメモリ91に書込
まれる。なお、このときアンドゲート105の出力信号
も“H”になるため、スリーステートゲート103が開
いて入力ポートDIからのデータが信号SMWに同期し
てサブメモリ92に書込まれる。このように、データを
読み込むとき(ライト時)は入力されるデータからサブ
メモリ92に記憶されるデータが減算されてメインメモ
リ91に記憶される。
Details of this part are shown in the timing chart of FIG. This data writing process will be explained using the internal circuit of the RAM section 11. During data writing, the signal MEMW becomes [0], so the ALU 93 enters the state of subtraction processing, and the signal MEMW is transferred to the inverter 100.
is supplied to the three-state gate 100 via the input port D, so the three-state gate 99 opens and the input port D
The input data led to I is supplied to one terminal A of the ALU 93, and the data output from the sub-memory 92 is supplied to the other terminal B. Then, in the ALU 93, the sub memory 9 receives input data led to the input port DI.
The output data of 2 is subtracted and latched into the register 96 in synchronization with the clock signal CK1. After that, this data is compressed in the ROM 94, and in the second half of the sampling period (CT0=[1] part), the AND gate 10
The output signal 1 is input to the main memory 91 at the timing when the three-state gate 97 is opened. and,
The data is then written into the main memory 91 in synchronization with the signal MMW. At this time, the output signal of the AND gate 105 also becomes "H", so the three-state gate 103 is opened and the data from the input port DI is written into the sub-memory 92 in synchronization with the signal SMW. In this way, when reading data (writing), the data stored in the sub memory 92 is subtracted from the input data and stored in the main memory 91.

【0066】次の命令サイクル(アドレス9)になると
、アドレス1、4の場合の処理と同様に係数ROM12
からOP4〜0をアドレスとして読み出されてCONS
Tレジスタ26に供給され、オペレーションデコーダ2
4からの信号ΦCNSTに同期してCONSTレジスタ
26にセットされるとともに、MAレジスタ37および
SAレジスタ38によって示されるデータがRAM部1
1から読み出されてMRレジスタ40にラッチされる。
At the next instruction cycle (address 9), the coefficient ROM 12 is
is read from OP4~0 as the address and CONS
T register 26 and operation decoder 2
The data indicated by the MA register 37 and the SA register 38 are set in the CONST register 26 in synchronization with the signal ΦCNST from the RAM section 1.
1 and latched into the MR register 40.

【0067】次いで、アドレス2の場合と同様にACC
レジスタ36がクリアされ(アドレスAのサイクル)、
また、MRレジスタ40の値がMPYレジスタ29に転
送されるとともに、その後、乗算器27で係数γと乗算
される(アドレスBのサイクル)。したがって、乗算器
27の出力はMPYレジスタ29の値×係数γとなる。 次いで、アドレス5の場合と同様に乗算器27の出力が
ACCレジスタ36に転送され、データバス28を介し
て外部に出力される(アドレスCのサイクル)。
Next, as in the case of address 2, ACC
Register 36 is cleared (cycle at address A),
Further, the value of the MR register 40 is transferred to the MPY register 29, and then multiplied by the coefficient γ in the multiplier 27 (cycle of address B). Therefore, the output of the multiplier 27 is the value of the MPY register 29 times the coefficient γ. Next, as in the case of address 5, the output of multiplier 27 is transferred to ACC register 36 and output to the outside via data bus 28 (cycle of address C).

【0068】このように、本実施例ではデータを読み込
むときは入力されるデータからサブメモリ92に記憶さ
れるデータが減算されて差分形式でメインメモリ91に
記憶されるとともに、このときの入力データはサブメモ
リ92に記憶されて次回の読み込み時に1サンプリング
周期前のデータとなる。一方、データを書き込むときは
メインメモリ91からのデータにサブメモリ92からの
データが加算されて元の値に戻されるとともに、その加
算結果がサブメモリ92に書き込まれて次回読み出し時
に1サンプリング周期前のデータとなる。
In this way, in this embodiment, when reading data, the data stored in the sub memory 92 is subtracted from the input data and stored in the main memory 91 in differential format, and the input data at this time is is stored in the sub-memory 92, and becomes data from one sampling cycle before the next reading. On the other hand, when writing data, the data from the sub memory 92 is added to the data from the main memory 91 to return to the original value, and the addition result is written to the sub memory 92 so that the next time the data is read, it is one sampling period earlier. This is the data.

【0069】したがって、データが差分値で記憶される
ため、遅延用のメモリとしてのRAM部11の記憶領域
を少なくすることができる。また、一定の記憶領域であ
れば、従来に比して遅延時間の長いリバーブやディレィ
などの音響効果の得られる信号処理を行うことができる
Therefore, since data is stored as a differential value, the storage area of the RAM unit 11 as a delay memory can be reduced. Furthermore, with a certain storage area, it is possible to perform signal processing that produces acoustic effects such as reverb and delay that have a longer delay time than conventional ones.

【0070】さらに、本実施例特有の効果として、遅延
用のメモリとしてのRAM部11の出力アドレス、入力
アドレス毎に1サンプリング周期前に入力された、ある
いは出力されたデータの値を持つことができるので、リ
バーブ処理のように残響音の形態によって遅延用のメモ
リからデータを入出力するためのアドレスを可変しなけ
ればならないような装置においては、ハード面での構成
を変更する必要がなく、遅延用アドレスのいかなるデー
タも自由に入出力でき、DSPの汎用性を高めることが
できる。
Furthermore, as a unique effect of this embodiment, the output address of the RAM unit 11 as a delay memory can have the value of data input or output one sampling period ago for each input address. Therefore, there is no need to change the hardware configuration in devices such as reverb processing where the address for inputting and outputting data from delay memory must be varied depending on the form of reverberant sound. Any data at the delay address can be input/output freely, increasing the versatility of the DSP.

【0071】なお、上記実施例は本発明を電子楽器のデ
ィレィ処理に適用した例であるが、本発明はこれに限る
ものではなく、他の信号処理を行うもので以前に処理し
たデータを記憶して用いるような装置については幅広く
適用が可能である。また、変調手段および復調手段は供
用する部分があってもよいし、別々に単独に回路構成す
るようにしてもよい。
Although the above embodiment is an example in which the present invention is applied to delay processing of an electronic musical instrument, the present invention is not limited to this, and may be used to perform other signal processing and to store previously processed data. It can be widely applied to devices used for this purpose. Further, the modulation means and the demodulation means may have common parts, or may be configured as separate and independent circuits.

【0072】[0072]

【発明の効果】本発明によれば、外部から入力されるデ
ータおよび処理済みのデータを差分形式で記憶してデー
タ量を圧縮しているので、信号処理に必要な記憶領域を
少なくすることができる。また、この信号処理装置を電
子楽器のエフェクト処理に用いれば、従来に比して遅延
時間の長いリバーブやディレィなどの音響効果の得られ
る信号処理を行うことができる。
[Effects of the Invention] According to the present invention, externally input data and processed data are stored in a differential format to compress the amount of data, so the storage area required for signal processing can be reduced. can. Further, if this signal processing device is used for effect processing of an electronic musical instrument, it is possible to perform signal processing that produces acoustic effects such as reverb and delay that have a longer delay time than conventional ones.

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

【図1】本発明の信号処理装置の一実施例の構成を示す
回路図である。
FIG. 1 is a circuit diagram showing the configuration of an embodiment of a signal processing device of the present invention.

【図2】同実施例のオペレーションデコーダの内部構成
を示す回路図である。
FIG. 2 is a circuit diagram showing the internal configuration of the operation decoder of the same embodiment.

【図3】同実施例のオペレーションデコーダの内部構成
を示す回路図である。
FIG. 3 is a circuit diagram showing the internal configuration of the operation decoder of the same embodiment.

【図4】同実施例のマイクロプログラム命令OP0〜O
P7の意味内容を示す図である。
[Figure 4] Microprogram instructions OP0 to O of the same embodiment
It is a figure which shows the meaning content of P7.

【図5】同実施例のRAM部の詳細な構成を示す回路図
である。
FIG. 5 is a circuit diagram showing a detailed configuration of a RAM section of the same embodiment.

【図6】同実施例のDSPを用いてディレィ処理を行う
ときの回路構成を示す図である。
FIG. 6 is a diagram showing a circuit configuration when performing delay processing using the DSP of the same embodiment.

【図7】図6のディレィ処理を行うときの命令内容を示
す図である。
FIG. 7 is a diagram showing the contents of a command when performing the delay processing of FIG. 6;

【図8】同実施例の全体的動作を示すタイミングチャー
トである。
FIG. 8 is a timing chart showing the overall operation of the same embodiment.

【図9】同実施例の主にアドレス0、1によって命令さ
れる部分の動作を示すタイミングチャートである。
FIG. 9 is a timing chart showing the operation of the portion mainly commanded by addresses 0 and 1 in the same embodiment.

【図10】同実施例の主にアドレス7〜9によって命令
される部分の動作を示すタイミングチャートである。
FIG. 10 is a timing chart showing the operation of the portion mainly commanded by addresses 7 to 9 in the same embodiment.

【図11】従来の電子楽器のブロック図である。FIG. 11 is a block diagram of a conventional electronic musical instrument.

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

11:RAM部(記憶手段) 12:係数ROM 13:ALU(演算手段) 14:マイクロコードROM(プログラム記憶手段)2
2:カウンタ 24:オペレーションデコーダ 25、26、29、36、37、38、39、40、4
1、42、96:レジスタ 27:乗算器 30:オフセットアドレスROM 91:メインメモリ(メイン記憶手段)92:サブメモ
リ(サブ記憶手段) 93:ALU 94、95:ROM 106:変調手段 107:復調手段
11: RAM section (storage means) 12: Coefficient ROM 13: ALU (calculation means) 14: Microcode ROM (program storage means) 2
2: Counter 24: Operation decoder 25, 26, 29, 36, 37, 38, 39, 40, 4
1, 42, 96: Register 27: Multiplier 30: Offset address ROM 91: Main memory (main storage means) 92: Sub memory (sub storage means) 93: ALU 94, 95: ROM 106: Modulation means 107: Demodulation means

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  信号処理の制御を行うプログラムを記
憶するプログラム記憶手段と、外部から一定のサンプリ
ング周期で入力されるデータと信号処理された処理デー
タとを記憶データとして記憶する記憶手段と、該記憶手
段に記憶された記憶データおよび外部から入力されて記
憶された入力データを、前記プログラム記憶手段に記憶
されたプログラムに基づく信号処理手順に従って演算処
理する演算手段とを備えた信号処理装置において、前記
記憶手段は、データを差分形式で記憶するメイン記憶手
段と、所定のサンプリング周期前の入力データを記憶す
るサブ記憶手段と、前記記憶手段に入力されるデータか
ら前記サブ記憶手段に予め記憶されているデータを減算
した値を差分データとして前記メイン記憶手段に記憶さ
せるとともに、前記記憶データをサブ記憶手段に記憶さ
せる変調手段と、メイン記憶手段とサブ記憶手段とに記
憶されたデータを加算して前記記憶データとして出力す
るとともに、該加算されたデータを前記サブ記憶手段に
記憶させる復調手段とを含むように構成したことを特徴
とする信号処理装置。
1. A program storage means for storing a program for controlling signal processing; a storage means for storing data input from the outside at a constant sampling period and processing data subjected to signal processing as stored data; A signal processing device comprising a calculation means for processing stored data stored in a storage means and input data input and stored from the outside according to a signal processing procedure based on a program stored in the program storage means, The storage means includes a main storage means for storing data in a differential format, a sub-storage means for storing input data before a predetermined sampling period, and a sub-storage means for storing data inputted to the storage means in advance in the sub-storage means. modulating means for storing the value obtained by subtracting the data in the main storage means as difference data, and storing the stored data in the sub-storage means; and adding the data stored in the main storage means and the sub-storage means. and demodulating means for outputting the added data as the stored data and storing the added data in the sub-storage means.
JP3145886A 1991-06-18 1991-06-18 Signal processor Pending JPH04368999A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3145886A JPH04368999A (en) 1991-06-18 1991-06-18 Signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3145886A JPH04368999A (en) 1991-06-18 1991-06-18 Signal processor

Publications (1)

Publication Number Publication Date
JPH04368999A true JPH04368999A (en) 1992-12-21

Family

ID=15395328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3145886A Pending JPH04368999A (en) 1991-06-18 1991-06-18 Signal processor

Country Status (1)

Country Link
JP (1) JPH04368999A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016050981A (en) * 2014-08-29 2016-04-11 株式会社河合楽器製作所 Effect provision device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016050981A (en) * 2014-08-29 2016-04-11 株式会社河合楽器製作所 Effect provision device

Similar Documents

Publication Publication Date Title
JP3175179B2 (en) Digital pitch shifter
JPH04368999A (en) Signal processor
US5442125A (en) Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner
JP2950461B2 (en) Tone generator
JP3178036B2 (en) Signal processing device
JPH03204695A (en) Musical sound synthesizing device
JP3371643B2 (en) Signal processing device
JP3225796B2 (en) Signal processing device and tone processing device
JP2968320B2 (en) Distortion device
JP2768241B2 (en) Signal processing device
GB2040537A (en) Digital electronic musical instrument
JPH02108099A (en) Waveform interpolating device
JP3707908B2 (en) Electronic musical instrument effect adding device
JP2611531B2 (en) Music synthesizer
JPH06149660A (en) Memory access device
JPH05324316A (en) Microprocessor
JPS6145295A (en) Envelope control system
JPH07334151A (en) Effect adding device and musical sound generating device using same
JPH0466997A (en) Linear/float conversion circuit and musical sound synthesizer using thereof
JPS6140117B2 (en)
JP2004004978A (en) Effect adding apparatus of electronic musical instrument
JPH05150786A (en) Nonlinear function synthesizer and musical sound synthesizing device using the same
JPH08166795A (en) Digital signal processor
JPS6343760B2 (en)
JPH09244642A (en) Signal delay device and digital signal processor