JP3479196B2 - DSP memory address control device - Google Patents
DSP memory address control deviceInfo
- Publication number
- JP3479196B2 JP3479196B2 JP01966197A JP1966197A JP3479196B2 JP 3479196 B2 JP3479196 B2 JP 3479196B2 JP 01966197 A JP01966197 A JP 01966197A JP 1966197 A JP1966197 A JP 1966197A JP 3479196 B2 JP3479196 B2 JP 3479196B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- job
- area
- memory
- program
- 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
- Electrophonic Musical Instruments (AREA)
- Storage Device Security (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、DSP(Digital Sign
al Prosessor)の外部メモリ及び/又は内部メモリのメ
モリアドレス制御装置に関する。The present invention relates to a DSP (Digital Sign).
al Prosessor) external memory and / or internal memory memory address controller.
【0002】[0002]
【従来の技術】近年アナログ信号処理に比べて高精度な
処理が可能であり、係数などのパラメータの設定により
任意の特性が安定して均一に得られ、また無調整化が可
能となる等の特徴を有するため、アナログ信号をデジタ
ル的な手法により処理できる上記DSPが、音声信号処
理、通信信号処理、計測信号処理、画像信号処理、地震
波信号処理、水中音響信号処理など、広い分野で用いら
れるようになった。2. Description of the Related Art In recent years, it is possible to perform highly accurate processing as compared with analog signal processing, and by setting parameters such as a coefficient, arbitrary characteristics can be stably and uniformly obtained, and no adjustment is required. Due to its characteristics, the DSP capable of processing analog signals by a digital method is used in a wide range of fields such as voice signal processing, communication signal processing, measurement signal processing, image signal processing, seismic wave signal processing, and underwater acoustic signal processing. It became so.
【0003】[0003]
【発明が解決しようとする課題】通常のDSPは、1サ
ンプリングタイム内に複数の独立したプログラムを時分
割で処理することを前提として設計されておらず、その
ため夫々のプログラムや係数にて、内部のデータメモリ
(D−RAM)や外部メモリ(X−RAM)の使用領域
を分割し、使用していた。しかし複数のジョブを並列的
に実行させる場合に、個々のジョブ毎に独立してメモリ
アドレスが管理されておらず、1のジョブの実行中に他
のジョブのメモリエリアにアクセスするなどの不具合が
起きていた。また並列的に処理されるジョブが同一のも
のであっても、各ジョブ毎に同じ内容のプログラムを別
々に記憶しておかねばならず、ホストCPUのジョブプ
ログラム量が多くなってしまい、そのため記憶されるジ
ョブの種類が限定されてしまうことになる。本発明は従
来技術の以上のような問題に鑑み創案されたもので、複
数のジョブの並列処理中に個々のジョブ毎に独立してメ
モリアドレスを管理できるようにすると共に、同一内容
のプログラムについては重複して記憶させることがない
ようにできるDSPのメモリアドレス制御装置を提供せ
んとするものである。An ordinary DSP is not designed on the premise that a plurality of independent programs are processed in a time-division manner within one sampling time, and therefore, each program or coefficient has an internal function. Used areas of the data memory (D-RAM) and the external memory (X-RAM) are divided and used. However, when multiple jobs are executed in parallel, the memory address is not managed independently for each job, and there is a problem such as accessing the memory area of another job during execution of one job. It had occurred. Even if the jobs processed in parallel are the same, programs of the same contents must be stored separately for each job, which increases the job program amount of the host CPU, which causes the storage. The types of jobs to be performed will be limited. The present invention was devised in view of the above problems of the prior art, and makes it possible to manage memory addresses independently for each job during parallel processing of a plurality of jobs, and to provide a program of the same content. Aims to provide a memory address control device for a DSP which can prevent duplicated storage.
【0004】[0004]
【課題を解決するための手段】本発明者等は、上記の問
題点の発生原因を追求し、該問題の解決を図ることがで
きる新たな構成の検討を行った。その検討の結果考案さ
れた構成が本発明であり、以下その開発経緯につき説明
する。DISCLOSURE OF THE INVENTION The inventors of the present invention pursued the cause of the above-mentioned problems and examined a new structure capable of solving the problems. The structure devised as a result of the examination is the present invention, and the development process thereof will be described below.
【0005】上述のように、従来のDSPは、1サンプ
リングタイム内に複数の独立したプログラムを時分割で
処理することを前提として設計されておらず、そのため
夫々のプログラムや係数にて、内部のデータメモリ(D
−RAM)や外部メモリ(X−RAM)の使用領域を分
割し、使用していた。例えば電子楽器から発せられる楽
音にエフェクトをかける構成として、図8及び9に示す
ように、1つのDSPで、ジョブEFF1でコーラス効
果が、またジョブEFF2でディレイ効果が、夫々時分
割で処理されるシステムがあった場合に、ジョブEFF
1では外部メモリの0〜7FFFしかアクセスしないよ
うなプログラム並びに係数を使用し、ジョブEFF2で
は外部メモリの8000〜FFFFしかアクセスしない
ようなプログラム並びに係数を使用することで済ませて
きた。As described above, the conventional DSP is not designed on the premise that a plurality of independent programs are processed in a time-division manner within one sampling time. Therefore, each program and coefficient have an internal function. Data memory (D
-RAM) and the external memory (X-RAM) used areas are divided and used. For example, as shown in FIGS. 8 and 9, one DSP processes the chorus effect in the job EFF1 and the delay effect in the job EFF2 in a time-sharing manner, as shown in FIGS. If there is a system, job EFF
It has been sufficient to use a program and a coefficient that access only 0 to 7FFF of the external memory in 1 and a program and a coefficient that only access 8000 to FFFF of the external memory in job EFF2.
【0006】この方法は、定常的な通常の演算処理を行
う上では何も問題なく100%独立の時分割処理が可能
であるが、EFF1又はEFF2の何れかのプログラム
をその使用中に変換するときに不具合が生じることがあ
る。例えば汎用DSPの中には、プログラムの動作中に
のみ対応する係数変更が可能なものがあり、このような
DSPの場合、命令メモリ(I−RAM)にあるEFF
1のプログラムを新規なものに置き換えた時点では、置
き換え前のプログラム用の古い係数が係数メモリ(C−
RAM)に書き込まれたままであり、この状態でEFF
1の新規プログラムを動作させると、EFF1プログラ
ムは古い係数を用いて動作するため、関係のないメモリ
番地からデータを参照して演算を行い、更にプログラム
で設定した以外のメモリ番地に該演算結果を格納してし
まうことになる。従ってEFF1用に与えられた外部メ
モリや内部メモリの領域を無視して、EFF2用の領域
をアクセスするなどの可能性がある。そうするとEFF
1に関しては安定動作するまで、図8のC1aを000
0としてゲートする(入力IN1をそのまま出力する)
ことで問題はないが、EFF2はその間も安定動作を続
けているのであるから、例えばEFF1のプログラム並
びに係数切り替え時にEFF2用の外部メモリや内部メ
モリ領域に誤ってデータが書き込まれた場合、EFF2
のその後の外部メモリ参照時に不具合が生じ、結果とし
てEFF2の出力からノイズが発生することになる。This method is capable of 100% independent time-division processing without any problem in carrying out regular ordinary arithmetic processing, but converts either EFF1 or EFF2 program during its use. Sometimes there are problems. For example, some general-purpose DSPs can change the corresponding coefficient only while the program is operating. In the case of such a DSP, the EFF in the instruction memory (I-RAM) is used.
When the program of No. 1 is replaced with a new one, the old coefficient for the program before replacement is stored in the coefficient memory (C-
It is still written in RAM), and EFF in this state
When the new program No. 1 is operated, the EFF1 program operates using the old coefficient. Therefore, the operation is performed by referring to the data from the unrelated memory address, and the operation result is stored in the memory address other than the one set by the program. It will be stored. Therefore, there is a possibility that the area of the external memory or the internal memory provided for the EFF1 is ignored and the area for the EFF2 is accessed. Then EFF
As for 1), C1a in FIG.
Gate as 0 (input IN1 is output as it is)
Although there is no problem with this, since the EFF2 continues to operate stably during that time, for example, if data is erroneously written in the external memory or the internal memory area for the EFF2 when switching the program of the EFF1 and the coefficient, the EFF2
After that, a problem occurs at the time of referring to the external memory, and as a result, noise is generated from the output of the EFF2.
【0007】また他の原因として、従来のDSPは基本
的に外部メモリにパーティションをかけてブロック化し
て利用する発想がなかったので、図10に示すように、
アドレスポインタの動きが外部メモリの全空間に及んで
いる。即ちアドレスポインタを1サンプルタイム毎に+
1するように利用する(EFF1及び2毎に独立にポイ
ンタを動かすのではなく双方の共通ポインタとして+1
する)と、図11に示すように、見かけ上外部メモリは
FFFFから0000の方向に向かって流れているよう
に見え、結局EFF2で書き込まれたデータはEFF1
に流れ込み、同様にEFF1で書き込まれたデータは、
回り回ってEFF2に流れ込むようになる。この現象自
体は夫々のEFFプログラムが定常動作をしている時に
は何ら問題はない(例えばディレイはFFFFに書いて
9000を読み出し、コーラスは7FFFに書いて70
00を読み出すので)が、前述のように、片方のプログ
ラムを書き換える時などはその書き換え中(新プログラ
ムのロード中、200ms程度)は、自己のメモリエリ
アをアクセスできないので、図10に示すように、他方
のエフェクトプログラムにて書き込んだ内容が自己のメ
モリエリアに入ってくることになる。この時シンプルな
エフェクトプログラムが用いられ、わざわざ外部メモリ
をクリアすることなく、単純に図8におけるC1aとC
1b(又はC2aとC2b)をクロスフェードさせるこ
とで効果が付加された信号が出力されるような場合に
は、予想外に大きなノイズが出力されることになる。特
に他方のエフェクトプログラムの外部メモリに大きな信
号が書き込まれている場合は、それが切り替えたエフェ
クトのメモリエリアに入ってきて目立つことになる。ま
た他方のエフェクトがそれほど大きな信号でない場合で
も、プログラムを切り替えたエフェクトの入力信号(I
N1orIN2)が0の場合には、出ないはずの音が出
るため、明らかに気がつく。As another cause, since the conventional DSP basically has no idea of partitioning the external memory and using it as a block, as shown in FIG.
The address pointer moves all over the external memory space. That is, the address pointer +
1 to use (EFF1 and 2 do not move the pointer independently, but as a common pointer for both, add +1
Then, as shown in FIG. 11, the external memory apparently seems to flow in the direction from FFFF to 0000. Eventually, the data written by EFF2 is EFF1.
Data written to EFF1 in the same way,
It goes around and flows into EFF2. This phenomenon itself has no problem when each EFF program is in a steady operation (for example, write delay in FFFF and read 9000, and write chorus in 7FFF and write 70).
As described above, when one of the programs is being rewritten, the own memory area cannot be accessed during the rewriting (during loading of a new program, about 200 ms), as shown in FIG. , The contents written by the other effect program will come into its own memory area. At this time, a simple effect program is used, and C1a and C shown in FIG. 8 are simply used without purposely clearing the external memory.
When a signal added with an effect is output by crossfading 1b (or C2a and C2b), unexpectedly large noise is output. In particular, when a large signal is written in the external memory of the other effect program, it comes into the memory area of the switched effect and becomes conspicuous. Even if the other effect is not a very large signal, the input signal (I
When N1orIN2) is 0, the sound that should not be output is produced, so it is clearly noticeable.
【0008】更にもう1つの問題は、図12に示すよう
なDSPプログラムフローチャートにおいて、EFF1
のジョブとEFF2のジョブは、複数のエフェクトの中
から任意の組み合わせが可能であり、それらの部分のプ
ログラムはエフェクトが新たに選択される度にホストC
PUから転送し直すのが一般的であるが、同じ内容のエ
フェクトがEFF1及びEFF2で選択された場合で
も、別々のジョブプログラムを転送しなければならなか
ったことにある。即ちホストCPUはEFF1用のエフ
ェクトプログラム及び係数とEFF2用のエフェクトプ
ログラム及び係数とを別々に記憶しておく必要があっ
た。それは、外部メモリのアクセスエリアがEFF1と
EFF2とで異なるが、それを解消してプログラム及び
係数を共通化できるようなレジスタなどが存在しなかっ
たことがその理由である。Still another problem is that EFF1 is generated in the DSP program flow chart as shown in FIG.
The job of EFF2 and the job of EFF2 can be arbitrarily combined from a plurality of effects, and the programs of those parts are stored in the host C each time an effect is newly selected.
Generally, the job is transferred again from the PU, but even when the same effect is selected by EFF1 and EFF2, different job programs must be transferred. That is, the host CPU needs to store the effect program and coefficient for EFF1 and the effect program and coefficient for EFF2 separately. The reason is that the access area of the external memory differs between EFF1 and EFF2, but there was no register or the like that can eliminate the problem and make the program and coefficient common.
【0009】 以上のような原因の解明がなされたた
め、次にこれらの問題を解決できる構成の検討を行っ
た。その結果本発明者等により次のような本発明の構成
が創案された。即ち、本発明の構成は、オフセットアド
レスを記憶するオフセットレジスタと、メモリアドレス
を記憶するアドレスポインタと、該アドレスポインタの
値とプログラム上のオペランド値又は係数データとに基
づき生成されるアドレスに対してメモリアドレスの許容
範囲を指定するエリアレジスタと、複数のジョブを時分
割で処理するプログラムとを有し、これらのジョブプロ
グラムは夫々異なるオフセットレジスタとエリアレジス
タとを利用すると共に上記アドレスポインタを共通に利
用し、それらのオフセットレジスタ並びにエリアレジス
タは上記時分割で処理する各ジョブプログラムが実行さ
れる前に互いに異なるメモリ領域を指示するように設定
され、アドレスポインタの値とプログラム上のオペラン
ド値又は係数データとに基づき生成されるアドレス値
を、ジョブ毎に、当該ジョブが利用するオフセットレジ
スタ並びにエリアレジスタに基づき定まるメモリ領域内
のアドレス値に補正することで、各ジョブプログラムは
異なるメモリ領域をアクセスすることを基本的特徴とし
ている。Since the causes as described above have been clarified, next, a structure for solving these problems was examined. As a result, the present inventors have devised the following configuration of the present invention. That is, the configuration of the present invention relates to an offset register that stores an offset address, an address pointer that stores a memory address, and an address generated based on the value of the address pointer and the operand value or coefficient data on the program. An area register for designating an allowable range of memory addresses and a program for time-divisionally processing a plurality of jobs are provided, and these job programs use different offset registers and area registers, respectively, and share the above address pointer. These offset registers and area registers are set so as to indicate different memory areas before the respective job programs processed in the time division are executed, and the values of the address pointer and the program are set. Based on the operand value or coefficient data of By correcting the generated address value for each job to the address value in the memory area determined based on the offset register and area register used by the job, each job program basically accesses different memory areas. It has a feature.
【0010】上記構成では、各ジョブプログラムにおけ
る前記オフセットレジスタはメモリアドレスの下限を示
し、同じく各ジョブプログラムにおける前記エリアレジ
スタはメモリアドレスの上限を示すように設定すると、
効率的なメモリ割り当てができるようになる。In the above configuration, if the offset register in each job program is set to indicate the lower limit of the memory address and the area register in each job program is set to indicate the upper limit of the memory address,
It enables efficient memory allocation.
【0011】[0011]
【0012】[0012]
【0013】[0013]
【0014】[0014]
【作用】請求項1の構成では、オフセットレジスタ並び
にエリアレジスタは時分割で処理する各ジョブプログラ
ムが実行される前に互いに異なるメモリ領域を指示する
ように設定され、それを前提として、アドレスポインタ
の値とプログラム上のオペランド値又は係数データとに
基づき生成されるアドレス値を、ジョブ毎に、当該ジョ
ブが利用するオフセットレジスタ並びにエリアレジスタ
に基づき定まるメモリ領域内のアドレスに補正するよう
にしているため、各ジョブプログラムは異なるメモリ領
域をアクセスするようになるという効果を奏することに
なる。従ってジョブ毎に異なるメモリエリアを割り当て
ることができるようになり、特に時分割で処理する複数
のジョブが同一内容のプログラムであっても、夫々のジ
ョブにおいて、他方のメモリエリアをアクセスできない
ようにすることも可能となる。In the structure of claim 1, the offset register array is arranged.
The area register is set so as to point to different memory areas before each job program to be processed in a time-sharing manner is executed, and on the premise of that, the address pointer value and the operand value or coefficient data on the program are set. The address value generated based on each job is corrected to an address in the memory area determined by the offset register and area register used by the job, so that each job program accesses different memory areas. Will have the effect of becoming. Therefore, a different memory area can be assigned to each job, and even if a plurality of jobs that are time-divisionally processed have the same content, the other memory area cannot be accessed in each job. It is also possible.
【0015】[0015]
【0016】[0016]
【発明の実施の形態】以下本発明の具体的な実施の形態
につき、説明する。図1乃至図3は、本願請求項1記載
のDSPのメモリアドレス制御装置の一実施形態構成を
示している。本構成では、DSPの内部メモリ及び外部
メモリに対するアドレス制御を行う部分の構成におい
て、オフセット1(メモリエリアにおけるエリアボトム
1)及びオフセット2(同じくエリアボトム2)の各ア
ドレスを記憶するオフセットレジスタ(図示なし)と、
メモリアドレスを記憶するアドレスポインタと、該アド
レスポインタの値とプログラム上のオペランド値又は係
数データとに基づき生成されるアドレスに対してメモリ
アドレスの許容範囲となるエリアトップ1(上記エリア
ボトム1に対応)及びエリアトップ2(上記エリアボト
ム2に対応)を指定するエリアレジスタ(図示なし)
と、ジョブEFF1及びジョブEFF2を時分割で処理
するプログラム(図示なし)とを有しており、図1に示
すような回路構成により、これらのジョブプログラムは
夫々異なるオフセットレジスタとエリアレジスタとを利
用し、且つ図3に示すように、それらのオフセットレジ
スタ並びにエリアレジスタが、ジョブEFF1の音響効
果プログラム用のメモリ領域とジョブEFF2の音響効
果プログラム用のメモリ領域を指示するように設定され
ている。BEST MODE FOR CARRYING OUT THE INVENTION Specific embodiments of the present invention will be described below. 1 to 3 show an embodiment configuration of a memory address control device of a DSP according to claim 1 of the present application. In this configuration, in the configuration of the part that performs address control for the internal memory and the external memory of the DSP, an offset register (illustrated in the figure) that stores each address of offset 1 (area bottom 1 in memory area) and offset 2 (also area bottom 2) None),
Area top 1 (corresponding to the area bottom 1 above) which is the allowable range of the memory address for the address pointer that stores the memory address and the address generated based on the value of the address pointer and the operand value or coefficient data on the program ) And area top 2 (corresponding to the area bottom 2) (not shown)
And a program (not shown) for processing the job EFF1 and the job EFF2 in a time-sharing manner. With the circuit configuration shown in FIG. 1, these job programs use different offset registers and area registers, respectively. Further, as shown in FIG. 3, the offset register and the area register are set to indicate the memory area for the sound effect program of the job EFF1 and the memory area for the sound effect program of the job EFF2.
【0017】図1の回路構成は、アドレスポインタの値
にオペランド又は係数データを加算して行われる基本的
なアドレスデータに対し、その値が、セレクタ1に入力
されるエリアトップを上回る(オーバーフロー)場合と
セレクタ2に入力されるエリアボトムを下回る(アンダ
ーフロー)場合をチェックして、その何れかがある場合
に、図2に示すように、その上限補正(エリアトップと
エリアボトムの差分を減算する)又は下限補正(エリア
トップとエリアボトムの差分を加算する)を時分割(C
K1周期)で複数回行って目標値に近づけ、それによっ
て求められたアドレスデータをメモリアクセスアドレス
として確定し、出力させる構成である。In the circuit configuration of FIG. 1, with respect to basic address data which is performed by adding operand or coefficient data to the value of the address pointer, the value exceeds the area top input to the selector 1 (overflow). The case and the case where the value is below the area bottom (underflow) input to the selector 2 are checked, and if there is any of them, the upper limit correction (subtract the difference between the area top and the area bottom as shown in FIG. 2). Or lower limit correction (adding the difference between the area top and the area bottom) is time-shared (C
In the K1 cycle), the target data is made to approach the target value a plurality of times, and the address data obtained thereby is determined as the memory access address and output.
【0018】上記図1の構成では、各オフセットレジス
タからEFF1用のメモリ領域のエリアボトム1とEF
F2用のメモリ領域のエリアボトム2が夫々オフセット
1及びオフセット2としてセレクタ2のA及びBに夫々
入力される。他方各エリアレジスタからEFF1用のメ
モリ領域のエリアトップ1とEFF2用のメモリ領域の
エリアトップ2がセレクタ1のA及びBに夫々入力され
る。これらのセレクタ1及び2は、アドレスコントロー
ルレジスタ(図示なし)のACRフラグ=0の時に、夫
々入力Aが選択されてEFF1用のメモリ領域のエリア
ボトム1及びエリアトップ1が選択出力され、またAC
Rフラグ=1の時に、入力Bが選択されてEFF2用の
メモリ領域のエリアボトム2及びエリアトップ2が選択
出力されることになる。これらの値は次にセレクタ3及
び差分器6に夫々入力される。In the configuration of FIG. 1 described above, the area bottom 1 and the EF of the memory area for the EFF 1 are separated from each offset register.
The area bottom 2 of the memory area for F2 is input to A and B of the selector 2 as offset 1 and offset 2, respectively. On the other hand, the area top 1 of the memory area for EFF1 and the area top 2 of the memory area for EFF2 are input to A and B of the selector 1 from each area register, respectively. When the ACR flag of the address control register (not shown) = 0, the selectors 1 and 2 respectively select the input A to selectively output the area bottom 1 and the area top 1 of the memory area for the EFF1, and the AC
When the R flag = 1, the input B is selected and the area bottom 2 and the area top 2 of the memory area for the EFF2 are selectively output. These values are then input to the selector 3 and the differencer 6, respectively.
【0019】セレクタ3から、コンパレータ4及びセレ
クタ5までの構成(以下フローチェック構成という)
は、上記アドレスデータに対し、その値が、エリアトッ
プを上回る(オーバーフロー)か、エリアボトムを下回
る(アンダーフロー)かをチェックする構成である。ま
た差分器6から、補数変換器7及びセレクタ8までの構
成(以下差分演算構成という)は、オーバーフロー又は
アンダーフローの際に、上限補正又は下限補正を行うた
めに必要なエリアトップとエリアボトムの差分を求める
構成である。Configuration from selector 3 to comparator 4 and selector 5 (hereinafter referred to as flow check configuration)
Is a configuration for checking whether the value of the address data exceeds the area top (overflow) or falls below the area bottom (underflow). Further, the configuration from the differentiator 6 to the complement converter 7 and the selector 8 (hereinafter referred to as the difference calculation configuration) has a function of the area top and the area bottom required for performing the upper limit correction or the lower limit correction at the time of overflow or underflow. This is a configuration for obtaining a difference.
【0020】上記フローチェック構成におけるセレクタ
3では、クロックCK4=0の時に入力Aが選択され
て、エリアトップの値(セレクタ1及び3でA入力が選
択されている場合エリアトップ1の値)をコンパレータ
4のB入力に出力する。またクロックCK4=1の時に
入力Bが選択されて、エリアボトムの値(セレクタ2及
び3でA入力が選択されている場合エリアボトム1の
値)をコンパレータ4のB入力に出力する。また該コン
パレータ4では、クロックCK4=0の時にエリアトッ
プの値が入力(入力B)され、前記アドレスポインタと
オペランド値又は係数データとの加算値である基本的な
アドレスデータ又は上限補正ループ中のアドレスデータ
(入力A)との比較が行われ、またクロックCK4=1
の時にエリアボトムの値が入力(入力B)され、後述す
る上限補正の終了したアドレスデータ又は下限補正ルー
プ中のアドレスデータ(入力A)との比較がなされる。
即ち該コンパレータ4は、セレクタ3から入力される入
力B値とアドレスデータである入力A値とを比較し、入
力A値>入力B値の場合は次のセレクタ5のA入力に信
号を出力し、入力A値<入力B値の場合はセレクタ5の
B入力に信号を出力する。該セレクタ5では、クロック
CK4=0の時に、上記セレクタ3でエリアトップの値
がA入力として選択されているので、基本的なアドレス
データ又は上限補正ループ中のアドレスデータがエリア
トップの値を超えている場合にのみ、後述するセレクタ
11にセレクタ信号を出力する。同様に、クロックCK
4=1の時に、上記セレクタ3でエリアボトムの値がB
入力として選択されているので、上限補正の終了したア
ドレスデータ又は下限補正ループ中のアドレスデータが
エリアボトムの値を下回っている場合にのみ、セレクタ
11にセレクタ信号を出力する。In the selector 3 in the flow check configuration, the input A is selected when the clock CK4 = 0, and the area top value (the area top 1 value when the A inputs are selected by the selectors 1 and 3) is set. Output to the B input of the comparator 4. Further, when the clock CK4 = 1, the input B is selected and the value of the area bottom (the value of the area bottom 1 when the A input is selected by the selectors 2 and 3) is output to the B input of the comparator 4. In the comparator 4, the value of the area top is input (input B) when the clock CK4 = 0, and the basic address data or the upper limit correction loop in the upper limit correction loop, which is the addition value of the address pointer and the operand value or the coefficient data, is input. The address data (input A) is compared, and the clock CK4 = 1
At this time, the value of the area bottom is input (input B) and is compared with the address data whose upper limit correction has been completed or the address data in the lower limit correction loop (input A) described later.
That is, the comparator 4 compares the input B value input from the selector 3 with the input A value which is address data, and when the input A value> the input B value, outputs a signal to the A input of the next selector 5. If the input A value is smaller than the input B value, a signal is output to the B input of the selector 5. In the selector 5, since the area top value is selected as the A input by the selector 3 when the clock CK4 = 0, the basic address data or the address data in the upper limit correction loop exceeds the area top value. Only when it is present, the selector signal is output to the selector 11 described later. Similarly, the clock CK
When 4 = 1, the area bottom value in the selector 3 is B
Since it is selected as the input, the selector signal is output to the selector 11 only when the address data whose upper limit correction is completed or the address data in the lower limit correction loop is below the value of the area bottom.
【0021】一方上記差分演算構成における差分器6で
は、上記エリアトップの入力T値とエリアボトムの入力
B値との差分を求めている。この差分は、基本的なアド
レスデータ又は上限補正ループ中のアドレスデータから
差分を減算するオーバーフロー時の上限補正の際に、後
述する加算器10で加算演算で上限補正を行わしめるた
めに、補数変換器7で2の補数に変換される。次のセレ
クタ8では、クロックCK4=0の時(上記フローチェ
ック構成で基本的なアドレスデータや補正ループ中のア
ドレスデータがオーバーフローしているか否かが判定さ
れている時)、A入力として入力されてくる差分の2の
補数の値を、後述する加算器10に出力する。またクロ
ックCK4=1の時(上記フローチェック構成で基本的
なアドレスデータや補正ループ中のアドレスデータがア
ンダーフローしているか否かが判定されている時)、B
入力として入力されてくる差分値を、加算器10に出力
する。On the other hand, the difference calculator 6 in the difference calculation configuration calculates the difference between the input T value at the area top and the input B value at the area bottom. This difference is complemented in order to perform the upper limit correction by the addition operation in the adder 10 described later at the time of the upper limit correction at the time of overflow in which the difference is subtracted from the basic address data or the address data in the upper limit correction loop. It is converted to 2's complement by the device 7. In the next selector 8, when the clock CK4 = 0 (when it is determined by the above flow check configuration whether basic address data or address data in the correction loop overflows), it is input as the A input. The value of the two's complement of the coming difference is output to the adder 10 described later. Further, when the clock CK4 = 1 (when it is determined by the above flow check configuration whether the basic address data or the address data in the correction loop is underflowed), B
The difference value input as an input is output to the adder 10.
【0022】更にセレクタ9から、加算器10、セレク
タ11、ラッチ12、ラッチ13の構成は、セレクタ9
に入力Aとして入力される基本的なアドレスデータや補
正ループ中のアドレスデータにつき、上記オーバーフロ
ーやアンダーフローと判定された場合に上限補正或いは
下限補正を繰り返し行いながら、基本的なアドレスデー
タ或いはその上限・下限補正の行われたアドレスデータ
を最終的に確定させ、メモリアクセスアドレスとして出
力させる構成である。Further, the configuration of the adder 10, the selector 11, the latch 12, and the latch 13 from the selector 9 is as follows:
For the basic address data or the address data in the correction loop input as the input A to the basic address data or the upper limit thereof while repeatedly performing the upper limit correction or the lower limit correction when the above overflow or underflow is determined. The address data that has undergone the lower limit correction is finally determined and output as a memory access address.
【0023】加算器10は、前記セレクタ8から送り出
されてくる差分値乃至該差分の2の補数の値を、基本的
なアドレスデータ、上限補正終了後のアドレスデータ又
は補正ループ中のアドレスデータに加算演算(差分の2
の補数の値を加算する処理は、差分を減算する処理に相
当する)し、次のセレクタ11にB入力として出力す
る。またセレクタ11は、前記セレクタ5からのセレク
タ信号の入力があった場合(即ちオーバーフロー判定或
いはアンダーフロー判定がなされた時)に、B入力とし
て加算器10からの演算値を選択(オーバーフロー判定
時に上限補正を行う処理に相当し、アンダーフロー判定
時には下限補正を行う処理に相当する)し、該セレクタ
信号の入力がなかった場合(即ちオーバーフローもアン
ダーフローもない時又はなくなった時)には、A入力の
アドレスデータを選択する。The adder 10 uses the difference value or the two's complement value of the difference sent from the selector 8 as basic address data, address data after completion of upper limit correction, or address data in a correction loop. Addition operation (difference 2
The process of adding the complement value of is equivalent to the process of subtracting the difference), and outputs it as the B input to the next selector 11. Further, the selector 11 selects the operation value from the adder 10 as the B input when the selector signal is input from the selector 5 (that is, when the overflow determination or the underflow determination is made). If the selector signal is not input (that is, when there is neither overflow nor underflow, or when it disappears), A Select the input address data.
【0024】図2に示すように、前述のクロックCK4
は、該クロックCK1を1/4に分周して得られたクロ
ックである。該クロックCK4=0のタイムスロット
(即ち各セレクタ3、5及び8において入力Aが選択さ
れている時)では、t1=0がCK1の1サイクル分続
き、セレクタ9はアドレスポインタの値とオペランド値
又は係数データとの加算値(前述した基本的なアドレス
データ)を選択出力し、コンパレータ4はその出力値と
エリアトップとを比較する。この比較結果がA>Bで、
オーバーフローの判定がなされた場合には、セレクタ1
1はB入力を選択し、基本的なアドレスデータに上記差
分の2の補数の値を加算する(上記差分を減算する)上
限補正を行う(加算器10でなされた上記加算処理の出
力結果を選択する)。該補正値は、クロックCK1の1
クロック毎にラッチ12にラッチされる。このラッチさ
れたアドレスデータはセレクタ9に戻されてそのB入力
となり、次のCK1のサイクル分はt1=1のため、セ
レクタ9はそのB入力を選択出力する。このようにCK
1のサイクルが許す範囲で同じ処理を繰り返して、アド
レスのオーバーフローがなくなるまでループさせる。As shown in FIG. 2, the clock CK4 described above is used.
Is a clock obtained by dividing the clock CK1 into quarters. In the time slot of the clock CK4 = 0 (that is, when the input A is selected in each selector 3, 5 and 8), t1 = 0 continues for one cycle of CK1, and the selector 9 indicates the value of the address pointer and the operand value. Alternatively, the added value of the coefficient data (basic address data described above) is selectively output, and the comparator 4 compares the output value with the area top. This comparison result is A> B,
If overflow is determined, selector 1
1 selects the B input and performs upper limit correction by adding the value of the two's complement of the difference to the basic address data (subtracting the difference) (the output result of the addition processing performed by the adder 10 select). The correction value is 1 of the clock CK1.
It is latched in the latch 12 every clock. The latched address data is returned to the selector 9 and becomes its B input. Since t1 = 1 for the next cycle of CK1, the selector 9 selectively outputs the B input. Like this CK
The same process is repeated within the range permitted by cycle 1 to loop until the address overflows.
【0025】次にクロックCK4=1のタイムスロット
(即ち上記セレクタ3、5及び8において入力Bが選択
されている時)では、セレクタ9から出力される上限補
正の終了したアドレスデータとエリアボトムとを比較す
る。この比較結果がA<Bで、アンダーフローの判定が
なされた場合には、同じくセレクタ11はB入力を選択
し、上限補正の終了したアドレスデータに上記差分の値
を加算する下限補正を行う(加算器10でなされた上記
加算処理の出力結果を選択する)。これらの補正値がラ
ッチ12にラッチされる。このラッチされたアドレスデ
ータはセレクタ9に戻されてそのB入力となり、CK1
の数サイクル分はt1=1のため、セレクタ9はそのB
入力を選択出力する。このようにCK1のサイクルが許
す範囲で同じ処理を繰り返して、アドレスのアンダーフ
ローがなくなるまでループさせる。Next, in the time slot of the clock CK4 = 1 (that is, when the input B is selected in the selectors 3, 5 and 8), the upper limit corrected address data output from the selector 9 and the area bottom are output. To compare. If the comparison result is A <B and it is determined that there is an underflow, the selector 11 similarly selects the B input and performs the lower limit correction of adding the difference value to the address data for which the upper limit correction has been completed (( The output result of the addition process performed by the adder 10 is selected). These correction values are latched in the latch 12. This latched address data is returned to the selector 9 and becomes its B input, and CK1
For several cycles of t1 = 1, the selector 9
Select and output the input. In this way, the same processing is repeated within the range allowed by the CK1 cycle, and looped until there is no address underflow.
【0026】他方コンパレータ4にて、セレクタ9の出
力アドレスデータが、対となるエリアボトムとエリアト
ップとの間にある時(オーバーフロー又はアンダーフロ
ーでない時)は、セレクタ11は、A入力の選択出力を
繰り返す。またクロックCK4の1周期が終了する時点
で、前記ラッチ12にラッチされている値が、次のラッ
チ13にラッチされ(ラッチ12の結果がクリアされる
前にラッチされる)、確定したメモリアクセスアドレス
として出力される。On the other hand, in the comparator 4, when the output address data of the selector 9 is between the area bottom and the area top to be paired (when it is not overflow or underflow), the selector 11 outputs the selection output of the A input. repeat. At the end of one cycle of the clock CK4, the value latched by the latch 12 is latched by the next latch 13 (latched before the result of the latch 12 is cleared), and the confirmed memory access is performed. It is output as an address.
【0027】クロックCK4の次の1周期が開始された
時点で、前記セレクタ9は、アドレスポインタのインク
リメントにより歩進されたアドレスデータを選択し、上
記の処理を繰り返す。これらの処理は並列処理でなされ
るため、図3に示すように、ジョブEFF1用のメモリ
領域とジョブEFF2用のメモリ領域を同時に指示で
き、また各ジョブプログラムは、各独立したメモリ領域
に対しアクセスすることになる。When the next one cycle of the clock CK4 is started, the selector 9 selects the incremented address data by incrementing the address pointer and repeats the above processing. Since these processes are performed in parallel, as shown in FIG. 3, the memory area for job EFF1 and the memory area for job EFF2 can be instructed at the same time, and each job program can access each independent memory area. Will be done.
【0028】以上の構成を、電子楽器から発せられる楽
音に対してコーラス効果とディレイ効果などのエフェク
トをかけるDSPの構成として採用してみた。1つのD
SPで、これらの効果がジョブEFF1及びジョブEF
F2として、夫々時分割で処理されるシステムの構成で
は、図4に示すようなフローで処理がなされることにな
る。The above configuration was adopted as a DSP configuration for applying effects such as a chorus effect and a delay effect to a musical sound emitted from an electronic musical instrument. One D
In SP, these effects are applied to job EFF1 and job EF.
In the system configuration in which each processing is performed in time division as F2, the processing is performed according to the flow shown in FIG.
【0029】パワーONになると、まず2つのオフセッ
トレジスタにオフセット1及び2(エリアボトム1及び
2)が夫々セットされ且つ2つのエリアレジスタにエリ
アトップ1及び2が夫々セットされる(S0)。次にサ
ンプリングクロック待ち状態(S1)になる。Lch入
力は、前記図8の従来のDSPにおけるメインルーチン
のシグナルフローと同じになるので、同図を参照して説
明すると、IN1及びIN2からの信号を、レジスタI
1及びI2へ、In1及びIn2として取り込み、Lc
h出力は、同図におけるOUT1及びOUT2へ、出力
側のテンポラリレジスタO1及びO2から、Out1及
びOut2の信号データを出力する(S2)。When the power is turned on, first, the offsets 1 and 2 (area bottoms 1 and 2) are set in the two offset registers, and the area tops 1 and 2 are set in the two area registers (S0). Next, the state becomes the sampling clock waiting state (S1). Since the Lch input is the same as the signal flow of the main routine in the conventional DSP shown in FIG. 8, the signal from IN1 and IN2 is transferred to the register I by referring to FIG.
Incorporated as In1 and In2 into 1 and I2, Lc
The h output outputs the signal data of Out1 and Out2 from the temporary registers O1 and O2 on the output side to OUT1 and OUT2 in the figure (S2).
【0030】次にACRフラグの値が0で、前記エリア
トップ1とエリアボトム1が選択され、ジョブEFF1
用のエリア領域の指定がなされる(S3)。そしてEF
F1が有効か否かが判定され、ジョブEFF1用の効果
プログラムのフローを通常通り通過させる(効果付加の
処理を行わせる)か、又は音響効果の変更による事前処
理のため、該音響効果プログラムをスルーさせるか否か
をチェックする(S4)。音響効果の変更があった場
合、命令メモリの一部書き替え又は係数RAMやデータ
RAMのクリア等の事前処理がなされるため、定常的な
通常の効果プログラムの処理を行うと、該処理が暴走す
るかまたは大きな雑音を発生する危険性があるからであ
る。このジョブが有効か否かを知らせる情報は、マスタ
CPUが係数RAMのあるアドレスの値を変更して行っ
ても良いし、マスタCPUからダイレクトにDSPの汎
用入力ポート(図示せず)へ信号を送っても良い。Next, when the value of the ACR flag is 0, the area top 1 and the area bottom 1 are selected, and the job EFF1
The area area for use is designated (S3). And EF
Whether F1 is valid or not is determined, and the flow of the effect program for job EFF1 is passed through normally (effect addition processing is performed), or the acoustic effect program is executed for pre-processing by changing the acoustic effect. It is checked whether or not to pass through (S4). When the sound effect is changed, a part of the instruction memory is rewritten or pre-processing such as clearing of the coefficient RAM and the data RAM is performed. Therefore, if a regular normal effect program is processed, the process will run out of control. This is because there is a risk that noise will be generated or a large amount of noise will be generated. The information indicating whether or not this job is valid may be performed by the master CPU by changing the value of an address in the coefficient RAM, or a signal may be directly sent from the master CPU to a general-purpose input port (not shown) of the DSP. You can send it.
【0031】ジョブEFF1が有効な通常の時は、効果
プログラム(例えばコーラス効果)をコールする(S
5)。この効果プログラムのコールは、命令メモリ(I
−RAM)の格納エリアに複数記憶された音響効果付加
ルーチンの中から、プログラムカウンタにより選択され
る。選択可能な音響効果プログラムは、全合計で前記命
令メモリの所定格納エリア内に納まるものでなければな
らない。そして音響効果付加ルーチン処理後その信号デ
ータには、係数C1aが乗算され、また前記レジスタI
1に記憶された入力In1には、係数C1bが乗算さ
れ、両値が加算され、それをテンポラリレジスタO1に
記憶させる。この時、上記係数C1a及びC1bの値を
適宜制御することで、音響効果の付加された信号と付加
されていない信号とをクロスフェードさせることができ
る(S7)。When the job EFF1 is normal, an effect program (for example, chorus effect) is called (S).
5). This effect program call uses the instruction memory (I
-A program is selected from a plurality of acoustic effect addition routines stored in a storage area of RAM) by a program counter. The total of the selectable sound effect programs must fit in a predetermined storage area of the instruction memory. After the acoustic effect addition routine processing, the signal data is multiplied by the coefficient C1a, and the register I
The input In1 stored in 1 is multiplied by the coefficient C1b, both values are added, and the result is stored in the temporary register O1. At this time, by appropriately controlling the values of the coefficients C1a and C1b, it is possible to crossfade the signal to which the acoustic effect is added and the signal to which the acoustic effect is not added (S7).
【0032】またEFF1が無効の場合は、音響効果プ
ログラムをスルーする前に、EFF1と同程度のステッ
プ数だけウェイトをかける(S6)。ここでは、例えば
DSPに内蔵されたループ命令を用いて必要なステップ
数だけループさせる(係数RAMに書かれているEFF
1のステップ数をロードし、その数だけディレイさせ
る)。このループは、ここで使用したDSPでは冗長な
機能が省略されていて、R信号とL信号の入出力は同じ
ポートにて、WS信号の立ち上がり(又は立ち下がり)
から所定時間(シリアルデータR0、L0処理時間相
当)内に行わなければならないことに起因する。そして
前述のように、音響効果付加処理の行われていない楽音
信号との間で、クロスフェード処理を行い、更に該楽音
信号と新たな音響効果が付加された楽音信号との間でク
ロスフェード処理を行って、音響効果の変更処理を終了
する。If the EFF1 is invalid, a weight equivalent to the number of steps of the EFF1 is applied before passing through the sound effect program (S6). Here, for example, a loop instruction built into the DSP is used to loop for a required number of steps (EFF written in the coefficient RAM).
Load the number of steps of 1 and delay by that number). In this loop, the redundant function is omitted in the DSP used here, and the input and output of the R signal and the L signal are the same port, and the WS signal rises (or falls).
It has to be performed within a predetermined time (corresponding to the serial data R0 and L0 processing time). Then, as described above, crossfade processing is performed between the musical tone signal to which the acoustic effect addition processing has not been performed, and further crossfade processing between the musical tone signal and the musical sound signal to which the new acoustic effect has been added. Then, the sound effect changing process is ended.
【0033】次にACRフラグの値が1で、前記エリア
トップ2とエリアボトム2が選択され、ジョブEFF2
用のエリア領域の指定がなされる(S8)。以後ジョブ
EFF2についても上記と同様な処理が繰り返される。Next, when the value of the ACR flag is 1, the area top 2 and the area bottom 2 are selected, and the job EFF2
The area area for use is designated (S8). After that, the same processing as described above is repeated for the job EFF2.
【0034】そしてRch入力を行い、前記図8におけ
るIN1及びIN2からの信号を、レジスタI1及びI
2へ、In1及びIn2として取り込み、Rch出力
は、同図におけるOUT1及びOUT2へ、出力側のテ
ンポラリレジスタO1及びO2から、Out1及びOu
t2の信号データを出力する(S9)。Then, Rch input is performed, and signals from IN1 and IN2 in FIG. 8 are transferred to registers I1 and I2.
2 as In1 and In2, and the Rch output is output from OUT1 and OUT2 from the temporary registers O1 and O2 on the output side to Out1 and Out.
The signal data of t2 is output (S9).
【0035】最後に内部メモリ(D−RAM)のポイン
タ(DPTR)の値及び外部RAM(X−DRAM)の
ポインタ(XPTR)の値を歩進(+1)してサンプリ
ングクロック待ちの状態に戻る(S10)。これは、次
回のサンプリングに基づくプログラムで、同じデータR
AMアドレスを指定しても、実際には自動的に+1のア
ドレスをアクセスするためである。Finally, the value of the pointer (DPTR) of the internal memory (D-RAM) and the value of the pointer (XPTR) of the external RAM (X-DRAM) are incremented (+1) to return to the state of waiting for the sampling clock ( S10). This is a program based on the next sampling, and the same data R
This is because even if the AM address is specified, the +1 address is actually automatically accessed.
【0036】以上の構成では、各ジョブ用に設定された
オフセットレジスタとエリアレジスタによる指定によっ
て、これらジョブプログラムの夫々に対し専用のメモリ
アクセスエリアが確保される(各ジョブEFF用に独立
したメモリ領域が割り当てられる)ため、1のジョブの
実行中に他のジョブのメモリエリアにアクセスするなど
の不具合を起こすことがなくなり、従ってたとえ並列処
理されるこれらのジョブが同一内容のプログラムであっ
ても、互いに他方のメモリエリアをアクセスすることは
できない。なお、上記実施形態では、ジョブEFF1と
ジョブEFF2用にメモリアクセスエリアを設定した構
成につき説明したが、それ以上の数のジョブがある場合
についても、同様に各独立したメモリアクセスエリアを
設定することが可能であることは言うまでもない。In the above configuration, a dedicated memory access area is secured for each of these job programs by the designation by the offset register and area register set for each job (independent memory area for each job EFF). since there is assigned) gets rid causing problems such as accessing a memory area of another job during the first job execution, these jobs if parallelism therefore a program of the same contents However, they cannot access the other memory area. In the above embodiment, the configuration in which the memory access areas are set for the job EFF1 and the job EFF2 has been described. However, when there are more jobs than that, each independent memory access area should be set similarly. It goes without saying that is possible.
【0037】図5及び図6は、参考例となるDSPのメ
モリアドレス制御装置の一実施形態構成を示している。
本構成では、前記実施形態構成と同様に、DSPの内部
メモリ及び外部メモリに対するアドレス制御を行う部分
の構成であり、メモリアドレスを記憶するアドレスポイ
ンタと、該アドレスポインタの値とプログラム上のオペ
ランド値又は係数データとに基づき生成されるアドレス
に対して境界となるアドレスを設定・記憶する境界レジ
スタと、ジョブEFF1及びジョブEFF2を時分割で
処理するプログラム(図示なし)とを有し、図5に示す
ような回路構成により、これらのジョブプログラムは夫
々異なるアドレスポインタを利用し、且つ図6に示すよ
うに、それらのアドレスポインタの値とプログラム上の
オペランド値又は係数データとに基づき生成されるアド
レスは前記境界レジスタに記憶されたアドレスを境とし
て、ジョブEFF1の音響効果プログラム用のメモリ領
域とジョブEFF2の音響効果プログラム用のメモリ領
域をアクセスするように設定されている。FIG. 5 and FIG. 6 show the configuration of one embodiment of the memory address control device of the DSP as a reference example .
In this configuration, like the configuration of the above-described embodiment, it is a configuration of a part that performs address control for the internal memory and external memory of the DSP, and an address pointer that stores a memory address, a value of the address pointer, and an operand value on a program Or, it has a boundary register for setting and storing an address which becomes a boundary with respect to an address generated based on coefficient data, and a program (not shown) for processing the job EFF1 and the job EFF2 in a time-sharing manner. Due to the circuit configuration as shown, each of these job programs uses different address pointers, and, as shown in FIG. 6, addresses generated based on the values of these address pointers and the operand value or coefficient data on the program. Is the job EFF with the address stored in the boundary register as a boundary. It is configured to access the memory area for the sound effect program memory region and job EFF2 for sound effects program.
【0038】図5の構成では、レジスタセットに境界レ
ジスタとして記憶された境界アドレスを境に、その上下
方向の使用範囲を設定する方向設定フラグ(APRフラ
グ)が用いられ、APRフラグ=0の時、図6に示され
たジョブEFF1用のアドレス領域を指定し、またAP
Rフラグ=1の時、ジョブEFF2用のアドレス領域を
指定する。またコンパレータ14とセレクタ15の構成
は、アドレスポインタとオペランド値又は係数データと
の加算値である基本的なアドレスデータと、境界レジス
タに設定された境界アドレスデータとの比較を行い、ジ
ョブEFF1用のアドレス領域が指定されている場合
に、基本的なアドレスデータが境界アドレスを超えた時
の判定を行い、またジョブEFF2用のアドレス領域が
指定されている場合には、基本的なアドレスデータが境
界アドレスを下回った時の判定を行う構成である。更に
補数変換器16、セレクタ17及び加算器18の構成
は、上記判定構成でそのアドレスデータが境界アドレス
を超えた或いは下回ったと判定された場合に、該アドレ
スデータの補正を行うための構成である。In the configuration of FIG. 5, the direction setting flag (APR flag) for setting the vertical use range is used with the boundary address stored as a boundary register in the register set as a boundary, and when the APR flag = 0. , Specifies the address area for job EFF1 shown in FIG.
When the R flag = 1, the address area for the job EFF2 is designated. Further, the configurations of the comparator 14 and the selector 15 compare the basic address data, which is the added value of the address pointer and the operand value or the coefficient data, with the boundary address data set in the boundary register, and perform the comparison for the job EFF1. When the address area is specified, the judgment is made when the basic address data exceeds the boundary address, and when the address area for the job EFF2 is specified, the basic address data becomes the boundary. The configuration is such that a determination is made when the address falls below the address. Further, the configuration of the complement converter 16, the selector 17, and the adder 18 is a configuration for correcting the address data when it is determined by the determination configuration that the address data exceeds or falls below the boundary address. .
【0039】本構成では、ジョブEFF1用のアドレス
領域が指定されている場合に、上記基本的なアドレスデ
ータが境界アドレスを超えた場合には、図6に示すよう
に、その超えた値から上記境界アドレス分だけ減算し、
またジョブEFF2用のアドレス領域が指定されている
場合に、基本的なアドレスデータが境界アドレスを下回
った場合には、同図に示すように、その下回った値に、
上記境界アドレス分だけ加算するようにしている。その
ような構成とすることで、ジョブEFF1用には、0〜
境界アドレスまでのアドレス領域を、またジョブEFF
2用には、境界アドレス〜アドレス上限値までのアドレ
ス領域を夫々設定でき、各ジョブプログラムは、その境
界を超えてメモリアクセスすることができなくなる。ま
た同一内容のプログラムであっても、夫々のジョブにお
いて、他方のメモリエリアをアクセスできないようにす
ることができるようになる。なお、ジョブEFF1用の
アドレス領域の指定中に、上記基本的なアドレスデータ
が境界アドレスを超えた場合に、その超えた値から上記
境界アドレス分だけ減算するアドレスデータの補正処理
を、加算器18の加算演算で行わしめるために、補数変
換器16により境界アドレスの値の2の補数の値を求め
て、それを上記加算器18により基本的なアドレスデー
タに加算することで行っている。In this configuration, when the basic address data exceeds the boundary address when the address area for the job EFF1 is designated, as shown in FIG. Subtract only the boundary address,
Further, when the basic address data falls below the boundary address when the address area for the job EFF2 is designated, as shown in FIG.
Only the boundary address is added. With such a configuration, 0 to 0 are set for the job EFF1.
Address area up to the boundary address, job EFF
For 2, the address areas from the boundary address to the address upper limit value can be set respectively, and each job program cannot access the memory beyond the boundary. Further, even if the programs have the same contents, it is possible to make the other memory area inaccessible in each job. When the basic address data exceeds the boundary address during the designation of the address area for the job EFF1, the adder 18 performs the address data correction process of subtracting the boundary address from the exceeded value. In order to carry out the addition operation of, the complement converter 16 obtains the value of the two's complement of the boundary address value, and the adder 18 adds it to the basic address data.
【0040】上記構成では、APRフラグ=0の時、セ
レクタ15及び17は、A入力を選択出力する。これに
より、ジョブEFF1用のアドレス領域が指定される。
この時、コンパレータ14で、上記基本的なアドレスデ
ータ(A入力)と境界アドレス(B入力)が比較され、
該アドレスデータが境界アドレスを超えたと判定された
場合(A>B)、セレクタ15のA入力に信号を出力
し、該セレクタ15は更にセレクタ19にセレクト信号
を出力する。一方セレクタ17では、上述のようにA入
力が選択出力されるため、補数変換器16で求められた
境界アドレスの2の補数の値が加算器18に出力され
る。該加算器18では、その補数値と前記基本的なアド
レスデータとの加算処理が行われ(超えたアドレスデー
タから境界アドレス分を減算する処理に相当する)、セ
レクタ19のB入力として出力する。その結果セレクタ
19は、加算器18から出力されB入力として入力され
てきたアドレスデータの補正値を選択出力することにな
る。なお、コンパレータ14の判定で、A<Bの場合
は、セレクタ15ではセレクト信号の出力を行わないた
め、セレクタ19では、A入力として入力された基本的
なアドレスデータが、そのままメモリアクセスアドレス
として出力される。In the above configuration, when the APR flag = 0, the selectors 15 and 17 selectively output the A input. As a result, the address area for the job EFF1 is designated.
At this time, the comparator 14 compares the basic address data (A input) with the boundary address (B input),
When it is determined that the address data exceeds the boundary address (A> B), a signal is output to the A input of the selector 15, and the selector 15 further outputs a select signal to the selector 19. On the other hand, since the selector 17 selectively outputs the A input as described above, the 2's complement value of the boundary address obtained by the complement converter 16 is output to the adder 18. The adder 18 performs addition processing of the complemented value and the basic address data (corresponding to processing of subtracting the boundary address portion from the exceeded address data), and outputs it as the B input of the selector 19. As a result, the selector 19 selectively outputs the correction value of the address data output from the adder 18 and input as the B input. If the comparator 14 determines that A <B, the selector 15 does not output the select signal. Therefore, the selector 19 directly outputs the basic address data input as the A input as the memory access address. To be done.
【0041】またAPRフラグ=1の時、セレクタ15
及び17は、B入力を選択出力する。これにより、ジョ
ブEFF2用のアドレス領域が指定される。この時、コ
ンパレータ14で、上記基本的なアドレスデータ(A入
力)と境界アドレス(B入力)が比較され、該アドレス
データが境界アドレスを下回ったと判定された場合(A
<B)、セレクタ15のB入力に信号を出力し、該セレ
クタ15は更にセレクタ19にセレクト信号を出力す
る。一方セレクタ17では、上述のようにB入力が選択
出力されるため、境界アドレスの値がそのまま加算器1
8に出力される。該加算器18では、その境界アドレス
の値と前記基本的なアドレスデータとの加算処理が行わ
れ、セレクタ19のB入力として出力する。その結果セ
レクタ19は、加算器18から出力されB入力として入
力されてきたアドレスデータの補正値を選択出力するこ
とになる。なお、コンパレータ14の判定で、A>Bの
場合は、セレクタ15ではセレクト信号の出力を行わな
いため、セレクタ19では、A入力として入力された基
本的なアドレスデータが、そのままメモリアクセスアド
レスとして出力される。When the APR flag = 1, the selector 15
And 17 selectively output the B input. As a result, the address area for the job EFF2 is designated. At this time, the comparator 14 compares the basic address data (A input) with the boundary address (B input) and determines that the address data is below the boundary address (A
<B), a signal is output to the B input of the selector 15, and the selector 15 further outputs a select signal to the selector 19. On the other hand, since the selector 17 selectively outputs the B input as described above, the value of the boundary address is directly added to the adder 1
8 is output. The adder 18 performs addition processing of the value of the boundary address and the basic address data, and outputs it as the B input of the selector 19. As a result, the selector 19 selectively outputs the correction value of the address data output from the adder 18 and input as the B input. When the comparator 14 determines that A> B, the selector 15 does not output the select signal. Therefore, the selector 19 directly outputs the basic address data input as the A input as the memory access address. To be done.
【0042】上記構成では、アドレスポインタのインク
リメントでアドレスデータの歩進がなされ、上記の処理
を繰り返す。これらの処理は並列処理でなされるため、
図6に示すように、ジョブEFF1用のメモリ領域とジ
ョブEFF2用のメモリ領域を同時に指示でき、また各
ジョブプログラムは、各独立したメモリ領域に対しアク
セスすることになる。In the above configuration, the address data is incremented by incrementing the address pointer, and the above process is repeated. Since these processes are done in parallel,
As shown in FIG. 6, the memory area for the job EFF1 and the memory area for the job EFF2 can be designated at the same time, and each job program accesses each independent memory area.
【0043】以上の構成を、電子楽器から発せられる楽
音に対してコーラス効果とディレイ効果などのエフェク
トをかけるDSPの構成として採用してみた。1つのD
SPで、これらの効果がジョブEFF1及びジョブEF
F2として、夫々時分割で処理されるシステムの構成で
は、図7に示すようなフローで処理がなされることにな
る。The above configuration was adopted as a DSP configuration for applying effects such as a chorus effect and a delay effect to a musical sound emitted from an electronic musical instrument. One D
In SP, these effects are applied to job EFF1 and job EF.
In the system configuration in which each processing is performed in time division as F2, the processing is performed according to the flow shown in FIG.
【0044】パワーONになると、まずレジスタセット
に境界アドレスがセットされる(S11)。次にサンプ
リングクロック待ち状態(S12)になる。Lch入力
は、同じく前記図8を参照して説明すると、IN1及び
IN2からの信号を、レジスタI1及びI2へ、In1
及びIn2として取り込み、Lch出力は、同図におけ
るOUT1及びOUT2へ、出力側のテンポラリレジス
タO1及びO2から、Out1及びOut2の信号デー
タを出力する(S13)。When the power is turned on, first, a boundary address is set in the register set (S11). Next, the state becomes the sampling clock waiting state (S12). Similarly for the Lch input, referring to FIG. 8, the signals from IN1 and IN2 are input to the registers I1 and I2 and In1.
And In2, and the Lch output outputs the signal data of Out1 and Out2 from the temporary registers O1 and O2 on the output side to OUT1 and OUT2 in the figure (S13).
【0045】次にAPRフラグの値が0で、0〜境界ア
ドレスの範囲のジョブEFF1用のエリア領域の指定が
なされる(S14)。そしてEFF1が有効か否かが判
定され、ジョブEFF1用の効果プログラムのフローを
通常通り通過させる(効果付加の処理を行わせる)か、
又は音響効果の変更による事前処理のため、該音響効果
プログラムをスルーさせるか否かをチェックする(S1
5)。このジョブが有効か否かを知らせる情報は、マス
タCPUが係数RAMのあるアドレスの値を変更して行
っても良いし、マスタCPUからダイレクトにDSPの
汎用入力ポート(図示せず)へ信号を送っても良い。Next, when the value of the APR flag is 0, the area area for the job EFF1 in the range of 0 to the boundary address is designated (S14). Then, it is determined whether or not EFF1 is valid, and the flow of the effect program for job EFF1 is passed through normally (effect addition processing is performed), or
Alternatively, it is checked whether or not the sound effect program is to be passed through because of pre-processing by changing the sound effect (S1).
5). The information indicating whether or not this job is valid may be performed by the master CPU by changing the value of an address in the coefficient RAM, or a signal may be directly sent from the master CPU to a general-purpose input port (not shown) of the DSP. You can send it.
【0046】ジョブEFF1が有効な通常の時は、効果
プログラム(例えばコーラス効果)をコールする(S1
6)。この効果プログラムのコールは、命令メモリ(I
−RAM)の格納エリアに複数記憶された音響効果付加
ルーチンの中から、プログラムカウンタにより選択され
る。選択可能な音響効果プログラムは、全合計で前記命
令メモリの所定格納エリア内に納まるものでなければな
らない。そして音響効果付加ルーチン処理後その信号デ
ータには、係数C1aが乗算され、また前記レジスタI
1に記憶された入力In1には、係数C1bが乗算さ
れ、両値が加算され、それをテンポラリレジスタO1に
記憶させる。この時、上記係数C1a及びC1bの値を
適宜制御することで、音響効果の付加された信号と付加
されていない信号とをクロスフェードさせることができ
る(S18)。During the normal time when the job EFF1 is valid, an effect program (for example, chorus effect) is called (S1).
6). This effect program call uses the instruction memory (I
-A program is selected from a plurality of acoustic effect addition routines stored in a storage area of RAM) by a program counter. The total of the selectable sound effect programs must fit in a predetermined storage area of the instruction memory. After the acoustic effect addition routine processing, the signal data is multiplied by the coefficient C1a, and the register I
The input In1 stored in 1 is multiplied by the coefficient C1b, both values are added, and the result is stored in the temporary register O1. At this time, by appropriately controlling the values of the coefficients C1a and C1b, it is possible to crossfade the signal to which the acoustic effect is added and the signal to which the acoustic effect is not added (S18).
【0047】またEFF1が無効の場合は、音響効果プ
ログラムをスルーする前に、EFF1と同程度のステッ
プ数だけウェイトをかける(S17)。ここでは、例え
ばDSPに内蔵されたループ命令を用いて必要なステッ
プ数だけループさせる(係数RAMに書かれているEF
F1のステップ数をロードし、その数だけディレイさせ
る)。そして前述のように、音響効果付加処理の行われ
ていない楽音信号との間で、クロスフェード処理を行
い、更に該楽音信号と新たな音響効果が付加された楽音
信号との間でクロスフェード処理を行って、音響効果の
変更処理を終了する。If the EFF1 is invalid, a weight equivalent to the number of steps of the EFF1 is applied before passing through the sound effect program (S17). Here, for example, a loop instruction built in the DSP is used to perform a loop for a required number of steps (EF written in the coefficient RAM).
Load the number of steps in F1 and delay by that number). Then, as described above, crossfade processing is performed between the musical tone signal to which the acoustic effect addition processing has not been performed, and further crossfade processing between the musical tone signal and the musical sound signal to which the new acoustic effect has been added. Then, the sound effect changing process is ended.
【0048】次にAPRフラグの値が1で、境界アドレ
ス〜アドレスの上限の範囲のジョブEFF2用のエリア
領域の指定がなされる(S19)。以後ジョブEFF2
についても上記と同様な処理が繰り返される。Next, when the value of the APR flag is 1, the area area for the job EFF2 in the range from the boundary address to the upper limit of the address is designated (S19). After that, job EFF2
With respect to, the same processing as described above is repeated.
【0049】そしてRch入力を行い、図8におけるI
N1及びIN2からの信号を、レジスタI1及びI2
へ、In1及びIn2として取り込み、Rch出力は、
同図におけるOUT1及びOUT2へ、出力側のテンポ
ラリレジスタO1及びO2から、Out1及びOut2
の信号データを出力する(S20)。Then, Rch input is performed, and I in FIG.
The signals from N1 and IN2 are transferred to registers I1 and I2.
In, and import as In1 and In2, Rch output is
To the OUT1 and OUT2 in the figure, the temporary registers O1 and O2 on the output side are changed to Out1 and Out2.
The signal data of is output (S20).
【0050】最後に内部メモリ(D−RAM)のポイン
タ(DPTR)の値及び外部RAM(X−DRAM)の
ポインタ(XPTR)の値を歩進(+1)してサンプリ
ングクロック待ちの状態に戻る(S21)。これは、次
回のサンプリングに基づくプログラムで、同じデータR
AMアドレスを指定しても、実際には自動的に+1のア
ドレスをアクセスするためである。Finally, the value of the pointer (DPTR) of the internal memory (D-RAM) and the value of the pointer (XPTR) of the external RAM (X-DRAM) are incremented (+1) to return to the state of waiting for the sampling clock ( S21). This is a program based on the next sampling, and the same data R
This is because even if the AM address is specified, the +1 address is actually automatically accessed.
【0051】以上の参考例構成では、各ジョブ用のアド
レス領域の境に設定された境界アドレスによって、これ
らジョブプログラムの夫々に対し専用のメモリアクセス
エリアが確保される(各ジョブEFF用に独立したメモ
リ領域が割り当てられる)ため、1のジョブの実行中に
他のジョブのメモリエリアにアクセスするなどの不具合
を起こすことがなくなった。なお、上記構成でも、ジョ
ブEFF1とジョブEFF2用にメモリアクセスエリア
を設定した構成につき説明したが、それ以上の数のジョ
ブがある場合についても、同様に各独立したメモリアク
セスエリアを設定することが可能であることは言うまで
もない。In the above reference example configuration, a dedicated memory access area is secured for each of these job programs by the boundary address set at the boundary of the address area for each job (independent for each job EFF. Since the memory area is allocated), it is possible to prevent problems such as accessing the memory area of another job during execution of one job. In the above configuration as well, the configuration in which the memory access areas are set for the job EFF1 and the job EFF2 has been described. However, when there are more jobs than that, each independent memory access area can be similarly set. It goes without saying that it is possible.
【0052】なお、上記本実施形態に用いられたDSP
は、1サンプリングタイム内に時分割にて複数の独立し
たプログラムの演算を行わせることができるという特性
を有しているため、電子楽器、Desk Top Music、カラオ
ケ等の複数の音響効果を処理できる電子楽音発生システ
ムや、カーオーディオ、振動解析、アクティブノイズフ
ィルタなどの時分割処理システムなどにも利用できる。The DSP used in this embodiment is
Has the characteristic of being able to calculate multiple independent programs in a time-sharing manner within one sampling time, so it can process multiple acoustic effects such as electronic musical instruments, Desk Top Music, and karaoke. It can also be used for electronic tone generation systems and time-division processing systems such as car audio, vibration analysis, and active noise filters.
【0053】[0053]
【発明の効果】以上詳述した請求項1の発明の構成によ
れば、オフセットレジスタ並びにエリアレジスタは時分
割で処理する各ジョブプログラムが実行される前に互い
に異なるメモリ領域を指示するように設定され、それを
前提として、アドレスポインタの値とプログラム上のオ
ペランド値又は係数データとに基づき生成されるアドレ
ス値を、ジョブ毎に、当該ジョブが利用するオフセット
レジスタ並びにエリアレジスタに基づき定まるメモリ領
域内のアドレスに補正するようにしているため、各ジョ
ブプログラムは異なるメモリ領域をアクセスするように
なるという効果を奏することになる。従ってジョブ毎に
異なるメモリエリアを割り当てることができるようにな
り、複数のジョブの並列処理中に個々のジョブ毎に独立
してメモリアドレスが管理され、そのためたとえ並列処
理される複数のジョブが同一内容のプログラムであって
も、互いに他方のメモリエリアをアクセスできないこと
になる。According to the configuration of claim 1 which has been described in detail above, according to the present invention invention, to indicate different memory areas before each job program for processing in a time division offset register and area registers are runs A memory area that is set and, on the premise of that, an address value generated based on the value of the address pointer and the operand value or coefficient data on the program is determined for each job based on the offset register and area register used by the job. Since each address is corrected to the internal address, each job program has an effect of accessing different memory areas. Therefore, for each job
To be able to allocate different memory areas
Ri, memory address independently for each individual job during parallel processing of a plurality of jobs are managed, even the plurality of jobs if parallel processing because of a program of the same contents, the other memory area to each other Will not be accessible.
【図1】本願請求項1記載のDSPのメモリアドレス制
御装置の一実施形態の回路構成を示す概略図である。FIG. 1 is a schematic diagram showing a circuit configuration of an embodiment of a memory address control device of a DSP according to claim 1 of the present application.
【図2】上記構成におけるアドレス制御回路の動作タイ
ミングを示すタイムテーブルである。FIG. 2 is a time table showing the operation timing of the address control circuit in the above configuration.
【図3】上記構成におけるDSPのメモリエリアの割り
当て構成を示す説明図である。FIG. 3 is an explanatory diagram showing a memory area allocation configuration of the DSP in the above configuration.
【図4】上記構成を電子楽器から発せられる楽音に対し
てエフェクトをかけるDSPの構成として採用した場合
のプログラムの処理フローを示すフローチャートであ
る。FIG. 4 is a flowchart showing a processing flow of a program when the above configuration is adopted as a configuration of a DSP for applying an effect to a musical sound emitted from an electronic musical instrument.
【図5】DSPのメモリアドレス制御装置の参考例とな
る回路構成を示す概略図である。FIG. 5 is a reference example of a memory address control device of a DSP .
It is a schematic diagram showing a circuit configuration that.
【図6】上記構成におけるDSPのメモリエリアの割り
当て構成を示す説明図である。FIG. 6 is an explanatory diagram showing a memory area allocation configuration of the DSP in the above configuration.
【図7】上記構成を電子楽器から発せられる楽音に対し
てエフェクトをかけるDSPの構成として採用した場合
のプログラムの処理フローを示すフローチャートであ
る。FIG. 7 is a flowchart showing a processing flow of a program when the above configuration is adopted as a configuration of a DSP for applying an effect to a musical sound emitted from an electronic musical instrument.
【図8】従来のDSPにおけるメインルーチンのシグナ
ルフローを示す説明図である。FIG. 8 is an explanatory diagram showing a signal flow of a main routine in a conventional DSP.
【図9】DSPのI−RAM及びC−RAMのメモリマ
ップを示す説明図である。FIG. 9 is an explanatory diagram showing a memory map of I-RAM and C-RAM of the DSP.
【図10】従来のDSP内部のアドレス制御回路構成と
メモリエリアの割り当て構成を示す説明図である。FIG. 10 is an explanatory diagram showing a conventional address control circuit configuration in a DSP and a memory area allocation configuration.
【図11】上記従来のDSP構成による外部メモリ上の
視覚的なデータの流れを示す説明図である。FIG. 11 is an explanatory diagram showing a visual data flow on an external memory according to the conventional DSP configuration.
【図12】従来のDSPにおけるプログラムフローチャ
ートである。FIG. 12 is a program flowchart in a conventional DSP.
1、2、3、5、8、9、11、15、17、19
セレクタ
4、14
コンパレータ
6
差分器
7、16
補数変換器
10、18
加算器
12、13
ラッチ1, 2, 3, 5, 8, 9, 11, 15, 17, 19
Selector 4, 14
Comparator 6
Differentiator 7, 16
Complement converter 10, 18
Adders 12, 13
latch
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−137514(JP,A) 特開 平7−219839(JP,A) 特開 平3−222043(JP,A) 特開 昭60−15762(JP,A) 特開 昭53−146542(JP,A) 特開 平5−274276(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 12/00 - 12/06 G06F 12/14 ─────────────────────────────────────────────────── --Continued from the front page (56) References JP-A-2-137514 (JP, A) JP-A-7-219839 (JP, A) JP-A-3-222043 (JP, A) JP-A-60- 15762 (JP, A) JP 53-146542 (JP, A) JP 5-274276 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G06F 9/46 G06F 12 / 00-12/06 G06F 12/14
Claims (2)
トレジスタと、 メモリアドレスを記憶するアドレスポインタと、 該アドレスポインタの値とプログラム上のオペランド値
又は係数データとに基づき生成されるアドレスに対して
メモリアドレスの許容範囲を指定するエリアレジスタ
と、 複数のジョブを時分割で処理するプログラムとを有し、 これらのジョブプログラムは夫々異なるオフセットレジ
スタとエリアレジスタとを利用すると共に上記アドレス
ポインタを共通に利用し、それらのオフセットレジスタ
並びにエリアレジスタは上記時分割で処理する各ジョブ
プログラムが実行される前に互いに異なるメモリ領域を
指示するように設定され、アドレスポインタの値とプログラム上のオペランド値又
は係数データとに基づき生成さ れるアドレス値を、ジョ
ブ毎に、当該ジョブが利用するオフセットレジスタ並び
にエリアレジスタに基づき定まるメモリ領域内のアドレ
ス値に補正することで、各ジョブプログラムは異なるメ
モリ領域をアクセスすることを特徴とするDSPのメモ
リアドレス制御装置。1. An offset register for storing an offset address, an address pointer for storing a memory address, and a memory address for an address generated based on a value of the address pointer and an operand value or coefficient data on a program. It has an area register that specifies an allowable range and a program that processes a plurality of jobs in a time-sharing manner.These job programs use different offset registers and area registers, respectively, and commonly use the above address pointer, Those offset registers
And d rear register is set to indicate the different memory areas before each job program to be processed by the time-division is performed, the operand values on the value of the address pointer and the program also
Corrects the address value generated based on the coefficient data to the address value in the memory area determined based on the offset register and area register used by the job for each job, so that each job program can store different memory areas. A memory address control device of a DSP characterized by accessing.
制御装置において、各ジョブプログラムにおける前記オ
フセットレジスタはメモリアドレスの下限を示し、同じ
く各ジョブプログラムにおける前記エリアレジスタはメ
モリアドレスの上限を示すことを特徴とする請求項1記
載のDSPのメモリアドレス制御装置。2. The DSP memory address control device according to claim 1, wherein the offset register in each job program indicates a lower limit of the memory address, and the area register in each job program indicates an upper limit of the memory address. The memory address control device of the DSP according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01966197A JP3479196B2 (en) | 1997-01-20 | 1997-01-20 | DSP memory address control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01966197A JP3479196B2 (en) | 1997-01-20 | 1997-01-20 | DSP memory address control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10207764A JPH10207764A (en) | 1998-08-07 |
JP3479196B2 true JP3479196B2 (en) | 2003-12-15 |
Family
ID=12005439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01966197A Expired - Fee Related JP3479196B2 (en) | 1997-01-20 | 1997-01-20 | DSP memory address control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3479196B2 (en) |
-
1997
- 1997-01-20 JP JP01966197A patent/JP3479196B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10207764A (en) | 1998-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05100948A (en) | Speed improvement type data processing system executing square arithmetic operation and method thereof | |
US5567900A (en) | Electronic tone generator system with CPU and DSP | |
JP3479196B2 (en) | DSP memory address control device | |
US10061737B2 (en) | Signal processing device, method of signal processing, storage medium, and electronic musical instrument | |
JPS6343773B2 (en) | ||
JP3658826B2 (en) | Music generation method | |
JP2595992B2 (en) | Electronic musical instrument | |
JPH10198598A (en) | Memory address controller for dsp | |
JPS61228539A (en) | Address converting circuit | |
JPH02214938A (en) | Data processor | |
JPH02168331A (en) | Digital signal processor | |
JP2001005721A (en) | Method for filter processing by securing memory for ring buffer by dsp and its filter processing system | |
JP3005987B2 (en) | Digital signal processor | |
JPH07230358A (en) | Multiplexed volume device | |
JP3413369B2 (en) | Information processing device | |
KR100551458B1 (en) | Digital signal processing operation method and digital signal processor | |
US5932826A (en) | Effect adder circuit with a coefficient smoothing circuit for an electronic musical instrument | |
JPH02137514A (en) | Digital signal processor | |
JP3022186B2 (en) | Digital signal processor | |
JPH0719246B2 (en) | Digital signal processor | |
JPH03134782A (en) | Microcomputer incorporating a/d converter | |
JPH01300352A (en) | Dump area instruction control system | |
JPH0264828A (en) | Address trace circuit | |
JPS61115153A (en) | Data processor | |
JPH06332694A (en) | Table retrieving device in digital computer |
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: 20030924 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081003 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081003 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091003 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |