JPH11203129A - Digital signal processor - Google Patents

Digital signal processor

Info

Publication number
JPH11203129A
JPH11203129A JP1195498A JP1195498A JPH11203129A JP H11203129 A JPH11203129 A JP H11203129A JP 1195498 A JP1195498 A JP 1195498A JP 1195498 A JP1195498 A JP 1195498A JP H11203129 A JPH11203129 A JP H11203129A
Authority
JP
Japan
Prior art keywords
microprogram
memory
data
external ram
tone
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
JP1195498A
Other languages
Japanese (ja)
Other versions
JP3610759B2 (en
Inventor
Ryuichi Kawamoto
隆一 河本
Kazuhisa Okamura
和久 岡村
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 JP01195498A priority Critical patent/JP3610759B2/en
Publication of JPH11203129A publication Critical patent/JPH11203129A/en
Application granted granted Critical
Publication of JP3610759B2 publication Critical patent/JP3610759B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the capacity of microprogram memory. SOLUTION: A microprogram supplying part 20 outputs a microinstruction to each processing part in every step. Access to an external RAM 14 which delays musical sound waveform data is carried out at a step that corresponds to a multiple of a prescribed integer (n)and a micro code for an external RAM access circuit 32 is supplied through a shift register which performs serial- parallel conversion of micro codes for (n) steps and outputs them. Thus, it is possible to reduce the bit number of a field for the circuit 32 to one in the microinstruction.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はマイクロプログラム
制御を用いたディジタル信号処理装置(DSP:Digita
l Signal Processor)に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processor (DSP: Digital
l Signal Processor).

【0002】[0002]

【従来の技術】フィルター操作や変復調操作などの実時
間信号処理をディジタル値の代数演算によって高精度か
つ高安定に行なうことのできるDSPが、オーディオ信
号やビデオ信号の処理、音声情報処理などの多くの分野
で用いられている。電子楽器などの楽音発生装置におい
ても、発生した楽音に所定の効果を付加するエフェクタ
としてDSPが利用されている。電子楽器におけるこの
ような処理は常にサンプリング周期(DACサイクル)
に同期して行われなければならず、このような場合に適
用して好適なDSPが本出願人により提案されている
(特開平5−150977号公報)。
2. Description of the Related Art DSPs capable of performing high-precision and high-stability real-time signal processing such as filter operation and modulation / demodulation operation by algebraic operation of digital values are widely used for processing audio signals and video signals and processing audio information. Used in the field of In a tone generator such as an electronic musical instrument, a DSP is used as an effector for adding a predetermined effect to a generated tone. Such processing in electronic musical instruments is always a sampling cycle (DAC cycle)
A DSP suitable for such a case has been proposed by the present applicant (JP-A-5-150977).

【0003】この本出願人により提案されたDSPによ
れば、マイクロプログラムが固定数のステップにより記
述されており、かつ、1サンプリング周期でこのマイク
ロプログラムの全てのステップを順次読み出して処理を
行なうようになされているため、当該マイクロプログラ
ムは必ず所定の周期毎に実行されることとなり、実時間
の信号処理が保証されるとともにプログラム作成段階に
おいてプログラムの実行時間を容易に把握することがで
きる。
According to the DSP proposed by the present applicant, a microprogram is described by a fixed number of steps, and all the steps of the microprogram are sequentially read out and processed in one sampling cycle. Therefore, the microprogram is always executed at a predetermined cycle, real-time signal processing is guaranteed, and the execution time of the program can be easily grasped at the program creation stage.

【0004】[0004]

【発明が解決しようとする課題】近年の半導体技術の進
歩に伴い、音源部と前述したDSPとを単一の半導体チ
ップ上に集積すること、あるいは、音源部とDSPと中
央処理装置(CPU)とを集積することが行われるよう
になっている。このような場合には、半導体チップのサ
イズを縮小することがコストの低減のために求められ、
DSPにおけるマイクロプログラムを格納する領域のサ
イズを縮小することが望まれている。
In accordance with recent advances in semiconductor technology, the tone generator and the above-mentioned DSP must be integrated on a single semiconductor chip, or the tone generator, the DSP and the central processing unit (CPU) must be integrated. Are integrated. In such a case, reducing the size of the semiconductor chip is required for cost reduction,
It is desired to reduce the size of an area for storing a microprogram in a DSP.

【0005】そこで、本発明は、マイクロプログラム制
御によるディジタル信号処理装置において、マイクロプ
ログラムを格納するメモリの容量を節約してハードウエ
ア量を節減するとともに、コストダウンを図ることを目
的としている。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to reduce the amount of hardware by saving the capacity of a memory for storing a microprogram and to reduce the cost in a digital signal processing device under the control of a microprogram.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するため
に、本発明のディジタル信号処理装置は、マイクロプロ
グラムを格納するマイクロプログラムメモリと、各ステ
ップ毎に前記マイクロプログラムメモリから読み出され
るマイクロ命令のうちの一部のフィールドを順次格納
し、所定ステップごとに並列に出力する直列並列変換手
段と、該直列並列変換手段から前記所定ステップごとに
出力される並列化されたマイクロコードにより制御され
る処理部とを有するものである。また、前記一部のフィ
ールドは、外部メモリに対するアクセスを制御するため
のフィールドとされているものである。
In order to achieve the above object, a digital signal processing device according to the present invention comprises a microprogram memory for storing a microprogram, and a microinstruction read from the microprogram memory for each step. Serial-to-parallel conversion means for sequentially storing a part of the fields and outputting in parallel at each predetermined step, and processing controlled by the parallelized microcode output from the serial-to-parallel conversion means at each predetermined step And a part. Further, some of the fields are fields for controlling access to an external memory.

【0007】マイクロコードのうち外部メモリへのアク
セスを制御するためのフィールドなどの所定のフィール
ドについては、当該処理の実行を所定の時間間隔をもっ
て実行するものとし、各ステップに格納されているマイ
クロコードを直列並列変換手段を用いて並列化し、複数
ステップ分のマイクロコードを並列化したマイクロコー
ドを当該処理部に供給する。これにより、各ステップに
おけるマイクロコードのビット長を短くすることが可能
となり、制御記憶の容量を削減することができる。
For a predetermined field such as a field for controlling access to an external memory in the microcode, the execution of the process is performed at a predetermined time interval, and the microcode stored in each step is executed. Are parallelized using a serial / parallel conversion means, and microcodes obtained by parallelizing microcodes for a plurality of steps are supplied to the processing unit. As a result, the bit length of the microcode in each step can be reduced, and the capacity of control storage can be reduced.

【0008】[0008]

【発明の実施の形態】本発明のディジタル信号処理装置
(DSP)について説明する前に、まず、このDSPが
用いられる装置の一例である電子楽器について図4を参
照して説明する。図4において、1はこの電子楽器の全
体の動作を制御するCPU、2は楽音発生装置の動作時
の経過時間を示したり、特定の間隔でタイマ割込を発生
するタイマ、3は外部MIDI機器からMIDI端子4
を介して入力されるMIDIメッセージを取り込んだ
り、この電子楽器内で生成されたMIDIメッセージを
MIDI端子4を介して外部MIDI機器へ出力するた
めのMIDIインターフェース回路、5は鍵盤6の操作
信号が直列データとして入出力されるシリアル入出力回
路(シリアルI/O)、7はパネル表示器および操作子
8におけるパネル表示器に表示される画像データを出力
するとともに、パネルスイッチをスキャンしてその操作
信号を取り込むためのパラレル入出力回路(パラレルI
/O)である。また、9は前記CPU1の動作を制御す
る制御プログラムが格納されているプログラムメモリ、
10は前記CPU1により使用されるワークメモリであ
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing a digital signal processor (DSP) of the present invention, an electronic musical instrument as an example of an apparatus using the DSP will be described with reference to FIG. In FIG. 4, reference numeral 1 denotes a CPU that controls the overall operation of the electronic musical instrument, 2 denotes a timer that indicates the elapsed time during operation of the tone generator, or a timer that generates a timer interrupt at a specific interval, and 3 denotes an external MIDI device. To MIDI terminal 4
A MIDI interface circuit for receiving a MIDI message input through the MIDI instrument and outputting a MIDI message generated in the electronic musical instrument to an external MIDI device via a MIDI terminal 4 is connected to a MIDI interface circuit 5. A serial input / output circuit (serial I / O) 7 for inputting / outputting data outputs image data displayed on the panel display of the panel display and the operation unit 8 and scans a panel switch to output an operation signal. Parallel input / output circuit (Parallel I
/ O). A program memory 9 for storing a control program for controlling the operation of the CPU 1;
Reference numeral 10 denotes a work memory used by the CPU 1.

【0009】11は波形メモリ方式による音源部であ
り、各発音チャンネルで生成される楽音を制御する楽音
制御データなどが格納される音源レジスタ、該音源レジ
スタに格納されている周波数ナンバパラメータや音色パ
ラメータに基づいて楽音信号を形成する。すなわち、複
数の発音チャンネル(例えば、32チャンネル)のチャ
ンネル毎の読み出しアドレスを生成し、該読み出しアド
レスに基づいて補間処理に必要な各発音チャンネルの波
形サンプルデータを波形メモリ12から読み出し、該読
み出された各発音チャンネルの波形サンプルデータの補
間処理を行う読出補間回路、および、読出補間回路から
出力される各発音チャンネルの波形サンプルデータに音
量エンベロープ等を付与するEG付与部などが含まれて
いる。なお、この音源部としては波形メモリ方式のもの
に限られることはなく、他の方式の音源を用いることが
できる。
Reference numeral 11 denotes a sound source unit based on a waveform memory system, which stores a tone generator register for storing tone control data for controlling a tone generated in each tone generation channel, a frequency number parameter and a tone color parameter stored in the tone generator register. The tone signal is formed based on That is, a read address is generated for each of a plurality of tone generation channels (for example, 32 channels), and waveform sample data of each tone generation channel required for interpolation processing is read out from the waveform memory 12 based on the read address. A read-out interpolation circuit that performs interpolation processing of the waveform sample data of each sounding channel, and an EG adding unit that adds a volume envelope or the like to the waveform sample data of each sounding channel output from the reading-out interpolation circuit. . Note that the sound source section is not limited to the waveform memory type, and a sound source of another type can be used.

【0010】13は各発音チャンネルの波形サンプルデ
ータをミキシングしてサンプリング周期毎の楽音波形デ
ータを生成すると共に、コーラス、リバーブ、バリエー
ション等のエフェクト処理を該楽音波形データに付与す
るDSPである。また、14は、エコーやリバーブなど
の遅延を必要とするエフェクトを付与するときに、当該
楽音波形データを書き込み所定時間後に読み出すことに
より所要の遅延を行うための、遅延メモリ(外部RA
M)である。さらに、15は前記DSP13からサンプ
リング周期毎に出力される楽音波形データをアナログ信
号に変換するデジタルアナログ変換器(DAC)、16
は該DAC15の出力を増幅し音響信号として放出する
サウンドシステムである。さらにまた、17は前記各部
を接続するCPUバスである。
Reference numeral 13 denotes a DSP that mixes waveform sample data of each sounding channel to generate musical sound waveform data for each sampling period, and also applies effect processing such as chorus, reverb, variation, and the like to the musical sound waveform data. A delay memory (external RA) 14 is provided for performing a required delay by writing the musical tone waveform data and reading it after a predetermined time when an effect requiring a delay such as echo or reverb is applied.
M). Further, reference numeral 15 denotes a digital-to-analog converter (DAC) for converting musical tone waveform data output from the DSP 13 at each sampling period into an analog signal;
Is a sound system that amplifies the output of the DAC 15 and emits it as an acoustic signal. Further, reference numeral 17 denotes a CPU bus for connecting the above-mentioned units.

【0011】このように構成されている電子楽器の動作
について説明する。鍵盤6からシリアル入出力回路5を
介して押鍵情報が取り込まれたり、MIDIイベントの
発音タイミングとなったときに、CPU1は入力された
演奏情報に応じて、チャンネルアサイン、パラメータ変
換などを行ういわゆる音源ドライバ処理を実行し、音源
部の割り当てたチャンネルに対する変換したパラメータ
と発音開始指示(ノートオン)などの音源パラメータを
音源レジスタに書き込む。すなわち、ノートオンイベン
トが入力された場合は、CPU1はノートオンイベント
に基づいた新たな楽音を生成できるように、まず、発音
チャンネルを割り当て、音源レジスタの割り当てたチャ
ンネルの記憶領域にノートナンバ、音色情報(メモリ読
み出し区間)、ベロシティ(音量情報)等の音源パラメ
ータをセットする。また、ノートオフイベントが入力さ
れた場合は、当該ノートオフイベントに基づいた発音停
止を行えるように音源パラメータを音源レジスタにセッ
トする。なお、これらの指示はCPU1がプログラムメ
モリ9に記憶されている音源ドライバ処理プログラムを
実行することにより行われる。
The operation of the electronic musical instrument configured as described above will be described. When key press information is fetched from the keyboard 6 via the serial input / output circuit 5 or when a MIDI event is generated, the CPU 1 performs channel assignment, parameter conversion, and the like according to the input performance information. The tone generator driver process is executed, and the tone generator parameters such as the converted parameters for the channels assigned by the tone generator and the sound generation start instruction (note-on) are written into the tone generator register. That is, when a note-on event is input, the CPU 1 first assigns a sounding channel so that a new tone can be generated based on the note-on event, and stores a note number, a tone color in a storage area of the channel assigned by the tone generator register. Sound source parameters such as information (memory read section) and velocity (volume information) are set. When a note-off event is input, a tone generator parameter is set in a tone generator register so that sound generation can be stopped based on the note-off event. These instructions are given by the CPU 1 executing the sound source driver processing program stored in the program memory 9.

【0012】一方、前記音源部11では楽音生成処理が
実行される。この楽音生成処理では、読出補間回路が1
サンプリング周期を等分した時分割チャンネルタイミン
グに従って前記音源レジスタにセットされている各チャ
ンネルのノートナンバに対応した周波数情報を累算し、
その累算値と音色情報に基づいて波形メモリ12に対す
る読み出しアドレスを作成する。次いで、作成された読
み出しアドレスの整数部に従って、前記波形メモリ12
にアクセスすることにより、各チャンネルに必要な波形
サンプルデータを読み出し、バッファに格納する。これ
により、作成された読み出しアドレスの小数部に従って
波形サンプルデータを補間して算出するために必要な数
の波形サンプルデータがバッファに用意される。そし
て、バッファに用意されている各チャンネルの波形サン
プルデータから、作成された読み出しアドレスの小数部
に従って補間された波形サンプルデータが算出される。
なお、補間処理は前記時分割チャンネルタイミングでチ
ャンネル毎に行われる。
On the other hand, the tone generator 11 executes a tone generation process. In this tone generation processing, the read interpolation circuit
Accumulate frequency information corresponding to the note number of each channel set in the tone generator register according to the time division channel timing obtained by equally dividing the sampling period,
A read address for the waveform memory 12 is created based on the accumulated value and the timbre information. Then, according to the integer part of the created read address, the waveform memory 12
, The waveform sample data required for each channel is read and stored in the buffer. As a result, the necessary number of waveform sample data for interpolating and calculating the waveform sample data according to the decimal part of the created read address is prepared in the buffer. Then, from the waveform sample data of each channel prepared in the buffer, waveform sample data interpolated according to the decimal part of the created read address is calculated.
The interpolation process is performed for each channel at the time-division channel timing.

【0013】前記読出補間回路から出力された補間処理
後の各チャンネルの波形サンプルデータは、EG付与部
において音源レジスタにセットされている当該チャンネ
ルの音量情報および音色情報に応じたエンベロープが付
与される。さらにエンベロープが付与された各チャンネ
ルの波形サンプルデータはDSP13に入力される。そ
して、DSP13において、各チャンネルの波形サンプ
ルデータがミキシングされると共に、コーラス、リバー
ブ、バリエーション等のエフェクト処理が施されること
により、サンプリング周期毎の楽音データが生成され
る。また、エフェクト処理時に楽音データの遅延が必要
な場合は、DSP13は、その外部に設けられた遅延メ
モリ14に当該楽音データを書き込み所定時間後にそれ
を読み出すことにより遅延メモリ14を遅延手段として
使用している。そして、DSP13から1サンプリング
周期毎に出力される楽音データはDAC15においてア
ナログ楽音信号に変換され、DAC15により変換され
たアナログ楽音信号はサウンドシステム16において増
幅されて発音される。
The waveform sample data of each channel after the interpolation processing output from the read-out interpolation circuit is provided with an envelope corresponding to the volume information and the tone color information of the channel set in the tone generator register in the EG providing unit. . Further, waveform sample data of each channel to which an envelope is added is input to the DSP 13. Then, the DSP 13 mixes the waveform sample data of each channel and performs effect processing such as chorus, reverb, variation, etc., thereby generating musical sound data for each sampling cycle. If the tone data needs to be delayed during the effect processing, the DSP 13 uses the delay memory 14 as delay means by writing the tone data in a delay memory 14 provided outside thereof and reading it out after a predetermined time. ing. The tone data output from the DSP 13 at each sampling cycle is converted into an analog tone signal by the DAC 15, and the analog tone signal converted by the DAC 15 is amplified and sounded by the sound system 16.

【0014】なお、この図には示されていないが、マイ
クロフォンなどのアナログ波形入力部から入力されるア
ナログ信号をデジタルデータに変換するアナログデジタ
ル変換器(ADC)を設け、該ADCによりディジタル
化された音声データ等も前記DSP13に入力し、該D
SP13において前述した楽音データにミキシングする
ようにすることもできる。
Although not shown in FIG. 1, an analog-to-digital converter (ADC) for converting an analog signal input from an analog waveform input unit such as a microphone into digital data is provided. The voice data and the like are also input to the DSP 13,
In SP13, the sound data may be mixed with the above-mentioned tone data.

【0015】図1は前記DSP13の内部構成の一例を
示すブロック図である。この図において、20はマイク
ロプログラム供給部であり、その内部にマイクロプログ
ラムを格納しているマイクロプログラムメモリ(制御記
憶)を有しており、各クロックサイクル毎に一つのマイ
クロ命令を読み出し、各処理部に対し当該マイクロコー
ドを供給することにより、対応する処理を実行させるよ
うに構成されている。なお、マイクロプログラムメモリ
に格納されているマイクロプログラムのステップ数は任
意のものとすることができるが、ここでは、512ステ
ップのマイクロ命令からなるマイクロプログラムがマイ
クロプログラムメモリに格納されている場合を例にとっ
て説明する。すなわち、1DACサイクルで、前記51
2ステップのマイクロ命令が実行されるようになされて
いる。
FIG. 1 is a block diagram showing an example of the internal configuration of the DSP 13. In this figure, reference numeral 20 denotes a microprogram supply unit, which has a microprogram memory (control storage) storing a microprogram therein, reads one microinstruction every clock cycle, and By supplying the microcode to the unit, a corresponding process is executed. Note that the number of steps of the microprogram stored in the microprogram memory can be arbitrarily set. Here, an example in which a microprogram consisting of 512 steps of microinstructions is stored in the microprogram memory will be described. To explain. That is, in one DAC cycle, the 51
A two-step microinstruction is executed.

【0016】21は第1のセレクタであり、前記音源部
11から入力する楽音信号とデータバス30上のデータ
を選択して入出力RAM(I/ORAM)22に入力す
るためのセレクタである。22は入出力RAMであり、
セレクタ21を通して入力されるデータおよびDAC1
5へ出力するデータが格納される。23はデータバス3
0に接続されているテンポラリRAMであり、演算の途
中結果などが格納される。24は第2のセレクタであ
り、入出力RAM22およびテンポラリRAM23の出
力が入力され、そのいずれかを選択して乗算部26の一
方の入力に供給するためのセレクタである。
A first selector 21 is a selector for selecting a tone signal input from the tone generator 11 and data on the data bus 30 and inputting them to an input / output RAM (I / ORAM) 22. 22 is an input / output RAM,
Data input through selector 21 and DAC1
5 is stored. 23 is the data bus 3
This is a temporary RAM connected to “0”, and stores an intermediate result of an operation and the like. Reference numeral 24 denotes a second selector, which receives the outputs of the input / output RAM 22 and the temporary RAM 23, selects one of the outputs, and supplies the selected output to one input of the multiplier 26.

【0017】25は係数レジスタおよび補間部であり、
演算に用いる所定の係数値を格納するとともに必要な場
合にはその補間演算を行なうものである。26は乗算部
であり、セレクタ24を介して入力されるデータと係数
レジスタおよび補間部25から入力されるデータとを高
速に乗算する乗算器である。27は第3のセレクタであ
り、前記入出力RAM22、テンポラリRAM23およ
びデータバス30からの出力が入力され、そのいずれか
を選択して加算部28に出力するものである。28は加
算部であり、セレクタ27の出力と乗算部26の出力と
を加算する加算器である。29は加算部28の出力を必
要に応じてシフト処理するためのシフタである。シフタ
29の出力はデータバス30に接続されている。また、
31は前述した遅延メモリ(外部RAM)14にアクセ
スするときのアドレスを制御する外部RAMアドレス制
御部、32は外部RAMアドレス制御部31から供給さ
れるアドレスに基づいて、外部RAM17にアクセスす
る外部RAMアクセス回路である。
Reference numeral 25 denotes a coefficient register and an interpolation unit.
A predetermined coefficient value used for the operation is stored, and the interpolation operation is performed when necessary. Reference numeral 26 denotes a multiplier which multiplies data input via the selector 24 with data input from the coefficient register and the interpolator 25 at high speed. Reference numeral 27 denotes a third selector, to which outputs from the input / output RAM 22, the temporary RAM 23, and the data bus 30 are input, and any one of them is selected and output to the adder 28. An adder 28 is an adder that adds the output of the selector 27 and the output of the multiplier 26. Reference numeral 29 denotes a shifter for shifting the output of the adder 28 as necessary. The output of the shifter 29 is connected to the data bus 30. Also,
An external RAM address control unit 31 controls an address when accessing the delay memory (external RAM) 14 described above, and an external RAM 32 accesses the external RAM 17 based on an address supplied from the external RAM address control unit 31. An access circuit.

【0018】このように構成されたDSP13におい
て、前記マイクロプログラム供給部20から各演算部、
制御部およびゲートなどに供給されるマイクロコードに
応じて各演算部、制御部およびゲートなどが制御される
ことにより、各サンプリング周期毎に前記音源部11か
ら入力される楽音信号およびデータバス30に出力され
る演算結果データが、係数レジスタおよび補間部25か
ら供給される係数値と演算されたり、必要に応じて外部
RAM14に書き込まれ所定時間後に読み出されて所定
時間の遅延を与えられることにより、前記音源部11か
ら入力する前記楽音信号に対し所定のフィルタ演算処理
や波形遅延を使用したリバーブやコーラス等の処理が施
されて、各サンプリング周期毎に該処理の施された楽音
信号がDAC15に出力される。
In the DSP 13 configured as described above, each of the arithmetic units,
The arithmetic unit, the control unit, the gate, and the like are controlled in accordance with the microcode supplied to the control unit, the gate, and the like. The output calculation result data is calculated with the coefficient value supplied from the coefficient register and the interpolating unit 25, or is written to the external RAM 14 as necessary, read out after a predetermined time, and given a predetermined time delay. The tone signal input from the sound source unit 11 is subjected to a predetermined filter operation or a process such as reverb or chorus using a waveform delay, and the tone signal subjected to the process is converted into a DAC 15 at each sampling period. Is output to

【0019】前述のようにマイクロプログラムメモリに
格納されているマイクロプログラムのステップ数を51
2ステップとし、例えば、48kHzのサンプリング周
期にこの512ステップが実行されるとすると1ステッ
プ当たりの時間は40nsecであり、同じ周期で外部
RAM14をアクセスするためには非常に高速な外部R
AMが必要になる。そのため、より遅い外部RAMを使
用できるようにするため、本発明では、外部RAMへの
アクセスを所定ステップ、例えば整数nの倍数に相当す
るステップにおいてのみ実行させるようにしている。こ
こで、nは、2以上の整数とすることができる。
As described above, the number of steps of the microprogram stored in the microprogram memory is set to 51.
Assuming that two steps are performed, for example, if these 512 steps are executed in a sampling cycle of 48 kHz, the time per one step is 40 nsec.
AM is required. Therefore, in order to use a slower external RAM, in the present invention, access to the external RAM is executed only in a predetermined step, for example, a step corresponding to a multiple of an integer n. Here, n can be an integer of 2 or more.

【0020】従来のDSPにおいては、外部RAMへの
アクセスを制御するためのフィールドは、例えば、外部
RAMへの書き込み/読み出しを指示するための1ビッ
ト、そして、書き込みデータの態様を規定するインデッ
クス付きオプションの指示に1あるいは2ビットの合計
2〜3ビットからなるフィールドとされていた。しかし
ながら、本発明においては、前述のように外部RAMへ
のアクセスを所定のステップにおいてのみ実行するよう
にしているため、以下に説明するように、外部RAMへ
のアクセスを制御するフィールドのビット数を1ビット
に短縮することが可能となる。
In the conventional DSP, a field for controlling access to the external RAM includes, for example, one bit for instructing writing / reading to / from the external RAM, and an index with an index for defining a mode of the write data. A field consisting of a total of 2 to 3 bits of 1 or 2 bits was specified in the option instruction. However, in the present invention, since the access to the external RAM is executed only in a predetermined step as described above, the number of bits of the field for controlling the access to the external RAM is reduced as described below. This can be reduced to one bit.

【0021】以下、このことについて、図2に示す前記
マイクロプログラム供給部20の要部の一構成例および
図3に示すマイクロプログラムの記述例を参照して説明
する。マイクロプログラム供給部20には、前述のよう
にマイクロプログラムメモリが設けられており、このマ
イクロプログラムメモリには、図3のマイクロプログラ
ムの記述例に示すように、第0ステップ〜第511ステ
ップの合計512ステップのマイクロ命令が記憶されて
いる。各マイクロ命令は、図1に示したDSP13内部
の各処理部にそれぞれ対応した制御信号を含む複数のフ
ィールドから構成されている。図3に示した例では、第
1のセレクタ21、第2のセレクタ24、第3のセレク
タ27、乗算器26、テンポラリRAM23、シフタ2
9および外部RAMアクセス回路に対応するフィールド
のみが記載されているが、このほかに、入出力RAM2
2、加算部28等に対するフィールドが設けられてい
る。この図に示すように、本発明においては、前記外部
RAMアクセス回路に対応するフィールドは、1ビット
の大きさとされている。
Hereinafter, this will be described with reference to a configuration example of a main part of the microprogram supply unit 20 shown in FIG. 2 and a description example of a microprogram shown in FIG. The microprogram supply unit 20 is provided with a microprogram memory as described above. This microprogram memory has a total of the 0th to 511th steps as shown in the description example of the microprogram in FIG. There are stored 512 steps of microinstructions. Each microinstruction is composed of a plurality of fields including control signals corresponding to each processing unit in the DSP 13 shown in FIG. In the example shown in FIG. 3, the first selector 21, the second selector 24, the third selector 27, the multiplier 26, the temporary RAM 23, the shifter 2
9 and only the fields corresponding to the external RAM access circuit are described.
2. Fields for the adder 28 and the like are provided. As shown in the figure, in the present invention, the field corresponding to the external RAM access circuit has a size of 1 bit.

【0022】このマイクロプログラム供給部には、クロ
ックパルスΦを0から511までカウントするアドレス
カウンタが設けられており、各サンプリング周期(DA
Cサイクル)の開始時点で0から計数を開始し、計数値
が511のときに1DACサイクルが終了するようにな
されている。このアドレスカウンタの出力により、前記
マイクロプログラムメモリから当該ステップのマイクロ
命令が読み出され、各フィールドのマイクロコードがそ
れぞれ対応する処理部に印加されるようになされてい
る。
This microprogram supply unit is provided with an address counter for counting the clock pulse Φ from 0 to 511, and is provided for each sampling period (DA
At the start of the (C cycle), counting starts from 0, and when the count value is 511, one DAC cycle ends. By the output of the address counter, the micro instruction of the step is read from the micro program memory, and the micro code of each field is applied to the corresponding processing unit.

【0023】図2は、各ステップごとに読み出されるマ
イクロコードを当該処理部に供給するための回路の一構
成例である。この図において、34、35および36は
シフトレジスタの単位段であり、この34〜36によ
り、直列並列変換手段となる3段構成の直列入力並列出
力のシフトレジスタが構成されている。そして、各シフ
トレジスタの単位段には、前述したクロックパルスΦが
シフトクロックとして印加されており、該クロックパル
スΦの3倍の周期のパルス(Φ/3)が並列出力パルス
として印加されている。すなわち、パルスΦが3回発生
する毎に、パルスΦ/3が1回発生する。そして、前記
シフトレジスタの第1段34には前記外部RAMアクセ
ス部向けのマイクロコードが入力され、各ステップごと
に前記クロックパルスΦに同期して順次後段にシフトさ
れる。そして、図3中に破線で囲んで示した3ステップ
分の当該外部RAMアクセス部向けのマイクロコードが
前記シフトレジスタの各段34〜36に格納されたとき
に、前記パルスΦ/3により、各段に格納されているマ
イクロコードが並列に読み出され、前記外部RAMアド
レス制御部31および外部RAMアクセス回路32に印
加される。
FIG. 2 shows an example of the configuration of a circuit for supplying the microcode read for each step to the processing unit. In this figure, reference numerals 34, 35 and 36 denote unit stages of the shift register, and these 34 to 36 constitute a three-stage serial input / parallel output shift register serving as serial / parallel conversion means. The above-described clock pulse Φ is applied as a shift clock to a unit stage of each shift register, and a pulse (Φ / 3) having a cycle three times the clock pulse Φ is applied as a parallel output pulse. . That is, every time the pulse Φ is generated three times, the pulse Φ / 3 is generated once. Then, a microcode for the external RAM access unit is input to the first stage 34 of the shift register, and is sequentially shifted to a subsequent stage in each step in synchronization with the clock pulse Φ. Then, when the microcodes for the external RAM access unit for three steps indicated by the broken lines in FIG. 3 are stored in the respective stages 34 to 36 of the shift register, each pulse Φ / 3 causes The microcodes stored in the stages are read out in parallel and applied to the external RAM address control unit 31 and the external RAM access circuit 32.

【0024】これにより、外部RAMアドレス制御部3
1および外部RAMアクセス回路32において、当該3
ビットからなるマイクロコードに基づいて、外部RAM
14に対する読み出しあるいは書き込みおよびインデッ
クス付きオプションの選択を行うこととなる。例えば、
3の倍数に対応するステップのマイクロコードにより前
記外部RAM14への読み出し/書き込みを指示し、
(3の倍数−1)と(3の倍数−2)に対応する2ステ
ップ分のマイクロコードでインデックス付きオプション
を指示するようにする。この2ビットのインデックス付
きオプションで、外部RAM14に対する書き込みデー
タの態様を規定することができる。例えば、複数の圧縮
方式で圧縮されたデータを外部RAMに読み書きするよ
うにした場合の圧縮の有無や圧縮方式を指定するように
したり、浮動小数点データを読み書きするようにした場
合の書き込みデータにおける指数部のビット数を指定し
たりすることができる。このように、外部RAM14へ
のアクセスは、Φ/3クロックに同期して、すなわち、
3の倍数に対応するステップで実行されることとなる。
Thus, the external RAM address control unit 3
1 and the external RAM access circuit 32,
External RAM based on microcode consisting of bits
14 to read or write and select an indexed option. For example,
Instructing reading / writing to the external RAM 14 by microcode of a step corresponding to a multiple of 3,
An indexed option is designated by two steps of microcode corresponding to (multiple of -1) and (multiple of -3). With this 2-bit indexed option, the form of the data to be written to the external RAM 14 can be specified. For example, if data compressed by a plurality of compression methods is read / written to / from an external RAM, the presence / absence of compression and the compression method are specified, or the exponent in the write data when reading / writing floating-point data is used. You can specify the number of bits for each part. Thus, access to the external RAM 14 is synchronized with the Φ / 3 clock, that is,
It will be executed in steps corresponding to multiples of three.

【0025】また、前記マイクロプログラムメモリから
読み出される他の処理部向けのマイクロコードは、必要
に応じて所定クロック分だけ遅延を与える遅延手段37
を介して当該処理部に供給されるようになされている。
これは、例えば、乗算部26に対して所定の乗算の実行
を指示するマイクロコードと、加算器28に対して前記
乗算結果を用いた加算を指示するマイクロコードとが同
一ステップに記述されているときに、加算器28に対す
る指示を乗算器26による乗算結果が出力されるタイミ
ングまで遅延させて供給するようにするためのものであ
る。このように遅延手段37を設けることにより、同一
の処理に対するマイクロプログラムを同一ステップに記
述することができるようになり、容易にマイクロプログ
ラムを作成することができるようになる。なお、このよ
うな遅延処理が不要なマイクロコードは遅延を受けるこ
となく、当該処理部に供給される。
The microcode read from the microprogram memory and directed to another processing unit is provided with delay means 37 for delaying by a predetermined clock if necessary.
Through the processing unit.
In this case, for example, a microcode for instructing the multiplication unit 26 to execute a predetermined multiplication and a microcode for instructing the adder 28 to perform addition using the multiplication result are described in the same step. Sometimes, the instruction to the adder 28 is supplied with a delay until the timing at which the result of the multiplication by the multiplier 26 is output. By providing the delay means 37 in this way, a microprogram for the same processing can be described in the same step, and a microprogram can be easily created. The microcode that does not require such a delay process is supplied to the processing unit without any delay.

【0026】このように、本発明によれば、マイクロ命
令の各ステップには1ビットのマイクロコードを格納し
ておき、シフトレジスタからなる直列並列変換手段を用
いて、複数ステップ分のマイクロコードを並列のマイク
ロコードに変換して当該処理部に供給するようにしてい
るので、各ステップにおけるマイクロ命令のビット長を
短縮することができる。
As described above, according to the present invention, a one-bit microcode is stored in each step of a microinstruction, and a plurality of steps of microcode are converted using a serial / parallel conversion means including a shift register. Since the data is converted into parallel microcode and supplied to the processing unit, the bit length of the microinstruction in each step can be reduced.

【0027】なお、以上の説明においては、外部RAM
へのアクセスを3の倍数に対応するステップにおいて実
行するものとしたが、これに限られることはなく、2以
上の任意の整数の倍数に対応するステップで実行するよ
うにできる。また、前述の実施の形態においては、外部
RAMへのアクセスを制御するフィールドを対象とした
が、これに限られることはなく、所定数のステップごと
に実行すればよい処理に対応するフィールドであれば、
全く同様に適用することが可能である。さらに、前述の
実施の形態においては、電子楽器に搭載されるDSPを
例にとって説明したが、これに限られることはなく、マ
イクロプログラム制御の処理装置であれば、いかなるも
のにも同様に適用することが可能である。
In the above description, the external RAM
The access to is performed in the step corresponding to a multiple of three, but is not limited to this, and may be performed in a step corresponding to an integer multiple of 2 or more. In the above-described embodiment, the field for controlling the access to the external RAM is targeted. However, the present invention is not limited to this, and any field corresponding to the process that needs to be executed for every predetermined number of steps is used. If
Exactly the same is possible. Furthermore, in the above-described embodiment, the DSP mounted on the electronic musical instrument has been described as an example. However, the present invention is not limited to this, and the present invention is similarly applied to any microprogram-controlled processing device. It is possible.

【0028】[0028]

【発明の効果】本発明は以上のように構成されているの
で、マイクロ命令の命令長を縮減することができ、マイ
クロプログラムメモリの容量を節減することが可能と
る。したがって、マイクロプログラムメモリのサイズを
縮小することができ、LSIを作成する場合におけるコ
ストの低減を図ることが可能となる。また、同一のサイ
ズを使用することができる場合には、従来よりも多くの
マイクロプログラムを格納することが可能となり、より
多くのマイクロプログラムを格納することができるよう
になる。エフェクト用のDSPの場合には多彩なエフェ
クトを付与することができるようになる。
Since the present invention is configured as described above, the instruction length of a microinstruction can be reduced, and the capacity of a microprogram memory can be reduced. Therefore, the size of the microprogram memory can be reduced, and the cost for producing an LSI can be reduced. If the same size can be used, more microprograms can be stored than before, and more microprograms can be stored. In the case of an effect DSP, various effects can be provided.

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

【図1】 本発明のDSPの一実施の形態の内部構成を
示すブロック図である。
FIG. 1 is a block diagram showing an internal configuration of a DSP according to an embodiment of the present invention.

【図2】 本発明のDSPの一実施の形態におけるマイ
クロプログラム供給部20の要部の一構成例を示すブロ
ック図である。
FIG. 2 is a block diagram illustrating a configuration example of a main part of a microprogram supply unit 20 according to an embodiment of the DSP of the present invention.

【図3】 マイクロプログラムの一記述例を示す図であ
る。
FIG. 3 is a diagram illustrating a description example of a microprogram.

【図4】 DSPが用いられる電子楽器の構成例を示す
ブロック図である。
FIG. 4 is a block diagram illustrating a configuration example of an electronic musical instrument using a DSP.

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

1 CPU、2 タイマ、3 MIDI入出力回路、4
MIDI端子、5 シリアル入出力回路、6 鍵盤、
7 パラレル入出力回路、8 パネル表示器および操作
子、9 プログラムメモリ、10 ワークRAM、11
音源部、12波形メモリ、13 ディジタル信号処理
装置(DSP)、14 遅延メモリ(外部RAM)、1
5 デジタルアナログ変換器(DAC)、16 サウン
ドシステム、17 CPUバス、20 マイクロプログ
ラム供給部、21、24、27セレクタ、22 入出力
RAM、23 テンポラリRAM、25 係数レジスタ
および補間部、26 乗算部、28 加算部、29 シ
フタ、30 データバス、31 外部RAMアドレス制
御部、32 外部RAMアクセス回路、37 遅延回
路、34〜36 シフトレジスタ
1 CPU, 2 timers, 3 MIDI input / output circuits, 4
MIDI terminal, 5 serial input / output circuit, 6 keyboards,
7 parallel input / output circuit, 8 panel display and operator, 9 program memory, 10 work RAM, 11
Sound source unit, 12 waveform memory, 13 digital signal processor (DSP), 14 delay memory (external RAM), 1
5 Digital-to-analog converter (DAC), 16 sound system, 17 CPU bus, 20 microprogram supply unit, 21, 24, 27 selector, 22 input / output RAM, 23 temporary RAM, 25 coefficient register and interpolation unit, 26 multiplication unit, 28 adder, 29 shifter, 30 data bus, 31 external RAM address controller, 32 external RAM access circuit, 37 delay circuit, 34-36 shift register

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 マイクロプログラムを格納するマイク
ロプログラムメモリと、 各ステップ毎に前記マイクロプログラムメモリから読み
出されるマイクロ命令のうちの一部のフィールドを順次
格納し、所定ステップごとに並列に出力する直列並列変
換手段と、 該直列並列変換手段から前記所定ステップごとに出力さ
れる並列化されたマイクロコードにより制御される処理
部とを有することを特徴とするディジタル信号処理装
置。
1. A microprogram memory for storing a microprogram, and a serial / parallel for sequentially storing a part of fields of a microinstruction read from the microprogram memory for each step and outputting in parallel for each predetermined step A digital signal processing apparatus comprising: a conversion unit; and a processing unit controlled by parallelized microcode output from the serial / parallel conversion unit at each of the predetermined steps.
【請求項2】 前記一部のフィールドは、外部メモリ
に対するアクセスを制御するためのフィールドであるこ
とを特徴とする前記請求項1記載のディジタル信号処理
装置。
2. The digital signal processing device according to claim 1, wherein said partial field is a field for controlling access to an external memory.
JP01195498A 1998-01-07 1998-01-07 Digital signal processor Expired - Fee Related JP3610759B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01195498A JP3610759B2 (en) 1998-01-07 1998-01-07 Digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01195498A JP3610759B2 (en) 1998-01-07 1998-01-07 Digital signal processor

Publications (2)

Publication Number Publication Date
JPH11203129A true JPH11203129A (en) 1999-07-30
JP3610759B2 JP3610759B2 (en) 2005-01-19

Family

ID=11792025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01195498A Expired - Fee Related JP3610759B2 (en) 1998-01-07 1998-01-07 Digital signal processor

Country Status (1)

Country Link
JP (1) JP3610759B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380799A (en) * 2020-11-03 2021-02-19 上海安路信息科技有限公司 Micro-bus type DSP circuit architecture based on SIOU

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380799A (en) * 2020-11-03 2021-02-19 上海安路信息科技有限公司 Micro-bus type DSP circuit architecture based on SIOU
CN112380799B (en) * 2020-11-03 2024-05-31 上海安路信息科技股份有限公司 Micro bus type DSP circuit architecture based on SIOU

Also Published As

Publication number Publication date
JP3610759B2 (en) 2005-01-19

Similar Documents

Publication Publication Date Title
US4201105A (en) Real time digital sound synthesizer
JPH07210380A (en) Digital signal processor
JPH06195073A (en) Effect adding device
JP3610759B2 (en) Digital signal processor
JP2773601B2 (en) Signal processing device
JP2797142B2 (en) Processing equipment for electronic musical instruments
JP2950461B2 (en) Tone generator
JP2576616B2 (en) Processing equipment
JP3087631B2 (en) Effect giving device
JPS62184495A (en) Electronic musical apparatus with touch response
JP2605387B2 (en) Music signal generator
JP3371643B2 (en) Signal processing device
JP3116447B2 (en) Digital signal processor
JP3094759B2 (en) Music signal distribution processor
JP2797138B2 (en) Processing equipment for electronic musical instruments
JP2888844B2 (en) Music signal generator
JP3180351B2 (en) Effect device
JP3148803B2 (en) Sound source device
JPH02179692A (en) Processor for electronic musical instrument
JP3060920B2 (en) Digital signal processor
JPH0468632B2 (en)
JPH09269779A (en) Effect adding device
JPH07122796B2 (en) Processor
JPH0656553B2 (en) Music signal generator
JPH02179698A (en) Processor for electronic musical instrument

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041011

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

Free format text: PAYMENT UNTIL: 20071029

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081029

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees