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
Links
Landscapes
- Dram (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Electrophonic Musical Instruments (AREA)
Description
デジタル信号処理装置に関し、特に音声や楽音信号など
の遅延処理を実行する場合に適用して好適なものであ
る。
間信号処理をディジタル値の代数演算によって高精度か
つ高安定に行なうことのできるデジタル信号処理装置
(DSP)が、オーディオ信号やビデオ信号の処理、音
声情報処理などの多くの分野で用いられている。電子楽
器においても、エフェクタや音源としてDSPが利用さ
れている。電子楽器におけるこのような処理は常にサン
プリング周期(DACサイクル)毎に行われなければな
らず、このような一定の周期毎に所定の処理を必ず実行
しなければならない場合に適用して好適なDSPが本出
願人により提案されている(特開平5−150977号
公報)。この本出願人により提案されたDSPは、マイ
クロプログラムが固定数のステップにより記述されてお
り、かつ、1サンプリング周期でこのマイクロプログラ
ムの全てのステップを順次読み出して処理を行なうもの
であるので、当該マイクロプログラムは必ず所定の周期
毎に実行されることとなり、実時間の信号処理が保証さ
れるとともにプログラム作成段階においてプログラムの
実行時間を容易に把握することができるというものであ
る。
て使用している電子楽器のブロック図を示す。この図に
おいて、1は電子楽器全体の動作を制御するCPU(中
央処理装置)、2は制御プログラムやDSP内のマイク
ロプログラムメモリに格納すべき複数個のマイクロプロ
グラムなどが格納されているROM、3は処理に必要な
データが格納されるRAM、4は鍵盤や各種設定を行な
うためのスイッチなどからなる操作子、5は装置の動作
状態や各種設定情報を表示するための表示装置、6は楽
音信号を生成する音源、7は波形データを遅延させるた
めなどに用いられる外部RAM、8は音源6により生成
された楽音信号に対して各種の効果を施すためのエフェ
クタであり、信号処理装置(DSP)により実現されて
いる。9はDSP8において所定のエフェクトをかけら
れた楽音信号をDA変換した後増幅し、音響信号として
出力するサウンドシステム、10はデータ転送を行なう
ためのCPUバスである。
回路6から入力される楽音信号に対してリバーブやビブ
ラートなど各種のエフェクト処理を実行するものであ
り、その内部に例えば512ステップのマイクロ命令を
格納することができるマイクロプログラムメモリを有し
ており、当該処理において必要とされるエフェクト処理
に対応するマイクロプログラムブロックがCPU1の制
御によりマイクロプログラムメモリに格納されている。
そして、処理が開始されると、1サンプリング周期毎に
該512ステップのマイクロプログラムにより対応する
エフェクト処理が実行されるものである。
クトを施す場合には、波形データを外部メモリ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は、初期
状態において何もデータが書き込まれていない状態とさ
れる。
により遅延領域Aを用いて遅延すべき波形データが書込
命令により外部RAM7の書込アドレスW1に書き込ま
れ、対応する読出命令により外部RAM7の読出アドレ
スR1から読み出される。なお、このときはアドレスR
1にはなんらデータが書き込まれていない。次のDAC
サイクルにおいて、遅延領域Aの最終番地R1を書込ア
ドレスとして波形データを書込み、アドレスR1−1か
ら波形データが読み出される。このように書込アドレス
および読出アドレスを1DACサイクル毎に1ずつ減算
していき、遅延領域Aの大きさに等しいDACサイクル
が経過すると読出アドレスがW1になり、最初にW1に
書き込まれた波形データが読み出される。このようにし
て、波形データを遅延領域の大きさ(読出アドレスR1
と書込アドレスW1の差)に相当するDACサイクル分
の時間だけ遅延して読み出すことができる。また、遅延
領域B、C・・・についても、同様にして、対応する波
形データの遅延が行なわれる。
メモリ7を使用して遅延処理が行なわれ、リバーブやデ
ィレイなどのエフェクト処理が行なわれるのであるが、
この外部メモリ7としては、通常、コストや速度の点か
ら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などを参照されたい。)。
使用する外部メモリへのアクセスを高速に実行すること
ができるならば、遅延チャンネル数を増加することが可
能となり、また、アクセスが終了するまで待ち合わせ時
間を短縮することができ、マイクロプログラミングの自
由度が大きくなる。しかしながら、従来の外部メモリに
おいては、各遅延領域をブロック構成としていたため
に、各遅延領域に対する書込、読出がランダムなアドレ
ッシングとなり、高速アクセス・モードを使用すること
ができなかった。
れるDRAMに対して、高速にアクセスすることができ
る信号遅延装置およびデジタル信号処理装置を提供する
ことを目的としている。
に、本発明の信号遅延装置は、高速アクセス・モードで
アクセス可能なDRAMにより構成された記憶装置に、
複数n個の信号遅延領域を設け、各信号遅延領域にそれ
ぞれ信号データを書き込み、所定時間経過後に該信号デ
ータを読み出すことにより、複数の信号を遅延させる信
号遅延装置であって、前記複数の信号遅延領域は、それ
ぞれの書込位置が前記記憶装置においてnアドレスおき
となり、かつ、それらの先頭アドレスが連続したアドレ
スとなるように設定されており、前記各信号遅延領域に
対する信号データの書込が高速アクセス・モードにより
一括して実行されるものである。
ムメモリに格納されている複数ステップの制御プログラ
ムを繰り返し実行することによりデジタル信号処理を行
う、外部に遅延処理のための高速アクセス・モードでア
クセス可能なDRAMが接続されたデジタル信号処理装
置であって、前記DRAMは、複数n個の信号遅延領域
が設けられ、各信号遅延領域にそれぞれ信号データを書
き込み、所定時間経過後に該信号データを読み出すこと
により、複数の信号を遅延させるものであって、該複数
の信号遅延領域は、それぞれの書込位置がnアドレスお
きとなり、かつ、それらの先頭アドレスが連続したアド
レスとなるように設定されているものであり、前記DR
AMに対する書込アドレス及び書込データを複数格納可
能なバッファ手段と、前記制御プログラムの実行中に高
速書込命令が読み出される度に、その高速書込命令にお
ける書込アドレスと書込データを前記バッファ手段に順
次記憶する手段と、前記制御プログラム中の所定のステ
ップにおいて、前記バッファ手段に記憶されている複数
の書込アドレス及び書込データに対応する前記DRAM
に対する書込を高速アクセス・モードにより一括して実
行する手段とを有するものである。
態において外部メモリ上に設定される遅延領域を示す図
である。この図において、横方向の0〜n−1はDRA
Mの下位アドレスすなわち行アドレスを示し、縦方向は
DRAMの上位アドレスすなわち列アドレスを示す。図
の斜線で示した遅延領域A、B、C、D、E・・・は、
いずれも、それらの先頭アドレスが同一の列アドレス
で、行アドレスが0〜n−1となるようになされてい
る。また、DRAMの空き領域には他の遅延領域を設定
することもできる。この遅延領域A、B、C、D、E・
・・のようにそれぞれの先頭アドレスが同一の列アドレ
ス上に配置されていることによって、これらの遅延領域
へのアクセスするときには、前述した高速アクセス・モ
ードを利用することができるようになる。
マップを1次元的に配列したもので、縦軸はメモリアド
レスを示し、W1、W2、W3・・・W8はそれぞれ遅
延領域A、B、C・・・Hのための書込位置を示してい
る。図示するように、8番地毎に各遅延領域の書込位置
が割り当てられており、メモリアドレスの8の剰余が
「0」のときは遅延領域A、「1」のときは遅延領域
B、・・・「0」のときは遅延領域Hとされている。
れている外部メモリを使用して波形データの遅延処理を
実行するためのDSP8の構成を示す図である。この図
において、DRAMである外部メモリ7、DSP8、C
PUバス10は図6に関して前述したものと同一であ
る。11はDSP8の動作を制御するためのマイクロプ
ログラムメモリ、12は該マイクロプログラムメモリか
ら読み出されたマイクロプログラムをデコードするデコ
ーダ、121〜125は該デコーダ12の出力信号線、
13は、音源などからの入力信号やデータバス25上の
データを格納するとともに、演算部14に入力する信号
を選択するセレクタおよびレジスタ部、14は加減算や
乗算などの演算処理を実行する演算部、15は出力デー
タを格納するための出力レジスタである。
るための第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信号およびアドレスデータなどを供給するメ
モリインターフェース回路である。
ために前記マイクロプログラムメモリ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に対する他のアクセスは禁
止される。
例においては、外部メモリ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」、「高速モードで書込」命令が記載され
ている。
クロプログラムメモリ11に格納されているときにおけ
る前記図2のDSP8の動作について、図4の(a)に
示す外部メモリ7のメモリマップを参照しながら説明す
る。図2において、マイクロプログラムメモリ11には
図3に示したマイクロプログラムがCPUからCPUバ
ス10を介して格納されており、このDSP8において
は、1DACサイクル期間にこのマイクロプログラムメ
モリ11に格納されている全マイクロプログラムステッ
プを一巡するように構成されている。マイクロプログラ
ムメモリ11から読み出されたマイクロ命令はマイクロ
命令デコーダ12においてデコードされ、そのマイクロ
命令の内容に従って各信号線121〜125にデコード
出力信号が出力される。
にそのことを示す信号が出力され、それにより減算カウ
ンタ20からn(この例においては8)が減算される。
なお、減算カウンタ20には初期値として「0」が格納
されており、減算カウンタ20が16ビット構成のもの
であるときには、1DACサイクル終了時に該減算カウ
ンタ20の値は「FFF8H」(Hは16進数であるこ
とを示す、以下同じ)となる。信号線122には、デコ
ードされたマイクロ命令が通常の書込命令「W」および
読出命令「R」のときに、当該命令のオペランド部すな
わち読出あるいは書込のアドレスが出力される。このア
ドレスはセレクタ19に入力される。
命令が「高速モードで書込」命令であるときに前記セレ
クタ18および19を切り換えるための信号が出力され
る。信号線124には、デコードされたマイクロ命令が
高速書込命令「HW」であるときに信号が出力され、F
IFOバッファ17に当該高速演算命令のオペランド部
a、b、c・・・すなわち相対書込アドレスが格納され
る。また、その時点においてデータバス25上に存在し
ている書き込むべき波形データをFIFO16に取り込
むための制御信号が該FIFOバッファ16に印加され
る。信号線125には、その他のマイクロ命令をデコー
ドして得られた制御信号が出力され、それぞれ、対応す
る被制御部分に印加される。
がマイクロプログラムメモリ11から順次読み出され、
デコーダ12において高速書込命令「HW a」が読み
出されたとする。このとき、前述したように信号線12
4に該マイクロ命令のオペランド部aに格納されている
遅延領域Aに対応する相対書込アドレス「0」とFIF
Oバッファ16に対する書込コマンドが出力される。こ
れにより、FIFOバッファ17にアドレスデータ
「0」が書き込まれ、またFIFOバッファ16には、
データバス25上に存在しているその前のマイクロ命令
による演算結果データが書き込まれる。以上により高速
演算命令「HW a」に対応する処理は終了し、外部メ
モリ7に対する実際の書込処理はこの時点では実行され
ない。
ているマイクロ命令に対する処理が進行して、高速書込
命令「HW b」がデコーダ12においてデコードされ
ると、前述した場合と同様にして、FIFOバッファ1
7に領域Bに対応する相対書込アドレス「1」が書き込
まれ、FIFOバッファ16に対応する書込データが格
納される。
ーダ12においてデコードされると、信号線122から
該読出命令の第2オペランドである相対読出アドレス
「delay1」が出力され、セレクタ19に入力される。図
4の(a)には、delay1=「0208H」であるものと
して記載されている。なお、セレクタ19は通常時は信
号線122の出力を選択し、信号線123からの出力が
あるときのみFIFOバッファ17の出力が選択される
ようになされている。また、セレクタ18は、通常時
は、データバス25が選択され、信号線123からの出
力があるときのみFIFOバッファ16が選択されるよ
うになされている。
れるアドレスはセレクタを介して加算器22に入力さ
れ、減算カウンタ20の出力と加算される。初期状態に
おいて、減算カウンタ20は「0」とされているので、
この加算結果は信号線122上のアドレス信号となり、
この加算結果はさらに加算器23に入力されてオフセッ
トレジスタ21の出力と加算される。この例において
は、外部メモリの先頭アドレスは「0000H」とされ
ているので、オフセットレジスタの内容は「0」であ
り、該加算器23からは前述した信号線122上のアド
レスデータがそのまま出力される。この加算器23から
出力されるアドレス信号はメモリインターフェース回路
24に供給され、RAS、CAS信号とともにアドレス
信号として外部メモリ7に印加される。
レスからデータが読み出されるが、初期状態においては
外部メモリ7には「0」が書き込まれているので、外部
メモリ7から読み出されたデータが格納されるレジスタ
1には、セレクタ18、データバス25を介してデータ
「0」が書き込まれる。
たときには、前述した場合と同様に、FIFOバッファ
17に遅延領域Cに対応する相対書込アドレス「2」が
書き込まれ、FIFOバッファ16に対応する書込デー
タが格納される。
がデコードされると、前述の読出命令の場合と同様に、
信号線122上に相対読出アドレスdelay2(図4(a)
においては、delay2=「1009H」)が出力される。
このアドレスデータは、セレクタ19を介して加算器2
2に入力され、減算カウンタ20の内容(「0」)と加
算され、さらに加算器23においてオフセットレジスタ
21の内容(「0」)と加算されて、インターフェース
回路24に入力される。これにより、外部メモリ7から
読み出された当該アドレスのデータはセレクタ18およ
びデータバス25を介してレジスタ2に読み出される
が、このアドレスにはデータが格納されていないので、
読み出されたデータは「0」である。
g3」がデコードされると、前述の場合と同様に、信号線
122上に相対読出アドレスdelay3(図4(a)の例で
は、delay3=「8048H」)が出力される。このアド
レスデータはセレクタ19を介して加算器22に入力さ
れ、減算カウンタ20の内容(「0」)と加算され、さ
らに加算器23においてオフセットレジスタ21の内容
(「0」)と加算されて、インターフェース回路24に
入力される。これにより、外部メモリ7から読み出され
た当該アドレスのデータはセレクタ18およびデータバ
ス25を介してレジスタ2に読み出されるが、このアド
レスにはデータが格納されていないので、読み出された
データは「0」である。
対して2通りの読出命令を設定することができる。この
ようにすることにより、同一の波形データに対して相対
読出アドレスdelay1およびdelay2に対応する2通りの遅
延時間を設定することができる。これは、図4の(b)
に示すように、遅延線の異なる2つの位置にタップを設
けた場合に相当している。すなわち、読出命令「R a
delay2 reg2」は、図4の(b)に示す遅延線の入力
からdelay2に対応する距離だけ離れた位置に設けられた
タップR1に対応し、読出命令「R a delay3 reg
3」は、delay3に対応する距離だけ離れた位置に設けら
れたタップR2に対応している。この一方の遅延時間を
与えられた波形データは、例えば、右チャンネルに出力
され、他方の遅延時間を与えられた波形データは左チャ
ンネルに出力される。
ドされ、また、読出命令「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」が格納されてい
る。
から順次読み出された各アドレスデータ「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に書き込まれる。
データの書込はマイクロプログラムの最後方に配置され
た「高速モードで書込」ステップにより、まとめて実行
される。なお、この高速モードでの書込が実行されてい
る期間は他の命令によるDRAMへのアクセスは禁止さ
れる。しかし、DRAMへのアクセスに関係のない演算
命令などは記述でき、実行させることができる。
11に格納されている全マイクロ命令の実行が終了する
と、信号線121に信号が出力され、減算カウンタ20
に対してn(この場合は8)を減算する指令が入力され
る。これにより、減算カウンタ20の内容は「FFF8
H」となる。
クロプログラムメモリ11の先頭番地から再びマイクロ
命令が読み出されてデコーダ12に供給される。高速書
込命令「HW a」が読み出されると、前述の場合と同
様にしてFIFOバッファ17に当該遅延領域Aに対応
する相対書込アドレス「0」が書き込まれ、FIFOバ
ッファ16には当該波形データが書き込まれる。他の高
速書込命令「HW b」、「HW c」、「HW d」
・・・に対しても、同様に処理が行なわれる。
がデコードされたときは、前述の場合と同様に相対読出
アドレスdelay1がセレクタ19を介して加算器22に入
力され、減算カウンタ20の内容(このときは「FFF
8H」)と加算され、その加算結果がさらに加算器23
においてオフセットレジスタ21の内容(「0」)と加
算されて、読出アドレスとしてインターフェース回路2
4に出力される。この読出アドレスにはデータは書き込
まれていないので、読み出されるデータは「0」であ
る。他の読出命令「R b delay2 reg2」、「R b
delay3 reg4」、「Rc delay4 reg5」についても
同様に処理されるが、いずれの場合にもこの段階では読
み出されるデータは「0」である。
たときは、前述の場合と同様にして、FIFOバッファ
17に格納されている各高速書込命令に対応するアドレ
スを用いて、FIFOバッファ16に格納されている対
応する各波形データが外部メモリ7に書き込まれること
となるが、この場合には、減算カウンタ20の内容が
「FFF8H」となっているので、遅延領域Aのデータ
は外部メモリ7のFFF8H番地に、遅延領域Bのデー
タはFFF9H番地、領域CのデータはFFFA番地
に、それぞれ書き込まれる。このようにして処理が進行
し、マイクロプログラムの最後に達すると、信号線12
1からの出力により、減算カウンタ20から8が減算さ
れ、減算カウンタ20の内容は「FFF0H」となる。
「0208H」(520)に対応する遅延時間(520
/8=65DACサイクル)が経過すると、前記減算カ
ウンタ20の内容は「FDF8H」(=「0000H」
−「0208H」(65×8))となり、読出命令「R
a delay1 reg1」がデコードされたときに加算器2
3から出力される読出アドレスは「0000H」とな
る。したがって、このときに外部メモリ7から65DA
Cサイクル前に高速書込命令「HW a」により書き込
まれた波形データが読み出され、レジスタreg1に書き込
まれる。
る遅延時間delay2、delay3、delay4に対応するDACサ
イクルを経過した後に、対応する書込命令により外部メ
モリ7に書き込まれた波形データがそれぞれ、読み出さ
れることとなる。このようにして、所望の遅延時間を得
ることができる。
マイクロプログラムは、使用者が最初から全て記述しし
てもよいが、次のようにして自動的に生成することがで
きる。この生成方法について、図5を参照して説明す
る。まず、使用者は高速書込命令を使用することなく通
常の書込命令を使用してマイクロプログラムを記述する
(ステップS10)。次に、このマイクロプログラムを
アセンブラに入力して、実際にマイクロプログラムメモ
リ11に格納する制御コードを生成する(ステップS2
0)。そして、このアセンブルされた出力(制御コー
ド)をDSP8内のマイクロプログラムメモリ11に転
送格納する(ステップS30)。
は、まず、ステップS21において、使用者により記述
されたマイクロプログラムを読み込んで、いくつの遅延
領域が設定されているかを判断し、外部メモリ7にそれ
らの遅延領域を最適にマッピングする。次に、ステップ
S22において、マッピングされた各遅延領域の先頭に
対応する書込命令を高速書込命令「HW 1」〜「HW
n」(上述の例においてはn=8)に書き替える。な
お、使用者により記述されたマイクロプログラム中の書
込命令の数がnよりも多いときは、nを越える書込命令
は高速書込命令に書き替えられないままとなる。
命令HW1〜HW8が割り当てられた書込命令に対応す
る読出命令を検索して、対応する相対読出アドレスを算
出する。例えば、「HW 1」に対しては相対書込アド
レスを「0」として、対応する相対読出アドレス(前述
のdelayi)を「遅延サンプル数×n+0」と決定する。
また、「HW 5」に対しては相対書込アドレスを
「4」として、対応する相対読出アドレスを「遅延サン
プル数×n+4」とする。
領域に対応する書込命令の書込アドレスおよび読出アド
レスを設定する。この書込命令は高速書込命令に割り当
てられなかった書込命令であり、これらの書込アドレス
は、高速書込命令により書き込まれた領域の読出アドレ
ス+nのアドレスに設定することができ、当該読出アド
レスは「該書込アドレス+遅延サンプル数×n」とす
る。
外の命令については、通常どおりアセンブルを行なう
(ステップS25)。このようにして、使用者が記述し
たマイクロプログラムからDSP8内のマイクロプログ
ラムメモリ11に格納すべき制御コードを自動的に生成
することができる。
込のみを高速アクセス・モードにより実行し、読出は通
常のアクセス・モードにより実行しているが、これは、
通常、遅延時間は個々の遅延領域により異なっているた
めに読出のタイミングが揃わないためである。かりに、
複数の遅延領域において遅延時間が等しく、読出のタイ
ミングが同一のDACサイクルとなる場合には、読出の
場合にも高速アクセス・モードを使用することができ
る。
8の場合を例にとって説明したが、これに限られること
はない。通常、DRAMにおいてはアドレスの上半分が
行アドレス、下半分が列アドレスとされており、外部メ
モリのアドレスが前述の例のように「0000H」〜
「FFFFH」の16ビットの場合には、nとして最大
256までの値を採用することができる。さらに、上述
の実施の形態においては、マイクロプログラム制御の信
号処理装置を使用して遅延処理を実行しているが、これ
に限られることはなく、DRAMを使用して遅延処理を
実行するものであれば、いかなる場合であっても適用す
ることができる。
として使用したときに、該外部メモリを高速アクセス・
モードによりアクセスすることができ、短いアクセス時
間でアクセスすることが可能となる。したがって、1D
ACサイクル期間中に外部メモリへアクセスする回数を
増加させることができ、多くの遅延領域を設定すること
が可能となる。また、高速アクセス・モードによるアク
セスはまとめて実行しているので、通常のアクセスを高
速書込命令の直後に配置することができ、マイクロプロ
グラミングにおける自由度を増加することができる。
るための図である。
る。
ある。
図である。
来の遅延領域を説明するための図である。
ディスプレイ装置、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 信号線
Claims (2)
- 【請求項1】 高速アクセス・モードでアクセス可能な
DRAMにより構成された記憶装置に、複数n個の信号
遅延領域を設け、各信号遅延領域にそれぞれ信号データ
を書き込み、所定時間経過後に該信号データを読み出す
ことにより、複数の信号を遅延させる信号遅延装置であ
って、 前記複数の信号遅延領域は、それぞれの書込位置が前記
記憶装置においてnアドレスおきとなり、かつ、それら
の先頭アドレスが連続したアドレスとなるように設定さ
れており、 前記各信号遅延領域に対する信号データの書込が高速ア
クセス・モードにより一括して実行される ことを特徴と
する信号遅延装置。 - 【請求項2】 プログラムメモリに格納されている複数
ステップの制御プログラムを繰り返し実行することによ
りデジタル信号処理を行う、外部に遅延処理のための高
速アクセス・モードでアクセス可能なDRAMが接続さ
れたデジタル信号処理装置であって、前記DRAMは、複数n個の信号遅延領域が設けられ、
各信号遅延領域にそれぞれ信号データを書き込み、所定
時間経過後に該信号データを読み出すことにより、複数
の信号を遅延させるものであって、該複数の信号遅延領
域は、それぞれの書込位置がnアドレスおきとなり、か
つ、それらの先頭アドレスが連続したアドレスとなるよ
うに設定されているものであり、 前記DRAMに対する書込アドレス及び書込データを複
数格納可能なバッファ手段と、 前記制御プログラムの実行中に高速書込命令が読み出さ
れる度に、その高速書込命令における書込アドレスと書
込データを前記バッファ手段に順次記憶する手段と、 前記制御プログラム中の所定のステップにおいて、前記
バッファ手段に記憶されている複数の書込アドレス及び
書込データに対応する前記DRAMに対する書込を高速
アクセス・モードにより一括して実行する手段とを有す
ることを特徴とするデジタル信号処理装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7758020B2 (en) | 2004-03-12 | 2010-07-20 | Toyota Jidosha Kabushiki Kaisha | Valve |
-
1996
- 1996-03-13 JP JP08307096A patent/JP3505907B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
International Business Machines Corporation((株)ユニテック 訳),PowerPC アーキテクチャ,日本,インターナショナル・トムソン・パブリッシング・ジャ,1995年12月20日,p.302−303 |
Cited By (1)
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 |