JP3127492B2 - アドレッシング演算回路 - Google Patents

アドレッシング演算回路

Info

Publication number
JP3127492B2
JP3127492B2 JP03172833A JP17283391A JP3127492B2 JP 3127492 B2 JP3127492 B2 JP 3127492B2 JP 03172833 A JP03172833 A JP 03172833A JP 17283391 A JP17283391 A JP 17283391A JP 3127492 B2 JP3127492 B2 JP 3127492B2
Authority
JP
Japan
Prior art keywords
address
memory
data
circuit
head address
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
JP03172833A
Other languages
English (en)
Other versions
JPH0580772A (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 JP03172833A priority Critical patent/JP3127492B2/ja
Publication of JPH0580772A publication Critical patent/JPH0580772A/ja
Application granted granted Critical
Publication of JP3127492B2 publication Critical patent/JP3127492B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、自然楽器の発音機構
をシミュレートする物理音源または残響付与装置に係
り、該物理音源や残響付与装置が備える複数の遅延回路
を構成するメモリのアドレスデータを生成するアドレッ
シング演算回路に関する。
【0002】
【従来の技術】物理音源では、自然楽器の発音機構シミ
ュレートするために、複数の遅延回路や所定の周波数特
性を有するフィルタなどが用いられている。これら遅延
回路やフィルタはデジタル回路によって構成されてお
り、発音モデルの特徴(音色)を表すための各種パラメ
ータ(遅延長など)がデジタルデータとして設定され
る。特に、遅延回路にはシフトレジスタとして動作する
ように構成されたメモリが用いられている。メモリを用
いるシフトレジスタはサンプル毎にデクリメント(また
はインクリメント)するポインタとアドレス(リード/
ライト)とを加算したメモリの番地に対しリード/ライ
トを行なうことで実現する。遅延長はリードとライトの
アドレスのオフセット(差)になる。1つのメモリ領域
に複数の遅延回路を実現できる(メモリ領域がオーバー
ラップしないようにすれば)。しかし、複音の物理モデ
ル音源ではしばしばノート毎にサンプリングを変える必
要を生じる。この場合、ノート毎に別のメモリ領域を用
いるようにしないとサンプルポインタが異なるのでメモ
リ領域の衝突を生じてしまう。
【0003】例えば、従来より知られている技術(第1
の技術)の1つには、メモリをハードウエアによって所
定の領域に分割し、この分割されたメモリ領域をアドレ
ス生成回路が出力するアドレスデータによってアクセス
するものがある。このアクセスの際、上記分割されたメ
モリ領域を巡回するようにアクセスすると、上記メモリ
領域は所定長のシフトレジスタとして動作する。
【0004】これに対して、特公平1−57799など
に開示されている技術(第2の技術)では、所定のディ
レイ・レングス・メモリに予め遅延長を設定しておき、
この遅延長の値を最大値とした巡回数(数列)となるア
ドレスデータを生成し、このアドレスデータによってメ
モリをアクセスする。このため、上述した音源と同様に
所定のメモリ領域がシフトレジスタとして働く。
【0005】
【発明が解決しようとする課題】ところで、上述した第
1の技術では、メモリ分割をハードウエアで行なってお
り、分割数は、例えば、1、2または4分割と固定であ
り、メモリ分割をソフトウエアで制御できない。すなわ
ち、メモリ領域に対する選択が3種類に固定されている
ため、メモリ領域の大きさの選択の自由度が無く、単純
な設定しかできず、複雑な信号処理が行なえないという
問題を生じた。
【0006】また、上述した第2の技術においても、シ
フトレジスタまたは遅延に用いられるメモリ長は、ディ
レイ・レングス・メモリの設定内容で決まってしまうた
め、ソフトウエアでの制御ができない。このため、シフ
トレジスタ長選択の自由度が少なく、単純な設定しかで
きず、複雑な信号処理が行なえないという問題を生じ
た。
【0007】この発明は上述した事情に鑑みてなされた
もので、ソフトウエアによりメモリ分割数を選択でき、
かつ、分割されたメモリ領域の大きさを各領域毎に設定
でき、さらに、異なるアドレス空間を容易に指定できる
ため、複数チャンネルに対する処理が容易にできるアド
レッシング演算回路を提供することを目的としている。
【0008】
【課題を解決するための手段】上述した問題点を解決す
るために、この発明では、図1に示すように、先頭アド
レスを修飾データによって修飾した後、該修飾された先
頭アドレスによってメモリをアクセスするアドレッシン
グ演算回路において、前記先頭アドレスが記憶される第
1の記憶手段(AR4)と、前記先頭アドレスを修飾す
複数の修飾データが記憶された第2の記憶手段(IX
9、IX10)と、前記第2の記憶手段に記憶された複
数の修飾データによる前記先頭アドレスの修飾を、各修
飾データ毎に有効/無効を切換え制御する手段(AND
回路12、13、制御信号IXEN、IYEN)と、前
記メモリのアクセス領域の範囲を決定する書き換え可能
なマスクデータが記憶された第3の記憶手段(MASK
11)と、前記マスクデータによるマスキング処理によ
って、前記先頭アドレスと前記修飾データとから実アド
レスを算出する演算手段(加算器16、AND回路1
7、18、OR回路19)とを備え、前記実アドレスに
よって前記メモリの所定の領域を巡回するようにアクセ
スすることを特徴とする。
【0009】
【作用】この発明によれば、演算手段によって、第3の
記憶手段に記憶されたメモリのアクセス領域の範囲を決
定する書き換え可能なマスクデータによるマスキング処
理により、先頭アドレスと修飾データとからメモリの所
定の領域を巡回するようにアクセスする実アドレス
される。ここで、マスクデータを変えると、アクセス
するメモリ領域の範囲が容易に変えられる。
【0010】
【実施例】次に図面を参照してこの発明の実施例つい
て説明する。図一はこの発明の一実施例の構成を示すブ
ロック図である。なお、本実施例のアドレッシング演算
回路は、DSP(デジタル信号プロセッサ)1から構成
されており、電子楽器等の音源に対する楽音信号の処理
に用いられる。また、このDSP1では、内部のメモリ
等に対するデータ処理は、8ビット単位の4バイトか、
あるいは16ビット単位の2バイトで行なわれており、
実質的に最大32ビットで行なわれている。また、外部
コントローラ2は音源などを制御する制御部であり、こ
の例の場合、遅延回路に所定の遅延量を設定するために
上記DSP1に対して所定のデータやコマンドを出力す
る。
【0011】上記DSP1は、マイクロプログラム・メ
モリ3、アドレスレジスタ4、係数メモリ5、テンポラ
リメモリ6、ALU7および各種レジスタなどから構成
されている。マイクロプログラム・メモリ3は、上記コ
マンドを実行するためのプログラム(マイクロプログラ
ム)が記憶される。このマイクロプログラムは、所定の
タイミングで実行され、DSP1の各部における動作、
例えば、データの読み込み、演算またはデータの出力な
どを行なうための各種制御信号(ARA、RCA、FU
NC……など)を各部へ出力する。
【0012】アドレスレジスタ4は、メモリシステム2
0の先頭アドレスAR(20ビット)が記憶されるレジ
スタであり、制御信号ARAに従って上記先頭アドレス
ARを加算器16へ供給する。また、係数メモリ5に
は、アドレスを算出するための係数が記憶されており、
制御信号RAM6は、読み出しと書込みとを別々に指定
できる2ポートRAMであり、同じアドレスを同時に読
み書きした場合には、読み出しを優先して、書込まれる
前の値を読み出すようになっている。このテンポラリR
AM6には、ALU7による演算の結果等のデータが一
時的に記憶されるようになっており、制御信号RTAに
従って上記データをALU7へ供給する。
【0013】ALU7は、算術演算、論理演算を行なう
回路であり、加減乗除を行なう複数の論理演算回路から
構成されている。このALU7は、楽音信号に対する演
算処理を行なうとともに、上記係数に従ってアドレス修
飾用の複数の修飾データ(20ビット)を算出し、これ
らをデータバスDBを介してインデックスレジスタAC
8,IX9,IY10へ出力するとともに、マスクデー
タMSK(20ビット)を算出し、これをマスク・レジ
スタMASKへ出力する。上記修飾データによって、レ
ジスタとして動作するメモリの先頭アドレスに対するオ
フセット値が得られる。また、マスクデータMSKによ
って、メモリシステム20のアクセス範囲の可変設定を
可能にしている。
【0014】上記インデックスレジスタAC8,IX
9,およびIY10は、修飾データを一時記憶し、所定
のタイミングでAND回路12、13および14の各々
の一方の入力端へ供給する。また、マスク・レジスタM
ASKは、マスクデータMSKを一時記憶し、所定のタ
イミングでAND回路15の一方の入力端へ供給する。
【0015】AND回路12はゲート回路として動作
し、他方の入力端(負論理)に供給される制御信号CN
TINHに従って、インデックスレジスタAC8から供
給される修飾データを加算器へ供給する。すなわち、制
御信号CNTINHがハイレベルの時には、インデック
スレジスタAC8のデータによるアドレスの修飾が無効
となる。
【0016】また、AND回路13および14も上記A
ND回路12と同様に動作し、各々、他方の入力端に供
給される制御信号IXEN,IYENに従って、それぞ
れに対応したインデックスレジスタIX9,IY10の
修飾データを加算器16へ供給する。すなわち、制御信
号IXENおよびIYENがハイレベルの時には、それ
ぞれのレジスタIX9,IY10の修飾データによるア
ドレスの修飾が有効となる。さらに、AND回路15
は、制御信号AMASKに従って、マスク・レジスタM
ASKのマスクデータMSKをAMD回路17の一方の
入力端およびAND回路18の論理入力端へ供給す
る。
【0017】上記加算器16は、修飾データ、先頭アド
レスARおよび次アドレスNEXTを加算し、この結果
を修飾先頭アドレスMAR(20ビット)としてAND
回路18の他方の入力端へ供給する。なお、次アドレス
NEXTは、修飾される先頭アドレスを順次インクリメ
ントするためのものである。該AND回路18は、修飾
先頭アドレスMARと反転したマスクデータMSKとの
論理積をとり、その結果をマスクされた修飾先頭アドレ
スMMAR(20ビット)としてOR回路19の一方の
入力端へ供給する。
【0018】また、AND回路17は、先頭アドレスA
RとマスクデータMSKとの論理積をとり、その結果を
マスクされた先頭アドレスMSAR(20ビット)とし
てOR回路19の他方の入力端へ供給する。該OR回路
19は、修飾先頭アドレスMMARと先頭アドレスMS
ARとの論理和をとり、この結果を実アドレスTAR
(20ビット)としてメモリシステム20へ供給する。
【0019】メモリシステム20は、実アドレスTAR
によって指示される所定の領域が巡回するようにアクセ
スされ、音源内の遅延回路のシフトレジスタとして動作
し、遅延用のデータ(32ビット)をデータバスDBを
介して入出力する。また、メモリシステム20は、複数
のチャンネルに対してメモリ領域を設定するために、複
数の領域に分割される必要がある。この分割は、上述し
たマスクデータMSKの値を変えることによって容易に
変更することができるようになっている。
【0020】次に、上述した構成による動作について、
図2および図3を参照して説明する。図2は本実施例の
動作を説明するためのアドレッシング演算の一例を示す
説明図であり、図3はマスクデータMSK,先頭アドレ
スARに異なる値を設定した場合のメモリ長と実アドレ
スTARを示す説明図である。まず、図1において、外
部コントローラ2が所定の命令を出力すると、マイクロ
プログラムメモリ3に該命令のマイクロプログラムが展
開され、DSP1は該マイクロプログラムに従って、演
算を実行する。
【0021】まず、アドレスレジスタ4は、上記外部コ
ントローラ2の命令に応じて、アクセスすべきメモリ領
域の先頭アドレスARを出力し、加算器16およびAN
D回路17へ供給する。また、係数メモリ5およびテン
ポラリメモリ6は、それぞれ所定のデータをALU7へ
供給する。ALU7は先頭アドレスARを修飾するため
の修飾データおよびマスクデータMSKを算出して、そ
れぞれ所定のインデックスレジスタAC8,IX9,I
Y10およびマスクレジスタMASK11へ供給する。
【0022】そして、インデックスレジスタAC8,I
X9およびIY10の修飾データは、各々、制御信号C
NTINH,IXENおよびIYENに従ってAND回
路12、13、14を介して加算器16へ供給される。
加算器16では、先頭アドレスARに上記修飾データを
加算することによって先頭アドレスARを修飾し、修飾
先頭アドレスMARとしてAND回路18へ供給する。
【0023】ここで、制御信号AMASKが0の時に
は、AND回路15が閉状態となり、一方のAND回路
17では先頭アドレスARが「0」とマスキングされる
ため、全て無効となり、他方のAND回路18では上記
修飾先頭アドレスARが「1」とマスキングされるた
め、全て有効となってOR回路19を介して、実アドレ
スTARとしてメモリシステム20へ供給される。そし
て、メモリシステム20では、所定の領域が実アドレス
TARによって巡回するようにアクセスされ、遅延回路
のシフトレジスタとして動作し、遅延用のデータ(32
ビット)をデータバスDBを介して出力する。
【0024】一方、制御信号AMASKが1の時には、
AND回路15が開状態となり、一方のAND回路17
では先頭アドレスARがマスクデータMSKとそのまま
マスキングされる。すなわち、マスクデータMSKのビ
ットが「0」の部分は無効となり、「1」の部分は有効
となる。例えば、メモリ領域として図2に示すように、
「$00100」〜「$001FF」を設定する場合
(モジュロ256)には、マスクデータMSKに「$F
FF00」を設定し、先頭アドレスARに「$0010
0」を設定する。そして、この場合、アドレスが、例え
ば、図示のように「$00140」であるとすると、A
ND回路18の出力は「$00100」となる。
【0025】また、他方のAND回路18では修飾され
たアドレス、すなわち修飾アドレスMARがマスキング
される。この場合、マスクデータMSKのビットが
「0」の部分は有効となり、「1」の部分は無効とな
る。ここで、修飾アドレスMARが図示のように「$0
0297」とすると(修飾データによるオフセットが
「$00157」であると)、AND回路18の出力は
「$00097」となる。
【0026】そして、OR回路19において、上記「$
00100」と「$00097」との論理和がとられ
て、最終的に実アドレスTARは「$00197」とな
る(図2参照)。そして、メモリシステム20では、所
定の領域が実アドレスTARによってアクセスされる。
以下、所定の領域が実アドレスTARによって巡回する
ようにアクセスされ、メモリシステム20は、遅延回路
のシフトレジスタとして動作し、遅延用のデータ(32
ビット)をデータバスDBを介して出力する。
【0027】このように、マスクデータMSKを「$F
FF00」に設定し、例えば先頭アドレスARが「$0
0000」〜「$000FF」の範囲にある場合、実ア
ドレスTARの取り得る範囲は「$00000」〜「$
000FF」である(図3のCH1参照)。また、マス
クデータMSKが「$FFE00」に設定され、先頭ア
ドレスARが「$00200」〜「$003FF」の範
囲にある場合、実アドレスTARの取り得る範囲は「$
00200」〜「$003FF」となる(図3のCH2
参照)。
【0028】以上のように、この実施例では、マスクデ
ータMSKの値をソフトウエア(マイクロプログラム)
で変えることによってメモリ領域の範囲を変更すること
ができるようになる。また、先頭アドレスARの値をソ
フトウエアで変えることによって異なるメモリ領域が容
易に指定できる(複数のチャンネルの処理が容易にな
る)。
【0029】なお、上述した実施例では、マスクレジス
タの内容を「$FFF00」または「$FFE00」に
設定した場合、すなわち0〜(2N−1)の範囲(Nは
固定)で設定する場合について説明したが、Nを与える
ようにしてもよい。また、アドレスのビット数(この実
施例の場合には20ビット)、インデックスレジスタの
数やその機能は実施例に限定されず、次アドレス指定の
機能も限定されることはない。
【0030】また、実施例では、実アドレスを得るため
にOR回路19を用いたが、これに限定されることな
く、加算器などでもよい。また、アドレスレジスタ4
は、複数のレジスタを切替える方式でも、あるいは、マ
イクロプログラムと並列に記憶され、命令毎にベースア
ドレス(先頭アドレス)を持つようにしてもよい。
【0031】
【発明の効果】以上、説明したように、この発明によれ
ば、演算手段によ第3の記憶手段に記憶されたメモリ
のアクセス領域の範囲を決定する書き換え可能なマスク
データによるマスキング処理によって、先頭アドレスと
修飾データとからメモリの所定の領域を巡回するように
アクセスする実アドレスを算出するようにしたため、ソ
フトウェアによりメモリ分割数を選択でき、かつ、分割
されたメモリ領域の大きさを各領域毎に設定でき、さら
に、異なるアドレス空間を容易に指定できるため、複数
チャネルに対する処理が容易にできるという利点が得ら
れる。
【図面の簡単な説明】
【図1】 本発明の一実施例の構成を示すブロック図で
ある。
【図2】 図2は本実施例の動作を説明するためのアド
レッシング演算の一例を示す説明図である。
【図3】 図3はマスクデータMSK、先頭アドレスA
Rに異なる値を設定した場合のメモリ長と実アドレスT
ARを示す説明図である。
【符号の説明】
4……アドレスレジスタ(第1の記憶手段)、5……係
数メモリ(第2の記憶手段)、6……テンポラリメモリ
(第2の記憶手段)、7……ALU(演算手段)、16
……加算器(演算手段)、17,18……AND回路
(演算手段)、19……OR回路(演算手段)、20…
…メモリシステム(メモリ)。
フロントページの続き (56)参考文献 特開 昭58−75314(JP,A) 特開 昭61−265646(JP,A) 特開 平2−173846(JP,A) 特開 平2−23439(JP,A) 特開 平1−121985(JP,A) 特開 昭63−158622(JP,A) 特開 平3−182946(JP,A) 特開 平2−183351(JP,A) 実開 昭54−61536(JP,U) 特公 昭62−44353(JP,B2) (58)調査した分野(Int.Cl.7,DB名) G10H 7/02 G06F 12/02 550 G06F 15/02 580 G10K 15/12 H03H 17/02 653

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 先頭アドレスを修飾データによって修飾
    した後、該修飾された先頭アドレスによってメモリをア
    クセスするアドレッシング演算回路において、 前記先頭アドレスが記憶される第1の記憶手段と、 前記先頭アドレスを修飾する複数の前記修飾データが記
    憶された第2の記憶手段と、前記第2の記憶手段に記憶された複数の修飾データによ
    る前記先頭アドレスの修飾を、各修飾データ毎に有効/
    無効を切換え制御する手段と 、 前記メモリのアクセス領域の範囲を決定する書き換え可
    能なマスクデータが記憶された第3の記憶手段と、 前記マスクデータによるマスキング処理によって、前記
    先頭アドレスと前記修飾データとから実アドレスを算出
    する演算手段とを備え、 前記実アドレスによって前記メモリの所定の領域を巡回
    するようにアクセスすることを特徴とするアドレッシン
    グ演算回路。
JP03172833A 1991-07-12 1991-07-12 アドレッシング演算回路 Expired - Fee Related JP3127492B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03172833A JP3127492B2 (ja) 1991-07-12 1991-07-12 アドレッシング演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03172833A JP3127492B2 (ja) 1991-07-12 1991-07-12 アドレッシング演算回路

Publications (2)

Publication Number Publication Date
JPH0580772A JPH0580772A (ja) 1993-04-02
JP3127492B2 true JP3127492B2 (ja) 2001-01-22

Family

ID=15949197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03172833A Expired - Fee Related JP3127492B2 (ja) 1991-07-12 1991-07-12 アドレッシング演算回路

Country Status (1)

Country Link
JP (1) JP3127492B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5875314A (ja) * 1981-10-29 1983-05-07 Sony Corp 信号処理装置

Also Published As

Publication number Publication date
JPH0580772A (ja) 1993-04-02

Similar Documents

Publication Publication Date Title
KR880001168B1 (ko) 디지탈 신호처리 시스템
JP2976429B2 (ja) アドレス制御回路
JPH07122973A (ja) デジタル信号処理回路
JP3297213B2 (ja) 集積回路シミュレータ及び集積回路のシミュレーション方法
JP3127492B2 (ja) アドレッシング演算回路
JPS6141017B2 (ja)
US5761737A (en) Data driven type information processing apparatus having improved generation number translation
US5708842A (en) Apparatus for changing coefficients utilized to perform a convolution operation having address generator which uses initial count number and up/down count inputs received from external
JP3212709B2 (ja) ロジックシミュレーション装置
US6202187B1 (en) Pattern generator for use in a semiconductor test device
JPH04222111A (ja) ディジタルフィルタ
JPH03204695A (ja) 楽音合成装置
JPH03652B2 (ja)
JP2576805Y2 (ja) 楽音生成用lsi
JP2581214B2 (ja) 論理シミュレータ
JPH01263819A (ja) 集積回路
JP3406410B2 (ja) 情報処理装置用の試験装置
JPH0721760B2 (ja) ディジタル演算回路
JPH08272612A (ja) パイプライン計算機シミュレータ
JPS60218146A (ja) 記憶装置アドレス制御方式
JPH096349A (ja) 信号処理装置
JPH031226A (ja) データ処理装置
JPH03196337A (ja) 旧値保存型記憶装置
JPH06149660A (ja) メモリアクセス装置
JPH06110453A (ja) 効果付加装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000516

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001010

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071110

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081110

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees