JP3230413B2 - 信号処理装置および信号処理装置のマイクロプログラム書き換え方法 - Google Patents

信号処理装置および信号処理装置のマイクロプログラム書き換え方法

Info

Publication number
JP3230413B2
JP3230413B2 JP18662195A JP18662195A JP3230413B2 JP 3230413 B2 JP3230413 B2 JP 3230413B2 JP 18662195 A JP18662195 A JP 18662195A JP 18662195 A JP18662195 A JP 18662195A JP 3230413 B2 JP3230413 B2 JP 3230413B2
Authority
JP
Japan
Prior art keywords
microprogram
address
read
microprogram memory
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP18662195A
Other languages
English (en)
Other versions
JPH0916394A (ja
Inventor
智美 宮田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP18662195A priority Critical patent/JP3230413B2/ja
Publication of JPH0916394A publication Critical patent/JPH0916394A/ja
Application granted granted Critical
Publication of JP3230413B2 publication Critical patent/JP3230413B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は信号処理装置に関し、特
に、マイクロプログラム制御によるディジタル信号処理
装置(DSP:Digital Signal Processor)に適用して
好適なものである。
【0002】
【従来の技術】フィルター操作や変復調操作などの実時
間信号処理をディジタル値の代数演算によって高精度か
つ高安定に行なうことのできるDSPが、オーディオ信
号やビデオ信号の処理、音声情報処理などの多くの分野
で用いられている。このようなDSPは、上記したよう
な各種信号処理を実時間に行なうために、通常のマイク
ロプロセッサの能力をはるかに超える演算処理を実行し
なければならず、それぞれの信号処理に応じた専用LS
Iを作る場合と、汎用の信号処理プロセッサのマイクロ
プログラムによって目的に対応する場合とがある。最近
では後者のものが多く、高速演算器を内蔵し、命令とデ
ータのための記憶装置とバスを分離するなどの工夫によ
ってデータ転送の高速化を図っており、水平型マイクロ
命令やパイプライン制御などを採用しているところにそ
のアーキテクチャの特徴がある。
【0003】このようなDSPは、電子楽器において
も、エフェクタや音源として利用されている。電子楽器
におけるこのような処理は常にサンプリング周期毎に行
われなければならず、このような一定の周期毎に所定の
処理を必ず実行しなければならない場合に適用して好適
なDSPが本出願人により提案されている(特開平5−
150977号公報)。このDSPは、固定ステップ数
のマイクロプログラムを巡回型シフトレジスタに格納し
て、該巡回型シフトレジスタから各クロック毎に順次マ
イクロ命令を取り出して実行するように構成されてい
る。そして、分岐命令の場合には、前記マイクロ命令の
取り出しと同期してカウントするプログラムステップカ
ウンタの計数値と分岐先アドレスとが一致するまで、前
記巡回型シフトレジスタから読み出されるマイクロ命令
によるデータの書き込みを実行させないようにして当該
範囲内にあるマイクロ命令を実質的に無効とするように
なされている。
【0004】したがって、この本出願人により提案され
たDSPは、マイクロプログラムが固定数のステップに
より記述されており、かつ、1サンプリング周期でこの
マイクロプログラムの全てのステップを順次読み出して
処理を行なうものであるので、当該マイクロプログラム
は必ず所定の周期毎に実行されることとなり、実時間の
信号処理が保証されるとともにプログラム作成段階にお
いてプログラムの実行時間を容易に把握することができ
るという効果を有している。
【0005】また、この電子楽器に使用されるDSPに
おいては、複数のエフェクト処理あるいは複数個の波形
を発生する処理を行うことができるように、マイクロプ
ログラムメモリに複数個のそれぞれの処理に対応するマ
イクロプログラムブロックを格納して必要とされる処理
を行っている。そして、そのいずれかの処理が不要とな
ったときには、上記した分岐命令処理を利用して、該不
要となった処理を無効とするようになされている。ま
た、マイクロプログラムメモリに格納されていない別の
エフェクト処理あるいは波形の発生を行うときには、D
SPの出力を絞って、マイクロプログラムメモリに対応
するマイクロプログラムブロックを書き込み、対応する
エフェクト処理あるいは波形の発生を行うようにしてい
た。
【0006】
【発明が解決しようとする課題】しかしながら、上記し
たいずれのDSPにおいても、マイクロ命令としては水
平型マイクロ命令が採用されている。水平型マイクロ命
令は、数10〜数100ビットの長さを有し、該マイク
ロ命令中の各フィールドとそれにより制御されるハード
ウエアとの対応関係が明らかで、ハードウエアを効率的
に動作させるように制御することができ、高速実行が期
待できるものであるが、そのプログラミングは困難なも
のであった。
【0007】このことを図4の(a)を用いて説明す
る。この図はマイクロプログラムメモリに格納されてい
るマイクロプログラムの一例を示すものである。図示す
るように各マイクロ命令は、演算フィールド、読出フィ
ールドおよび書込フィールドなどの複数のフィールドか
らなっている。例えば、テンポラリRAMの00番地
(T00)の内容と係数レジスタCOEFとの内容とを
乗算し、その乗算結果をテンポラリRAMの01番地
(T01)に書き込むという処理を行なわせる場合、例
えばステップ1に、テンポラリRAMの00番地(T0
0)の内容と係数レジスタCOEFとの内容とを乗算さ
せるというマイクロ命令(MUL T00 COEF)
を記述する。そして、この乗算器の出力が2クロック後
にデータバスに出力されるものとすると、この乗算結果
をテンポラリRAMの01番地(T01)に書き込むた
めのマイクロ命令(T01 W)は、そのタイミングに
合わせて図示するように2ステップ後の第3ステップに
記述しなければならない。
【0008】このように、従来のDSPにおいては、マ
イクロ命令を記述するときに当該演算結果の得られるタ
イミングなどを考慮して記述することが必要であり、マ
イクロプログラミングが困難であった。また、このよう
に記述されたマイクロプログラムをみても、ある演算処
理とその結果を格納する処理とが異なるステップに記述
されているので、処理の内容を把握することが困難であ
った。さらに、マイクロプログラムを修正するときにお
いても、関連する複数個のステップに記述されているマ
イクロ命令を同時に修正することが必要となり、デバッ
グが困難であった。さらにまた、上記したように複数個
のマイクロプログラムブロックを格納している場合に、
各ブロックのマイクロプログラムが分離して格納されて
いないので、マイクロプログラムブロックの記憶位置の
入れ替えなどのマイクロプログラムブロックを単位とす
るエディット作業は面倒なものとなっていた。
【0009】さらにまた、上記した先行技術のDSPに
おいては、いずれかのマイクロプログラムブロックを分
岐命令を使用することにより無効とすることができるも
のであるが、そのためには、分岐命令のために1ステッ
プを使用しなければならず、大きな容量を有していない
マイクロプログラムメモリに本来格納すべきエフェクト
処理あるいは波形発生処理のためのマイクロ命令を格納
することができなくなる場合が生じることがある。さら
にまた、上記した先行技術のDSPにおいては、マイク
ロプログラムメモリに格納されていない別のエフェクト
処理あるいは波形の発生を行うときには、マイクロプロ
グラムメモリの内容を書き換えるためにDSPの処理を
一時中断することが必要であり、一時的に発音が途切れ
ることとなっていた。
【0010】そこで、本発明は、記述が容易で、かつ、
分かりやすいマイクロプログラムを記述することがで
き、デバッグが容易なマイクロプログラム制御のDSP
を提供することを目的とする。また、本発明は、マイク
ロプログラムメモリに複数個のマイクロプログラムブロ
ックが格納されている場合に、該ブロックを単位として
容易にエディットを行なうことのできるようなマイクロ
プログラムを記述することができるDSPを提供するこ
とを目的としている。さらに、本発明は、マイクロプロ
グラムメモリの容量を有効に使用することができるDS
Pを提供することを目的とする。さらにまた、本発明
は、音が途切れることなくマイクロプログラムメモリに
格納されているマイクロプログラム群を書き換えること
のできるDSPを提供することを目的とする。
【0011】
【0012】
【課題を解決するための手段】上記目的を達成するため
に、本発明の信号処理装置は、互いに独立した読出し経
路と書込み経路を有するマイクロプログラムメモリと、
マイクロプログラムアドレスを発生し、該マイクロプロ
グラムアドレスに基づいて前記読出し経路を介して前記
マイクロプログラムメモリからマイクロコードを読み出
す読出手段と、マイクロプログラムアドレスの所定範囲
を記憶する記憶手段と、前記記憶手段の記憶内容と前記
マイクロプログラムメモリから現在読出中のマイクロプ
ログラムアドレスとを比較する比較手段と、前記比較手
段における比較の結果、現在読出し中のマイクロプログ
ラムアドレスが前記所定範囲内にあるときは、前記マイ
クロプログラムメモリから読み出されるマイクロコード
を無効とする手段とを有し、前記読出手段による読出し
動作を停止することなく、前記書込み経路を介して前記
マイクロプログラムメモリに格納されているマイクロコ
ードのうちの前記所定範囲内のマイクロコードを書き換
えることができるようになされているものである。
【0013】また、本発明の信号処理装置におけるマイ
クロプログラムメモリの内容を動作中に書き換えるため
の方法は、前記マイクロプログラムメモリにおける書き
換えの対象となるアドレス範囲を前記記憶手段に記憶さ
せるステップ、前記比較手段と前記無効にする手段とを
可能化して、前記記憶手段に記憶されたアドレス範囲内
のマイクロコードを無効にするステップ、前記マイクロ
プログラムメモリの前記書き換えの対象となるアドレス
範囲に新たなマイクロコードを書き込むステップおよび
前記比較手段と前記無効にする手段の動作を停止させる
ステップからなる方法である。
【0014】
【0015】
【作用】このように構成された本発明の信号処理装置に
よれば、現在実行中のマイクロプログラムアドレスが所
定の範囲にあるか否かを判定する比較手段を設け、該比
較手段により所定範囲内にあると判定されたときには当
該マイクロコードを無効とすることができるようにな
る。そして、マイクロプログラムメモリの前記無効にさ
れたアドレス範囲に対して、信号処理装置の動作中にお
いて新たなマイクロプログラムを書き込むことができ、
マイクロプログラムをダイナミックに書き換えることの
できる信号処理装置を提供することができる。
【0016】
【実施例】図1は、本発明の信号処理装置が適用される
装置の一例を示す図であり、DSPをエフェクタとして
使用している電子楽器のブロック図を示している。図1
において、1は電子楽器全体の動作を制御するCPU
(中央処理装置)、2は制御プログラムやDSP内のマ
イクロプログラムメモリに格納すべき複数個のマイクロ
プログラムなどが格納されているROM、3は処理に必
要なデータが格納されるRAM、4は鍵盤や各種設定を
行なうためのスイッチなどからなる操作子、5は装置の
動作状態や各種設定情報を表示するための表示装置、6
は楽音信号を生成する音源、7は演算途中結果の格納や
波形データを遅延させるために用いられる外部RAM、
8は音源6により生成された楽音信号に対して各種の効
果を施すためのエフェクタであり、信号処理装置(DS
P)により実現されている。9はDSP8において所定
のエフェクトをかけられた楽音信号をDA変換した後増
幅し、音響信号を出力するサウンドシステム、10はデ
ータ転送を行なうためのCPUバスである。
【0017】電子楽器の動作自体は周知であるから、こ
こではその詳細な説明は省略する。DSP8は、1サン
プリング周期毎に音源回路6から入力される楽音信号に
対してビブラートやトレモロなど各種のエフェクト処理
を実行するものであり、後述するように、その内部に例
えば512ステップのマイクロ命令を格納することがで
きるマイクロプログラムメモリを有しており、当該処理
において必要とされるエフェクト処理に対応するマイク
ロプログラムブロックが、CPU1の制御によりROM
2から読み出されて、該マイクロプログラムメモリに格
納されている。そして、処理が開始されると、1サンプ
リング周期毎に該512ステップのマイクロプログラム
により対応するエフェクト処理が実行されるものであ
る。
【0018】図2にDSP8のブロック図を示す。この
図において、81はセレクタであり、音源6からの入力
信号とデータバス90上のデータを選択して入出力(I
/O)RAM82に入力するためのセレクタである。8
2は入出力RAMであり、セレクタ81を通して入力さ
れるデータおよびサウンドシステム9へ出力するデータ
が格納される。83はデータバス90に接続されている
テンポラリRAMであり、演算の途中結果などが格納さ
れる。84はセレクタであり、入出力RAM82および
テンポラリRAM83の出力が入力され、そのいずれか
を選択して乗算部86に供給するためのセレクタであ
る。
【0019】85は係数レジスタ・補間部であり、演算
に用いる所定の係数値を格納するとともに必要な場合に
はその補間演算を行なうものである。86は乗算部であ
り、セレクタ84を介して入力されるデータと係数レジ
スタ・補間部85から入力されるデータとを高速に乗算
する乗算器である。87はセレクタであり、入出力RA
M82、テンポラリRAM83およびデータバス90か
らの出力が入力され、そのいずれかを加算部88に出力
するものである。88は加算部であり、セレクタ87の
出力と乗算部86の出力とを加算する加算器である。8
9はシフト部であり、加算部88の出力を必要に応じて
シフト処理するためのシフタである。シフト部89の出
力はデータバス90に接続されている。また、7は前述
した外部RAMであり、91は外部RAM7に対するア
クセスを行なうための外部RAMアドレス制御部であ
る。さらに、100はマイクロプログラム供給部であ
り、その詳細な構成については後述するが、その内部に
マイクロプログラムを格納しているマイクロプログラム
メモリを有しており、各クロックサイクル毎に一つのマ
イクロ命令を読み出し、対応する処理を実行させるよう
に構成されている。
【0020】このように構成されたDSP8において、
マイクロプログラム供給部100から各演算部、制御部
およびゲートなどに供給されるマイクロコードに応じて
各演算部、制御部およびゲートなどが制御されることに
より、各サンプリング周期毎に音源6から入力される楽
音信号および演算結果データが、係数レジスタ・補間部
85から供給される係数値と演算されたり、必要に応じ
て外部RAM7に書き込まれ所定時間後に読み出されて
所定時間の遅延を与えられることにより、所定のフィル
タ演算処理や波形遅延処理などが実行される。これによ
り、楽音信号に所定の効果が施されるものである。
【0021】図3にマイクロプログラム供給部100の
一構成例を示す。図3において、101はマイクロプロ
グラムメモリであり、例えば、512個の記憶番地を有
しており、各番地には水平型マイクロ命令が格納されて
いる。102はアドレスカウンタであり、その出力がマ
イクロプログラムメモリ101に読み出しアドレスとし
て供給される。このアドレスカウンタ102は、このD
SPの1クロックサイクル毎にインクリメントされるも
のであり、マイクロプログラムメモリ101からマイク
ロ命令が読み出されるのと同期して+1され、511ま
でカウントされると再び0に戻るように構成されてい
る。なお、このアドレスカウンタ102は通常のプログ
ラムカウンタのように分岐先アドレスなどを書き込むこ
とができるようには構成されていない。
【0022】103はゲート回路であり、マイクロプロ
グラムメモリ101から読み出されるマイクロ命令の各
フィールドの信号を対応するハードウエアに供給するか
否かを制御するためのゲート回路であり、比較部104
から供給される出力が「1」のときに閉じられてマイク
ロ命令を出力しないように動作し、前記出力が「0」の
ときにマイクロ命令を出力するように構成されている。
104は、HALTフリップフロップ108の出力が
「1」のときに動作するように構成された比較部であ
り、スタートステップレジスタ106およびエンドステ
ップレジスタ107の内容とアドレスカウンタ102の
内容とを比較して、アドレスカウンタ102の出力がス
タートステップレジスタ106の内容と一致したときに
内蔵するフリップフロップ回路FFをセットし、アドレ
スカウンタ102の内容とエンドステップレジスタ10
7の内容とが一致したとき該FFをリセットするように
構成されている。そして、該FFの出力はゲート回路1
03に供給されている。
【0023】105は遅延回路であり、ゲート回路10
3から出力されるマイクロ命令のうちの所定のフィール
ドを入力とし、それを所定の期間だけ遅延して対応する
ハードウエアに供給するためのものである。なお、図示
はしていないが、ゲート回路103の出力は必要に応じ
てデコードされた後、あるいは、そのままで、対応する
ハードウエアに制御信号として供給されるように構成さ
れている。106および107はCPU1により書込お
よび読出が行なわれるレジスタであり、106はスター
トステップを格納するためのレジスタ、107はエンド
ステップを格納するためのレジスタである。また、10
8はHALTフリップフロップであり、CPU1により
セットあるいはリセットされ、セット状態にあるときに
比較部104を可能化するものである。また、マイクロ
プログラムメモリ101は例えばデュアルポートメモリ
で構成されており、上述したアドレスカウンタ102お
よびゲート回路103に接続されているポートのほか
に、CPUバス10と接続されている第2のポートを有
しており、CPUバス10を介してCPU1からもアク
セスすることができるようになされている。
【0024】このように構成されたDSP8のマイクロ
プログラム供給部100において、各サンプリング周期
毎に実行される処理サイクルはアドレスカウンタ102
の計数値が0のときから開始され、その計数値が511
のときに終了する。そして、アドレスカウンタ102の
計数値は511の次に0となされ、次の処理サイクルが
開始される。そして、アドレスカウンタ102はこのD
SPのマシンクロックによりインクリメントされるだけ
であるから、各処理サイクルの長さは固定されており、
電子楽器などのように所定周期毎に所定の処理を実行す
ることが要求される場合には好都合である。
【0025】このように構成されたDSPの動作につい
て説明する。まず、HALTフリップフロップ108が
セットされていないとき(RUN状態)は比較部104
が非動作状態とされ、ゲート回路103は開かれてい
る。したがって、図示しない動作クロックが印加される
毎にマイクロプログラムメモリ101のアドレスカウン
タ102により指定されるアドレスに格納されているマ
イクロ命令が読み出されるとともに、アドレスカウンタ
102がインクリメントされる。そして、これを繰り返
されて、マイクロ命令が順次読み出されていく。ゲート
回路103は開いているので、読み出されたマイクロ命
令のうち一部のフィールドにあるマイクロコードは遅延
回路105に入力されるが、他のフィールドのマイクロ
コードは対応するハードウエアに供給され、所定の制御
が行なわれる。また、遅延回路105に入力されたマイ
クロコードは、該遅延回路105において、予め定めら
れたサイクルの間遅延された後、対応するハードウエア
に供給され、所定の動作が行なわれる。
【0026】したがって、乗算結果を記憶手段に格納す
る場合など、単一のステップに乗算マイクロコードと書
込マイクロコードとを記述することができるようにな
る。このことを図4の(b)を用いて説明する。図4の
(b)は、上記した図4の(a)と同様に、テンポラリ
RAMの00番地(T00)の内容と係数レジスタから
の係数値COEFとを乗算し、その結果である積をテン
ポラリRAMの01番地(T01)に書き込む処理を行
なう場合のマイクロ命令を示すものであり、本発明の場
合におけるマイクロプログラムの記述例を例を示すもの
である。なお、この図においては、簡略にするために説
明に必要なフィールド及びステップのみを示してある。
【0027】図2に示すように、乗算の開始からその結
果がデータバス90に出力されるまでには、乗算部86
における乗算処理に1ステップ、および、加算部88及
びシフト部89を通過するために1ステップの合計2ス
テップを要する。したがって、従来のDSPにおいて
は、図4の(a)に記載されているように、乗算命令が
記述されているステップから2ステップ後に当該乗算結
果を格納するための命令を記述することが必要であった
が、本発明のDSPにおいては、ゲート回路の出力のう
ちの所定のフィールドを2クロックだけ遅延して出力す
る遅延回路105が設けられているために、図4の
(b)に示すように、乗算を行なうためのマイクロ命令
とその結果を格納するためのマイクロ命令とを一行に記
述することができる。すなわち、当該マイクロ命令がマ
イクロプログラムメモリ101から読み出されゲート回
路103を通過して出力されるときに、該マイクロ命令
の書込フィールドは遅延回路105に供給される。
【0028】したがって、当該マイクロ命令の演算フィ
ールドのマイクロコード(MULT00 COEF)
は、マイクロプログラムメモリ101から読み出された
タイミングでテンポラリRAM83、セレクタ84およ
び乗算部86に供給されるが、書込フィールドのマイク
ロコード(T01 W)は、2クロック後の乗算結果が
シフト部89を通過してデータバス90に現れるタイミ
ングでテンポラリメモリ83に供給されることとなり、
同一のステップに記述された演算命令と書込命令とをそ
れぞれに適したタイミングで対応するハードウエアに供
給することができる。
【0029】また、CPU1により、あらかじめスター
トステップレジスタ106とエンドステップレジスタ1
07にそれぞれアドレス値が格納されており、HALT
フリップフロップ108がセットされたときは、比較部
104が動作状態とされる。この場合においても、上記
と同様にして、順次マイクロ命令が読み出されるが、ア
ドレスカウンタ102の内容とスタートステップカウン
タ106の内容とが一致したことを比較部104におい
て検出すると、比較部104のフリップフロップFFが
セットされる。したがって、ゲート回路103は閉じら
れて、マイクロプログラムメモリ101から読み出され
るマイクロ命令は、対応するハードウエアおよび遅延回
路105に供給されず、無効とされる。
【0030】アドレスカウンタ102のインクリメント
が進み、今度はエンドステップレジスタ107の内容と
一致すると、フリップフロップFFがリセットされる。
これにより、ゲート回路103が開かれ、マイクロプロ
グラムメモリ101から読み出されたマイクロ命令は、
対応するハードウエアあるいは遅延回路105に供給さ
れる。以上のように、スタートステップレジスタ106
とエンドステップレジスタ107に任意のアドレスを格
納して、HALTフリップフロップ108をセット状態
にすることにより、スタートステップレジスタ106に
設定される下限アドレスとエンドステップレジスタ10
7に設定される上限アドレスとにより指定される範囲に
格納されているマイクロプログラムを無効とすることが
できる。これにより、上記した先行技術のように分岐命
令を使用することなく、任意のアドレス範囲に格納され
ているマイクロプログラムを無効とすることができる。
【0031】さらに、本発明によれば、DSP8の動作
を中断させることなく、マイクロプログラムメモリ10
1の内容を書き換えることが可能となる。これについて
図5および図6を用いて説明する。図5は、CPU1に
より実行されるメインルーチンの処理を説明するための
フローチャートである。また、図6の(a)はマイクロ
プログラムメモリ101におけるマイクロプログラムの
格納状態の一例を示す図、(b)はRAM3中に設けら
れるマイクロプログラムの格納状況テーブルの一例を示
す図および(c)はROM2中に格納されているマイク
ロプログラムブロックの一例を示す図である。
【0032】図6の(c)に示すようにROM2中には
エフェクト処理に対応する全てのマイクロプログラムブ
ロックが格納されており、それぞれのマイクロプログラ
ムブロックはプログラム番号により識別されるものとす
る。そして、これらのマイクロプログラムブロックのう
ちの当該処理において必要とされるものが選択されてマ
イクロプログラムメモリ101に格納され、上記したよ
うに動作される。図6の(b)に示す格納状況テーブル
は、マイクロプログラムメモリ101におけるマイクロ
プログラムブロックの格納状況を記憶するものであり、
図示するように、マイクロプログラムメモリ101に格
納されているマイクロプログラムブロックにアドレス順
にプログラムブロック番号を付し、各プログラムブロッ
ク番号毎にマイクロプログラムメモリ101における格
納領域のスタート番地とエンド番地を格納するものであ
る。
【0033】さて、図5に示すように、起動されると、
CPU1はステップ200において当該電子楽器のため
の各種の初期設定を行なう。次に、ステップ201にお
いて、ユーザによりプログラムブロック選択処理がなさ
れたか否かを判定する。この判定結果がNOのときは、
ステップ203に進む。ステップ201の判定結果がY
ESのときは、ユーザにより選択されたプログラムブロ
ック番号をRAM3中の所定の領域に記憶する。仮に、
図6(a)の斜線の領域を書き換えるとすれば「2」が
記憶される。続いて、ステップ203において、プログ
ラムチェンジが指示されたか否かを判定する。この判定
結果がNOのときはステップ209に進み、電子楽器の
通常の処理を行なう。
【0034】また、ステップ203の判定結果がYES
のときは、ステップ204において、指定されたエフェ
クトに対応するプログラム番号をRAM3の所定の領域
に記憶する。新たに「コーラス」のマイクロプログラム
ブロックをロードしたいときには「3」が記憶される。
そして、ステップ205において、上記ステップ202
において記憶されたプログラムブロック番号(「2」)
により格納領域テーブルを参照して、対応するプログラ
ムブロックのスタートステップとエンドステップ(「1
00」と「199」)とを読み出して、DSP8のスタ
ートステップレジスタ106とエンドステップレジスタ
107に転送する。次に、ステップ206において、D
SP8に対しHALT信号を供給し、DSP8内のHL
TFF108をセット状態にする。これにより、DSP
8においては、比較部104が可能化され、アドレスカ
ウンタ102とスタートステップレジスタ106および
エンドステップレジスタ107との内容の比較が開始さ
れる。したがって、上述したように、アドレスカウンタ
102の内容が、スタートステップレジスタ106の内
容(「100」)からエンドステップレジスタ107の
内容(「199」)の間にあるときには、比較部104
のFFから「1」が出力され、ゲート回路103はマイ
クロ命令を出力しない。したがって、この範囲にあるマ
イクロプログラムは無効とされる。
【0035】さて、ステップ206を実行した後、処理
はステップ207に進む。ステップ207において、ス
テップ204において記憶したプログラム番号
(「3」)に対応するマイクロプログラムをROM2か
ら読み出して、DSP8内のマイクロプログラムメモリ
101の前記ステップ202において記憶したプログラ
ムブロックに対応する領域に書き込む。これにより、ス
テップ201において選択されたプログラムブロックに
対応するマイクロプログラムメモリ101の領域に、ス
テップ203において指定されたプログラム番号に対応
するマイクロプログラムが書き込まれる。続いて、ステ
ップ208において、DSP8に対してRUN信号を送
出し、DSP8のHLTFF108をリセットする。こ
れにより、比較部104の動作が停止され、書き換えの
行なわれた領域も含め、マイクロプログラムメモリ10
1から読み出されるマイクロ命令がすべて有効とされ
る。このようにして、DSP8の動作を停止することな
く、マイクロプログラムメモリの内容を書き換えること
ができる。
【0036】上記実施例においては、マイクロプログラ
ムメモリ101としてデュアルポートメモリを使用する
場合について説明したが、必ずしもこれに限られること
はなく、マイクロプログラムメモリ101として、上記
した先行技術(特開平5−150977号公報)のよう
に、入力側に外部入力と循環入力とを選択するためのセ
レクタを設けた循環型シフトレジスタを用いても同様に
構成することができることは明らかである。
【0037】
【発明の効果】本発明は以上のように構成されているの
で、マイクロプログラミングが容易なDSPを提供する
ことができる。また、ブロックを単位とする編集が容易
なマイクロプログラムを記述することができるDSPを
提供することができる。さらにまた、マイクロプログラ
ムメモリの容量を有効に使用することができ、かつ、動
作を中断することなくマイクロプログラムメモリに格納
されている一部のマイクロプログラムブロックの書き換
えを行なうことができるDSPを提供することができ
る。
【図面の簡単な説明】
【図1】 本発明のDSPが用いられる電子楽器の構成
を示すブロック図である。
【図2】 DSPの内部構成を示すブロック図である。
【図3】 本発明のDSPにおけるマイクロプログラム
供給部100の構成を示すブロック図である。
【図4】 マイクロプログラムを説明するための図であ
る。
【図5】 マイクロプログラムメモリの内容を書き換え
る処理のフローチャートである。
【図6】 マイクロプログラムメモリ、格納領域テーブ
ルおよびROMにおける各種データの格納状態を説明す
るための図である。
【符号の説明】
1 CPU、2 ROM、3 RAM、4 操作子、5
表示装置、6 音源、7 外部RAM、8 DSP、
9 サウンドシステム、10 CPUバス、81、8
4、87 セレクタ、82 入出力RAM、83 テン
ポラリRAM、85係数レジスタ・補間部、86 乗算
部、88 加算部、89 シフト部、90データバス、
91 外部RAMアドレス制御部、100 マイクロプ
ログラム供給部、101 マイクロプログラムメモリ、
102 アドレスカウンタ、103 ゲート回路、10
4 比較部、105 遅延回路、106 スタートステ
ップレジスタ、107 エンドステップレジスタ、10
8 HALTフリップフロップ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 互いに独立した読出し経路と書込み経路
    を有するマイクロプログラムメモリと、マイクロプログラムアドレスを発生し、該マイクロプロ
    グラムアドレスに基づいて前記読出し経路を介して前記
    マイクロプログラムメモリからマイクロコードを読み出
    す読出手段と、 マイクロプログラムアドレスの所定範囲を記憶する記憶
    手段と、 前記記憶手段の記憶内容と前記マイクロプログラムメモ
    リから現在読出中のマイクロプログラムアドレスとを比
    較する比較手段と、 前記比較手段における比較の結果、現在読出し中のマイ
    クロプログラムアドレスが前記所定範囲内にあるとき
    は、前記マイクロプログラムメモリから読み出されるマ
    イクロコードを無効とする手段とを有し、前記読出手段による読出し動作を停止することなく、前
    記書込み経路を介して前記マイクロプログラムメモリに
    格納されているマイクロコードのうちの前記所定範囲内
    のマイクロコードを書き換えることができるようになさ
    れている ことを特徴とする信号処理装置。
  2. 【請求項2】 請求項1に記載の信号処理装置における
    マイクロプログラムメモリの内容を動作中に書き換える
    ための方法であって、次の(イ)〜(ニ)のステップか
    らなる方法。 (イ)前記マイクロプログラムメモリにおける書き換え
    の対象となるアドレス範囲を前記記憶手段に記憶させる
    ステップ (ロ)前記比較手段を可能化して、前記記憶手段に記憶
    されたアドレス範囲内に格納されているマイクロコード
    を無効とするステップ (ハ)前記マイクロプログラムメモリの前記書き換えの
    対象となるアドレス範囲に新たなマイクロコードを書き
    込むステップ (ニ)前記比較手段の動作を停止させるステップ
JP18662195A 1995-06-30 1995-06-30 信号処理装置および信号処理装置のマイクロプログラム書き換え方法 Expired - Lifetime JP3230413B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18662195A JP3230413B2 (ja) 1995-06-30 1995-06-30 信号処理装置および信号処理装置のマイクロプログラム書き換え方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18662195A JP3230413B2 (ja) 1995-06-30 1995-06-30 信号処理装置および信号処理装置のマイクロプログラム書き換え方法

Publications (2)

Publication Number Publication Date
JPH0916394A JPH0916394A (ja) 1997-01-17
JP3230413B2 true JP3230413B2 (ja) 2001-11-19

Family

ID=16191791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18662195A Expired - Lifetime JP3230413B2 (ja) 1995-06-30 1995-06-30 信号処理装置および信号処理装置のマイクロプログラム書き換え方法

Country Status (1)

Country Link
JP (1) JP3230413B2 (ja)

Also Published As

Publication number Publication date
JPH0916394A (ja) 1997-01-17

Similar Documents

Publication Publication Date Title
US4184400A (en) Electronic musical instrument utilizing data processing system
US4497023A (en) Linked list of timed and untimed commands
EP0241946A2 (en) Information processing system
JPH07181969A (ja) コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム
JP3230413B2 (ja) 信号処理装置および信号処理装置のマイクロプログラム書き換え方法
JPH0820872B2 (ja) 波形発生装置
JP3194193B2 (ja) 信号処理装置
EP0376342B1 (en) Data processing apparatus for electronic musical instruments
JP3371643B2 (ja) 信号処理装置
JP2773601B2 (ja) 信号処理装置
JP2576618B2 (ja) 処理装置
JP2758624B2 (ja) マイクロプログラムの調速方式
JP2576616B2 (ja) 処理装置
JP3225796B2 (ja) 信号処理装置および楽音処理装置
JP3505907B2 (ja) 信号遅延装置およびデジタル信号処理装置
JP2576613B2 (ja) 処理装置
JPH0462595A (ja) 電子楽器用処理装置
JP3116447B2 (ja) デジタル信号処理プロセッサ
JP3005987B2 (ja) デジタル信号処理装置
JPH0633518Y2 (ja) 外部音可変長記録装置
JP2781973B2 (ja) メモリー内容更新回路
KR940006816B1 (ko) 피엘씨의 명령어 수행 속도 단축회로
JP2000357124A (ja) デジタル信号処理装置及びこれを有する通信システム
US5822775A (en) Efficient data processing method for coefficient data in a digital dignal, processor
JP2629899B2 (ja) タグ分岐装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010814

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: 20070914

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080914

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090914

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130914

Year of fee payment: 12

EXPY Cancellation because of completion of term