JP3288074B2 - Address generation circuit - Google Patents

Address generation circuit

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
Japanese (ja)
Other versions
JPH0644130A (en
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/en
Publication of JPH0644130A publication Critical patent/JPH0644130A/en
Application granted granted Critical
Publication of JP3288074B2 publication Critical patent/JP3288074B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明はアドレス生成回路に関
し、特に音声信号等,時系列データをあつかう信号処理
装置のデータメモリのアドレスを生成するアドレス生成
回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an address generation circuit and, more particularly, to an address generation circuit for generating an address of a data memory of a signal processing device which handles time-series data such as audio signals.

【0002】[0002]

【従来の技術】従来、音声信号処理等の時系列データを
扱う信号処理装置におけるデータメモリアドレスを生成
するアドレス生成回路は、アドレスを保持するためのポ
インタは各々のメモリ領域に対して1系統,あるいは2
系統しか保有していなかった。
2. Description of the Related Art Conventionally, an address generation circuit for generating a data memory address in a signal processing device which handles time-series data such as audio signal processing has a pointer for holding an address, one system for each memory area. Or 2
It had only strains.

【0003】時系列データ処理の例として、ここではオ
ーディオ・データ処理装置の場合について説明する。
[0003] As an example of time series data processing, an audio data processing apparatus will be described here.

【0004】オーディオ・データ処理においては、サン
プリング周期ごとに1セットのオーディオ・データが入
力され、このサンプリング周期に同期して処理演算が施
され、次のサンプリング周期中に入力データに同期させ
て演算結果を出力する。この処理演算の主なものはフィ
ルタ演算処理である。フィルタ演算は、入力データある
いは演算途中のデータを数サンプリング周期の間保持し
この保持するデータを読み出し新たに入力されるデータ
との演算を行い、この新しい入力データを新しい演算途
中のデータとして新規に保持(更新)する操作によって
実現される。これらのデータ保持手段として通常はデー
タメモリが用いるれ、データの読み出し、書き込みを行
う際のアドレスの生成方法により効率的なデータメモリ
の使用が行える方が取られて来た。
In audio data processing, one set of audio data is input every sampling period, processing is performed in synchronization with this sampling period, and calculation is performed in synchronization with the input data during the next sampling period. Output the result. The main processing operation is filter operation processing. In the filter operation, the input data or the data in the middle of the operation is held for several sampling cycles, the held data is read out, the operation is performed on the newly input data, and the new input data is newly used as the data in the middle of the operation. This is realized by an operation of holding (updating). Usually though these data holding means data memory is used, data is read, how allows the use of efficient data memory by generating method addresses when writing came taken.

【0005】例えば図4に示すように、2次IIRフィ
ルタ10a〜10cを組合せて実現する際の音声信号処
理を行う装置において、そのデータメモリのメモリ・マ
ップを図5に示す。これら図面によりデータメモリ20
のアドレス生成の動作を説明する。
[0005] For example, as shown in FIG. 4, a memory map of a data memory of an apparatus for performing audio signal processing when realizing by combining the second-order IIR filters 10a to 10c is shown in FIG. According to these drawings, the data memory 20
Will be described.

【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とす
る。
FIG. 4 is a signal flow chart of the second-order IIR filter unit at time n, where 10a, 10b,
A three-stage cascade configuration of a secondary IIR filter composed of 10c is adopted. Data on the non-feedback side of the secondary IIR filter 10a is A1n, and data on the feedback side is B1n. Here A1
The 1 in n indicates that it is the first second-order IIR filter 10a, and the n indicates that it is data at time n. Similarly, in the second-order IIR filter 10b, each data is stored in A2
n, B2n, and A3n, B3n in the filter 10c.

【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
する。同様にして順次データの読み出しおよび書き込み
を行う。
Now, at time n, the secondary IIR shown in FIG.
The operation of the filter 10a is performed. At this time, the data memory 20
Is m. First, in order to calculate the data of the node N1, data A1 (n-
2) is read, and at the same time, the value of the address pointer is incremented by +1
I do. Next, to calculate the data of the node N2, (m +
1) The data A1 (n-1) stored at the address is read out, and at the same time, the value of the address pointer is incremented by +1. Next, the data A1n calculated from the input data is stored in the address (m +
2), and at the same time, increment the value of the address pointer by +1.
I do. Similarly, data reading and writing are sequentially performed.

【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を書き込み、一連のフィルタ演算
を終了する。
From address (m + 3) to B1 (n-2),
B1 (n-1) is read from address (m + 4), and B1n is written to address (m + 5). Address (m +
6), A2 (n−2) is read, and the address (m +
7), A2 (n-1) is read out, and the address (m +
8) A2n is written. From address (m + 9) to B2
(N-2) is read, and B2 is read from the address (m + 10).
Read (n-1) and write to address (m + 11). A3 (n-2) is read from address (m + 12), A3 (n-1) is read from address (m + 13), and A3n is written to address (m + 14). B3 (n-2) is read from the address (m + 15), B3 (n-1) is read from the address (m16), B3n is written into the address (m + 17), and a series of filter operations ends.

【0009】次に時間(n+1)において、再度同様に
フィルタ演算を行う際には、上記と同様の操作を、メモ
リアドレスの初期値を(m+1)番地にして実行するこ
とにより実現できる。すなわち、アドレス(m+1)か
ら、A1(n−1)を読み出し、アドレス(m+2)か
らA1nを読み出し、アドレス(m+3)にA1(n+
1)を書き込む。
Next, at the time (n + 1), when performing the filter operation again, the same operation as described above can be realized by executing the initial operation of the memory address at the address (m + 1). That is, A1 (n-1) is read from address (m + 1), A1n is read from address (m + 2), and A1 (n +) is read from address (m + 3).
Write 1).

【0010】以下時間nのときと全く同じ操作を行うこ
とにより時間(n+1)のフィルタ演算を行う事ができ
る。
By performing the same operation as in the case of time n, a filter operation of time (n + 1) can be performed.

【0011】ただし、時間nの時のメモリのアドレスの
初期値、mに対して時間(n+1)の時のメモリのアド
レスの初期値(m+1)を求めるために、時間nの演算
過程において、mあるいは(m+1)の値を保持してお
く必要がある。このため通常、mあるいは(m+1)の
値をデータ・ポインタとは別のデータ保持手段に一旦退
避させ、時間(n+1)においてその値を読み出す方法
や、データポインタを二重化し、一方を一連のフィルタ
演算のサイクルごとに+1し、他方のポインタに一旦転
送し、このポインタを操作してメモリのアドレスを生成
する手法がとられてきた。
However, in order to obtain the initial value of the address of the memory at the time n and the initial value of the address of the memory at the time (n + 1) (m + 1), m Alternatively, it is necessary to hold the value of (m + 1). Therefore, usually, the value of m or (m + 1) is temporarily saved in data holding means different from the data pointer, and the value is read out at time (n + 1). A method has been adopted in which +1 is added for each operation cycle, the data is temporarily transferred to the other pointer, and this pointer is operated to generate a memory address.

【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を書き込む。以下同
様の操作により、一連のフィルタ演算を行う。
Separately from this, the data pointer is doubled, and one of the pointers holds initial value data incremented by one in each of the above-described filter operation cycles, and an offset from the initial value data on the instruction code. There is also a method of instructing the amount, adding the initial value data each time, writing the data to the other data pointer, and reading and writing the data. For example, at time n, when m is held as the initial value, A1 (n-2) is read from (m + 0), A1 (n-1) is read from (m + 1), and (m
+1) is written in A1n. This "0", "1",
Fixed data such as “2” is set on the instruction code.
In the case of time (n + 1), the initial data is updated to (m + 1), and similarly, m + 1 + 0 = m + 1 to A1 (n−
1) is read, A1n is read from m + 1 + 1 = m + 2, and A1n is written to m + 1 + 2 = m + 3. Hereinafter, a series of filter operations are performed by the same operation.

【0013】次に、一部のデータについてのみ倍精度の
演算を行う場合について説明する。
Next, a case will be described in which double-precision arithmetic is performed only on some data.

【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ワー
ド分となり、メモリの使用効率を著しく低下させてい
た。
In the second-order IIR filter operation shown in FIG. 4, B1 (n-1), B2 (n-1), B3 (n-
Consider a case where an operation is performed with double precision only on data corresponding to 1). For B1 (n-1), the upper (H) and lower (h) are read from addresses (m + 10) and (m + 11), respectively, and then B1nH is written to address (m + 12) and B1nL is written to address (m + 13). In the case of the single-precision operation, that is, when the data shown in FIG. 5 is held, when overwriting B1n, writing was performed to the address where A2 (n−3) was written. Since it is necessary to hold the data on the lower side, A2
An empty area is required between (n-3) and A2 (n-2). Therefore, when writing A2n data,
It is necessary to write A2n with an empty area next to A2 (n-1). Also, at time (m + 1), B
The data of 1 (n-1) L is unnecessary, but this area is also a wasteful area. In the case of the single precision operation, as shown in FIG. 5, a memory area of 18 words is necessary. However, when any one data is operated in double precision, as shown in FIG. The memory area is equivalent to 38 words, which significantly reduces the efficiency of memory use.

【0015】[0015]

【発明が解決しようとする課題】この従来のアドレス生
成回路においては、データ・ポインタで保持する値によ
ってメモリのアドレスを指定する構成を取っているたた
めに、任意のアドレスを命令コード上に記述するなどし
てアクセスを行う際には、プログラム・カウンタの値を
書き換える必要があり、このため、プログラムカウンタ
で保持する値を破壊してしまうという問題があった。
In this conventional address generation circuit, an address is described in an instruction code because a memory address is specified by a value held by a data pointer. For example, when the access is performed, it is necessary to rewrite the value of the program counter. Therefore, there is a problem that the value held by the program counter is destroyed.

【0016】またメモリに保持する演算データのうち、
一部のデータについてのみ倍精度で演算を行おうとした
場合、倍精度演算を行わないデータについても倍精度を
行う際の下位データを保持すべき領域を確保する必要が
あり、メモリの使用効率を著しく低下させるという問題
があった。
Further, of the operation data stored in the memory,
If an attempt is made to perform the operation with double precision only for some data, it is necessary to secure an area for holding lower-order data when performing double precision even for data for which double precision operation is not performed. There has been a problem of remarkable reduction.

【0017】さらに前述の一連の処理単位ごとに更新さ
れるポインタに対して、各データまでのオフセット量を
命令コード上に記述するなどしてこのポインタに保持す
る値との加算あるいは演算を行う当該アドレスを生成す
る手法において、基となるポインタ値とオフセット量と
の演算結果を保持する領域および本方式でサブルーチン
等によりプログラミングを行った際にはサブルーチンへ
移行する際のアドレス値をサブルーチン内での基本アド
レスとするためにさらに別のアドレス保持領域が必要と
なり、従来のアドレス生成回路においては本方式でのサ
ブルーチン化を行う際には、処理単位ごとの開始アドレ
ス等を別のデータ保持領域に転送,保存する必要があ
り、処理効率の低下をまねいた。
Further, for the pointer updated for each of the above series of processing units, an offset amount to each data is described on an instruction code and added to or calculated with a value held in the pointer. In the method of generating an address, an area for holding a calculation result of a base pointer value and an offset amount, and an address value at the time of performing a subroutine or the like in a subroutine when the programming is performed in the subroutine, in the subroutine. Another address holding area is required to use as the basic address, and in the conventional address generation circuit, when performing a subroutine in this method, the start address for each processing unit is transferred to another data holding area. , Need to save, leading to lower processing efficiency.

【0018】[0018]

【課題を解決するための手段】本発明のアドレス生成回
路は、所定の周期ごとに実行される信号処理の各周期ご
とに更新されこの各周期におけるデータメモリの開始ア
ドレスを保持し出力する第1のアドレス保持手段と、前
記各周期内のデータアクセスごとに順次更新されるアド
レスを保持し出力する第2のアドレス保持手段と、特定
のタイミングで更新される特定のアドレスを保持し出力
する第3のアドレス保持手段と、前記第1、第2、第3
のアドレス保持手段の出力アドレスのうちの1つを選択
し選択アドレスとして出力する選択回路と、前記択ア
ドレスに所定の値を加算し前記第1,第2,第3のアド
レス保持手段の更新アドレスとして出力する加算器と、
前記加算器の出力アドレスを保持し前記データメモリの
出力アドレスとして出力する第4のアドレス保持手段と
を有している。
SUMMARY OF THE INVENTION An address generation circuit according to the present invention is updated in each cycle of signal processing executed in a predetermined cycle, and holds and outputs a start address of a data memory in each cycle. Address holding means, second address holding means for holding and outputting addresses sequentially updated for each data access in each cycle, and third address holding means for holding and outputting specific addresses updated at a specific timing. Address holding means, and the first, second, and third
Select one of the output addresses of the address holding means
A selection circuit for outputting a selection address, the selection 択A <br/> first before Symbol by adding a predetermined value to dress, second, third address holding means updates address to adder outputs When,
Said data memory holds the output address of the adder
And fourth address holding means for outputting as an output address .

【0019】[0019]

【実施例】次に本発明の実施例について図面を参照して
説明する。
Next, an embodiment of the present invention will be described with reference to the drawings.

【0020】図1は本発明の第1の実施例を示す回路図
である。
FIG. 1 is a circuit diagram showing a first embodiment of the present invention.

【0021】この実施例は、所定の周期ごとに実行され
る信号処理の各周期ごとに更新されこの各周期における
データメモリの開始アドレを保持し出力する第1のア
ドレ保持手段のレジスタ1と、各周期内に順次更新さ
れるアドレスを保持し出力する第2のアドレス保持手段
のレジスタ2と、特定のタイミングで更新される特定の
アドレスを保持し出力する第3のアドレス保持手段のレ
ジスタ3と、第1,第2,第3のアドレス保持手段のレ
ジスタ1,2,3の出力アドレスのうちの1つを選択す
る選択回路4と、この選択回略4により選択されたアド
レスに所定の値を加算し出力しレジスタ13の更
新アドレスとする加算器5と、この加算器5の出力アド
レスを保持しデータメモリのアドレスADとして出力す
る第4のアドレス保持手段のレジスタ6とを有する構成
となっている。
[0021] This embodiment includes a first A <br/> drain scan to be updated for each cycle of the signal processing performed at every predetermined period to hold the start address of the data memory in the each cycle output A register 1 of the holding means, a register 2 of the second address holding means for holding and outputting addresses sequentially updated in each cycle, and a third register for holding and outputting a specific address updated at a specific timing The register 3 of the address holding means, the selection circuit 4 for selecting one of the output addresses of the registers 1, 2, and 3 of the first, second, and third address holding means, and selection by the selection circuit 4 address in adding a predetermined value to the output register 1, 2, an adder 5, 3 updates the address, the fourth a to output as the address AD of the held data memory output address of the adder 5 It is configured to have a register 6 in less holding means.

【0022】次にこの実施例の動作について説明する。Next, the operation of this embodiment will be described.

【0023】通常、ディジタル・オーディオ信号処理で
は、入力として時系列データが与えられこの時系列デー
タに対して一連の処理を周期的に繰り返し施す。レジス
タ1はその値がこの一列の処理単位ごと(周期ごと)に
更新されるレジスタであり、一連の処理が開始される時
の開始アドレスを保持する。レジスタ2は、データメモ
リに対してアクセスが行われるたびに更新される。すな
わち、レジスタ2に保持しているアドレスの読み出しが
行われる時に更新される。
Normally, in digital audio signal processing, time-series data is provided as an input, and a series of processing is periodically repeated on the time-series data. The register 1 is a register whose value is updated for each processing unit (per cycle) in this column, and holds a start address when a series of processing is started. Register 2 is updated each time the data memory is accessed. That is, the address is updated when the address held in the register 2 is read.

【0024】次に図4に示された2次IIRフィルタの
演算を行う際のアドレス生成回路の動作について説明す
る。データメモリ20内のデータは図5を流用するもの
とする。
Next, the operation of the address generation circuit when performing the operation of the second-order IIR filter shown in FIG. 4 will be described. FIG. 5 is used for the data in the data memory 20.

【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での一連の処理を終了する。
It is assumed that an address "m" is held in the register at time n. First, data A1 (n
To read -2), the address "m" is read from the register 1 and transferred to the register 6 to be the address AD of the data memory 20. At the same time, this data is also taken into the register 2. Next, in order to read data A1 (n-1), the address "m" is read from the register 2, "+1" is added by the adder 5, and "m + 1" is transferred to the register 6 to be the address AD of the data memory 20. At the same time, "m + 1" is also taken in the register 2. Similarly, an address “m + 2” is generated, A1n is written to the data memory 20, access to the data memory 20 is continued, and data B3n is written to the address “m + 17”. Next, data “m” is read from the register 1 again,
To “+1”, and the address “m +
A series of processing at the writing time n is ended.

【0026】時間(n+1)では時間nと全く同様の動
作を行う事により、アドレス“m+1”からデータA1
(n−1)を読み出す事から始まり、一連のフィルタ演
算処理を実行する事ができる。
At time (n + 1), the same operation as at time n is performed, so that data A1
Starting from reading (n-1), a series of filter operation processes can be executed.

【0027】本実施例では、各タイミングでのアドレス
値を保持するレジスタ1,2,3とは別に、実際にデー
タメモリ20に対して指示するアドレスADを保持する
レジスタ6を有するため加算器5に対し命令コード中等
に書き込んだ固定データ(ND)をロードする場合、こ
のデータによる加算結果はレジスタ6に書き込まれるた
め、レジスタ1,2,3の値は破壊される事はない。
In this embodiment, apart from the registers 1, 2, and 3 for holding the address value at each timing, the adder 5 for holding the address AD for actually instructing the data memory 20 is provided. When the fixed data (ND) written in the instruction code or the like is loaded, the result of addition of this data is written to the register 6, so that the values of the registers 1, 2, and 3 are not destroyed.

【0028】次に、倍精度演算を行う際には、図2に示
すメモリマップの様にデータを格納する事により効率的
なデータメモリの使用が可能となる。この時のアドレス
生成回路の動作を以下に示す。倍精度データはB1(n
−1)に相当するデータのみとする。
Next, when performing a double precision operation, efficient data memory can be used by storing data as in the memory map shown in FIG. The operation of the address generation circuit at this time will be described below. The double precision data is B1 (n
Only data corresponding to -1) is used.

【0029】時間nにおいてレジスタ1にはアドレス
“m”が保持されているとする。まず、アドレス“m”
をレジスタ1より読み出しレジスタ6及びレジスタ2に
転送する。
It is assumed that at time n, register 1 holds address "m". First, address “m”
From the register 1 and transferred to the register 6 and the register 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を読み
出す。
Thus, the data A1 (n-2) is read from the data memory 20. Next, the address “m” is read from the register 2, “+1” is added by the adder 5, transferred to the registers 2 and 6, and the data A 1 is read from the data memory 20.
Read (n-1). Reading and writing of the data memory 20 are sequentially performed in the same procedure. When the value of the register 2 is “m + 3”, “+1” is added by the adder 5 and “m + 3”
+4 "is transferred to the registers 2 and 6, and the data of B1 (n-1) H is read out. Next," m "is read out again from the register 1 and added by the adder 5 to the fixed data ND" 18 ". The data B1 (n-1) L is read from the address "m + 18".

【0031】次のステップではレジスタ2を読み出し、
アドレス・データ“m+1+1=m+5”をレジスタ
2,6に転送し、“m+5”番地にB1nHを書き込
む。
In the next step, the register 2 is read,
The address data "m + 1 + 1 = m + 5" is transferred to the registers 2 and 6, and B1nH is written to the address "m + 5".

【0032】次のステップではレジスタ3を読み出しア
ドレスデータ“m+18+1=m+19”をレジスタ
3,6に転送し“m+19”番地にB1nLを書き込
む。以下、同様の動作を行い、最後にレジスタ1を再度
読み出し値を“m+1”に更新して時間nの処理を終え
る。
In the next step, the register 3 is read, the address data "m + 18 + 1 = m + 19" is transferred to the registers 3 and 6, and B1nL is written at the address "m + 19". Thereafter, the same operation is performed, and finally, the read value of the register 1 is updated again to “m + 1”, and the processing at the time n is completed.

【0033】時間(n+1)では全く同様の操作を行う
事によって一連のフィルタ処理を行う事ができる。
At time (n + 1), a series of filtering processes can be performed by performing exactly the same operation.

【0034】さらに固定データNDにより基本アドレス
からのオフセット量を順次入力しアドレス指定を行う方
式においてサブルーチンコールを行う場合、まず、レジ
スタ1のデータをレジスタ2,6に転送しレジスタ2の
値を固定データ(ND)と演算結果をレジスタ6のみに
転送する事によって基本アドレスであるレジスタ1,2
の値は保持される。サブルーチンコール時のみ、レジス
タ2の値と、固定データNDとの演算結果をレジスタ
2,6双方に転送する事により、サブルーチン内でのオ
フセット値の指定が行える。
Further, when a subroutine call is performed in a method of sequentially inputting the offset amount from the basic address by the fixed data ND and specifying the address, first, the data of the register 1 is transferred to the registers 2 and 6 and the value of the register 2 is fixed. By transferring the data (ND) and the operation result only to the register 6, the basic addresses registers 1, 2
Is retained. Only at the time of a subroutine call, the offset value in the subroutine can be specified by transferring the operation result of the register 2 and the fixed data ND to both the registers 2 and 6.

【0035】図3は本発明の第2の実施例の回路図であ
る。
FIG. 3 is a circuit diagram of a second embodiment of the present invention.

【0036】本実施例は第1の実施例のデータNDの入
力にレジスタ7を備えた構成をとる。
This embodiment has a configuration in which a register 7 is provided for inputting data ND of the first embodiment.

【0037】第1の実施例において、倍精度演算を行っ
た場合下位側のデータを格納する領域を指示するため
に、固定データ“18”をロードする必要があった。第
2の実施例においてはこの“18”を初期設定時におい
てレジスタ7にセットしておくことによりアドレス生成
回路内部で閉じた型で、倍精度演算を行う事ができる。
In the first embodiment, when double precision arithmetic is performed, it is necessary to load fixed data "18" in order to specify an area for storing lower-order data. In the second embodiment, by setting this "18" in the register 7 at the time of initial setting, double precision operation can be performed in a closed type inside the address generation circuit.

【0038】他の動作は第1の実施例と同様であるため
詳細説明は省略する。
The other operations are the same as those of the first embodiment, and the detailed description is omitted.

【0039】[0039]

【発明の効果】以上説明したように本発明は、用途に応
じたアドレスを保持するレジスタをそれぞれ備え、その
全てを並列に接続してその出力を選択し、またデータメ
モリへの出力アドレスを保持するレジスタを別に設けた
ので、固定アドレスをロードしアドレス指定をする場合
でも保持すべきアドレスデータが破壊されないため、ア
ドレスデータの退避操作が不要となり、また倍精度演算
を行う際にもデータメモリの使用効率が向上し、さらに
基本アドレスからのオフセット量を固定データで指定す
る場合のサブルーチンコール時のデータの退避操作も行
う必要がなく、プログラム・ステッブ数を削減すること
ができる効果を有する。
As described above, the present invention is provided with a register for holding an address corresponding to a use, all of which are connected in parallel to select an output thereof, and for holding an output address to a data memory. A separate register is provided, so even if a fixed address is loaded and an address is specified, the address data to be retained is not destroyed, so that the operation of saving the address data becomes unnecessary, and the data memory is not used when performing double precision arithmetic. The use efficiency is improved, and there is no need to perform a data saving operation at the time of a subroutine call when the offset amount from the basic address is specified by fixed data, so that the number of program steps can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例を示す回路図である。FIG. 1 is a circuit diagram showing a first embodiment of the present invention.

【図2】倍精度演算が混在するときの図1に示された実
施例によるデータメモリのアドレス指定動作を説明する
ためのデータメモリのメモリマップである。
FIG. 2 is a memory map of the data memory for explaining an addressing operation of the data memory according to the embodiment shown in FIG. 1 when double precision operations are mixed.

【図3】本発明の第2の実施例を示す回路図である。FIG. 3 is a circuit diagram showing a second embodiment of the present invention.

【図4】従来のアドレス生成回路が適用される上位シス
テムのシグナルフローチャートである。
FIG. 4 is a signal flowchart of a host system to which a conventional address generation circuit is applied.

【図5】従来のアドレス生成回路によるアドレス指定動
作を説明するためのデータメモリのメモリマップであ
る。
FIG. 5 is a memory map of a data memory for explaining an address designation operation by a conventional address generation circuit.

【図6】倍精度演算が混在するときの従来のアドレス生
成回路によるアドレス指定動作を説明するためのデータ
メモリのメモリマップである。
FIG. 6 is a memory map of a data memory for explaining an address designation operation by a conventional address generation circuit when double precision operations are mixed.

【符号の説明】[Explanation of symbols]

1〜3 レジスタ 4 選択回路 5 加算器 6,7 レジスタ 10a〜10c 2次IIRフィルタ 20 データメモリ 1-3 registers 4 selection circuit 5 adder 6,7 registers 10a-10c secondary IIR filter 20 data memory

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 所定の周期ごとに実行される信号処理の
各周期ごとに更新されこの各周期におけるデータメモリ
の開始アドレスを保持し出力する第1のアドレス保持手
段と、 前記各周期内のデータアクセスごとに順次更新されるア
ドレスを保持し出力する第2のアドレス保持手段と、倍精度演算が指定された タイミングで更新される特定の
アドレスを保持し出力する第3のアドレス保持手段と、前記所定周期内の演算開始時及び倍精度演算開始時に前
記第1のアドレス保持手段の出力アドレスを選択し、前
記演算開始時を除く演算時には前記第2のアドレス保持
手段の出力アドレスを選択し、前記倍精度演算開始時を
除く前記倍精度演算時には第3のアドレス保持手段の出
力アドレスを選択し、 選択アドレスとして出力する選択
回路と、 前記選択アドレスに所定の値を加算し前記第1、第2、
第3のアドレス保持手段の更新アドレスとして出力する
加算器と、 前記加算器の出力アドレスを保持し前記データメモリの
出力アドレスとして出力する第4のアドレス保持手段と
を有することを特徴とするアドレス生成回路。
1. A first address holding means which is updated in each cycle of signal processing executed in a predetermined cycle and holds and outputs a start address of a data memory in each cycle, and data in each cycle. a second address holding means for holding an address which is sequentially updated for each access output, a third address holding means for holding the particular address to be updated at the timing when the double precision operation is specified output, the Before the start of calculation within a predetermined period and at the start of double-precision calculation
Selecting the output address of the first address holding means,
The second address is held during the operation except when the operation is started.
Select the output address of the means, and
During the double precision operation, the output of the third address holding means is excluded.
A selection circuit for selecting an input address and outputting the selected address as a selected address;
Address generation, comprising: an adder for outputting as an update address of a third address holding unit; and a fourth address holding unit for holding an output address of the adder and outputting the output address of the data memory. circuit.
【請求項2】 前記選択アドレスに加算する値を保持し
前記加算器に供給するデータ保持手段を設けた請求項1
記載のアドレス生成回路。
2. A data holding means for holding a value to be added to the selected address and supplying the value to the adder.
Address generation circuit as described.
JP19934092A 1992-07-27 1992-07-27 Address generation circuit Expired - Fee Related JP3288074B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19934092A JP3288074B2 (en) 1992-07-27 1992-07-27 Address generation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19934092A JP3288074B2 (en) 1992-07-27 1992-07-27 Address generation circuit

Publications (2)

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

Family

ID=16406162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19934092A Expired - Fee Related JP3288074B2 (en) 1992-07-27 1992-07-27 Address generation circuit

Country Status (1)

Country Link
JP (1) JP3288074B2 (en)

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH03150910A (en) Digital audio signal processing unit
JPH07122973A (en) Digital signal processing circuit
JPH0444970B2 (en)
IE910023A1 (en) Address processor for a signal processor
JP3288074B2 (en) Address generation circuit
US6442622B1 (en) Digital signal processor and digital signal processing method
JP2845115B2 (en) Digital signal processing circuit
JPH05165630A (en) Digital signal processor
JP3738134B2 (en) Digital signal processor
EP0299537B1 (en) Apparatus and Method for processing digital signal
JP3125672B2 (en) Digital filter
KR100551458B1 (en) Digital signal processing operation method and digital signal processor
JP2850594B2 (en) RAM address generation circuit
JP3042266B2 (en) Memory access method
JPS58147223A (en) Digital filter
JP3531208B2 (en) Digital signal processor
JP2853203B2 (en) Audio signal delay device
JP3232717B2 (en) Circuit description synthesizer
JP3033334B2 (en) Data storage device
US5822775A (en) Efficient data processing method for coefficient data in a digital dignal, processor
JPH0481925A (en) Digital signal processing circuit
JP2000286679A (en) Digital signal processor
SU1264306A1 (en) Device for digital filtering
JP2694401B2 (en) Timer circuit
JPH0540601A (en) Address generating circuit

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