JP2000099393A - アドレス生成装置 - Google Patents

アドレス生成装置

Info

Publication number
JP2000099393A
JP2000099393A JP11198230A JP19823099A JP2000099393A JP 2000099393 A JP2000099393 A JP 2000099393A JP 11198230 A JP11198230 A JP 11198230A JP 19823099 A JP19823099 A JP 19823099A JP 2000099393 A JP2000099393 A JP 2000099393A
Authority
JP
Japan
Prior art keywords
address
register
data
stored
instruction
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.)
Pending
Application number
JP11198230A
Other languages
English (en)
Inventor
Minoru Okamoto
稔 岡本
Hidetoshi Suzuki
秀俊 鈴木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP11198230A priority Critical patent/JP2000099393A/ja
Publication of JP2000099393A publication Critical patent/JP2000099393A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 データメモリへのアドレスを効率的に生成す
るアドレス生成装置を提供する。 【解決手段】 アドレス生成装置100は、第1の基準
アドレスを格納する第1のレジスタ140と、第2の基
準アドレスを格納する第2のレジスタ142と、命令に
よって指定される、第1の基準アドレスに対する第1の
オフセット値を格納する第3のレジスタ108と、その
命令によって指定される、第2の基準アドレスに対する
第2のオフセット値を格納する第4のレジスタ109
と、第1のレジスタ140に格納される第1の基準アド
レスと第3のレジスタ108に格納される第1のオフセ
ット値とを加算する第1の加算器130と、第2のレジ
スタ142に格納される第2の基準アドレスと第4のレ
ジスタ109に格納される第2のオフセット値とを加算
する第2の加算器132と、第1の加算器130の出力
を第1のアドレスとして格納する第5のレジスタP2
と、第2の加算器132の出力を第2のアドレスとして
格納する第6のレジスタP3とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アドレスを生成す
るアドレス生成装置に関し、特に、メモリに格納された
データにアクセスするために、そのメモリにおけるその
データの位置を示すアドレスを生成するアドレス生成装
置に関する。
【0002】
【従来の技術】近年、ディジタル信号処理分野の拡大に
伴い、DSP(ディジタル信号処理プロセッサ)が広く
用いられている。DSPは、メモリに格納された複数の
データ(典型的には、2系統のデータ)を読み出し、そ
の複数のデータに対して各種演算(例えば、積和演算)
を実行する。メモリに格納されたデータにアクセスする
ために、そのメモリにおけるそのデータの位置を示すア
ドレスが使用される。通常、メモリに格納された複数の
データにアクセスするために、DSPは、複数のアドレ
スをそれぞれ格納した複数の専用レジスタを有してい
る。例えば、2つの専用レジスタから2つのアドレスが
メモリに出力される。その結果、メモリから2つのアド
レスに対応する2つのデータが出力される。2つのデー
タに対して所定の演算が行われる。
【0003】図4は、従来のアドレス生成装置900の
構成を示す。アドレス生成装置900は、アドレスレジ
スタファイル910と修飾レジスタファイル940とを
含む。
【0004】アドレスレジスタファイル910は複数の
レジスタを含む。例えば、アドレスレジスタファイル9
10は、4本の16ビットレジスタ(以下、レジスタR
0、R1、R2、R3という)を含む。
【0005】修飾レジスタファイル940は複数のレジ
スタを含む。例えば、修飾レジスタファイル940は、
4本の16ビットレジスタ(以下、レジスタMR0、M
R1、MR2、MR3という)を含む。
【0006】図5は、データメモリ950に格納されて
いるデータ群の配置例を示す。図5に示される例では、
データ群A〜データ群Fの6つのデータ群がデータメモ
リ950に格納されている。
【0007】以下、図4および図5を参照して、アドレ
ス生成装置900の動作を説明する。
【0008】アドレスレジスタファイル910のレジス
タR0にはデータ群Aの先頭番地が予め格納されてお
り、アドレスレジスタファイル910のレジスタR1に
はデータ群Bの先頭番地が予め格納されている。アドレ
ス生成装置900は、レジスタR0、R1の内容をアド
レス920、922としてデータメモリ950に出力す
る。データメモリ950は、アドレス920によって指
定される位置に格納されているデータをデータバス96
0に出力し、アドレス922によって指定される位置に
格納されているデータをデータバス962に出力する。
演算器970は、データバス960、962に出力され
た2つのデータに対して所定の演算を行う。
【0009】加算器930は、アドレス920とレジス
タMR0の内容とを加算し、その加算結果をレジスタR
0に書き込む。その結果、レジスタR0の内容が更新さ
れる。
【0010】加算器932は、アドレス922とレジス
タMR1の内容とを加算し、その加算結果をレジスタR
1に書き込む。その結果、レジスタR1の内容が更新さ
れる。
【0011】例えば、レジスタMR0、MR1の内容
が”1”である場合には、レジスタR0、R1の内容は
1ずつインクリメントされる。レジスタR0の出力(す
なわち、アドレス920)に従って、データメモリ95
0に格納されているデータ群Aの先頭番地からデータが
順次読み出される。レジスタR1の出力(すなわち、ア
ドレス922)に従って、データメモリ950に格納さ
れているデータ群Bの先頭番地からデータが順次読み出
される。このようにして、データ群Aのデータとデータ
群Bのデータとに対して所定の演算が実行される。
【0012】データメモリ950に格納されているデー
タ群Cのデータとデータメモリ950に格納されている
データ群Dのデータとに対して所定の演算を実行する場
合には、レジスタR2にデータ群Cの先頭番地を予め格
納し、レジスタR3にデータ群Dの先頭番地を予め格納
しておけばよい。上述した手順と同様の手順に従って、
データメモリ950からデータ群Cのデータとデータ群
Dのデータとを読み出し、読み出された2つのデータに
対して所定の演算を実行することができる。
【0013】さらに、データメモリ950に格納されて
いるデータ群Eのデータとデータメモリ950に格納さ
れているデータ群Fのデータとに対して所定の演算を実
行する場合には、レジスタR0、R1の内容を新たに設
定する必要がある。このときの手順は以下の通りであ
る。
【0014】まず、レジスタR0の内容が必要であれば
データバス960を経由してデータメモリ950に退避
される。次に、レジスタR1の内容が必要であればデー
タバス960を経由してデータメモリ950に退避され
る。次に、レジスタR0にデータ群Eの先頭番地が格納
される。次に、レジスタR1にデータ群Fの先頭番地が
格納される。次に、上述した手順と同様の手順に従っ
て、データメモリ950からデータ群Eのデータとデー
タ群Fのデータとが読み出され、読み出された2つのデ
ータに対して所定の演算が実行される(例えば、「DS
P56116ユーザーズマニュアル」26頁 1992
年、日本モトローラ(株)刊参照)。
【0015】
【発明が解決しようとする課題】上述した従来の技術で
は、レジスタR0、R1にデータ群E、Fの先頭番地を
格納する前に、レジスタR0、R1の内容をデータメモ
リ950に退避する必要がある。このように、アドレス
レジスタファイル910に含まれるレジスタにデータ群
の先頭番地を設定するために多くのステップを必要とす
るという問題点があった。
【0016】図6は、この問題が顕著に現れる例を示し
ている。図6において、LOOP命令は、後続の命令を
繰り返し実行することを指示する命令であり、ENDL
OOP命令は、繰り返し実行する命令の終端を表す命令
である。「LOOP X」は、LOOP XとENDL
OOPとの間の命令をX回繰り返し実行することを表
す。図6に示されるように、2重ループを用いて、レジ
スタR0、R1にデータ群の先頭番地を設定する場合に
は、その先頭番地の設定のために少なくとも6×X×N
ステップが必要となる。このことは、DSPの動作効率
を非常に悪化させる。
【0017】なお、アドレスレジスタファイル910に
含まれるレジスタの数を増大させることにより、データ
群の先頭番地を設定するために必要なステップ数を削減
することができる。レジスタR0、R1の内容をデータ
メモリ950に退避する必要がなくなるからである。し
かし、アドレスレジスタファイル910に含まれるレジ
スタの数が増大すると、アドレス920、922を出力
するための選択回路(アドレスレジスタファイル910
に含まれる)の回路遅延が大きくなるため、高速動作に
適さない。また、このようなレジスタの数の増大は、レ
ジスタへの書き込み信号の数を増大させる。その結果、
消費電力が増大する。
【0018】本発明は、上記問題点に鑑みてなされたも
のであり、データメモリへのアドレスを効率的に生成す
るアドレス生成装置を提供することを目的にする。
【0019】
【課題を解決するための手段】本発明のアドレス生成装
置は、第1のアドレスと第2のアドレスとを生成するア
ドレス生成装置であって、第1の基準アドレスを格納す
る第1のレジスタと、第2の基準アドレスを格納する第
2のレジスタと、命令によって指定される、前記第1の
基準アドレスに対する第1のオフセット値を格納する第
3のレジスタと、前記命令によって指定される、前記第
2の基準アドレスに対する第2のオフセット値を格納す
る第4のレジスタと、前記第1のレジスタに格納される
前記第1の基準アドレスと前記第3のレジスタに格納さ
れる第1のオフセット値とを加算する第1の加算器と、
前記第2のレジスタに格納される前記第2の基準アドレ
スと前記第4のレジスタに格納される第2のオフセット
値とを加算する第2の加算器と、前記第1の加算器の出
力を前記第1のアドレスとして格納する第5のレジスタ
と、前記第2の加算器の出力を前記第2のアドレスとし
て格納する第6のレジスタとを備えており、これによ
り、上記目的が達成される。
【0020】前記第1の基準アドレスは、データメモリ
に格納されている複数のデータ群のうちの1つの先頭番
地であり、前記第2の基準アドレスは、前記データメモ
リに格納されている前記複数のデータ群のうちの他の1
つの先頭番地であってもよい。
【0021】前記命令は、第1の即値部と第2の即値部
とを有しており、前記第1のオフセット値は前記第1の
即値部によって指定され、前記第2のオフセット値は前
記第2の即値部によって指定されてもよい。
【0022】前記第1の加算器による加算および前記第
1の加算器の出力の前記第5のレジスタへの格納と、前
記第2の加算器による加算および前記第2の加算器の出
力の前記第6のレジスタへの格納とは、前記命令を実行
することによって達成されてもよい。
【0023】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態を説明する。
【0024】図1は、本発明の実施の形態のアドレス生
成装置100の構成を示す。アドレス生成装置100
は、アドレスレジスタファイル110を含む。
【0025】アドレスレジスタファイル110は複数の
レジスタを含む。例えば、アドレスレジスタファイル1
10は、4本の16ビットレジスタ(以下、レジスタP
0、P1、P2、P3という)を含む。
【0026】図2は、データメモリ150に格納されて
いるデータ群の配置例を示す。図2に示される例では、
データ群A〜データ群Hの8つのデータ群がデータメモ
リ150に格納されている。
【0027】以下、図1および図2を参照して、データ
群AとB、データ群CとD、データ群EとF、データ群
GとHのそれぞれについて演算器170で演算を実行す
る場合におけるアドレス生成装置100の動作を説明す
る。
【0028】アドレスレジスタファイル110のレジス
タP0にはデータ群Aの先頭番地(図2に示される例で
は、0100h)が予め格納されており、アドレスレジ
スタファイル110のレジスタP1にはデータ群Bの先
頭番地(図2に示される例では、8100h)が予め格
納されている。
【0029】第1のレジスタ140には、第1の基準ア
ドレスが予め格納されている。第1の基準アドレスは、
例えば、データ群Cの先頭番地(図2に示される例で
は、0200h)である。第2のレジスタ142には、
第2の基準アドレスが予め格納されている。第2の基準
アドレスは、例えば、データ群Dの先頭番地(図2に示
される例では、8200h)である。第1の基準アドレ
スおよび第2の基準アドレスは、例えば、データバス1
60を介して第1のレジスタ140および第2のレジス
タ142に供給され得る。
【0030】以下、データメモリ150からデータ群A
のデータとデータ群Bのデータとを順次読み出す場合に
おけるアドレス生成装置100の動作を説明する。
【0031】アドレス生成装置100は、レジスタP
0、P1の内容をアドレス120、122としてデータ
メモリ150に出力する。データメモリ150は、アド
レス120によって指定される位置に格納されているデ
ータをデータバス160に出力し、アドレス122によ
って指定される位置に格納されているデータをデータバ
ス162に出力する。例えば、アドレス120はデータ
群Aの先頭番地(図2に示される例では、0100h)
であり、アドレス122はデータ群Bの先頭番地(図2
に示される例では、8100h)である。この場合に
は、データメモリ150は、0100h番地のデータと
8100h番地のデータとを出力する。
【0032】アドレス120、122は、マルチプレク
サ144、146を経由して加算器130、132に供
給される。加算器130は、アドレス120に”1”を
加算する。加算器132は、アドレス122に”1”を
加算する。加算器130、132の出力は、レジスタP
0、P1にそれぞれ格納される。その結果、レジスタP
0の内容は0101hに更新され、レジスタP1の内容
は8101hに更新される。
【0033】上述した動作を繰り返すことにより、デー
タメモリ150からデータ群Aのデータとデータ群Bの
データとが順次読み出される。データメモリ150から
読み出されたデータ群Aのデータは、データバス160
を経由して演算器170に供給される。データメモリ1
50から読み出されたデータ群Bのデータは、データバ
ス162を経由して演算器170に供給される。演算器
170は、データ群Aのデータとデータ群Bのデータと
に対して所定の演算を行う。
【0034】次に、データメモリ150からデータ群C
のデータとデータ群Dのデータとを順次読み出す場合に
おけるアドレス生成装置100の動作を説明する。デー
タメモリ150からデータ群Cのデータとデータ群Dの
データとを読み出すために特定の命令(以下、「MOD
2P」命令という)が使用される。
【0035】図3は、「MOD2P」命令の命令コード
の構成を示す。「MOD2P」命令は、即値部310と
即値部311とを含む。
【0036】「MOD2P」命令の命令長は24ビット
である。即値部310は、ビット15からビット8に割
り当てられている。即値部311は、ビット7からビッ
ト0に割り当てられている。
【0037】「MOD2P」命令は、例えば、「MOD
2P (P2,00h),(P3,00h)」と表記さ
れる。これは、即値部310の値が00hであり、即値
部311の値が00hであるという意味である。
【0038】命令は、命令デコーダ180によってデコ
ードされる。命令デコーダ180は、各種の制御信号を
出力する。各種の制御信号には、マルチプレクサ144
〜147に供給される制御信号194〜197が含まれ
る。また、各種の制御信号には、アドレスレジスタファ
イル110、第1のレジスタ140および第2のレジス
タ142に供給される書き込みイネーブル信号も含まれ
得る。
【0039】「MOD2P」命令が命令デコーダ180
によってデコードされると、命令デコーダ180は、
「MOD2P」命令の即値部310の値を第3のレジス
タ108に格納し、「MOD2P」命令の即値部311
の値を第4のレジスタ109に格納する。即値部310
の値は、第1のレジスタ140に格納されている第1の
基準アドレスに対する第1のオフセット値として使用さ
れる。即値部311の値は、第2のレジスタ142に格
納されている第2の基準アドレスに対する第2のオフセ
ット値として使用される。
【0040】さらに、命令デコーダ180は、マルチプ
レクサ144〜147に制御信号194〜197を供給
する。「MOD2P」命令が命令デコーダ180によっ
てデコードされると、マルチプレクサ144は、制御信
号194によって第1のレジスタ140を選択するよう
に制御され、マルチプレクサ145は、制御信号195
によって第3のレジスタ108を選択するように制御さ
れ、マルチプレクサ146は、制御信号196によって
第2のレジスタ142を選択するように制御され、マル
チプレクサ147は、制御信号197によって第4のレ
ジスタ109を選択するように制御される。
【0041】その結果、加算器130は、第1のレジス
タ140の出力と第3のレジスタ108の出力とを加算
する。加算器132は、第2のレジスタ142の出力と
第4のレジスタ109の出力とを加算する。
【0042】例えば、第1のレジスタ140に第1の基
準アドレスとして0200hが格納されており、第3の
レジスタ108に第1の基準アドレスに対する第1のオ
フセット値として00hが格納されている場合には、加
算器130によって(0200h+00h)という加算
が実行される。その加算結果0200hは、アドレスレ
ジスタファイル110のレジスタP2に出力される。
【0043】例えば、第2のレジスタ142に第2の基
準アドレスとして8200hが格納されており、第4の
レジスタ109に第2の基準アドレスに対する第2のオ
フセット値として00hが格納されている場合には、加
算器132によって(8200h+00h)という加算
が実行される。その加算結果8200hは、アドレスレ
ジスタファイル110のレジスタP3に出力される。
【0044】このようにして、レジスタP2にデータ群
Cの先頭番地が格納され、レジスタP3にデータ群Dの
先頭番地が格納される。
【0045】次に、アドレス生成装置100は、レジス
タP0、P1の内容をアドレス120、122としてデ
ータメモリ150に出力する。この場合、アドレス12
0として0200hが出力され、アドレス122として
8200hが出力される。
【0046】マルチプレクサ144は、制御信号194
によってアドレス120を選択するように制御され、マ
ルチプレクサ145は、制御信号195によって”1”
を選択するように制御され、マルチプレクサ146は、
制御信号196によってアドレス122を選択するよう
に制御され、マルチプレクサ147は、制御信号197
によって”1”を選択するように制御される。
【0047】その結果、加算器130は、アドレス12
0に”1”を加算する。その加算結果は、アドレスレジ
スタファイル110のレジスタP2に出力される。加算
器132は、アドレス122に”1”を加算する。その
加算結果は、アドレスレジスタファイル110のレジス
タP3に出力される。このようにして、レジスタP2、
P3の内容は、1ずつ加算され続けることになる。これ
により、データメモリ150からデータ群Cのデータと
データ群Dのデータとが順次読み出される。
【0048】次に、データメモリ150からデータ群E
のデータとデータ群Fのデータとを順次読み出す場合に
おけるアドレス生成装置100の動作を説明する。デー
タメモリ150からデータ群Eのデータとデータ群Fの
データとを読み出すために「MOD2P」命令が使用さ
れる。
【0049】「MOD2P」命令は、例えば、「MOD
2P (P2,30h),(P3,20h)」と表記さ
れる。これは、即値部310の値が30hであり、即値
部311の値が20hであるという意味である。
【0050】「MOD2P」命令が命令デコーダ180
によってデコードされると、命令デコーダ180は、
「MOD2P」命令の即値部310の値を第3のレジス
タ108に格納し、「MOD2P」命令の即値部311
の値を第4のレジスタ109に格納する。さらに、命令
デコーダ180は、マルチプレクサ144〜147に制
御信号194〜197を供給する。「MOD2P」命令
が命令デコーダ180によってデコードされると、マル
チプレクサ144は、制御信号194によって第1のレ
ジスタ140を選択するように制御され、マルチプレク
サ145は、制御信号195によって第3のレジスタ1
08を選択するように制御され、マルチプレクサ146
は、制御信号196によって第2のレジスタ142を選
択するように制御され、マルチプレクサ147は、制御
信号197によって第4のレジスタ109を選択するよ
うに制御される。
【0051】その結果、加算器130は、第1のレジス
タ140の出力と第3のレジスタ108の出力とを加算
する。加算器132は、第2のレジスタ142の出力と
第4のレジスタ109の出力とを加算する。
【0052】例えば、第1のレジスタ140に第1の基
準アドレスとして0200hが格納されており、第3の
レジスタ108に第1の基準アドレスに対する第1のオ
フセット値として30hが格納されている場合には、加
算器130によって(0200h+30h)という加算
が実行される。その加算結果0230hは、アドレスレ
ジスタファイル110のレジスタP2に出力される。
【0053】例えば、第2のレジスタ142に第2の基
準アドレスとして8200hが格納されており、第4の
レジスタ109に第2の基準アドレスに対する第2のオ
フセット値として20hが格納されている場合には、加
算器132によって(8200h+20h)という加算
が実行される。その加算結果8220hは、アドレスレ
ジスタファイル110のレジスタP3に出力される。
【0054】このようにして、レジスタP2にデータ群
Eの先頭番地が格納され、レジスタP3にデータ群Fの
先頭番地が格納される。
【0055】次に、アドレス生成装置100は、レジス
タP0、P1の内容をアドレス120、122としてデ
ータメモリ150に出力する。この場合、アドレス12
0として0230hが出力され、アドレス122として
8220hが出力される。
【0056】マルチプレクサ144は、制御信号194
によってアドレス120を選択するように制御され、マ
ルチプレクサ145は、制御信号195によって”1”
を選択するように制御され、マルチプレクサ146は、
制御信号196によってアドレス122を選択するよう
に制御され、マルチプレクサ147は、制御信号197
によって”1”を選択するように制御される。
【0057】その結果、加算器130は、アドレス12
0に”1”を加算する。その加算結果は、アドレスレジ
スタファイル110のレジスタP2に出力される。加算
器132は、アドレス122に”1”を加算する。その
加算結果は、アドレスレジスタファイル110のレジス
タP3に出力される。このようにして、レジスタP2、
P3の内容は、1ずつ加算され続けることになる。これ
により、データメモリ150からデータ群Eのデータと
データ群Fのデータとが順次読み出される。
【0058】データメモリ150からデータ群Gのデー
タとデータ群Hのデータとを順次読み出す場合における
アドレス生成装置100の動作も上述した動作と同様で
ある。データメモリ150からデータ群Gのデータとデ
ータ群Hのデータとを読み出すために「MOD2P」が
使用される。
【0059】「MOD2P」命令は、例えば、「MOD
2P (P2,70h),(P3,60h)」と表記さ
れる。これは、即値部310の値が70hであり、即値
部311の値が60hであるという意味である。「MO
D2P」命令を実行することにより、レジスタP2にデ
ータ群Gの先頭番地(0270h)が格納され、レジス
タP3にデータ群Hの先頭番地(8260h)が格納さ
れる。
【0060】このように、第1のレジスタ140に格納
される第1の基準アドレスと「MOD2P」命令によっ
て指定される第1のオフセット値との加算結果に基づい
てアドレス120を生成し、第2のレジスタ142に格
納される第2の基準アドレスと「MOD2P」命令によ
って指定される第2のオフセット値との加算結果に基づ
いてアドレス122を生成することにより、データメモ
リ150に格納された演算対象となるデータ群の数がア
ドレスレジスタファイル110内のレジスタの数より多
い場合でも、アドレスレジスタファイル110のレジス
タの内容をデータメモリ150に退避する必要がない。
これにより、データメモリ150へのアドレス120、
122を効率的に生成することが可能になる。
【0061】なお、第1の基準アドレスおよび第2の基
準アドレスは、データメモリ150に格納されるデータ
群の先頭番地に限定されない。第1の基準アドレスは、
第1のオフセット値に対するベースアドレスとして任意
の値をとり得る。第2の基準アドレスは、第2のオフセ
ット値に対するベースアドレスとして任意の値をとり得
る。
【0062】上述した実施の形態において、データ群A
のデータの読み出しを第1のレジスタ140に格納され
る第1の基準アドレスと「MOD2P」命令によって指
定される第1のオフセット値との加算結果に基づいて生
成されるアドレス120を用いて行い、データ群Bのデ
ータの読み出しを第2のレジスタ142に格納される第
2の基準アドレスと「MOD2P」命令によって指定さ
れる第2のオフセット値との加算結果に基づいて生成さ
れるアドレス122を用いて行うようにしてもよい。こ
の場合には、アドレスレジスタファイル110に含まれ
るレジスタは2本で足りる。
【0063】上述したように、「MOD2P」命令を実
行することによって、加算器130による加算および加
算器130の出力のレジスタP2への格納と、加算器1
32による加算および加算器132の出力のレジスタP
3への格納とが同時に行われる。「MOD2P」命令に
このような機能を持たせることにより、この「MOD2
P」命令を1サイクルで実行するようにハードウェアを
構成し得る。アドレスを設定するために必要なサイクル
数を削減することによって、アドレス設定の効率を大幅
に向上させることができる。
【0064】なお、「MOD2P」命令の表記は、上述
した実施の形態の表記には限定されない。上述した「M
OD2P」命令と同様の機能が達成される限り、「MO
D2P」命令の表記は任意である。
【0065】また、上述した実施の形態では、第1のレ
ジスタ140および第2のレジスタ142をアドレスレ
ジスタファイル110とは独立に設けたが、第1のレジ
スタ140および第2のレジスタ142はアドレスレジ
スタファイル110内の任意の2本のレジスタであって
もよい。この場合には、「MOD2P」命令の実行によ
り、例えば、レジスタP0の内容と即値部310とが加
算され、その加算結果がレジスタP2に格納され、レジ
スタP1の内容と即値部311とが加算され、その加算
結果がレジスタP3に格納される。
【0066】また、「MOD2P」命令の命令コードの
構成も、図3に示される構成には限定されない。1ステ
ップにおいて2以上のレジスタの内容に即値を加算する
即値加算を実行し、その加算結果を2以上のレジスタに
格納するという機能が達成される限り、「MOD2P」
命令の命令コードは、任意の構成をとり得る。
【0067】さらに、アドレスレジスタファイル110
のレジスタ名称として、P0、P1、P2、P3を使用
した。これらのレジスタの名称は任意でよい。
【0068】
【発明の効果】本発明によれば、第1のレジスタに格納
される第1の基準アドレスと命令によって指定される第
1のオフセット値との加算結果に基づいて第1のアドレ
スが生成され、第2のレジスタに格納される第2の基準
アドレスとその命令によって指定される第2のオフセッ
ト値との加算結果に基づいて第2のアドレスが生成され
る。これにより、データメモリに格納された演算対象と
なるデータ群の数がアドレスレジスタファイル内のレジ
スタの数より多い場合でも、アドレスレジスタファイル
のレジスタの内容をデータメモリに退避する必要がな
い。これにより、データメモリへの第1のアドレスおよ
び第2のアドレスを効率的に生成することが可能にな
る。
【図面の簡単な説明】
【図1】本発明の実施の形態のアドレス生成装置100
の構成を示す図である。
【図2】データメモリ150に格納されているデータ群
の配置例を示す図である。
【図3】「MOD2P」命令の命令コードの構成を示す
図である。
【図4】従来のアドレス生成装置900の構成を示す図
である。
【図5】データメモリ950に格納されているデータ群
の配置例を示す図である。
【図6】従来のアドレス生成装置900を用いてアドレ
スを生成するためのプログラムの例を示す図である。
【符号の説明】
100 アドレス生成装置 140 第1のレジスタ 142 第2のレジスタ 108 第3のレジスタ 109 第4のレジスタ 110 アドレスレジスタファイル 120、122 アドレス 130、132 加算器 144、145、146、147 マルチプレクサ 150 データメモリ 160、162 データバス 170 演算器 180 命令デコーダ 194、195、196、197 制御信号 310、311 即値部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 第1のアドレスと第2のアドレスとを生
    成するアドレス生成装置であって、 第1の基準アドレスを格納する第1のレジスタと、 第2の基準アドレスを格納する第2のレジスタと、 命令によって指定される、前記第1の基準アドレスに対
    する第1のオフセット値を格納する第3のレジスタと、 前記命令によって指定される、前記第2の基準アドレス
    に対する第2のオフセット値を格納する第4のレジスタ
    と、 前記第1のレジスタに格納される前記第1の基準アドレ
    スと前記第3のレジスタに格納される第1のオフセット
    値とを加算する第1の加算器と、 前記第2のレジスタに格納される前記第2の基準アドレ
    スと前記第4のレジスタに格納される第2のオフセット
    値とを加算する第2の加算器と、 前記第1の加算器の出力を前記第1のアドレスとして格
    納する第5のレジスタと、 前記第2の加算器の出力を前記第2のアドレスとして格
    納する第6のレジスタとを備えたアドレス生成装置。
  2. 【請求項2】 前記第1の基準アドレスは、データメモ
    リに格納されている複数のデータ群のうちの1つの先頭
    番地であり、前記第2の基準アドレスは、前記データメ
    モリに格納されている前記複数のデータ群のうちの他の
    1つの先頭番地である、請求項1に記載のアドレス生成
    装置。
  3. 【請求項3】 前記命令は、第1の即値部と第2の即値
    部とを有しており、前記第1のオフセット値は前記第1
    の即値部によって指定され、前記第2のオフセット値は
    前記第2の即値部によって指定される、請求項1に記載
    のアドレス生成装置。
  4. 【請求項4】 前記第1の加算器による加算および前記
    第1の加算器の出力の前記第5のレジスタへの格納と、
    前記第2の加算器による加算および前記第2の加算器の
    出力の前記第6のレジスタへの格納とは、前記命令を実
    行することによって達成される、請求項1に記載のアド
    レス生成装置。
JP11198230A 1998-07-13 1999-07-12 アドレス生成装置 Pending JP2000099393A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11198230A JP2000099393A (ja) 1998-07-13 1999-07-12 アドレス生成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP19706498 1998-07-13
JP10-197064 1998-07-13
JP11198230A JP2000099393A (ja) 1998-07-13 1999-07-12 アドレス生成装置

Publications (1)

Publication Number Publication Date
JP2000099393A true JP2000099393A (ja) 2000-04-07

Family

ID=26510147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11198230A Pending JP2000099393A (ja) 1998-07-13 1999-07-12 アドレス生成装置

Country Status (1)

Country Link
JP (1) JP2000099393A (ja)

Similar Documents

Publication Publication Date Title
JP2625277B2 (ja) メモリアクセス装置
JP2554050B2 (ja) デ−タ処理方法
JPH09231070A (ja) 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
JPH07168753A (ja) モジュロ加算回路およびその動作方法
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
JPH07181969A (ja) コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム
US6363469B1 (en) Address generation apparatus
JP2000099393A (ja) アドレス生成装置
KR920002573B1 (ko) 데이타 처리기
JP3867804B2 (ja) 集積回路装置
EP0969370A2 (en) Computer system having a cache memory and a tracing function
JP2999101B2 (ja) インターリーブ装置
JP3019818B2 (ja) データ処理方法
JP3531311B2 (ja) 命令読み出し装置
JP3531208B2 (ja) ディジタル信号処理装置
JPH03204695A (ja) 楽音合成装置
JP3888236B2 (ja) プログラムカウンタ回路
JP2001043084A (ja) プロセッサ装置
EP1010275A1 (en) Audio effects processor having decoupled instruction execution and audio data sequencing
JP2001092658A (ja) データ処理回路及びデータ処理装置
JPH04255028A (ja) マイクロプロセッサ
JP2601055B2 (ja) マイクロプログラム・シーケンサ
JP2004206214A (ja) マイクロプロセッサ
JPH09114779A (ja) 情報処理装置のウェイト制御方式
KR960015210A (ko) 수퍼스칼라 마이크로프로세서 정수 실행 유닛의 구조

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030502