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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Description
をシミュレートする物理音源または残響付与装置に係
り、該物理音源や残響付与装置が備える複数の遅延回路
を構成するメモリのアドレスデータを生成するアドレッ
シング演算回路に関する。
ュレートするために、複数の遅延回路や所定の周波数特
性を有するフィルタなどが用いられている。これら遅延
回路やフィルタはデジタル回路によって構成されてお
り、発音モデルの特徴(音色)を表すための各種パラメ
ータ(遅延長など)がデジタルデータとして設定され
る。特に、遅延回路にはシフトレジスタとして動作する
ように構成されたメモリが用いられている。メモリを用
いるシフトレジスタはサンプル毎にデクリメント(また
はインクリメント)するポインタとアドレス(リード/
ライト)とを加算したメモリの番地に対しリード/ライ
トを行なうことで実現する。遅延長はリードとライトの
アドレスのオフセット(差)になる。1つのメモリ領域
に複数の遅延回路を実現できる(メモリ領域がオーバー
ラップしないようにすれば)。しかし、複音の物理モデ
ル音源ではしばしばノート毎にサンプリングを変える必
要を生じる。この場合、ノート毎に別のメモリ領域を用
いるようにしないとサンプルポインタが異なるのでメモ
リ領域の衝突を生じてしまう。
の技術)の1つには、メモリをハードウエアによって所
定の領域に分割し、この分割されたメモリ領域をアドレ
ス生成回路が出力するアドレスデータによってアクセス
するものがある。このアクセスの際、上記分割されたメ
モリ領域を巡回するようにアクセスすると、上記メモリ
領域は所定長のシフトレジスタとして動作する。
に開示されている技術(第2の技術)では、所定のディ
レイ・レングス・メモリに予め遅延長を設定しておき、
この遅延長の値を最大値とした巡回数(数列)となるア
ドレスデータを生成し、このアドレスデータによってメ
モリをアクセスする。このため、上述した音源と同様に
所定のメモリ領域がシフトレジスタとして働く。
1の技術では、メモリ分割をハードウエアで行なってお
り、分割数は、例えば、1、2または4分割と固定であ
り、メモリ分割をソフトウエアで制御できない。すなわ
ち、メモリ領域に対する選択が3種類に固定されている
ため、メモリ領域の大きさの選択の自由度が無く、単純
な設定しかできず、複雑な信号処理が行なえないという
問題を生じた。
フトレジスタまたは遅延に用いられるメモリ長は、ディ
レイ・レングス・メモリの設定内容で決まってしまうた
め、ソフトウエアでの制御ができない。このため、シフ
トレジスタ長選択の自由度が少なく、単純な設定しかで
きず、複雑な信号処理が行なえないという問題を生じ
た。
もので、ソフトウエアによりメモリ分割数を選択でき、
かつ、分割されたメモリ領域の大きさを各領域毎に設定
でき、さらに、異なるアドレス空間を容易に指定できる
ため、複数チャンネルに対する処理が容易にできるアド
レッシング演算回路を提供することを目的としている。
るために、この発明では、図1に示すように、先頭アド
レスを修飾データによって修飾した後、該修飾された先
頭アドレスによってメモリをアクセスするアドレッシン
グ演算回路において、前記先頭アドレスが記憶される第
1の記憶手段(AR4)と、前記先頭アドレスを修飾す
る複数の修飾データが記憶された第2の記憶手段(IX
9、IX10)と、前記第2の記憶手段に記憶された複
数の修飾データによる前記先頭アドレスの修飾を、各修
飾データ毎に有効/無効を切換え制御する手段(AND
回路12、13、制御信号IXEN、IYEN)と、前
記メモリのアクセス領域の範囲を決定する書き換え可能
なマスクデータが記憶された第3の記憶手段(MASK
11)と、前記マスクデータによるマスキング処理によ
って、前記先頭アドレスと前記修飾データとから実アド
レスを算出する演算手段(加算器16、AND回路1
7、18、OR回路19)とを備え、前記実アドレスに
よって前記メモリの所定の領域を巡回するようにアクセ
スすることを特徴とする。
記憶手段に記憶されたメモリのアクセス領域の範囲を決
定する書き換え可能なマスクデータによるマスキング処
理により、先頭アドレスと修飾データとからメモリの所
定の領域を巡回するようにアクセスする実アドレスが算
出される。ここで、マスクデータを変えると、アクセス
するメモリ領域の範囲が容易に変えられる。
て説明する。図一はこの発明の一実施例の構成を示すブ
ロック図である。なお、本実施例のアドレッシング演算
回路は、DSP(デジタル信号プロセッサ)1から構成
されており、電子楽器等の音源に対する楽音信号の処理
に用いられる。また、このDSP1では、内部のメモリ
等に対するデータ処理は、8ビット単位の4バイトか、
あるいは16ビット単位の2バイトで行なわれており、
実質的に最大32ビットで行なわれている。また、外部
コントローラ2は音源などを制御する制御部であり、こ
の例の場合、遅延回路に所定の遅延量を設定するために
上記DSP1に対して所定のデータやコマンドを出力す
る。
モリ3、アドレスレジスタ4、係数メモリ5、テンポラ
リメモリ6、ALU7および各種レジスタなどから構成
されている。マイクロプログラム・メモリ3は、上記コ
マンドを実行するためのプログラム(マイクロプログラ
ム)が記憶される。このマイクロプログラムは、所定の
タイミングで実行され、DSP1の各部における動作、
例えば、データの読み込み、演算またはデータの出力な
どを行なうための各種制御信号(ARA、RCA、FU
NC……など)を各部へ出力する。
0の先頭アドレスAR(20ビット)が記憶されるレジ
スタであり、制御信号ARAに従って上記先頭アドレス
ARを加算器16へ供給する。また、係数メモリ5に
は、アドレスを算出するための係数が記憶されており、
制御信号RAM6は、読み出しと書込みとを別々に指定
できる2ポートRAMであり、同じアドレスを同時に読
み書きした場合には、読み出しを優先して、書込まれる
前の値を読み出すようになっている。このテンポラリR
AM6には、ALU7による演算の結果等のデータが一
時的に記憶されるようになっており、制御信号RTAに
従って上記データをALU7へ供給する。
回路であり、加減乗除を行なう複数の論理演算回路から
構成されている。このALU7は、楽音信号に対する演
算処理を行なうとともに、上記係数に従ってアドレス修
飾用の複数の修飾データ(20ビット)を算出し、これ
らをデータバスDBを介してインデックスレジスタAC
8,IX9,IY10へ出力するとともに、マスクデー
タMSK(20ビット)を算出し、これをマスク・レジ
スタMASKへ出力する。上記修飾データによって、レ
ジスタとして動作するメモリの先頭アドレスに対するオ
フセット値が得られる。また、マスクデータMSKによ
って、メモリシステム20のアクセス範囲の可変設定を
可能にしている。
9,およびIY10は、修飾データを一時記憶し、所定
のタイミングでAND回路12、13および14の各々
の一方の入力端へ供給する。また、マスク・レジスタM
ASKは、マスクデータMSKを一時記憶し、所定のタ
イミングでAND回路15の一方の入力端へ供給する。
し、他方の入力端(負論理)に供給される制御信号CN
TINHに従って、インデックスレジスタAC8から供
給される修飾データを加算器へ供給する。すなわち、制
御信号CNTINHがハイレベルの時には、インデック
スレジスタAC8のデータによるアドレスの修飾が無効
となる。
ND回路12と同様に動作し、各々、他方の入力端に供
給される制御信号IXEN,IYENに従って、それぞ
れに対応したインデックスレジスタIX9,IY10の
修飾データを加算器16へ供給する。すなわち、制御信
号IXENおよびIYENがハイレベルの時には、それ
ぞれのレジスタIX9,IY10の修飾データによるア
ドレスの修飾が有効となる。さらに、AND回路15
は、制御信号AMASKに従って、マスク・レジスタM
ASKのマスクデータMSKをAMD回路17の一方の
入力端およびAND回路18の負論理入力端へ供給す
る。
レスARおよび次アドレスNEXTを加算し、この結果
を修飾先頭アドレスMAR(20ビット)としてAND
回路18の他方の入力端へ供給する。なお、次アドレス
NEXTは、修飾される先頭アドレスを順次インクリメ
ントするためのものである。該AND回路18は、修飾
先頭アドレスMARと反転したマスクデータMSKとの
論理積をとり、その結果をマスクされた修飾先頭アドレ
スMMAR(20ビット)としてOR回路19の一方の
入力端へ供給する。
RとマスクデータMSKとの論理積をとり、その結果を
マスクされた先頭アドレスMSAR(20ビット)とし
てOR回路19の他方の入力端へ供給する。該OR回路
19は、修飾先頭アドレスMMARと先頭アドレスMS
ARとの論理和をとり、この結果を実アドレスTAR
(20ビット)としてメモリシステム20へ供給する。
によって指示される所定の領域が巡回するようにアクセ
スされ、音源内の遅延回路のシフトレジスタとして動作
し、遅延用のデータ(32ビット)をデータバスDBを
介して入出力する。また、メモリシステム20は、複数
のチャンネルに対してメモリ領域を設定するために、複
数の領域に分割される必要がある。この分割は、上述し
たマスクデータMSKの値を変えることによって容易に
変更することができるようになっている。
図2および図3を参照して説明する。図2は本実施例の
動作を説明するためのアドレッシング演算の一例を示す
説明図であり、図3はマスクデータMSK,先頭アドレ
スARに異なる値を設定した場合のメモリ長と実アドレ
スTARを示す説明図である。まず、図1において、外
部コントローラ2が所定の命令を出力すると、マイクロ
プログラムメモリ3に該命令のマイクロプログラムが展
開され、DSP1は該マイクロプログラムに従って、演
算を実行する。
ントローラ2の命令に応じて、アクセスすべきメモリ領
域の先頭アドレスARを出力し、加算器16およびAN
D回路17へ供給する。また、係数メモリ5およびテン
ポラリメモリ6は、それぞれ所定のデータをALU7へ
供給する。ALU7は先頭アドレスARを修飾するため
の修飾データおよびマスクデータMSKを算出して、そ
れぞれ所定のインデックスレジスタAC8,IX9,I
Y10およびマスクレジスタMASK11へ供給する。
X9およびIY10の修飾データは、各々、制御信号C
NTINH,IXENおよびIYENに従ってAND回
路12、13、14を介して加算器16へ供給される。
加算器16では、先頭アドレスARに上記修飾データを
加算することによって先頭アドレスARを修飾し、修飾
先頭アドレスMARとしてAND回路18へ供給する。
は、AND回路15が閉状態となり、一方のAND回路
17では先頭アドレスARが「0」とマスキングされる
ため、全て無効となり、他方のAND回路18では上記
修飾先頭アドレスARが「1」とマスキングされるた
め、全て有効となってOR回路19を介して、実アドレ
スTARとしてメモリシステム20へ供給される。そし
て、メモリシステム20では、所定の領域が実アドレス
TARによって巡回するようにアクセスされ、遅延回路
のシフトレジスタとして動作し、遅延用のデータ(32
ビット)をデータバスDBを介して出力する。
AND回路15が開状態となり、一方のAND回路17
では先頭アドレスARがマスクデータMSKとそのまま
マスキングされる。すなわち、マスクデータMSKのビ
ットが「0」の部分は無効となり、「1」の部分は有効
となる。例えば、メモリ領域として図2に示すように、
「$00100」〜「$001FF」を設定する場合
(モジュロ256)には、マスクデータMSKに「$F
FF00」を設定し、先頭アドレスARに「$0010
0」を設定する。そして、この場合、アドレスが、例え
ば、図示のように「$00140」であるとすると、A
ND回路18の出力は「$00100」となる。
たアドレス、すなわち修飾アドレスMARがマスキング
される。この場合、マスクデータMSKのビットが
「0」の部分は有効となり、「1」の部分は無効とな
る。ここで、修飾アドレスMARが図示のように「$0
0297」とすると(修飾データによるオフセットが
「$00157」であると)、AND回路18の出力は
「$00097」となる。
00100」と「$00097」との論理和がとられ
て、最終的に実アドレスTARは「$00197」とな
る(図2参照)。そして、メモリシステム20では、所
定の領域が実アドレスTARによってアクセスされる。
以下、所定の領域が実アドレスTARによって巡回する
ようにアクセスされ、メモリシステム20は、遅延回路
のシフトレジスタとして動作し、遅延用のデータ(32
ビット)をデータバスDBを介して出力する。
FF00」に設定し、例えば先頭アドレスARが「$0
0000」〜「$000FF」の範囲にある場合、実ア
ドレスTARの取り得る範囲は「$00000」〜「$
000FF」である(図3のCH1参照)。また、マス
クデータMSKが「$FFE00」に設定され、先頭ア
ドレスARが「$00200」〜「$003FF」の範
囲にある場合、実アドレスTARの取り得る範囲は「$
00200」〜「$003FF」となる(図3のCH2
参照)。
ータMSKの値をソフトウエア(マイクロプログラム)
で変えることによってメモリ領域の範囲を変更すること
ができるようになる。また、先頭アドレスARの値をソ
フトウエアで変えることによって異なるメモリ領域が容
易に指定できる(複数のチャンネルの処理が容易にな
る)。
タの内容を「$FFF00」または「$FFE00」に
設定した場合、すなわち0〜(2N−1)の範囲(Nは
固定)で設定する場合について説明したが、Nを与える
ようにしてもよい。また、アドレスのビット数(この実
施例の場合には20ビット)、インデックスレジスタの
数やその機能は実施例に限定されず、次アドレス指定の
機能も限定されることはない。
にOR回路19を用いたが、これに限定されることな
く、加算器などでもよい。また、アドレスレジスタ4
は、複数のレジスタを切替える方式でも、あるいは、マ
イクロプログラムと並列に記憶され、命令毎にベースア
ドレス(先頭アドレス)を持つようにしてもよい。
ば、演算手段による第3の記憶手段に記憶されたメモリ
のアクセス領域の範囲を決定する書き換え可能なマスク
データによるマスキング処理によって、先頭アドレスと
修飾データとからメモリの所定の領域を巡回するように
アクセスする実アドレスを算出するようにしたため、ソ
フトウェアによりメモリ分割数を選択でき、かつ、分割
されたメモリ領域の大きさを各領域毎に設定でき、さら
に、異なるアドレス空間を容易に指定できるため、複数
チャネルに対する処理が容易にできるという利点が得ら
れる。
ある。
レッシング演算の一例を示す説明図である。
Rに異なる値を設定した場合のメモリ長と実アドレスT
ARを示す説明図である。
数メモリ(第2の記憶手段)、6……テンポラリメモリ
(第2の記憶手段)、7……ALU(演算手段)、16
……加算器(演算手段)、17,18……AND回路
(演算手段)、19……OR回路(演算手段)、20…
…メモリシステム(メモリ)。
Claims (1)
- 【請求項1】 先頭アドレスを修飾データによって修飾
した後、該修飾された先頭アドレスによってメモリをア
クセスするアドレッシング演算回路において、 前記先頭アドレスが記憶される第1の記憶手段と、 前記先頭アドレスを修飾する複数の前記修飾データが記
憶された第2の記憶手段と、前記第2の記憶手段に記憶された複数の修飾データによ
る前記先頭アドレスの修飾を、各修飾データ毎に有効/
無効を切換え制御する手段と 、 前記メモリのアクセス領域の範囲を決定する書き換え可
能なマスクデータが記憶された第3の記憶手段と、 前記マスクデータによるマスキング処理によって、前記
先頭アドレスと前記修飾データとから実アドレスを算出
する演算手段とを備え、 前記実アドレスによって前記メモリの所定の領域を巡回
するようにアクセスすることを特徴とするアドレッシン
グ演算回路。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5875314A (ja) * | 1981-10-29 | 1983-05-07 | Sony Corp | 信号処理装置 |
-
1991
- 1991-07-12 JP JP03172833A patent/JP3127492B2/ja not_active Expired - Fee Related
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 |