JP3288074B2 - アドレス生成回路 - Google Patents

アドレス生成回路

Info

Publication number
JP3288074B2
JP3288074B2 JP19934092A JP19934092A JP3288074B2 JP 3288074 B2 JP3288074 B2 JP 3288074B2 JP 19934092 A JP19934092 A JP 19934092A JP 19934092 A JP19934092 A JP 19934092A JP 3288074 B2 JP3288074 B2 JP 3288074B2
Authority
JP
Japan
Prior art keywords
address
data
holding
register
output
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
JP19934092A
Other languages
English (en)
Other versions
JPH0644130A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP19934092A priority Critical patent/JP3288074B2/ja
Publication of JPH0644130A publication Critical patent/JPH0644130A/ja
Application granted granted Critical
Publication of JP3288074B2 publication Critical patent/JP3288074B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はアドレス生成回路に関
し、特に音声信号等,時系列データをあつかう信号処理
装置のデータメモリのアドレスを生成するアドレス生成
回路に関する。
【0002】
【従来の技術】従来、音声信号処理等の時系列データを
扱う信号処理装置におけるデータメモリアドレスを生成
するアドレス生成回路は、アドレスを保持するためのポ
インタは各々のメモリ領域に対して1系統,あるいは2
系統しか保有していなかった。
【0003】時系列データ処理の例として、ここではオ
ーディオ・データ処理装置の場合について説明する。
【0004】オーディオ・データ処理においては、サン
プリング周期ごとに1セットのオーディオ・データが入
力され、このサンプリング周期に同期して処理演算が施
され、次のサンプリング周期中に入力データに同期させ
て演算結果を出力する。この処理演算の主なものはフィ
ルタ演算処理である。フィルタ演算は、入力データある
いは演算途中のデータを数サンプリング周期の間保持し
この保持するデータを読み出し新たに入力されるデータ
との演算を行い、この新しい入力データを新しい演算途
中のデータとして新規に保持(更新)する操作によって
実現される。これらのデータ保持手段として通常はデー
タメモリが用いるれ、データの読み出し、書き込みを行
う際のアドレスの生成方法により効率的なデータメモリ
の使用が行える方が取られて来た。
【0005】例えば図4に示すように、2次IIRフィ
ルタ10a〜10cを組合せて実現する際の音声信号処
理を行う装置において、そのデータメモリのメモリ・マ
ップを図5に示す。これら図面によりデータメモリ20
のアドレス生成の動作を説明する。
【0006】図4は時間nにおける2次IIRフィルタ
部のシグナルフローチャートであり、10a,10b,
10cから成る2次IIRフィルタの3段縦続接続構成
を取る。2次IIRフィルタ10aの非帰還側のデータ
をA1n,帰還側のデータをB1nとする。ここでA1
nの1は、第1番目の2次IIRフィルタ10aである
ことを示し、nは時間nのデータである事を示す。同様
に2次IIRフィルタ10bでは、各々のデータをA2
n,B2n、フィルタ10cではA3n,B3nとす
る。
【0007】今、時間nにおいて図4に示す2次IIR
フィルタ10aの演算を行う。この際データメモリ20
の開始アドレスをmとする。まず節点N1のデータを演
算するためにm番地の格納されているデータA1(n−
2)を読み出し、同時にアドレス・ポインタの値を+1
する。次に節点N2のデータを演算するため、(m+
1)番地に格納されているデータA1(n−1)を読み
出し、同時にアドレス・ポインタの値を+1する。次に
入力データから演算したデータA1nをアドレス(m+
2)に書き込み、同時にアドレス・ポインタの値を+1
する。同様にして順次データの読み出しおよび書き込み
を行う。
【0008】アドレス(m+3)からB1(n−2)、
アドレス(m+4)からB1(n−1)を読み出し、ア
ドレス(m+5)にB1nを書き込む。アドレス(m+
6)からA2(n−2)を読み出し、アドレス(m+
7)からA2(n−1)を読み出し、アドレス(m+
8)にA2nを書き込む。アドレス(m+9)からB2
(n−2)を読み出し、アドレス(m+10)からB2
(n−1)を読み出し、アドレス(m+11)に書き込
む。アドレス(m+12)からA3(n−2)を読み出
し、アドレス(m+13)からA3(n−1)を読み出
し、アドレス(m+14)にA3nを書き込む。アドレ
ス(m+15)からB3(n−2)を読み出し、アドレ
ス(m16)からB3(n−1)を読み出し、アドレス
(m+17)にB3nを書き込み、一連のフィルタ演算
を終了する。
【0009】次に時間(n+1)において、再度同様に
フィルタ演算を行う際には、上記と同様の操作を、メモ
リアドレスの初期値を(m+1)番地にして実行するこ
とにより実現できる。すなわち、アドレス(m+1)か
ら、A1(n−1)を読み出し、アドレス(m+2)か
らA1nを読み出し、アドレス(m+3)にA1(n+
1)を書き込む。
【0010】以下時間nのときと全く同じ操作を行うこ
とにより時間(n+1)のフィルタ演算を行う事ができ
る。
【0011】ただし、時間nの時のメモリのアドレスの
初期値、mに対して時間(n+1)の時のメモリのアド
レスの初期値(m+1)を求めるために、時間nの演算
過程において、mあるいは(m+1)の値を保持してお
く必要がある。このため通常、mあるいは(m+1)の
値をデータ・ポインタとは別のデータ保持手段に一旦退
避させ、時間(n+1)においてその値を読み出す方法
や、データポインタを二重化し、一方を一連のフィルタ
演算のサイクルごとに+1し、他方のポインタに一旦転
送し、このポインタを操作してメモリのアドレスを生成
する手法がとられてきた。
【0012】またこれとは別に、データポインタを2重
に持ち、片側のポインタは上述の各フィルタ演算サイク
ルごとに+1される初期値データを保持し、命令コード
上にこの初期値データからのオフセット量を指示し、毎
回初期値データとの加算を行い、もう一方のデータポイ
ンタに書き込み、データの読み出し,書き込みを行う手
法もある。例えば時間nのとき、mが初期値として保持
されている時は、(m+0)からA1(n−2)を読み
出し、(m+1)からA1(n−1)を読み出し、(m
+2)にA1nを書き込む。この“0”,“1”,
“2”等の固定データを命令コード上に設定しておく。
時間(n+1)の場合には、初期データは(m+1)に
更新され、同様ににm+1+0=m+1からA1(n−
1)を読み出し、m+1+1=m+2からA1nを読み
出し、m+1+2=m+3にA1nを書き込む。以下同
様の操作により、一連のフィルタ演算を行う。
【0013】次に、一部のデータについてのみ倍精度の
演算を行う場合について説明する。
【0014】図4に示された2次IIRフィルタ演算に
おいて、B1(n−1),B2(n−1),B3(n−
1)にあたるデータについてのみ倍精度で演算を行う場
合を考える。B1(n−1)について上位(H),下位
(h)を各々アドレス(m+10),(m+11)より
読み出し、次にアドレス(m+12)にB1nHを、ま
たアドレス(m+13)にB1nLを書き込む。単精度
演算の場合、つまり図5に示すデータを保持している場
合は、B1nを上書きする際には、A2(n−3)が書
かれていたアドレスに対して書き込みを行っていたがさ
らに下位側のデータを保持する必要があるため、A2
(n−3)とA2(n−2)の間には、空き領域が必要
となる。このため、A2nのデータを書き込む時には、
A2(n−1)の次に空き領域をおいて、A2nを書き
込む必要がある。また、時間(m+1)においては、B
1(n−1)Lのデータは不要であるが、この領域もム
ダな領域となってしまう。単精度演算の場合は図5に示
す通り、メモリ領域としては18ワード分が必要であっ
たが、どれが1つのデータでも倍精度で演算を行う場合
には、図6に示すとおり、必要なメモリ領域は38ワー
ド分となり、メモリの使用効率を著しく低下させてい
た。
【0015】
【発明が解決しようとする課題】この従来のアドレス生
成回路においては、データ・ポインタで保持する値によ
ってメモリのアドレスを指定する構成を取っているたた
めに、任意のアドレスを命令コード上に記述するなどし
てアクセスを行う際には、プログラム・カウンタの値を
書き換える必要があり、このため、プログラムカウンタ
で保持する値を破壊してしまうという問題があった。
【0016】またメモリに保持する演算データのうち、
一部のデータについてのみ倍精度で演算を行おうとした
場合、倍精度演算を行わないデータについても倍精度を
行う際の下位データを保持すべき領域を確保する必要が
あり、メモリの使用効率を著しく低下させるという問題
があった。
【0017】さらに前述の一連の処理単位ごとに更新さ
れるポインタに対して、各データまでのオフセット量を
命令コード上に記述するなどしてこのポインタに保持す
る値との加算あるいは演算を行う当該アドレスを生成す
る手法において、基となるポインタ値とオフセット量と
の演算結果を保持する領域および本方式でサブルーチン
等によりプログラミングを行った際にはサブルーチンへ
移行する際のアドレス値をサブルーチン内での基本アド
レスとするためにさらに別のアドレス保持領域が必要と
なり、従来のアドレス生成回路においては本方式でのサ
ブルーチン化を行う際には、処理単位ごとの開始アドレ
ス等を別のデータ保持領域に転送,保存する必要があ
り、処理効率の低下をまねいた。
【0018】
【課題を解決するための手段】本発明のアドレス生成回
路は、所定の周期ごとに実行される信号処理の各周期ご
とに更新されこの各周期におけるデータメモリの開始ア
ドレスを保持し出力する第1のアドレス保持手段と、前
記各周期内のデータアクセスごとに順次更新されるアド
レスを保持し出力する第2のアドレス保持手段と、特定
のタイミングで更新される特定のアドレスを保持し出力
する第3のアドレス保持手段と、前記第1、第2、第3
のアドレス保持手段の出力アドレスのうちの1つを選択
し選択アドレスとして出力する選択回路と、前記択ア
ドレスに所定の値を加算し前記第1,第2,第3のアド
レス保持手段の更新アドレスとして出力する加算器と、
前記加算器の出力アドレスを保持し前記データメモリの
出力アドレスとして出力する第4のアドレス保持手段と
を有している。
【0019】
【実施例】次に本発明の実施例について図面を参照して
説明する。
【0020】図1は本発明の第1の実施例を示す回路図
である。
【0021】この実施例は、所定の周期ごとに実行され
る信号処理の各周期ごとに更新されこの各周期における
データメモリの開始アドレを保持し出力する第1のア
ドレ保持手段のレジスタ1と、各周期内に順次更新さ
れるアドレスを保持し出力する第2のアドレス保持手段
のレジスタ2と、特定のタイミングで更新される特定の
アドレスを保持し出力する第3のアドレス保持手段のレ
ジスタ3と、第1,第2,第3のアドレス保持手段のレ
ジスタ1,2,3の出力アドレスのうちの1つを選択す
る選択回路4と、この選択回略4により選択されたアド
レスに所定の値を加算し出力しレジスタ13の更
新アドレスとする加算器5と、この加算器5の出力アド
レスを保持しデータメモリのアドレスADとして出力す
る第4のアドレス保持手段のレジスタ6とを有する構成
となっている。
【0022】次にこの実施例の動作について説明する。
【0023】通常、ディジタル・オーディオ信号処理で
は、入力として時系列データが与えられこの時系列デー
タに対して一連の処理を周期的に繰り返し施す。レジス
タ1はその値がこの一列の処理単位ごと(周期ごと)に
更新されるレジスタであり、一連の処理が開始される時
の開始アドレスを保持する。レジスタ2は、データメモ
リに対してアクセスが行われるたびに更新される。すな
わち、レジスタ2に保持しているアドレスの読み出しが
行われる時に更新される。
【0024】次に図4に示された2次IIRフィルタの
演算を行う際のアドレス生成回路の動作について説明す
る。データメモリ20内のデータは図5を流用するもの
とする。
【0025】今、時間nにおいてレジスタにはアドレス
“m”が保持されているとする。まず、データA1(n
−2)を読み出すために、レジスタ1よりアドレス
“m”を読み出し、レジスタ6に転送を行いデータメモ
リ20のアドレスADとなる。同時にこのデータをレジ
スタ2にも取り込む。次にデータA1(n−1)を読み
出すためレジスタ2よりアドレス“m”を読み出し、加
算器5にて“+1”しレジスタ6に“m+1”を転送し
データメモリ20のアドレスADとする。同時にレジス
タ2でも“m+1”を取り込む。以下同様にして、アド
レス“m+2”を生成し、A1nをデータメモリ20に
書き込み、データメモリ20へのアクセスを続け、以下
アドレス“m+17”にデータB3nを書き込む。次に
再度レジスタ1からデータ“m”を読み出し、加算器5
により“+1”し、レジスタ1に再度アドレス“m+
1”を書き込み時間nでの一連の処理を終了する。
【0026】時間(n+1)では時間nと全く同様の動
作を行う事により、アドレス“m+1”からデータA1
(n−1)を読み出す事から始まり、一連のフィルタ演
算処理を実行する事ができる。
【0027】本実施例では、各タイミングでのアドレス
値を保持するレジスタ1,2,3とは別に、実際にデー
タメモリ20に対して指示するアドレスADを保持する
レジスタ6を有するため加算器5に対し命令コード中等
に書き込んだ固定データ(ND)をロードする場合、こ
のデータによる加算結果はレジスタ6に書き込まれるた
め、レジスタ1,2,3の値は破壊される事はない。
【0028】次に、倍精度演算を行う際には、図2に示
すメモリマップの様にデータを格納する事により効率的
なデータメモリの使用が可能となる。この時のアドレス
生成回路の動作を以下に示す。倍精度データはB1(n
−1)に相当するデータのみとする。
【0029】時間nにおいてレジスタ1にはアドレス
“m”が保持されているとする。まず、アドレス“m”
をレジスタ1より読み出しレジスタ6及びレジスタ2に
転送する。
【0030】これによってデータA1(n−2)をデー
タメモリ20より読み出す。次はレジスタ2よりアドレ
ス“m”を読み出し、加算器5により“+1”し、レジ
スタ2,6に転送しデータメモリ20よりデータA1
(n−1)を読み出す。順次同様の手順でデータメモリ
20の読み出し,書き込みを行っていく。レジスタ2の
値が“m+3”の時、加算器5により“+1”し、“m
+4”をレジスタ2,6に転送し、B1(n−1)Hの
データを読み出す。次にはレジスタ1から再度“m”を
読み出し加算器5により固定データND“18”との加
算を行い、レジスタ3,6に転送する。これによってア
ドレス“m+18”よりデータB1(n−1)Lを読み
出す。
【0031】次のステップではレジスタ2を読み出し、
アドレス・データ“m+1+1=m+5”をレジスタ
2,6に転送し、“m+5”番地にB1nHを書き込
む。
【0032】次のステップではレジスタ3を読み出しア
ドレスデータ“m+18+1=m+19”をレジスタ
3,6に転送し“m+19”番地にB1nLを書き込
む。以下、同様の動作を行い、最後にレジスタ1を再度
読み出し値を“m+1”に更新して時間nの処理を終え
る。
【0033】時間(n+1)では全く同様の操作を行う
事によって一連のフィルタ処理を行う事ができる。
【0034】さらに固定データNDにより基本アドレス
からのオフセット量を順次入力しアドレス指定を行う方
式においてサブルーチンコールを行う場合、まず、レジ
スタ1のデータをレジスタ2,6に転送しレジスタ2の
値を固定データ(ND)と演算結果をレジスタ6のみに
転送する事によって基本アドレスであるレジスタ1,2
の値は保持される。サブルーチンコール時のみ、レジス
タ2の値と、固定データNDとの演算結果をレジスタ
2,6双方に転送する事により、サブルーチン内でのオ
フセット値の指定が行える。
【0035】図3は本発明の第2の実施例の回路図であ
る。
【0036】本実施例は第1の実施例のデータNDの入
力にレジスタ7を備えた構成をとる。
【0037】第1の実施例において、倍精度演算を行っ
た場合下位側のデータを格納する領域を指示するため
に、固定データ“18”をロードする必要があった。第
2の実施例においてはこの“18”を初期設定時におい
てレジスタ7にセットしておくことによりアドレス生成
回路内部で閉じた型で、倍精度演算を行う事ができる。
【0038】他の動作は第1の実施例と同様であるため
詳細説明は省略する。
【0039】
【発明の効果】以上説明したように本発明は、用途に応
じたアドレスを保持するレジスタをそれぞれ備え、その
全てを並列に接続してその出力を選択し、またデータメ
モリへの出力アドレスを保持するレジスタを別に設けた
ので、固定アドレスをロードしアドレス指定をする場合
でも保持すべきアドレスデータが破壊されないため、ア
ドレスデータの退避操作が不要となり、また倍精度演算
を行う際にもデータメモリの使用効率が向上し、さらに
基本アドレスからのオフセット量を固定データで指定す
る場合のサブルーチンコール時のデータの退避操作も行
う必要がなく、プログラム・ステッブ数を削減すること
ができる効果を有する。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示す回路図である。
【図2】倍精度演算が混在するときの図1に示された実
施例によるデータメモリのアドレス指定動作を説明する
ためのデータメモリのメモリマップである。
【図3】本発明の第2の実施例を示す回路図である。
【図4】従来のアドレス生成回路が適用される上位シス
テムのシグナルフローチャートである。
【図5】従来のアドレス生成回路によるアドレス指定動
作を説明するためのデータメモリのメモリマップであ
る。
【図6】倍精度演算が混在するときの従来のアドレス生
成回路によるアドレス指定動作を説明するためのデータ
メモリのメモリマップである。
【符号の説明】
1〜3 レジスタ 4 選択回路 5 加算器 6,7 レジスタ 10a〜10c 2次IIRフィルタ 20 データメモリ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 所定の周期ごとに実行される信号処理の
    各周期ごとに更新されこの各周期におけるデータメモリ
    の開始アドレスを保持し出力する第1のアドレス保持手
    段と、 前記各周期内のデータアクセスごとに順次更新されるア
    ドレスを保持し出力する第2のアドレス保持手段と、倍精度演算が指定された タイミングで更新される特定の
    アドレスを保持し出力する第3のアドレス保持手段と、前記所定周期内の演算開始時及び倍精度演算開始時に前
    記第1のアドレス保持手段の出力アドレスを選択し、前
    記演算開始時を除く演算時には前記第2のアドレス保持
    手段の出力アドレスを選択し、前記倍精度演算開始時を
    除く前記倍精度演算時には第3のアドレス保持手段の出
    力アドレスを選択し、 選択アドレスとして出力する選択
    回路と、 前記選択アドレスに所定の値を加算し前記第1、第2、
    第3のアドレス保持手段の更新アドレスとして出力する
    加算器と、 前記加算器の出力アドレスを保持し前記データメモリの
    出力アドレスとして出力する第4のアドレス保持手段と
    を有することを特徴とするアドレス生成回路。
  2. 【請求項2】 前記選択アドレスに加算する値を保持し
    前記加算器に供給するデータ保持手段を設けた請求項1
    記載のアドレス生成回路。
JP19934092A 1992-07-27 1992-07-27 アドレス生成回路 Expired - Fee Related JP3288074B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19934092A JP3288074B2 (ja) 1992-07-27 1992-07-27 アドレス生成回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19934092A JP3288074B2 (ja) 1992-07-27 1992-07-27 アドレス生成回路

Publications (2)

Publication Number Publication Date
JPH0644130A JPH0644130A (ja) 1994-02-18
JP3288074B2 true JP3288074B2 (ja) 2002-06-04

Family

ID=16406162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19934092A Expired - Fee Related JP3288074B2 (ja) 1992-07-27 1992-07-27 アドレス生成回路

Country Status (1)

Country Link
JP (1) JP3288074B2 (ja)

Also Published As

Publication number Publication date
JPH0644130A (ja) 1994-02-18

Similar Documents

Publication Publication Date Title
JPH03150910A (ja) ディジタルオーディオ信号処理装置
JPH07122973A (ja) デジタル信号処理回路
JPH0444970B2 (ja)
IE910023A1 (en) Address processor for a signal processor
JP3288074B2 (ja) アドレス生成回路
US6442622B1 (en) Digital signal processor and digital signal processing method
EP0661648B1 (en) Digital signal processing circuit
JP3738134B2 (ja) デジタル信号処理装置
EP0299537B1 (en) Apparatus and Method for processing digital signal
JP3125672B2 (ja) ディジタルフィルタ
KR100551458B1 (ko) 디지탈신호처리동작실행방법및디지탈신호처리기
JP2850594B2 (ja) Ramアドレス生成回路
JP3042266B2 (ja) メモリアクセス方法
JPS58147223A (ja) デイジタルフイルタ
JP3531208B2 (ja) ディジタル信号処理装置
JP2853203B2 (ja) 音声信号遅延装置
JP3232717B2 (ja) 回路記述合成装置
JP3033334B2 (ja) データ記憶装置
US5822775A (en) Efficient data processing method for coefficient data in a digital dignal, processor
JPH0481925A (ja) デジタル信号処理回路
JP2000286679A (ja) デジタル信号処理装置
JPH01179515A (ja) デジタル信号処理装置
SU1264306A1 (ru) Устройство дл цифровой фильтрации
JP2694401B2 (ja) タイマ回路
JPH0540601A (ja) アドレス生成回路

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080315

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090315

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100315

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees