JP3505907B2 - 信号遅延装置およびデジタル信号処理装置 - Google Patents

信号遅延装置およびデジタル信号処理装置

Info

Publication number
JP3505907B2
JP3505907B2 JP08307096A JP8307096A JP3505907B2 JP 3505907 B2 JP3505907 B2 JP 3505907B2 JP 08307096 A JP08307096 A JP 08307096A JP 8307096 A JP8307096 A JP 8307096A JP 3505907 B2 JP3505907 B2 JP 3505907B2
Authority
JP
Japan
Prior art keywords
write
signal
address
delay
data
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 - Fee Related
Application number
JP08307096A
Other languages
English (en)
Other versions
JPH09244642A (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 JP08307096A priority Critical patent/JP3505907B2/ja
Publication of JPH09244642A publication Critical patent/JPH09244642A/ja
Application granted granted Critical
Publication of JP3505907B2 publication Critical patent/JP3505907B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は信号遅延装置および
デジタル信号処理装置に関し、特に音声や楽音信号など
の遅延処理を実行する場合に適用して好適なものであ
る。
【0002】
【従来の技術】フィルター操作や変復調操作などの実時
間信号処理をディジタル値の代数演算によって高精度か
つ高安定に行なうことのできるデジタル信号処理装置
(DSP)が、オーディオ信号やビデオ信号の処理、音
声情報処理などの多くの分野で用いられている。電子楽
器においても、エフェクタや音源としてDSPが利用さ
れている。電子楽器におけるこのような処理は常にサン
プリング周期(DACサイクル)毎に行われなければな
らず、このような一定の周期毎に所定の処理を必ず実行
しなければならない場合に適用して好適なDSPが本出
願人により提案されている(特開平5−150977号
公報)。この本出願人により提案されたDSPは、マイ
クロプログラムが固定数のステップにより記述されてお
り、かつ、1サンプリング周期でこのマイクロプログラ
ムの全てのステップを順次読み出して処理を行なうもの
であるので、当該マイクロプログラムは必ず所定の周期
毎に実行されることとなり、実時間の信号処理が保証さ
れるとともにプログラム作成段階においてプログラムの
実行時間を容易に把握することができるというものであ
る。
【0003】図6の(a)に、DSPをエフェクタとし
て使用している電子楽器のブロック図を示す。この図に
おいて、1は電子楽器全体の動作を制御するCPU(中
央処理装置)、2は制御プログラムやDSP内のマイク
ロプログラムメモリに格納すべき複数個のマイクロプロ
グラムなどが格納されているROM、3は処理に必要な
データが格納されるRAM、4は鍵盤や各種設定を行な
うためのスイッチなどからなる操作子、5は装置の動作
状態や各種設定情報を表示するための表示装置、6は楽
音信号を生成する音源、7は波形データを遅延させるた
めなどに用いられる外部RAM、8は音源6により生成
された楽音信号に対して各種の効果を施すためのエフェ
クタであり、信号処理装置(DSP)により実現されて
いる。9はDSP8において所定のエフェクトをかけら
れた楽音信号をDA変換した後増幅し、音響信号として
出力するサウンドシステム、10はデータ転送を行なう
ためのCPUバスである。
【0004】DSP8は、1サンプリング周期毎に音源
回路6から入力される楽音信号に対してリバーブやビブ
ラートなど各種のエフェクト処理を実行するものであ
り、その内部に例えば512ステップのマイクロ命令を
格納することができるマイクロプログラムメモリを有し
ており、当該処理において必要とされるエフェクト処理
に対応するマイクロプログラムブロックがCPU1の制
御によりマイクロプログラムメモリに格納されている。
そして、処理が開始されると、1サンプリング周期毎に
該512ステップのマイクロプログラムにより対応する
エフェクト処理が実行されるものである。
【0005】リバーブやディレイなどの遅延系のエフェ
クトを施す場合には、波形データを外部メモリ7に書き
込み、所定の遅延時間後に該波形データを読み出すこと
により遅延処理が行なわれる。このような遅延処理のた
めに波形メモリ7に設定される遅延領域を図6の(b)
に示す。図示するように外部RAM7において、先頭ア
ドレスから順に遅延領域A、B、C・・・に対する領域
が確保される。すなわち、外部RAM7の先頭アドレス
を遅延領域Aの書込アドレスW1とし、該書込アドレス
W1から当該遅延領域Aに設定される遅延時間に相当す
るアドレス分だけ後方のアドレスR1が該遅延領域Aの
読み出しアドレスとして設定される。次の遅延領域Bに
対しては、前記遅延領域Aの読み出しアドレスR1の次
のアドレスを該遅延領域Bの書込アドレスW2とし、該
書込アドレスW2から当該遅延領域Bに設定される遅延
時間に相当するアドレスだけ離れたアドレスを読出アド
レスR2として該遅延領域Bが設定される。このように
して、先頭アドレスから順次各遅延領域A、B、C・・
・が設定されている。なお、この外部RAM7は、初期
状態において何もデータが書き込まれていない状態とさ
れる。
【0006】そして、DSP8内のマイクロプログラム
により遅延領域Aを用いて遅延すべき波形データが書込
命令により外部RAM7の書込アドレスW1に書き込ま
れ、対応する読出命令により外部RAM7の読出アドレ
スR1から読み出される。なお、このときはアドレスR
1にはなんらデータが書き込まれていない。次のDAC
サイクルにおいて、遅延領域Aの最終番地R1を書込ア
ドレスとして波形データを書込み、アドレスR1−1か
ら波形データが読み出される。このように書込アドレス
および読出アドレスを1DACサイクル毎に1ずつ減算
していき、遅延領域Aの大きさに等しいDACサイクル
が経過すると読出アドレスがW1になり、最初にW1に
書き込まれた波形データが読み出される。このようにし
て、波形データを遅延領域の大きさ(読出アドレスR1
と書込アドレスW1の差)に相当するDACサイクル分
の時間だけ遅延して読み出すことができる。また、遅延
領域B、C・・・についても、同様にして、対応する波
形データの遅延が行なわれる。
【0007】
【発明が解決しようとする課題】上述のようにして外部
メモリ7を使用して遅延処理が行なわれ、リバーブやデ
ィレイなどのエフェクト処理が行なわれるのであるが、
この外部メモリ7としては、通常、コストや速度の点か
らDRAMが用いられている。
【0008】一般に、DRAMはアドレス線が多重化さ
れており、まず最初に行アクセスストローブ(RAS;
row-access strobe )が有効になってアドレスの上位半
分が指定され、次に列アクセスストローブ(CAS;co
lumn-access strobe)が有効になりアドレスの下位半分
が指定されるようになっている。この行アクセスと列ア
クセスとに要する時間の和がDRAMのアクセス時間と
なるのであるが、DRAMは、列アクセスに先立って1
行分のデータをDRAM内のバッファにいったん読み出
してくるため、行バッファ内のデータに連続してアクセ
スするときは、行アクセス時間を省いてアクセスを高速
化できるようになっている。このような高速アクセス・
モードとして、高速ページ・モードやEDO(extended
data out )モードなどが知られている(日経エレクト
ロニクス、1995.7.31 、( No.641)、P.112
−125などを参照されたい。)。
【0009】前述したようなDSPにおいて遅延処理に
使用する外部メモリへのアクセスを高速に実行すること
ができるならば、遅延チャンネル数を増加することが可
能となり、また、アクセスが終了するまで待ち合わせ時
間を短縮することができ、マイクロプログラミングの自
由度が大きくなる。しかしながら、従来の外部メモリに
おいては、各遅延領域をブロック構成としていたため
に、各遅延領域に対する書込、読出がランダムなアドレ
ッシングとなり、高速アクセス・モードを使用すること
ができなかった。
【0010】そこで、本発明は、信号遅延領域が設けら
れるDRAMに対して、高速にアクセスすることができ
る信号遅延装置およびデジタル信号処理装置を提供する
ことを目的としている。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明の信号遅延装置は、高速アクセス・モードで
アクセス可能なDRAMにより構成された記憶装置に
複数n個の信号遅延領域を設け、信号遅延領域にそれ
ぞれ信号データを書き込み、所定時間経過後に該信号デ
ータを読み出すことにより、複数の信号を遅延させる信
号遅延装置であって、前記複数の信号遅延領域は、それ
ぞれの書込位置が前記記憶装置においてnアドレスおき
となり、かつ、それらの先頭アドレスが連続したアドレ
スとなるように設定されており、前記各信号遅延領域に
対する信号データの書込が高速アクセス・モードにより
一括して実行されるものである。
【0012】また、本発明の信号処理装置は、プログラ
ムメモリに格納されている複数ステップの制御プログラ
ムを繰り返し実行することによりデジタル信号処理を行
う、外部に遅延処理のための高速アクセス・モードでア
クセス可能なDRAMが接続されたデジタル信号処理装
置であって、前記DRAMは、複数n個の信号遅延領域
が設けられ、各信号遅延領域にそれぞれ信号データを書
き込み、所定時間経過後に該信号データを読み出すこと
により、複数の信号を遅延させるものであって、該複数
の信号遅延領域は、それぞれの書込位置がnアドレスお
きとなり、かつ、それらの先頭アドレスが連続したアド
レスとなるように設定されているものであり、前記DR
AMに対する書込アドレス及び書込データを複数格納可
能なバッファ手段と、前記制御プログラムの実行中に高
速書込命令が読み出される度に、その高速書込命令にお
ける書込アドレスと書込データを前記バッファ手段に順
次記憶する手段と、前記制御プログラム中の所定のステ
ップにおいて、前記バッファ手段に記憶されている複数
の書込アドレス及び書込データに対応する前記DRAM
に対する書込を高速アクセス・モードにより一括して実
行する手段とを有するものである。
【0013】
【発明の実施の形態】図1(a)は、本発明の実施の形
態において外部メモリ上に設定される遅延領域を示す図
である。この図において、横方向の0〜n−1はDRA
Mの下位アドレスすなわち行アドレスを示し、縦方向は
DRAMの上位アドレスすなわち列アドレスを示す。図
の斜線で示した遅延領域A、B、C、D、E・・・は、
いずれも、それらの先頭アドレスが同一の列アドレス
で、行アドレスが0〜n−1となるようになされてい
る。また、DRAMの空き領域には他の遅延領域を設定
することもできる。この遅延領域A、B、C、D、E・
・・のようにそれぞれの先頭アドレスが同一の列アドレ
ス上に配置されていることによって、これらの遅延領域
へのアクセスするときには、前述した高速アクセス・モ
ードを利用することができるようになる。
【0014】図1(b)はn=8の場合におけるメモリ
マップを1次元的に配列したもので、縦軸はメモリアド
レスを示し、W1、W2、W3・・・W8はそれぞれ遅
延領域A、B、C・・・Hのための書込位置を示してい
る。図示するように、8番地毎に各遅延領域の書込位置
が割り当てられており、メモリアドレスの8の剰余が
「0」のときは遅延領域A、「1」のときは遅延領域
B、・・・「0」のときは遅延領域Hとされている。
【0015】図2は、上述したように遅延領域が配置さ
れている外部メモリを使用して波形データの遅延処理を
実行するためのDSP8の構成を示す図である。この図
において、DRAMである外部メモリ7、DSP8、C
PUバス10は図6に関して前述したものと同一であ
る。11はDSP8の動作を制御するためのマイクロプ
ログラムメモリ、12は該マイクロプログラムメモリか
ら読み出されたマイクロプログラムをデコードするデコ
ーダ、121〜125は該デコーダ12の出力信号線、
13は、音源などからの入力信号やデータバス25上の
データを格納するとともに、演算部14に入力する信号
を選択するセレクタおよびレジスタ部、14は加減算や
乗算などの演算処理を実行する演算部、15は出力デー
タを格納するための出力レジスタである。
【0016】16はデータバス25上のデータを格納す
るための第1のFIFO(ファーストインファーストア
ウト)バッファ、17は前記デコーダ12から出力され
るアドレス信号を格納する第2のFIFOバッファ、1
8はデータバス25上のデータと前記第1のFIFOバ
ッファ16からの出力を選択して、DRAM7に接続す
るための第1のセレクタ、19は前記デコーダ12から
信号線122に出力されるアドレスデータと前記第2の
FIFOバッファ17に格納されているアドレス信号と
を選択して出力するための第2のセレクタである。ま
た、20は前記デコーダ12から信号線121に1DA
Cサイクル毎に出力される信号により8ずつ減算する減
算カウンタ、21は外部RAM7の先頭アドレスが格納
されるオフセットアドレスレジスタ、22はセレクタ1
9と減算カウンタ20の出力とを加算する加算器、23
は加算器22の出力と前記オフセットアドレスカウンタ
21の出力とを加算する加算器、24は前記加算器23
から出力されるアドレスに基づいてDRAM7にRA
S、CAS信号およびアドレスデータなどを供給するメ
モリインターフェース回路である。
【0017】このように構成されたDSP8を制御する
ために前記マイクロプログラムメモリ11に格納される
マイクロプログラムの一例を図3に示す。この図には外
部メモリ7への書込および読出に関するマイクロ命令の
みが記載されている。ここで、「HW」と記載されてい
るのは遅延領域への高速書込命令である。また、「R」
と記載されているのは遅延領域からの読出命令である。
さらに、これらの命令のオペランドである「a」、
「b」、「c」・・・は書込あるいは読出の対象となる
遅延領域を指定するための相対書込アドレスであり、遅
延領域Aが「0」、遅延領域Bが「1」、遅延領域Cが
「2」・・・というように、各遅延領域に対してモジュ
ロnの数値で決定されている。「delay1」、「delay
2」、「delay3」・・・は当該遅延処理による遅延時間
を指示する相対読出アドレスであり、(所望の遅延サン
プル数)×n+(各遅延領域の相対書込アドレス)とさ
れている。また、「reg1」、「reg2」、「reg3」・・・
は当該読出命令により読み出された波形データを書き込
むレジスタ名である。また、マイクロプログラムの後部
にはDRAM7に対して高速アクセス・モードで書込む
ことを指示する命令が配置されており、この命令による
DRAM書込中にはDRAMに対する他のアクセスは禁
止される。
【0018】図示するように、このマイクロプログラム
例においては、外部メモリ7への書込読出に関する命令
として、最初から順に、領域Aへの高速書込命令「HW
a」、領域Bへの高速書込命令「HW b」、領域A
からdelay1で指示される遅延時間後にreg1に波形データ
を読み出す読出命令「R a delay1 reg1」、領域C
への高速書込命令「HW c」、領域Bからの第1の読
出命令「R b delay2 reg2」、領域Bからの第2の
読出命令「R b delay3 reg4」、領域Dへの高速書
込命令「HW d」、領域Cからの読出命令「R c
delay4 reg5」、「高速モードで書込」命令が記載され
ている。
【0019】このようなマイクロプログラムが前記マイ
クロプログラムメモリ11に格納されているときにおけ
る前記図2のDSP8の動作について、図4の(a)に
示す外部メモリ7のメモリマップを参照しながら説明す
る。図2において、マイクロプログラムメモリ11には
図3に示したマイクロプログラムがCPUからCPUバ
ス10を介して格納されており、このDSP8において
は、1DACサイクル期間にこのマイクロプログラムメ
モリ11に格納されている全マイクロプログラムステッ
プを一巡するように構成されている。マイクロプログラ
ムメモリ11から読み出されたマイクロ命令はマイクロ
命令デコーダ12においてデコードされ、そのマイクロ
命令の内容に従って各信号線121〜125にデコード
出力信号が出力される。
【0020】信号線121には1DACサイクル終了毎
にそのことを示す信号が出力され、それにより減算カウ
ンタ20からn(この例においては8)が減算される。
なお、減算カウンタ20には初期値として「0」が格納
されており、減算カウンタ20が16ビット構成のもの
であるときには、1DACサイクル終了時に該減算カウ
ンタ20の値は「FFF8H」(Hは16進数であるこ
とを示す、以下同じ)となる。信号線122には、デコ
ードされたマイクロ命令が通常の書込命令「W」および
読出命令「R」のときに、当該命令のオペランド部すな
わち読出あるいは書込のアドレスが出力される。このア
ドレスはセレクタ19に入力される。
【0021】信号線123にはデコードされたマイクロ
命令が「高速モードで書込」命令であるときに前記セレ
クタ18および19を切り換えるための信号が出力され
る。信号線124には、デコードされたマイクロ命令が
高速書込命令「HW」であるときに信号が出力され、F
IFOバッファ17に当該高速演算命令のオペランド部
a、b、c・・・すなわち相対書込アドレスが格納され
る。また、その時点においてデータバス25上に存在し
ている書き込むべき波形データをFIFO16に取り込
むための制御信号が該FIFOバッファ16に印加され
る。信号線125には、その他のマイクロ命令をデコー
ドして得られた制御信号が出力され、それぞれ、対応す
る被制御部分に印加される。
【0022】さて、図3に記載したマイクロプログラム
がマイクロプログラムメモリ11から順次読み出され、
デコーダ12において高速書込命令「HW a」が読み
出されたとする。このとき、前述したように信号線12
4に該マイクロ命令のオペランド部aに格納されている
遅延領域Aに対応する相対書込アドレス「0」とFIF
Oバッファ16に対する書込コマンドが出力される。こ
れにより、FIFOバッファ17にアドレスデータ
「0」が書き込まれ、またFIFOバッファ16には、
データバス25上に存在しているその前のマイクロ命令
による演算結果データが書き込まれる。以上により高速
演算命令「HW a」に対応する処理は終了し、外部メ
モリ7に対する実際の書込処理はこの時点では実行され
ない。
【0023】マイクロプログラムメモリ11に格納され
ているマイクロ命令に対する処理が進行して、高速書込
命令「HW b」がデコーダ12においてデコードされ
ると、前述した場合と同様にして、FIFOバッファ1
7に領域Bに対応する相対書込アドレス「1」が書き込
まれ、FIFOバッファ16に対応する書込データが格
納される。
【0024】読出命令「R a delay1 reg1 」がデコ
ーダ12においてデコードされると、信号線122から
該読出命令の第2オペランドである相対読出アドレス
「delay1」が出力され、セレクタ19に入力される。図
4の(a)には、delay1=「0208H」であるものと
して記載されている。なお、セレクタ19は通常時は信
号線122の出力を選択し、信号線123からの出力が
あるときのみFIFOバッファ17の出力が選択される
ようになされている。また、セレクタ18は、通常時
は、データバス25が選択され、信号線123からの出
力があるときのみFIFOバッファ16が選択されるよ
うになされている。
【0025】したがって、前記信号線122から出力さ
れるアドレスはセレクタを介して加算器22に入力さ
れ、減算カウンタ20の出力と加算される。初期状態に
おいて、減算カウンタ20は「0」とされているので、
この加算結果は信号線122上のアドレス信号となり、
この加算結果はさらに加算器23に入力されてオフセッ
トレジスタ21の出力と加算される。この例において
は、外部メモリの先頭アドレスは「0000H」とされ
ているので、オフセットレジスタの内容は「0」であ
り、該加算器23からは前述した信号線122上のアド
レスデータがそのまま出力される。この加算器23から
出力されるアドレス信号はメモリインターフェース回路
24に供給され、RAS、CAS信号とともにアドレス
信号として外部メモリ7に印加される。
【0026】これにより、外部メモリ7の対応するアド
レスからデータが読み出されるが、初期状態においては
外部メモリ7には「0」が書き込まれているので、外部
メモリ7から読み出されたデータが格納されるレジスタ
1には、セレクタ18、データバス25を介してデータ
「0」が書き込まれる。
【0027】高速演算命令「HW c」がデコードされ
たときには、前述した場合と同様に、FIFOバッファ
17に遅延領域Cに対応する相対書込アドレス「2」が
書き込まれ、FIFOバッファ16に対応する書込デー
タが格納される。
【0028】次に、読出命令「R a delay2 reg2」
がデコードされると、前述の読出命令の場合と同様に、
信号線122上に相対読出アドレスdelay2(図4(a)
においては、delay2=「1009H」)が出力される。
このアドレスデータは、セレクタ19を介して加算器2
2に入力され、減算カウンタ20の内容(「0」)と加
算され、さらに加算器23においてオフセットレジスタ
21の内容(「0」)と加算されて、インターフェース
回路24に入力される。これにより、外部メモリ7から
読み出された当該アドレスのデータはセレクタ18およ
びデータバス25を介してレジスタ2に読み出される
が、このアドレスにはデータが格納されていないので、
読み出されたデータは「0」である。
【0029】次に、再び読出命令「R a delay3 re
g3」がデコードされると、前述の場合と同様に、信号線
122上に相対読出アドレスdelay3(図4(a)の例で
は、delay3=「8048H」)が出力される。このアド
レスデータはセレクタ19を介して加算器22に入力さ
れ、減算カウンタ20の内容(「0」)と加算され、さ
らに加算器23においてオフセットレジスタ21の内容
(「0」)と加算されて、インターフェース回路24に
入力される。これにより、外部メモリ7から読み出され
た当該アドレスのデータはセレクタ18およびデータバ
ス25を介してレジスタ2に読み出されるが、このアド
レスにはデータが格納されていないので、読み出された
データは「0」である。
【0030】なお、この例のように同一の遅延領域Bに
対して2通りの読出命令を設定することができる。この
ようにすることにより、同一の波形データに対して相対
読出アドレスdelay1およびdelay2に対応する2通りの遅
延時間を設定することができる。これは、図4の(b)
に示すように、遅延線の異なる2つの位置にタップを設
けた場合に相当している。すなわち、読出命令「R a
delay2 reg2」は、図4の(b)に示す遅延線の入力
からdelay2に対応する距離だけ離れた位置に設けられた
タップR1に対応し、読出命令「R a delay3 reg
3」は、delay3に対応する距離だけ離れた位置に設けら
れたタップR2に対応している。この一方の遅延時間を
与えられた波形データは、例えば、右チャンネルに出力
され、他方の遅延時間を与えられた波形データは左チャ
ンネルに出力される。
【0031】次に、高速書込命令「HW d」がデコー
ドされ、また、読出命令「R cdelay4 reg5」がデコ
ードされると、それぞれ、前述した場合と同様に処理が
行なわれる。このようにしてマイクロ命令ステップが進
行し、「高速モードで書込」命令がデコードされると、
信号線123にそのことを示す信号が発生される。前述
したように、この信号が出力されている期間においては
セレクタ19はFIFOバッファ17を選択し、セレク
タ16はFIFOバッファ16を選択する。また信号線
123上の信号はFIFOバッファ17およびFIFO
バッファ16にも印加され、これにより、FIFOバッ
ファ17に格納されていた各高速書込命令に対応する各
遅延領域に対応するアドレスデータがセレクタ19を介
して加算器22に入力され、減算カウンタ22の内容と
加算される。この例の場合には、FIFOバッファ17
には、先頭から順に、高速書込命令「HW a」に対応
するアドレス「0」、「HW b」に対応するアドレス
「1」、「HW c」に対応するアドレス「2」および
「HW d」に対応するアドレス「3」が格納されてい
る。
【0032】加算器22においてFIFOバッファ17
から順次読み出された各アドレスデータ「0」、
「1」、「2」および「3」が順次減算カウンタ20の
内容(「0」)と加算され、該出力が加算器23に入力
される。この加算器23において各加算結果はオフセッ
トレジスタ21の内容(「0」)と加算され、該加算結
果がインターフェース回路24に入力される。インタフ
ェース回路24に入力される書込アドレスは連続したア
ドレスとなっており、インタフェース回路は高速ページ
・モードやEDOモードなどの高速アクセス・モードを
使用して外部メモリ7にアクセスする。すなわち、先頭
のデータ(この場合には、「0000H」)について
は、行アドレスと列アドレスを送出し、連続する2番目
以降のアドレス(「0001H」、「0002H」、
「0003H」・・・)については、列アドレスのみを
送出する。また、前記信号線123上の信号により、F
IFOバッファ17からのアドレスの送出と同期して、
FIFOバッファ16に格納されている対応する波形デ
ータが順次読み出され、セレクタ18を介して外部メモ
リ7に書き込まれる。
【0033】このようにして、高速書込命令に対応する
データの書込はマイクロプログラムの最後方に配置され
た「高速モードで書込」ステップにより、まとめて実行
される。なお、この高速モードでの書込が実行されてい
る期間は他の命令によるDRAMへのアクセスは禁止さ
れる。しかし、DRAMへのアクセスに関係のない演算
命令などは記述でき、実行させることができる。
【0034】このようにしてマイクロプログラムメモリ
11に格納されている全マイクロ命令の実行が終了する
と、信号線121に信号が出力され、減算カウンタ20
に対してn(この場合は8)を減算する指令が入力され
る。これにより、減算カウンタ20の内容は「FFF8
H」となる。
【0035】続いて、次のDACサイクルに入り、マイ
クロプログラムメモリ11の先頭番地から再びマイクロ
命令が読み出されてデコーダ12に供給される。高速書
込命令「HW a」が読み出されると、前述の場合と同
様にしてFIFOバッファ17に当該遅延領域Aに対応
する相対書込アドレス「0」が書き込まれ、FIFOバ
ッファ16には当該波形データが書き込まれる。他の高
速書込命令「HW b」、「HW c」、「HW d」
・・・に対しても、同様に処理が行なわれる。
【0036】また、読出命令「R a delay1 reg1」
がデコードされたときは、前述の場合と同様に相対読出
アドレスdelay1がセレクタ19を介して加算器22に入
力され、減算カウンタ20の内容(このときは「FFF
8H」)と加算され、その加算結果がさらに加算器23
においてオフセットレジスタ21の内容(「0」)と加
算されて、読出アドレスとしてインターフェース回路2
4に出力される。この読出アドレスにはデータは書き込
まれていないので、読み出されるデータは「0」であ
る。他の読出命令「R b delay2 reg2」、「R b
delay3 reg4」、「Rc delay4 reg5」についても
同様に処理されるが、いずれの場合にもこの段階では読
み出されるデータは「0」である。
【0037】「高速モードで書込」命令がデコードされ
たときは、前述の場合と同様にして、FIFOバッファ
17に格納されている各高速書込命令に対応するアドレ
スを用いて、FIFOバッファ16に格納されている対
応する各波形データが外部メモリ7に書き込まれること
となるが、この場合には、減算カウンタ20の内容が
「FFF8H」となっているので、遅延領域Aのデータ
は外部メモリ7のFFF8H番地に、遅延領域Bのデー
タはFFF9H番地、領域CのデータはFFFA番地
に、それぞれ書き込まれる。このようにして処理が進行
し、マイクロプログラムの最後に達すると、信号線12
1からの出力により、減算カウンタ20から8が減算さ
れ、減算カウンタ20の内容は「FFF0H」となる。
【0038】このようにして、前記遅延領域Aのdelay1
「0208H」(520)に対応する遅延時間(520
/8=65DACサイクル)が経過すると、前記減算カ
ウンタ20の内容は「FDF8H」(=「0000H」
−「0208H」(65×8))となり、読出命令「R
a delay1 reg1」がデコードされたときに加算器2
3から出力される読出アドレスは「0000H」とな
る。したがって、このときに外部メモリ7から65DA
Cサイクル前に高速書込命令「HW a」により書き込
まれた波形データが読み出され、レジスタreg1に書き込
まれる。
【0039】同様にして、各読出命令において指定され
る遅延時間delay2、delay3、delay4に対応するDACサ
イクルを経過した後に、対応する書込命令により外部メ
モリ7に書き込まれた波形データがそれぞれ、読み出さ
れることとなる。このようにして、所望の遅延時間を得
ることができる。
【0040】図3に示したような高速書込命令を有する
マイクロプログラムは、使用者が最初から全て記述しし
てもよいが、次のようにして自動的に生成することがで
きる。この生成方法について、図5を参照して説明す
る。まず、使用者は高速書込命令を使用することなく通
常の書込命令を使用してマイクロプログラムを記述する
(ステップS10)。次に、このマイクロプログラムを
アセンブラに入力して、実際にマイクロプログラムメモ
リ11に格納する制御コードを生成する(ステップS2
0)。そして、このアセンブルされた出力(制御コー
ド)をDSP8内のマイクロプログラムメモリ11に転
送格納する(ステップS30)。
【0041】前記ステップS20を実行するアセンブラ
は、まず、ステップS21において、使用者により記述
されたマイクロプログラムを読み込んで、いくつの遅延
領域が設定されているかを判断し、外部メモリ7にそれ
らの遅延領域を最適にマッピングする。次に、ステップ
S22において、マッピングされた各遅延領域の先頭に
対応する書込命令を高速書込命令「HW 1」〜「HW
n」(上述の例においてはn=8)に書き替える。な
お、使用者により記述されたマイクロプログラム中の書
込命令の数がnよりも多いときは、nを越える書込命令
は高速書込命令に書き替えられないままとなる。
【0042】次に、ステップS23において、高速書込
命令HW1〜HW8が割り当てられた書込命令に対応す
る読出命令を検索して、対応する相対読出アドレスを算
出する。例えば、「HW 1」に対しては相対書込アド
レスを「0」として、対応する相対読出アドレス(前述
のdelayi)を「遅延サンプル数×n+0」と決定する。
また、「HW 5」に対しては相対書込アドレスを
「4」として、対応する相対読出アドレスを「遅延サン
プル数×n+4」とする。
【0043】次にステップS24において、先頭以外の
領域に対応する書込命令の書込アドレスおよび読出アド
レスを設定する。この書込命令は高速書込命令に割り当
てられなかった書込命令であり、これらの書込アドレス
は、高速書込命令により書き込まれた領域の読出アドレ
ス+nのアドレスに設定することができ、当該読出アド
レスは「該書込アドレス+遅延サンプル数×n」とす
る。
【0044】次に、DRAMに対する書込、読出命令以
外の命令については、通常どおりアセンブルを行なう
(ステップS25)。このようにして、使用者が記述し
たマイクロプログラムからDSP8内のマイクロプログ
ラムメモリ11に格納すべき制御コードを自動的に生成
することができる。
【0045】なお、前述した実施の形態においては、書
込のみを高速アクセス・モードにより実行し、読出は通
常のアクセス・モードにより実行しているが、これは、
通常、遅延時間は個々の遅延領域により異なっているた
めに読出のタイミングが揃わないためである。かりに、
複数の遅延領域において遅延時間が等しく、読出のタイ
ミングが同一のDACサイクルとなる場合には、読出の
場合にも高速アクセス・モードを使用することができ
る。
【0046】また、前述した実施の形態においてはn=
8の場合を例にとって説明したが、これに限られること
はない。通常、DRAMにおいてはアドレスの上半分が
行アドレス、下半分が列アドレスとされており、外部メ
モリのアドレスが前述の例のように「0000H」〜
「FFFFH」の16ビットの場合には、nとして最大
256までの値を採用することができる。さらに、上述
の実施の形態においては、マイクロプログラム制御の信
号処理装置を使用して遅延処理を実行しているが、これ
に限られることはなく、DRAMを使用して遅延処理を
実行するものであれば、いかなる場合であっても適用す
ることができる。
【0047】
【発明の効果】本発明によれば、DRAMを外部メモリ
として使用したときに、該外部メモリを高速アクセス・
モードによりアクセスすることができ、短いアクセス時
間でアクセスすることが可能となる。したがって、1D
ACサイクル期間中に外部メモリへアクセスする回数を
増加させることができ、多くの遅延領域を設定すること
が可能となる。また、高速アクセス・モードによるアク
セスはまとめて実行しているので、通常のアクセスを高
速書込命令の直後に配置することができ、マイクロプロ
グラミングにおける自由度を増加することができる。
【図面の簡単な説明】
【図1】 本発明における遅延領域の設定方法を説明す
るための図である。
【図2】 本発明の信号処理装置の要部ブロック図であ
る。
【図3】 マイクロプログラムの一例を示す図である。
【図4】 遅延が実行される様子を説明するための図で
ある。
【図5】 マイクロプログラムの生成を説明するための
図である。
【図6】 電子楽器に組み込まれたDSPの例および従
来の遅延領域を説明するための図である。
【符号の説明】
1 CPU、2 ROM、3 RAM、4 操作子、5
ディスプレイ装置、6 音源、7 外部RAM、8
DSP、9 サウンドシステム、10 CPUバス、1
1 マイクロプログラムメモリ、12 デコーダ、13
セレクタ兼レジスタ、14 演算部、15 出力レジ
スタ、16、17 FIFOバッファ、18、19 セ
レクタ、20 減算カウンタ、21 オフセットアドレ
スカウンタ、22、23 加算器、24 インターフェ
ース回路、25 データバス、121〜125 信号線
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G11C 7/00 311 G10K 15/00 M (56)参考文献 特開 平2−108295(JP,A) 特開 平4−123241(JP,A) 特開 平5−249970(JP,A) 特開 昭58−208982(JP,A) 特開 平3−266896(JP,A) 特開 平6−110453(JP,A) 特開 平8−166795(JP,A) 特開 平6−60631(JP,A) 特開 平6−162762(JP,A) 特開 昭61−117789(JP,A) International Bus iness Machines Cor poration((株)ユニテック 訳),PowerPC アーキテクチ ャ,日本,インターナショナル・トムソ ン・パブリッシング・ジャ,1995年12月 20日,p.302−303 (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 G06F 12/08 G10K 15/00 G11C 7/00

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 高速アクセス・モードでアクセス可能な
    DRAMにより構成された記憶装置に、複数n個の信号
    遅延領域を設け、信号遅延領域にそれぞれ信号データ
    を書き込み、所定時間経過後に該信号データを読み出す
    ことにより、複数の信号を遅延させる信号遅延装置であ
    って、 前記複数の信号遅延領域は、それぞれの書込位置が前記
    記憶装置においてnアドレスおきとなり、かつ、それら
    先頭アドレスが連続したアドレスとなるように設定さ
    れており、 前記各信号遅延領域に対する信号データの書込が高速ア
    クセス・モードにより一括して実行される ことを特徴と
    する信号遅延装置。
  2. 【請求項2】 プログラムメモリに格納されている複数
    ステップの制御プログラムを繰り返し実行することによ
    りデジタル信号処理を行う、外部に遅延処理のための高
    速アクセス・モードでアクセス可能なDRAMが接続さ
    れたデジタル信号処理装置であって、前記DRAMは、複数n個の信号遅延領域が設けられ、
    各信号遅延領域にそれぞれ信号データを書き込み、所定
    時間経過後に該信号データを読み出すことにより、複数
    の信号を遅延させるものであって、該複数の信号遅延領
    域は、それぞれの書込位置がnアドレスおきとなり、か
    つ、それらの先頭アドレスが連続したアドレスとなるよ
    うに設定されているものであり、 前記DRAMに対する書込アドレス及び書込データを複
    数格納可能なバッファ手段と、 前記制御プログラムの実行中に高速書込命令が読み出さ
    れる度に、その高速書込命令における書込アドレスと書
    込データを前記バッファ手段に順次記憶する手段と、 前記制御プログラム中の所定のステップにおいて、前記
    バッファ手段に記憶されている複数の書込アドレス及び
    書込データに対応する前記DRAMに対する書込を高速
    アクセス・モードにより一括して実行する手段とを有す
    ることを特徴とするデジタル信号処理装置。
JP08307096A 1996-03-13 1996-03-13 信号遅延装置およびデジタル信号処理装置 Expired - Fee Related JP3505907B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08307096A JP3505907B2 (ja) 1996-03-13 1996-03-13 信号遅延装置およびデジタル信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08307096A JP3505907B2 (ja) 1996-03-13 1996-03-13 信号遅延装置およびデジタル信号処理装置

Publications (2)

Publication Number Publication Date
JPH09244642A JPH09244642A (ja) 1997-09-19
JP3505907B2 true JP3505907B2 (ja) 2004-03-15

Family

ID=13791929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08307096A Expired - Fee Related JP3505907B2 (ja) 1996-03-13 1996-03-13 信号遅延装置およびデジタル信号処理装置

Country Status (1)

Country Link
JP (1) JP3505907B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7758020B2 (en) 2004-03-12 2010-07-20 Toyota Jidosha Kabushiki Kaisha Valve

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
International Business Machines Corporation((株)ユニテック 訳),PowerPC アーキテクチャ,日本,インターナショナル・トムソン・パブリッシング・ジャ,1995年12月20日,p.302−303

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7758020B2 (en) 2004-03-12 2010-07-20 Toyota Jidosha Kabushiki Kaisha Valve

Also Published As

Publication number Publication date
JPH09244642A (ja) 1997-09-19

Similar Documents

Publication Publication Date Title
JP3237858B2 (ja) 演算装置
JPH07181969A (ja) コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム
JP3505907B2 (ja) 信号遅延装置およびデジタル信号処理装置
US6032235A (en) Memory initialization circuit
JP2901143B2 (ja) 楽音生成装置
JP2950461B2 (ja) 楽音発生装置
US5442125A (en) Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner
JP3371643B2 (ja) 信号処理装置
JP3005987B2 (ja) デジタル信号処理装置
JPS6057435A (ja) マイクロプロセツサ
JP2000293169A (ja) 楽音生成装置
JP3036417B2 (ja) 信号処理装置
JP2860655B2 (ja) 並列命令実行型プロセッサ
JP2001509610A (ja) 減結合の命令実行及び音声データシーケンスを有する音声効果プロセッサ
JP3230413B2 (ja) 信号処理装置および信号処理装置のマイクロプログラム書き換え方法
US6081881A (en) Method of and apparatus for speeding up the execution of normal extended mode transfer instructions
JP2867798B2 (ja) 先行制御装置
JPH09114779A (ja) 情報処理装置のウェイト制御方式
US5822775A (en) Efficient data processing method for coefficient data in a digital dignal, processor
JP2005182557A (ja) 信号処理装置
JPH0719246B2 (ja) デジタル信号処理装置
JPH06348466A (ja) ディジタル信号処理装置
JPH1074190A (ja) 並列プロセッサ
JPH076082A (ja) アドレス生成装置
JPS63123137A (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: 20031125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031208

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

Free format text: PAYMENT UNTIL: 20071226

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

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

Free format text: PAYMENT UNTIL: 20071226

Year of fee payment: 4

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081226

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091226

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101226

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101226

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees