JPH0740658B2 - アドレス発生回路 - Google Patents

アドレス発生回路

Info

Publication number
JPH0740658B2
JPH0740658B2 JP61150052A JP15005286A JPH0740658B2 JP H0740658 B2 JPH0740658 B2 JP H0740658B2 JP 61150052 A JP61150052 A JP 61150052A JP 15005286 A JP15005286 A JP 15005286A JP H0740658 B2 JPH0740658 B2 JP H0740658B2
Authority
JP
Japan
Prior art keywords
data
register
register file
address
logic operation
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 - Lifetime
Application number
JP61150052A
Other languages
English (en)
Other versions
JPS635612A (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 JP61150052A priority Critical patent/JPH0740658B2/ja
Publication of JPS635612A publication Critical patent/JPS635612A/ja
Publication of JPH0740658B2 publication Critical patent/JPH0740658B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はデイジタル信号処理プロセツサのアドレス発生
回路に関するものである。
(従来の技術) デイジタル信号処理でよく用いられるフイルタリングで
は入力データを1サンプリング時間毎にシフトする必要
がある。しかし、実際にメモリ上でシフトしていたので
は時間がかかるため、実際のデータは動かさず、ポイン
タ(DP)を動かすことで実現される。これは仮想シフト
と呼ばれる。第2図は仮想シフトの概念を説明する図で
ある。
第2図に示す仮想シフトの例として、(1)式に示す4
次のFIRフイルタで説明する。
第2図に示したように時刻tでデータx(t)からx
(t−3)までがメモリ上にあり、ポインタ(DP)がx
(t)を示していたとする。この状態から、(1)式の
出力y(t)を計算するためにx(t)からx(t−
1)、x(t−2)、(x−3)を順次アクセスするに
は、ポインタ(DP)を1ずつデクリメントすることによ
つて実現できる。そして、時刻(t+1)では、ポイン
タ(DP)を“+4"して、新たな入力データx(t+1)
を格納する。よつて、時刻tで用いたx(t)、x(t
−1)、x(t−2)、x(t−3)はメモリ上では動
かさず、x(t+1)を指しているポインタを1ずつデ
クリメントして順次アクセスすればよい。このようにメ
モリ上でデータを動かさずポインタを用いて、シフト操
作を実現することを仮想シフトという。
従来、デイジタル信号処理プロセツサのアドレス発生回
路としては、富士通MB8764汎用デイジタル信号処理用LS
Iユーザー・マニユアル(昭和59年4月発行)に記載さ
れているような、インデツクス修飾を用いたもの(以
下、従来例1と称する)、及び、インターナシヨナル
カンフアレンス オン アコーステイクス スピーチ
アンド シグナルプロセツシング‘85予稿集「アーキテ
クチヤ アンド アプリケーシヨンズ オブ ア セカ
ンドジエネレーシヨン デイジタル シグナルプロセツ
サ」(International Conference on Acoustics,Speech
and Signal Procesesing '85Architecture and Applic
ations of a Second−Generation Digital Signal Proc
essor)(昭和60年4月発行)に記載されているテキサ
スインスツルメンツTMS32020のようにレジスタフアイル
による間接アドレツシングを用いたもの(以下、従来例
2と称する)が知られている。
(発明が解決しようとする問題点) デイジタル信号処理プロセツサは乗算したものを累算す
る、いわゆる積和演算を効率よく実現できるような構成
になつていて、そのため、最近のプロセツサはRAMを2
つ持つていたり、2ポートRAM構成になつているものが
多い。また、LSI化技術の進歩に伴い、より多くのRAMを
持つたプロセツサが開発されようとしている。このよう
な状況において、従来のアドレス発生回路には、以下に
述べるような欠点があつた。
従来例1に揚げた、富士通MB8764はカウンタ値とインス
トラクシヨンのリテラルフイールドで指定する値との和
で実効アドレスを生成する、いわゆるインデツクス修飾
を採用した。このため、(1)式を計算する時には、時
刻tの計算をする間はポインタを動かさず、x(t−
1)は(ポインタ−1)で、すなわちカウンタにx
(t)のアドレスを持たせ、x(t−1)はインストラ
クシヨンのリテラルフイールドに“−1"を指定すること
で、実現する。x(t−2)、x(t−3)についても
同様である。
この場合は、インストラクシヨン中にインデツクス修飾
するアドレスピツト数分だけのリテラルフイールドを必
要とした。RAMが1つで、かつ、容量が少ない場合リテ
ラルフイールドは数ビツトで済むが、メモリ容量が多い
場合、あるいは、幾つものメモリ空間を持つ場合は、イ
ンストラクシヨン中に非常に長いアドレス指定のための
フイールドを必要とする。実際MB8764では14ピツトの長
さを2つのRAMのリテラルフイールドに使用している。
この欠点を解決するため、従来例2のテキサスインスツ
ルメンツTMS32020は第5図に示すように5ワードのレジ
スタフアイルを持ち、そのどれかを1つを実効アドレス
とする間接アドレッシングを採用した。第5図におい
て、100は5ワードのレジスタフアイル、101はA入力に
対して“+1または“−1"、あるいは(A入力+B入
力)の演算が行なえる算術論理演算回路(ALU)であ
る。第5図に示したアドレス発生回路によつて(1)式
の計算を行なう場合、初期値としてポインタ(DP)の値
をレジスタフアイル100の1ワードに格納し、その値を
最初の実効アドレスとする。そして、“+4"という値を
レジスタフアイル100のポインタ値を持つた1ワードと
は異なる1ワードに格納する。次にそのポインタの値を
もつた1ワードを算術論理演算回路101の機能によつて
1ずつデクリメントして、(2)式に必要なデータ格納
アドレスを生成する。しかし、時刻(t+1)の出力を
計算するためには、ポインタ値を持つた1ワードと“+
4"という値を持つた1ワードとを指定し、それぞれ算術
論理演算回路101のA入力およびB入力に入れる正しい
アドレスを生成する必要がある。よつてこの従来例も、
レジスタフアイルの1つをインクリメント(すなわち
“+1")あるいはデイクメント(“−1")する場合を除
いては、レジスタフアイル内の他のレジスタを用いて更
新しなければならない。このため、2つのレジスタを指
定するためのフイールドがインストラクシヨン中に必要
となる。
しかし、TMS32020はこれを避けるために、レジスタフア
イル指令レジスタを用いてレジスタファイルの一方の1
ワードを指定する構造になつている。しかしこの場合に
は、使用レジスタを更新するたびにこのレジスタフアイ
ル指定レジスタを更新しなければならず、その更新にデ
ータバスが占有されてしまいプロセツサの処理効果率が
劣化するという別の欠点が生じた。
本発明の目的は、制御ビツト数を少なくでき、しかも、
デイジタル信号処理に適した間接アドレツシングを実現
するアドレス回路を提供することにある。
(問題点を解決するための手段) 本発明のアドレス発生回路は、データ入力端子から入力
されたデータを格納するレジスタフアイルと、前記レジ
スタフアイルから読み出されたデータと前記データ入力
端子から入力されたデータのうちの一方を選択する選択
回路と、第1のデータと第2のデータとの算術論理演算
を行なう算術論理演算回路と、前記算術積論理演算回路
の出力データを格納するレジスタとからなり、前記第1
のデータが前記選択回路に出力であり、前記第2のデー
タが前記レジスタから読み出されたデータであることを
特徴とする。
(作用) インステラクシヨン長が限られている場合、直接アドレ
ツシングやインデツクス修飾アドレツシングではインシ
トラクシヨン中のアドレス指定フイールドを用いるた
め、不利となる。そこで有利になるのが間接アドレツシ
ングである。しかし、間接アドレツシングには、毎回ポ
インタを更新する必要があり、その更新方法が、アドレ
ツシング能力、及び、プロセツサ効率に影響を与える。
先に述べたようにTMS32020では、レジスタフアイルの2
ワードを加算することで更新を実現していた。この2ワ
ードを指定するという方法が制御ビツト数をふやし、限
られたインストラクシヨンで指定することができなかつ
たわけである。そこで、この問題を解決するには、実効
アドレスを蓄えるレジスタを1つのみとし、更新のため
にレジスタフアイルを用意する。このレジスタフアイル
の1ワードを指定することで更新する実現する。これに
よつて、レジスタフアイルの1ワードのみを指定し、算
術論理演算回路及び選択回路の動作を指定するだけの制
御入力ですみ、制御ビツト数が少なく、しかもインスト
ラクシヨンで毎回更新できるために、デイジタル信号処
理に適した間接アドレツシングが実現できる。
(実施例) 第1図は本発明の1実施例を示すブロツク図であり、1
はデータ入力端子、2はレジスタフアイル、3は選択回
路、4は算術論理演算回路、5はレジスタ、6は実効ア
ドレス出力端子、7は制御入力端子である。
この仮想シフトの実現について第1図と第6図に示すタ
イミングチヤートを用いて説明する。
まず、この仮想シフトではポインタをデクリメントする
ために“−1"、そして新しい入力サンプルを格納するた
めに“+4"という2つのポインタ値更新が必要である。
そこで、第6図に示すクロツク0のサイクルでデータ入
力端子1から“−1"を、クロツク1のサイクルでデータ
入力端子1から“+4"をレジスタフアイル2の0番地、
1番地にそれぞれ格納する。次に、ポインタに初期値を
ロードする必要がある。しかしこの初期値は一度しか使
われないので、クロツク2のサイクルで制御入力端子7
を介して選択回路3を切り替えて、データ入力端子1か
らx(t)のアドレスを直接算術論理演算回路4に入れ
る。このとき算術論理演算回路4では制御入力端子7を
介して入力データスルーが選ばれ、選択回路3からの入
力が、そのまま算術論理演算回路4の出力となる。そし
てレジスタ5では制御入力端子7を介して印加された命
令によつて算術論理演算回路4の出力に設定される。こ
のようにしてポインタDPの初期値がロードされ、x
(t)を参照することができる。
次にx(t−1)を参照するために、ポインタをデクリ
メントする必要がある。これは、制御入力端子7を介し
てクロツク3のサイクルでレジスタフアイルの0番地よ
り“−1"を読み出し、選択回路3を通して算術論理演算
回路4で現在のポインタ値を保持していレジスタ出力と
加算を行なう。こうして算術論理演算回路4の出力はポ
インタ値から1引いたものとなり、制御入力端子7を介
した信号によつてレジスタに蓄えられる。このようにし
て、ポインタのデクリメンントが実現できる。同様にク
ロツク4のサイクルでx(t−2)、クロツク5のサイ
クルでx(t−3)を参照するため、ポインタのデクリ
メントが行なわれる。このようにしてx(t)からx
(t−3)までを参照してy(t)は(1)式に従つて
計算される。
y(t)の計算が終了した後、x(t+1)の入力デー
タをメモリに格納する必要がある。このためポインタに
“+4"を加える。まず、制御入力端子7を介してクロツ
ク6のサイクルでレジスタフアイル2から1番地に格納
された“+4"を読み出し、選択回路3を通して算術論理
演算回路4の一方の入力とする。算術論理演算回路4で
は、レジスタフアイルから読み出された“+4"と現在の
ポインタ値を保持するレジス5の出力を加算し出力す
る。レジスタ5では制御入力端子7を介した命令によつ
て算術論理演算回路4の出力を保持する。このようにし
て(ポインタ値+4)が実現される。
第3図は第1図の算術論理演算回路4の一具体例であ
り、加算器10と選択回路11から構成する。前記実施例の
動作説明で、ポインタの初期値をレジスタ5にロードす
る時、算術論理演算回路4では入力データスルーが必要
であつた。これは選択回路11を切り替えて、“0"入力を
選び、加算器で(入力データ+0)を計算することで実
現できる。
この一連の動作を指定するために必要な、制御入力端子
7から加えられる制御信号のビツト数は動作モードとし
てレジスタロード・更新・不変で2ビツト、それにレジ
スタフアイルの何番地かを示すために3ワードなら2ビ
ツト、7ワードなら3ビツトですむ。
このとき第1図の選択回路3によつてデータ入力端子1
からの入力を選択する場合は、レジスタフアイルの最上
位アドレスとし割りあてるものとしている。このように
本発明のアドレス発生回路ではレジスタフアイルが3ワ
ードの場合4ビツト、7ワードの場合5ビツトの制御入
力で実現される。
第4図は、第1図の算術論理演算回路4の第2の具体例
であり、加減算器20と選択回路11で構成される。これに
よつて先の動作モードがロード・加算・減算・不変と同
じ2ビツトですみながら、レジスタフアイルの内容は
“+n"と“−n"を別々に格納する必要がなくなり、レジ
スタフアイルを小しく実現することができる。
以上説明したように、本発明が実施できる。
また、第1図の算術論理演算回路4において、加算又は
減算のキヤリ伝播を途中で打ち切る回路を設け、ある限
られたメモリ内をサイクリツクに参照するようにしたも
のも、本発明の一部である。
(効果) 本発明の効果は、実効アドレスを保持する1つのレジス
タをレジスタフアイルと算術論理演算器を用いて更新す
ることによつて、デイジタル信号処理に適し、また、制
御信号のビツト数も少なくてすむ間接アドレシツシング
が実現できることである。従来例1ではインストラクシ
ヨン中に14ビツトものアドレスフイールドを必要として
いた。また、従来例2ではアドレスフイールドは7ビツ
トであるが、5ワードのレジスタフアイルの内どれを参
照するかを示すためのレジスタフアイル指定レジスタを
用いたため、他のレジスタフアイルを参照しようとした
時にデータバスを占有してしまつた。ところが、本発明
の実施例で示したアドレス発生回路を用いることによ
り、7ワードのレジスタフアイルの場合でも5ビツトの
アドレスフイールドをインストラクシヨン中に持つだけ
でよく、しかもアドレスの更新のためにデータバスを占
有することもない。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロツク図、第2図は
仮想シフトを説明する図、第3図および第4図は第1図
実施例における算術論理演算回路の具体例の詳細ブロツ
ク図、第5図は従来例のブロツク図、第6図は第1図実
施例のタイミングチヤートである。 第1図において、1はデータ入力端子、2はレジスタフ
アイル、3は選択回路、4は算術論理演算回路、5はレ
ジスタ、6は実効アドレス出力端子、7は制御入力端子
である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データ入力端子から入力されたデータを格
    納するレジスタフアイルと、前記レジスタフアイルから
    読み出されたデータと前記データ入力端子から入力され
    たデータのうちの一方を選択する選択回路と、第1のデ
    ータと第2のデータとの算術論理演算を行なう算術論理
    演算回路と、前記算術積論理演算回路の出力データを格
    納するレジスタとからなり、前記第1のデータが前記選
    択回路の出力であり、前記第2のデータが前記レジスタ
    から読み出されたデータであることを特徴とするアドレ
    ス発生回路。
JP61150052A 1986-06-25 1986-06-25 アドレス発生回路 Expired - Lifetime JPH0740658B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61150052A JPH0740658B2 (ja) 1986-06-25 1986-06-25 アドレス発生回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61150052A JPH0740658B2 (ja) 1986-06-25 1986-06-25 アドレス発生回路

Publications (2)

Publication Number Publication Date
JPS635612A JPS635612A (ja) 1988-01-11
JPH0740658B2 true JPH0740658B2 (ja) 1995-05-01

Family

ID=15488451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61150052A Expired - Lifetime JPH0740658B2 (ja) 1986-06-25 1986-06-25 アドレス発生回路

Country Status (1)

Country Link
JP (1) JPH0740658B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5922166A (ja) * 1982-07-28 1984-02-04 Toshiba Corp 演算装置
JPS616745A (ja) * 1984-06-21 1986-01-13 Matsushita Electric Ind Co Ltd アドレス発生装置

Also Published As

Publication number Publication date
JPS635612A (ja) 1988-01-11

Similar Documents

Publication Publication Date Title
KR920006283B1 (ko) 디지탈신호 처리방식
US5299320A (en) Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline
US4935867A (en) Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations
US4511966A (en) Digital signal processing system
US5249148A (en) Method and apparatus for performing restricted modulo arithmetic
EP0543366B1 (en) Data processing method and apparatus
JPH0444970B2 (ja)
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
KR950006589B1 (ko) 정보 처리 장치
JPS59178544A (ja) メモリアクセス回路
US5650952A (en) Circuit arrangement for forming the sum of products
JPS635612A (ja) アドレス発生回路
JP3526773B2 (ja) マルチプロセッサ装置およびその制御方法
JP2654451B2 (ja) データ出力方法
JPS6382530A (ja) 半導体記憶装置
KR930003410B1 (ko) 스택영역의 데이터참조를 고속으로 행하는 데이터처리장치
JP3850150B2 (ja) デジタル信号処理動作を実行する方法およびデジタル信号プロセッサ
JPH1153344A (ja) 行列演算装置及びそれを有する数値演算プロセッサ
JP3288074B2 (ja) アドレス生成回路
JPS6017131B2 (ja) メモリ制御回路
JPS619725A (ja) マイクロプログラム制御回路
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPS6211970A (ja) アドレス発生回路
JP2850594B2 (ja) Ramアドレス生成回路
JP3124361B2 (ja) メモリデータロード装置