JP2002525708A - Dspメモリ内に位置する複素ベクトルにアクセスする方法および装置 - Google Patents
Dspメモリ内に位置する複素ベクトルにアクセスする方法および装置Info
- Publication number
- JP2002525708A JP2002525708A JP2000570665A JP2000570665A JP2002525708A JP 2002525708 A JP2002525708 A JP 2002525708A JP 2000570665 A JP2000570665 A JP 2000570665A JP 2000570665 A JP2000570665 A JP 2000570665A JP 2002525708 A JP2002525708 A JP 2002525708A
- Authority
- JP
- Japan
- Prior art keywords
- fixed displacement
- register
- address
- memory
- exponential
- 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.)
- Ceased
Links
- 230000015654 memory Effects 0.000 title claims abstract description 168
- 239000013598 vector Substances 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000006073 displacement reaction Methods 0.000 claims abstract description 165
- 238000012545 processing Methods 0.000 claims description 59
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 239000003607 modifier Substances 0.000 claims 2
- 230000003213 activating effect Effects 0.000 claims 1
- 238000001514 detection method Methods 0.000 claims 1
- 238000012937 correction Methods 0.000 abstract description 14
- 230000009977 dual effect Effects 0.000 abstract description 5
- 238000003491 array Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/35—Indirect addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】
デジタル信号処理装置のメモリ内で複素ベクトル成分の実数部分と虚数部分に効果的にアクセスするための方法および装置が、新しい処理装置アドレッシングである固定変位モードに組み込むことによって実行される。付加レジスター、固定変位レジスターおよび付加制御フラグ、固定変位構成ビットが必要である。使用方法は単一アドレス・レジスターのみを必要とし、指数アドレッシングのために使用される通常のオフセット・レジスターの使用を必要とせず、オフセット・レジスターは事後修正および(または)ビット反転を同時にするために保有している。共通アドレス・スペースを共有するデュアル・メモリ・スペースは必要とせず、これによってメモリ管理が簡略化され、また方法および装置が全てのアドレッシングと共用できる。
Description
【0001】 (技術分野および従来技術) 本発明は処理装置メモリ・アドレッシングおよびメモリ・アドレス発生の方法
、および、より詳しくはデジタル信号処理装置(DSP)のメモリに記憶された
複素ベクトルにアクセスする方法に関する。
、および、より詳しくはデジタル信号処理装置(DSP)のメモリに記憶された
複素ベクトルにアクセスする方法に関する。
【0002】 図1はデジタル信号処理装置のような処理装置の一般的な従来技術のアドレス
発生ユニット(AGU)102を示す。用語「処理装置(プロセッサ)」は、こ
こでは、これに限定するものではないが、デジタル信号処理装置のようなあらゆ
るデータ処理デバイスを意味する。AGU102は、普通、メモリ・データ・ア
クセスのためのレジスター・セットを含んでいる。各レジスター・セット110
は一般的に三つのレジスターを含んでいる:すなわち、 1. Rn で示したアドレス・レジスター(ポインター)104と; 2. Nn で示したオフセット・レジスター106と; 3. Mn で示したバッファ長レジスター108であり、
発生ユニット(AGU)102を示す。用語「処理装置(プロセッサ)」は、こ
こでは、これに限定するものではないが、デジタル信号処理装置のようなあらゆ
るデータ処理デバイスを意味する。AGU102は、普通、メモリ・データ・ア
クセスのためのレジスター・セットを含んでいる。各レジスター・セット110
は一般的に三つのレジスターを含んでいる:すなわち、 1. Rn で示したアドレス・レジスター(ポインター)104と; 2. Nn で示したオフセット・レジスター106と; 3. Mn で示したバッファ長レジスター108であり、
【0003】 ここに、n=1...Kは一連の添字、また、Kは処理装置アドレス発生ユニ
ット内の既存セットの数である。
ット内の既存セットの数である。
【0004】 用語「アレイ」は、ここでは処理装置メモリ内の複数の位置を意味し、全ての
それぞれの位置が固定ベース・アドレスに関連する添字によってアクセスでき、
添字には全て定数が掛けられる。用語「ベクトル」は、ここではこの種のアレイ
内に記憶された複数のデータ値を意味し、また用語「成分(コンポーネント)」
は、ここではこの種のベクトルのデータ値を意味する。用語「複素数」は、ここ
では普通の数学的観念における「実数部分」と「虚数部分」からなる一対の数を
含み、ただしこれに限定するものではない、「第1部分」と「第2部分」を意味
する。用語「複素ベクトル」は、ここでは同数の要素を有する一対のベクトルを
意味する。用語「第1アレイ」は、ここでは複素ベクトルのベクトル対の第1部
分(ないしベクトル)を含む処理装置メモリ内のアレイを意味し、また、用語「
第2アレイ」は、ここでは複素ベクトルのベクトル対の第2部分(ないしベクト
ル)を含む処理装置メモリ内のアレイを意味する。複素ベクトルは普通の数学的
観念における複素数のベクトルからなり、複素ベクトルの実数が第1アレイに、
また複素ベクトルの虚数が第2アレイに記憶される。別の方法として、複素ベク
トルは普通の数学的観念における複素数のベクトルからなり、複素ベクトルの実
数が第2アレイに、また複素ベクトルの虚数が第1アレイに記憶される。さらな
る別の方法として、本発明による複素ベクトルは普通の数学的観念における複素
数を表す必要のない任意のデータ値の二つのベクトルからなる。さらに、処理装
置メモリに関する用語「アクセス」および「アクセッシング」は、ここでは処理
装置メモリ内でのアドレスの発生を意味し、また、両者とも処理装置メモリ内に
データ値を記憶することだけではなく、処理装置メモリから記憶されたデータ値
を検索することに関係する。
それぞれの位置が固定ベース・アドレスに関連する添字によってアクセスでき、
添字には全て定数が掛けられる。用語「ベクトル」は、ここではこの種のアレイ
内に記憶された複数のデータ値を意味し、また用語「成分(コンポーネント)」
は、ここではこの種のベクトルのデータ値を意味する。用語「複素数」は、ここ
では普通の数学的観念における「実数部分」と「虚数部分」からなる一対の数を
含み、ただしこれに限定するものではない、「第1部分」と「第2部分」を意味
する。用語「複素ベクトル」は、ここでは同数の要素を有する一対のベクトルを
意味する。用語「第1アレイ」は、ここでは複素ベクトルのベクトル対の第1部
分(ないしベクトル)を含む処理装置メモリ内のアレイを意味し、また、用語「
第2アレイ」は、ここでは複素ベクトルのベクトル対の第2部分(ないしベクト
ル)を含む処理装置メモリ内のアレイを意味する。複素ベクトルは普通の数学的
観念における複素数のベクトルからなり、複素ベクトルの実数が第1アレイに、
また複素ベクトルの虚数が第2アレイに記憶される。別の方法として、複素ベク
トルは普通の数学的観念における複素数のベクトルからなり、複素ベクトルの実
数が第2アレイに、また複素ベクトルの虚数が第1アレイに記憶される。さらな
る別の方法として、本発明による複素ベクトルは普通の数学的観念における複素
数を表す必要のない任意のデータ値の二つのベクトルからなる。さらに、処理装
置メモリに関する用語「アクセス」および「アクセッシング」は、ここでは処理
装置メモリ内でのアドレスの発生を意味し、また、両者とも処理装置メモリ内に
データ値を記憶することだけではなく、処理装置メモリから記憶されたデータ値
を検索することに関係する。
【0005】 複素ベクトルを処理しようとするとき、第1アレイと第2アレイが普通、処理
装置メモリ・アーキテクチャに依存してメモリ内の異なるアドレスか、または異
なるメモリ・スペースに配置される。二つの異なるアドレス・レジスターの間接
アドレッシング内で複素ベクトルにアクセスするために、第1アレイ用のアドレ
ス・レジスターと、第2アレイ用のアドレス・レジスターが必要とされる。この
アプローチの限界は、アドレス・レジスターはデジタル信号処理装置アプリケー
ションにおいて非常に高価なリソースであるということである。第1アレイと第
2アレイが同じメモリに配置される場合において、単一アドレス・レジスターと
オフセット・レジスターがアクセスのために使用できる。このアプローチは、ア
ドレス・レジスター自体が第1アレイを指し、またオフセット・レジスターが第
1アレイと第2アレイ間のオフセットを含んでおれば、使用することができる。
このような場合において、アドレス・レジスター(Rn)を使用する間接アドレ
ッシングによって第1アレイにアクセスすることができ、またアドレス・レジス
ターとそのオフセット・レジスター(すなわち、Rn+Nn)を使用する指数間
接アドレッシングによって第2アレイにアクセスすることができる。しかし、ビ
ット−逆/事後修正バイ・ステップ(bit−reversal and po
st−modification−by−step)アドレッシングにおいて、
オフセット・レジスターは使用状態にあり、また指数間接アドレッシングのため
には利用できない。従って、指数間接アドレッシングを使用するときは、二つの
アドレス・レジスターが複素ベクトル・アクセスのために必要である。このよう
な状況は、ビット−逆・アドレッシングが使用されているFFTアルゴリズムに
発生し、事後修正バイ・ステップ・アドレッシングが使用されている複素信号の
デシメーションが使用されるというように発生する(既存のデジタル信号処理装
置アーキテクチャの分野および説明の概略は、バークレー・デザイン・テクノロ
ジイ・インコーポレイテッド、1995による「DSP処理装置に対するバイヤ
ーズ・ガイド」に見つけることができる)。
装置メモリ・アーキテクチャに依存してメモリ内の異なるアドレスか、または異
なるメモリ・スペースに配置される。二つの異なるアドレス・レジスターの間接
アドレッシング内で複素ベクトルにアクセスするために、第1アレイ用のアドレ
ス・レジスターと、第2アレイ用のアドレス・レジスターが必要とされる。この
アプローチの限界は、アドレス・レジスターはデジタル信号処理装置アプリケー
ションにおいて非常に高価なリソースであるということである。第1アレイと第
2アレイが同じメモリに配置される場合において、単一アドレス・レジスターと
オフセット・レジスターがアクセスのために使用できる。このアプローチは、ア
ドレス・レジスター自体が第1アレイを指し、またオフセット・レジスターが第
1アレイと第2アレイ間のオフセットを含んでおれば、使用することができる。
このような場合において、アドレス・レジスター(Rn)を使用する間接アドレ
ッシングによって第1アレイにアクセスすることができ、またアドレス・レジス
ターとそのオフセット・レジスター(すなわち、Rn+Nn)を使用する指数間
接アドレッシングによって第2アレイにアクセスすることができる。しかし、ビ
ット−逆/事後修正バイ・ステップ(bit−reversal and po
st−modification−by−step)アドレッシングにおいて、
オフセット・レジスターは使用状態にあり、また指数間接アドレッシングのため
には利用できない。従って、指数間接アドレッシングを使用するときは、二つの
アドレス・レジスターが複素ベクトル・アクセスのために必要である。このよう
な状況は、ビット−逆・アドレッシングが使用されているFFTアルゴリズムに
発生し、事後修正バイ・ステップ・アドレッシングが使用されている複素信号の
デシメーションが使用されるというように発生する(既存のデジタル信号処理装
置アーキテクチャの分野および説明の概略は、バークレー・デザイン・テクノロ
ジイ・インコーポレイテッド、1995による「DSP処理装置に対するバイヤ
ーズ・ガイド」に見つけることができる)。
【0006】 ほとんどの既存のデジタル信号処理装置はこのメモリ・アクセス問題を解決で
きず、また、従って、二つの異なるアドレス・レジスターが普通、オフセット・
レジスターが使用されているときに、複素ベクトルにアクセスするのに必要とさ
れる。モトローラDSP56xxx処理装置シリーズに使用されている一つの既
存の解決法を図2に示す。このアプローチは、二つのデータ・メモリ、すなわち
、同じアドレス・スペース206を有するXメモリ202とYメモリ204を使
用している。さらに、専用のアッセンブリ言語シンタックス(図2には示さず)
とアドレス発生ユニット(図1に示したように)を必要とする。このアーキテク
チャの完全な説明は、モトローラ・インコーポレイテッド(オースチン、テキサ
ス州にある半導体製品セクター、DSP部の「DSP56000 24ビット・
デジタル信号処理装置ファミリー・マニュアル」に開示されている。ここに全て
の目的で完全な説明が必要であれば、参考例として取り入れる。この従来技術の
解決法において、アドレス発生ユニット・アーキテクチャは、アドレス・レジス
ター208(R0)がXメモリ202とYメモリ204両方の同じアドレスを指
す。従って、複素ベクトルのための第1アレイと第2アレイを異なるメモリ・ス
ペースに、しかし同じアドレスに配置することは、アドレス・レジスター208
(R0)のみを使用して、第1アレイと第2アレイ両方に同時にアクセスするこ
とを可能にする。図2に示したように、アドレス・レジスター208(R0)が
、0x0002を指すが、メモリ・スペースと特別な関係はない。特定メモリ・
スペースへの割り当てはアッセンブリ言語オペコード(opcode)で実行さ
れる。例えば、もし第1アレイがXメモリ202に配置され、第2アレイがYメ
モリ204に配置され、また、もし第1アレイが複素ベクトルの実数部分を記憶
し、第2アレイが複素ベクトルの虚数部分を記憶すれば、アドレスの実数部分、
0x0002がレジスターAへの移動、また虚数部分のレジスターBへの移動が
次のアッセンブリ・コードによって実行される: 移動 X:(R0),A; 移動 Y:(R0),B;
きず、また、従って、二つの異なるアドレス・レジスターが普通、オフセット・
レジスターが使用されているときに、複素ベクトルにアクセスするのに必要とさ
れる。モトローラDSP56xxx処理装置シリーズに使用されている一つの既
存の解決法を図2に示す。このアプローチは、二つのデータ・メモリ、すなわち
、同じアドレス・スペース206を有するXメモリ202とYメモリ204を使
用している。さらに、専用のアッセンブリ言語シンタックス(図2には示さず)
とアドレス発生ユニット(図1に示したように)を必要とする。このアーキテク
チャの完全な説明は、モトローラ・インコーポレイテッド(オースチン、テキサ
ス州にある半導体製品セクター、DSP部の「DSP56000 24ビット・
デジタル信号処理装置ファミリー・マニュアル」に開示されている。ここに全て
の目的で完全な説明が必要であれば、参考例として取り入れる。この従来技術の
解決法において、アドレス発生ユニット・アーキテクチャは、アドレス・レジス
ター208(R0)がXメモリ202とYメモリ204両方の同じアドレスを指
す。従って、複素ベクトルのための第1アレイと第2アレイを異なるメモリ・ス
ペースに、しかし同じアドレスに配置することは、アドレス・レジスター208
(R0)のみを使用して、第1アレイと第2アレイ両方に同時にアクセスするこ
とを可能にする。図2に示したように、アドレス・レジスター208(R0)が
、0x0002を指すが、メモリ・スペースと特別な関係はない。特定メモリ・
スペースへの割り当てはアッセンブリ言語オペコード(opcode)で実行さ
れる。例えば、もし第1アレイがXメモリ202に配置され、第2アレイがYメ
モリ204に配置され、また、もし第1アレイが複素ベクトルの実数部分を記憶
し、第2アレイが複素ベクトルの虚数部分を記憶すれば、アドレスの実数部分、
0x0002がレジスターAへの移動、また虚数部分のレジスターBへの移動が
次のアッセンブリ・コードによって実行される: 移動 X:(R0),A; 移動 Y:(R0),B;
【0007】 この解決法には二つの欠点がある。すなわち、第1に、ベクトルの二つの部分
(第1アレイと第2アレイをそれぞれ指す)が、異なるメモリであるが同じアド
レスに配置されなければならない。これによりメモリ利用が役に立たなくなり(
メモリ中のホール)、また必要な場合メモリの再配置を実行することが困難にな
る。例えば、第1アレイをXメモリ202に再配置する必要があれば、二つのア
レイを同じアドレスに維持するために、第2アレイもYメモリ204に再配置す
る必要がある。
(第1アレイと第2アレイをそれぞれ指す)が、異なるメモリであるが同じアド
レスに配置されなければならない。これによりメモリ利用が役に立たなくなり(
メモリ中のホール)、また必要な場合メモリの再配置を実行することが困難にな
る。例えば、第1アレイをXメモリ202に再配置する必要があれば、二つのア
レイを同じアドレスに維持するために、第2アレイもYメモリ204に再配置す
る必要がある。
【0008】 従って、処理メモリ内の複素ベクトルにアクセスする有効な方法が必要なこと
が、またこれを有することが大変有利であることが広く認識されており、これに
はオフセット・レジスターを使用する必要がなく、さらに、単一アドレス・スペ
ースを共有するマルチプル・メモリの使用を必要としない単一アドレス・レジス
ターのみを必要とするだけである。この目的は本発明に一致する。
が、またこれを有することが大変有利であることが広く認識されており、これに
はオフセット・レジスターを使用する必要がなく、さらに、単一アドレス・スペ
ースを共有するマルチプル・メモリの使用を必要としない単一アドレス・レジス
ターのみを必要とするだけである。この目的は本発明に一致する。
【0009】 (発明の概要) 本発明は有効なメモリ・アドレス発生のための方法および装置であり、また単
一のアドレス・レジスター(ポインター)をいずれのアドレッシングにも使用す
る処理装置メモリに配置された複素ベクトルにアクセスする方法および装置であ
る。これは新しいレジスターをアドレス発生ユニットに組み入れることによって
実行され、これは「固定変位レジスター」となり、Rfで示される。この固定変
位レジスターは指数間接アドレッシングのみに使用され、またこのアドレッシン
グ中にメモリ・オフセットを提供する。この方法により、工程(ステップ)によ
る事後増加が可能となり、アドレス発生ユニットを再プログラミングせずに同じ
アドレス・レジスターで二つの異なるアレイにアクセスすることができる。
一のアドレス・レジスター(ポインター)をいずれのアドレッシングにも使用す
る処理装置メモリに配置された複素ベクトルにアクセスする方法および装置であ
る。これは新しいレジスターをアドレス発生ユニットに組み入れることによって
実行され、これは「固定変位レジスター」となり、Rfで示される。この固定変
位レジスターは指数間接アドレッシングのみに使用され、またこのアドレッシン
グ中にメモリ・オフセットを提供する。この方法により、工程(ステップ)によ
る事後増加が可能となり、アドレス発生ユニットを再プログラミングせずに同じ
アドレス・レジスターで二つの異なるアレイにアクセスすることができる。
【0010】 従って、本発明は現在既知の構成と方法の欠点に首尾よく言及する。第1に、
本発明は、あらゆる種類のアドレッングを使用する一つのアドレス発生ユニット
・レジスター・セットで複素ベクトルにアクセスすることができる。第2に、本
発明は、複素ベクトルの実数部分と虚数部分のメモリ割り当て(例えば、第1ア
レイと第2アレイ)にも、メモリ・スペースにも、またアドレスにも制限を加え
ることはない。
本発明は、あらゆる種類のアドレッングを使用する一つのアドレス発生ユニット
・レジスター・セットで複素ベクトルにアクセスすることができる。第2に、本
発明は、複素ベクトルの実数部分と虚数部分のメモリ割り当て(例えば、第1ア
レイと第2アレイ)にも、メモリ・スペースにも、またアドレスにも制限を加え
ることはない。
【0011】 従って、本発明によれば、処理装置による複素ベクトルへのメモリ・アクセス
のためのアドレスを計算するアドレス発生ユニットを提供する。このアドレス発
生ユニットは、(a)アドレス・レジスターと;(b)オフセット・レジスター
と;(c)指数間接アドレッシング能力を実行するための手段と;(d)固定変
位レジスターと;(e)使用可能(割込み可能)状態と使用不能(割込み不能)
状態からなるグループから選択できる状態を有する固定変位モードを実行する手
段と;(f)固定変位モードの状態を指示する固定変位構成ビットとを含んでい
る。
のためのアドレスを計算するアドレス発生ユニットを提供する。このアドレス発
生ユニットは、(a)アドレス・レジスターと;(b)オフセット・レジスター
と;(c)指数間接アドレッシング能力を実行するための手段と;(d)固定変
位レジスターと;(e)使用可能(割込み可能)状態と使用不能(割込み不能)
状態からなるグループから選択できる状態を有する固定変位モードを実行する手
段と;(f)固定変位モードの状態を指示する固定変位構成ビットとを含んでい
る。
【0012】 さらに、本発明によれば、アドレス・レジスターと、固定変位レジスターと、
固定変位構成ビットとを有する処理装置内で固定変位モードを実行する方法であ
って、処理装置が指数間接アドレッシングを含むアドレッシングのタイプを有し
、処理装置が現在命令を実行する方法を提供する。この方法は、(a)ベース・
アドレスをアドレス・レジスターにロードし、固定変位を固定変位レジスターに
ロードする工程と;(b)指数間接アドレスッシングのための現在命令をチェッ
クする工程と;(c)固定変位構成ビットをチェックする工程と;(d)もしも
そうであり、さらに現在命令が指数間接アドレッシングを含み、固定変位構成ビ
ットがセットされているだけであれば、前記ベース・アドレスと前記固定変位と
の和に等しいメモリ・アドレスを発生する工程とを含んでいる。
固定変位構成ビットとを有する処理装置内で固定変位モードを実行する方法であ
って、処理装置が指数間接アドレッシングを含むアドレッシングのタイプを有し
、処理装置が現在命令を実行する方法を提供する。この方法は、(a)ベース・
アドレスをアドレス・レジスターにロードし、固定変位を固定変位レジスターに
ロードする工程と;(b)指数間接アドレスッシングのための現在命令をチェッ
クする工程と;(c)固定変位構成ビットをチェックする工程と;(d)もしも
そうであり、さらに現在命令が指数間接アドレッシングを含み、固定変位構成ビ
ットがセットされているだけであれば、前記ベース・アドレスと前記固定変位と
の和に等しいメモリ・アドレスを発生する工程とを含んでいる。
【0013】 (好ましい実施形態の説明) 本発明による方法および装置の原理と操作は図面および関連する説明を参照し
て理解することができる。本発明による装置のアドレス発生ユニットの重要な観
点を図3に示す。本発明によるデジタル信号処理装置および他の処理装置の操作
中に実行されるような本発明の方法の工程を図4のフローチャートに示す。これ
らの工程は本発明による新しい処理装置モードである固定変位モードを実行する
。
て理解することができる。本発明による装置のアドレス発生ユニットの重要な観
点を図3に示す。本発明によるデジタル信号処理装置および他の処理装置の操作
中に実行されるような本発明の方法の工程を図4のフローチャートに示す。これ
らの工程は本発明による新しい処理装置モードである固定変位モードを実行する
。
【0014】 図3に示したように、まずある種の付加的なハードウエア能力を提供する必要
がある。特に、処理装置がアドレス発生ユニット302内に、Rf1によって示
された固定変位レジスター310を有していなければならない。固定変位レジス
ター310は、ちょうどアドレス発生ユニット302における全ての他レジスタ
ーのようにソフトウエアをプログラム可能でなければならない。また必ずしも必
要ではないが、一つよりも多い固定変位レジスター312、314および316
を使用することもでき、それぞれRf2,Rf3,...,Rfnで表し、破線
で示す。省略符号***はさらなる付加的な固定変位レジスターを組み入れるこ
とができることを示している。レジスター・セット322はRn,Nn,Mnお
よびRf1を含んでいる。本発明は、当該技術に周知の手段によって実行できる
指数間接アドレッシング能力を有する処理装置を必要とする。注意しなければな
らないのは、固定変位レジスター310はオフセット・レジスター306と区別
されることである。固定変位レジスター310およびオフセット・レジスター3
06は異なる機能を発揮し、また互いに独立して使用される。
がある。特に、処理装置がアドレス発生ユニット302内に、Rf1によって示
された固定変位レジスター310を有していなければならない。固定変位レジス
ター310は、ちょうどアドレス発生ユニット302における全ての他レジスタ
ーのようにソフトウエアをプログラム可能でなければならない。また必ずしも必
要ではないが、一つよりも多い固定変位レジスター312、314および316
を使用することもでき、それぞれRf2,Rf3,...,Rfnで表し、破線
で示す。省略符号***はさらなる付加的な固定変位レジスターを組み入れるこ
とができることを示している。レジスター・セット322はRn,Nn,Mnお
よびRf1を含んでいる。本発明は、当該技術に周知の手段によって実行できる
指数間接アドレッシング能力を有する処理装置を必要とする。注意しなければな
らないのは、固定変位レジスター310はオフセット・レジスター306と区別
されることである。固定変位レジスター310およびオフセット・レジスター3
06は異なる機能を発揮し、また互いに独立して使用される。
【0015】 さらに、処理装置は、ここでは「固定変位モード」として示された新しいモー
ドを有することが必要である。この固定変位モードは二つの状態、すなわち、使
用可能(割込み可能)状態と使用不能(割込み不能)状態を有し、固定変位構成
ビット320を制御レジスター318に組み込むことによって制御できる。これ
によって、固定変位構成ビットは制御フラグとして作用する。固定変位モードの
操作は、次に詳細に説明するように本発明による方法の中で説明する。制御レジ
スター318は、既存の処理装置デザイン内の既存の制御レジスターでよく、変
形されるか、または新しい制御レジスターとすることもできる。さらに、処理実
行中に固定変位モードの工程(次に示す)を実行することが必要である。次の工
程を実行するハードウエアは、当該技術者に周知の種々の技術により実現できる
ことを容易にする。
ドを有することが必要である。この固定変位モードは二つの状態、すなわち、使
用可能(割込み可能)状態と使用不能(割込み不能)状態を有し、固定変位構成
ビット320を制御レジスター318に組み込むことによって制御できる。これ
によって、固定変位構成ビットは制御フラグとして作用する。固定変位モードの
操作は、次に詳細に説明するように本発明による方法の中で説明する。制御レジ
スター318は、既存の処理装置デザイン内の既存の制御レジスターでよく、変
形されるか、または新しい制御レジスターとすることもできる。さらに、処理実
行中に固定変位モードの工程(次に示す)を実行することが必要である。次の工
程を実行するハードウエアは、当該技術者に周知の種々の技術により実現できる
ことを容易にする。
【0016】 本発明によるメモリ・アドレス発生のための固定変位モードを実行する処理装
置によって実行される方法の工程は、次の通りであり、また図4に示す。
置によって実行される方法の工程は、次の通りであり、また図4に示す。
【0017】 1. ローディング工程402でレジスター・セット322(図3)をアドレ
ス発生ユニット302(図3)にロードする。この工程はベース・アドレスをア
ドレス・レジスター304にロードし、アドレス・オフセットをオフセット・レ
ジスター306にロードし、バッファ長さをバッファ長レジスター308にロー
ドし、固定変位を固定変位レジスター310にロードする。
ス発生ユニット302(図3)にロードする。この工程はベース・アドレスをア
ドレス・レジスター304にロードし、アドレス・オフセットをオフセット・レ
ジスター306にロードし、バッファ長さをバッファ長レジスター308にロー
ドし、固定変位を固定変位レジスター310にロードする。
【0018】 2. 現在の命令が決定ポイント404内で指数間接アドレッシングを使用す
るかどうかを見るためにチェックする。
るかどうかを見るためにチェックする。
【0019】 3. 指数間接アドレッシングが使用されていなければ、当該技術において周
知のように、アドレス発生工程408で従来方法でアドレスが発生される。
知のように、アドレス発生工程408で従来方法でアドレスが発生される。
【0020】 4. しかし、指数間接アドレッシングが使用されれば、固定変位構成ビット
320(図3)が決定ポイント406内にセットされたかどうかをチェックする
。
320(図3)が決定ポイント406内にセットされたかどうかをチェックする
。
【0021】 5. 固定変位構成ビット320がセットされなければ、固定変位モードが使
用不能の状態にあり、またアドレス発生ユニット302が、メモリ・アドレス発
生工程410で従来の方法で操作する。すなわち、ここで説明した新しい特徴が
動作可能でなく、Rn レジスター304(図3)の値の変化なしにアドレスR
n+Nnへのアクセスがなされる。固定変位構成ビット320がクリアされたと
きに、オフセット・レジスターNn 306(図3)が、全ての事後修正のため
のソースとなり、また、間接指数アドレッシングとなる。
用不能の状態にあり、またアドレス発生ユニット302が、メモリ・アドレス発
生工程410で従来の方法で操作する。すなわち、ここで説明した新しい特徴が
動作可能でなく、Rn レジスター304(図3)の値の変化なしにアドレスR
n+Nnへのアクセスがなされる。固定変位構成ビット320がクリアされたと
きに、オフセット・レジスターNn 306(図3)が、全ての事後修正のため
のソースとなり、また、間接指数アドレッシングとなる。
【0022】 6. しかし、固定変位構成ビット320がセットされれば、固定変位モード
が使用可能状態になり、また全ての指数間接アドレッシング・メモリ・アドレス
発生のためのオフセット・ソースが、メモリ・アドレス発生工程412で、オフ
セット・レジスターNn 306の代わりに固定変位レジスター310(Rfn
)になる。発生されたアドレスは、固定変位レジスター310の内容とアドレス
・レジスター304の内容との和となる。アドレスRn+Rfnへのアクセスは
Rn レジスター304(図3)の値を変化させずに行われる。
が使用可能状態になり、また全ての指数間接アドレッシング・メモリ・アドレス
発生のためのオフセット・ソースが、メモリ・アドレス発生工程412で、オフ
セット・レジスターNn 306の代わりに固定変位レジスター310(Rfn
)になる。発生されたアドレスは、固定変位レジスター310の内容とアドレス
・レジスター304の内容との和となる。アドレスRn+Rfnへのアクセスは
Rn レジスター304(図3)の値を変化させずに行われる。
【0023】 本発明によるメモリ・アドレス発生方法は、リターン工程414で終了する。
【0024】 固定変位構成ビットは制御フラグとして作用し、その固定変位構成ビットは固
定変位モードを、セットされたときに、使用可能状態にし、また固定変位モード
が、クリアされたときに、使用不能状態にする。しかし、現在命令が指数間接ア
ドレッシングを使用した場合のみ、固定変位モードが活動状態になる。現在命令
が指数間接アドレッシング以外のアドレッシングを使用すれば、固定変位モード
は、たとえ使用可能状態であったとしても、活動状態にならない。当該技術にお
いて周知のように、これに限定されるのもではないが、直接アドレッシングおよ
び事後修正アドレッシングを含む指数間接アドレッシング以外のアドレッシング
能力もある。命令中にこれらの種々のタイプのアドレッシングを含めることが可
能である。用語「非指数間接アドレッシング」は、ここでは指数間接アドレッシ
ングを包含しないようなアドレッシングを意味する。
定変位モードを、セットされたときに、使用可能状態にし、また固定変位モード
が、クリアされたときに、使用不能状態にする。しかし、現在命令が指数間接ア
ドレッシングを使用した場合のみ、固定変位モードが活動状態になる。現在命令
が指数間接アドレッシング以外のアドレッシングを使用すれば、固定変位モード
は、たとえ使用可能状態であったとしても、活動状態にならない。当該技術にお
いて周知のように、これに限定されるのもではないが、直接アドレッシングおよ
び事後修正アドレッシングを含む指数間接アドレッシング以外のアドレッシング
能力もある。命令中にこれらの種々のタイプのアドレッシングを含めることが可
能である。用語「非指数間接アドレッシング」は、ここでは指数間接アドレッシ
ングを包含しないようなアドレッシングを意味する。
【0025】 さらに注意しなければならないのは、アッセンブリ・シンタックスがメモリ・
アドレス発生命令中に固定変位レジスター310(Rf1)を支持できるが、支
持しなくてもよいことである。用語「アッセンブリ・シンタックス」はここでは
アッセンブリ言語だけでなく、得られたインストラクション・コンフィギュレー
ション(命令構成)を意味する。アッセンブリ・シンタックスは固定変位レジス
ターを支持し、従って、アッセンブリ・シンタックスは固定変位を、使用可能状
態と使用不能状態を伴う処理装置モードとしてよりもむしろ個々の命令の修飾子
として活性化する。アッセンンブリ・シンタックスが固定変位レジスターを支持
しない場合において、オフセット・レジスター306(Nn)のみを伴う命令を
規定するのに十分である。なぜならこれがアドレッシングを規定するからである
。ハードウエアが自動的に、固定変位構成ビット320の状態によるメモリ・ア
ドレス発生のためのオフセット・レジスター306または固定変位レジスター3
10を取る。さらに、「第1アレイ」対「第2アレイ」として異なるメモリ・ア
レイの指定が任意であり、またその内容が完全に任意であることに注意しなけれ
ばならない。
アドレス発生命令中に固定変位レジスター310(Rf1)を支持できるが、支
持しなくてもよいことである。用語「アッセンブリ・シンタックス」はここでは
アッセンブリ言語だけでなく、得られたインストラクション・コンフィギュレー
ション(命令構成)を意味する。アッセンブリ・シンタックスは固定変位レジス
ターを支持し、従って、アッセンブリ・シンタックスは固定変位を、使用可能状
態と使用不能状態を伴う処理装置モードとしてよりもむしろ個々の命令の修飾子
として活性化する。アッセンンブリ・シンタックスが固定変位レジスターを支持
しない場合において、オフセット・レジスター306(Nn)のみを伴う命令を
規定するのに十分である。なぜならこれがアドレッシングを規定するからである
。ハードウエアが自動的に、固定変位構成ビット320の状態によるメモリ・ア
ドレス発生のためのオフセット・レジスター306または固定変位レジスター3
10を取る。さらに、「第1アレイ」対「第2アレイ」として異なるメモリ・ア
レイの指定が任意であり、またその内容が完全に任意であることに注意しなけれ
ばならない。
【0026】 容易に理解できることは、本発明による方法が処理装置に複素ベクトルの両部
分に効果的にアクセスを許容することである。例えば、アドレス発生ユニットお
よびメモリの次の状態を仮定する: R1 =1000(図3に示したアドレス・レジスター304) N1 =2(図3に示したオフセット・レジスター306) M1 =線形アドレッシングのためにプログラムされた(図3に示したよう
なバッファ長レジスター308−−実際のプログラミングは製造者依存) Rf1=50(図3に示したような固定変位レジスター310) および次のアッセンブリ(擬似)コードを実行 移動 (R1)+N1,A; 移動 (R1+N1),B;
分に効果的にアクセスを許容することである。例えば、アドレス発生ユニットお
よびメモリの次の状態を仮定する: R1 =1000(図3に示したアドレス・レジスター304) N1 =2(図3に示したオフセット・レジスター306) M1 =線形アドレッシングのためにプログラムされた(図3に示したよう
なバッファ長レジスター308−−実際のプログラミングは製造者依存) Rf1=50(図3に示したような固定変位レジスター310) および次のアッセンブリ(擬似)コードを実行 移動 (R1)+N1,A; 移動 (R1+N1),B;
【0027】 ここに、AおよびBは処理装置(アドレス発生ユニット302のレジスターで
はない)の汎用レジスターである。(R1)+N1は、事後修正アドレッシング
であり、メモリ・アクセスが位置R1となり、またR2が、メモリ・アクセス後
、N1だけ増分することを意味することに注意しなければならない。また、(R
1+N1)が間接指数アドアレッシングであり、メモリ・アクセスが位置R1+
N1を意味し、さらに、R1はメモリ・アクセス中およびその後、修正されない
ままであることに注意しなければならない。
はない)の汎用レジスターである。(R1)+N1は、事後修正アドレッシング
であり、メモリ・アクセスが位置R1となり、またR2が、メモリ・アクセス後
、N1だけ増分することを意味することに注意しなければならない。また、(R
1+N1)が間接指数アドアレッシングであり、メモリ・アクセスが位置R1+
N1を意味し、さらに、R1はメモリ・アクセス中およびその後、修正されない
ままであることに注意しなければならない。
【0028】 図5はアドレッシング504を有するメモリ502のエリアのための固定変位
構成ビット320の二つの異なる値の概要(シナリオ)である。図5と次の例に
おいて、全てのデータ値とアドレス位置は、デシマル表記で示す。両方の概要に
おいて、次のことを保有する: ・アドレス位置1000から1049に進むメモリ中のエリアが、第1アレ
イ518として指定され、またアドレス位置1050から先に進むメモリ中のエ
リアが、第2アレイ518に指定される。 ・実行前に、アドレス・レジスターR1のための初期値506は1000に
等しい。すなわち、R1が最初にデータ値−348を含むアドレス1000を有
するメモリ内の位置512に指定する。 ・第1命令の完了後、レジスターAがデータ値−348を包含し、またアド
レス・レジスターR1が1002に等しくなる。すなわち、R1はデータ値43
91を含むアドレス1002を有するメモリ内で位置514に指定する。 ・実行が完了した後、アドレス・レジスターR1のための最終値510があ
り、これは1002に等しい。これは第2命令が指数アドレッシングのみを含み
、また指数アドレッシングがアドレス・レジスターの値を変化させないからであ
る。
構成ビット320の二つの異なる値の概要(シナリオ)である。図5と次の例に
おいて、全てのデータ値とアドレス位置は、デシマル表記で示す。両方の概要に
おいて、次のことを保有する: ・アドレス位置1000から1049に進むメモリ中のエリアが、第1アレ
イ518として指定され、またアドレス位置1050から先に進むメモリ中のエ
リアが、第2アレイ518に指定される。 ・実行前に、アドレス・レジスターR1のための初期値506は1000に
等しい。すなわち、R1が最初にデータ値−348を含むアドレス1000を有
するメモリ内の位置512に指定する。 ・第1命令の完了後、レジスターAがデータ値−348を包含し、またアド
レス・レジスターR1が1002に等しくなる。すなわち、R1はデータ値43
91を含むアドレス1002を有するメモリ内で位置514に指定する。 ・実行が完了した後、アドレス・レジスターR1のための最終値510があ
り、これは1002に等しい。これは第2命令が指数アドレッシングのみを含み
、また指数アドレッシングがアドレス・レジスターの値を変化させないからであ
る。
【0029】 第2命令の実行後のレジスターBの内容は、固定変位モードに依存している。
次に、固定変位モード・セットとクリアの二つの場合を説明する:
次に、固定変位モード・セットとクリアの二つの場合を説明する:
【0030】 (固定変位構成ビット設定せず) この概要において、固定変位構成ビットはクリアされる(設定されず)。結果
的に、固定変位モードは使用不能状態にある。一時アドレス発生操作は従来の方
法で実行され、また第2命令の実行後、レジスターBは第1アレイ518内のメ
モリ位置514から値4391を含むことになる。
的に、固定変位モードは使用不能状態にある。一時アドレス発生操作は従来の方
法で実行され、また第2命令の実行後、レジスターBは第1アレイ518内のメ
モリ位置514から値4391を含むことになる。
【0031】 (固定変位構成ビット設定) この概要において、固定変位構成ビットが設定される。結果的に、固定変位モ
ードが使用可能状態になる。第1命令が指数間接アドレッシングに使用されない
ので、第1命令のためのメモリ・アドレス発生は、従来の方法で実行される。し
かし、第2命令は指数間接アドレッシングを使用し、また固定変位構成ビットが
設定されるので(また、固定変位モードが使用可能状態にあるので)、メモリ・
アドレス発生がRf1だけメモリ・ルックアップからオフセットし、値−819
を含むメモリ位置516にアクセスする。従って、この概要において、第2命令
の実行後、レジスターBは第2アレイ520内のメモリ位置516から値−81
9のデータを含むことになる。
ードが使用可能状態になる。第1命令が指数間接アドレッシングに使用されない
ので、第1命令のためのメモリ・アドレス発生は、従来の方法で実行される。し
かし、第2命令は指数間接アドレッシングを使用し、また固定変位構成ビットが
設定されるので(また、固定変位モードが使用可能状態にあるので)、メモリ・
アドレス発生がRf1だけメモリ・ルックアップからオフセットし、値−819
を含むメモリ位置516にアクセスする。従って、この概要において、第2命令
の実行後、レジスターBは第2アレイ520内のメモリ位置516から値−81
9のデータを含むことになる。
【0032】 従って、複素ベクトルの実数部分と虚数部分両方に効果的にアクセスすること
が可能である。例えば、実数部分が第2アレイ520に記憶され、また虚数部分
が第1アレイ518に記憶されれば、最初に固定変位構成ビットを設定し、二つ
の上記命令を実行後、レジスターAが複素ベクトルの成分の一方の虚数部分を含
み、またレジスターBが複素ベクトルの成分の実数部分を含むことになる。
が可能である。例えば、実数部分が第2アレイ520に記憶され、また虚数部分
が第1アレイ518に記憶されれば、最初に固定変位構成ビットを設定し、二つ
の上記命令を実行後、レジスターAが複素ベクトルの成分の一方の虚数部分を含
み、またレジスターBが複素ベクトルの成分の実数部分を含むことになる。
【0033】 上述の例において、本発明による方法は、簡単なメモリ・アーキテクチャ、す
なわち、メモリ・スペース・アーキテクチャのコンテキスト内に提示される。現
在、進歩したDSPアルゴリズムは、より精巧なメモリ・アーキテクチャを必要
とし、またこれにより最新のデジタル信号処理装置がデュアル・メモリ・スペー
ス・アーキテクチャを有している。図6は第1アレイと第2アレイが異なるメモ
リ・スペースに位置された複素ベクトルのための本発明による方法の例を示す。
アドレス606はデータ値内容608に対応している。図6と下記の例において
、全てのアドレス位置は16進法を示している。
なわち、メモリ・スペース・アーキテクチャのコンテキスト内に提示される。現
在、進歩したDSPアルゴリズムは、より精巧なメモリ・アーキテクチャを必要
とし、またこれにより最新のデジタル信号処理装置がデュアル・メモリ・スペー
ス・アーキテクチャを有している。図6は第1アレイと第2アレイが異なるメモ
リ・スペースに位置された複素ベクトルのための本発明による方法の例を示す。
アドレス606はデータ値内容608に対応している。図6と下記の例において
、全てのアドレス位置は16進法を示している。
【0034】 本発明による方法をデュアル・メモリ・スペース・アーキテクチャに適用する
ために、メモリ構成はシーケンスにしなければならない。位置0x0000でス
タートする第1アレイ610のための「Xメモリ・アドレス・スペース」として
示されたメモリ・スペース602があり、また位置0x8000でスタートする
第2アレイ612のための「Yメモリ・アドレス・スペース」として示されたメ
モリ・スペース604がある。必要に応じて、これらのアドレスは図6に示した
ようにシーケンスになる。注意しなければならないのは、この例において、アド
レスの最も有効なビット(MSB)が、使用されるメモリ・スペースを識別する
。
ために、メモリ構成はシーケンスにしなければならない。位置0x0000でス
タートする第1アレイ610のための「Xメモリ・アドレス・スペース」として
示されたメモリ・スペース602があり、また位置0x8000でスタートする
第2アレイ612のための「Yメモリ・アドレス・スペース」として示されたメ
モリ・スペース604がある。必要に応じて、これらのアドレスは図6に示した
ようにシーケンスになる。注意しなければならないのは、この例において、アド
レスの最も有効なビット(MSB)が、使用されるメモリ・スペースを識別する
。
【0035】 この形態において、複素ベクトルの実数部分のベース・アドレスが、例えばア
ドレス0x0002のようにXスペース602に配置され、またアドレス0x8
008のようにYスペース604に配置することができる。固定変位モード内で
作動させるために、固定変位レジスターRfを0x8006(0x8008−0
x0002)に、また制御レジスター318(図3)内の固定変位構成ビット3
20セットする必要がある。
ドレス0x0002のようにXスペース602に配置され、またアドレス0x8
008のようにYスペース604に配置することができる。固定変位モード内で
作動させるために、固定変位レジスターRfを0x8006(0x8008−0
x0002)に、また制御レジスター318(図3)内の固定変位構成ビット3
20セットする必要がある。
【0036】 本発明は限定された数の実施例に関して説明したが、本発明の多数の変形例、
修正例および他の適用例も可能であることが理解できる。
修正例および他の適用例も可能であることが理解できる。
【図1】 デジタル信号処理装置のための従来技術によるアドレス発生ユニット
を示す図。
を示す図。
【図2】 従来技術によるデジタル信号処理装置のメモリ構成を示す図。
【図3】 本発明によるデジタル信号処理装置のアドレス発生ユニットの新しい
特徴を示す図。
特徴を示す図。
【図4】 固定変位アドレス発生のためのアルゴリズムのフローチャートを示す
図。
図。
【図5】 メモリ状態の例を示す図。
【図6】 2つのデータメモリ空間のアーキテクチャを示す図。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年11月9日(2000.11.9)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【発明の名称】 DSPメモリ内に位置する複素ベクトルにアクセスする方法お
よび装置
よび装置
【特許請求の範囲】
【発明の詳細な説明】
【0001】 (技術分野および従来技術) 本発明は処理装置メモリ・アドレッシングおよびメモリ・アドレス発生の方法
、および、より詳しくはデジタル信号処理装置(DSP)のメモリに記憶された
複素ベクトルにアクセスする方法に関する。
、および、より詳しくはデジタル信号処理装置(DSP)のメモリに記憶された
複素ベクトルにアクセスする方法に関する。
【0002】 米国特許第4809156号において、コンピュータ・システムで使用するた
めにメモリ・アドレスを発生する回路が開示されている。アドレス発生ロジック
は二つのマルチプレクサと、中央処理装置にメモリ・アドレスを出力するメモリ
・アドレス・レジスターに接続されたアダーとを含んでいる。一つのマルチプレ
クサの二者択一的入力が変位レジスターからと、拡張レジスターから導出される
。両レジスター間の切り替えは、アキュムレータとベース・レジスターに記憶さ
れた値を入力として受信するコンパレータによって発生されたサイン・フラグに
よって制御される。このコンパレータは、フラグ・レジスター内に記憶されたサ
イン・フラグの値を反映したサイン決定出力信号を発生する。サイン・フラグは
、変位レジスターまたは拡張レジスターがアダーの入力のために選択されたかど
うかを決定する。
めにメモリ・アドレスを発生する回路が開示されている。アドレス発生ロジック
は二つのマルチプレクサと、中央処理装置にメモリ・アドレスを出力するメモリ
・アドレス・レジスターに接続されたアダーとを含んでいる。一つのマルチプレ
クサの二者択一的入力が変位レジスターからと、拡張レジスターから導出される
。両レジスター間の切り替えは、アキュムレータとベース・レジスターに記憶さ
れた値を入力として受信するコンパレータによって発生されたサイン・フラグに
よって制御される。このコンパレータは、フラグ・レジスター内に記憶されたサ
イン・フラグの値を反映したサイン決定出力信号を発生する。サイン・フラグは
、変位レジスターまたは拡張レジスターがアダーの入力のために選択されたかど
うかを決定する。
【0003】 図1はデジタル信号処理装置のような処理装置の一般的な従来技術のアドレス
発生ユニット(AGU)102を示す。用語「処理装置(プロセッサ)」は、こ
こでは、これに限定するものではないが、デジタル信号処理装置のようなあらゆ
るデータ処理デバイスを意味する。AGU102は、普通、メモリ・データ・ア
クセスのためのレジスター・セットを含んでいる。各レジスター・セット110
は一般的に三つのレジスターを含んでいる:すなわち、 1. Rn で示したアドレス・レジスター(ポインター)104と; 2. Nn で示したオフセット・レジスター106と; 3. Mn で示したバッファ長レジスター108であり、
発生ユニット(AGU)102を示す。用語「処理装置(プロセッサ)」は、こ
こでは、これに限定するものではないが、デジタル信号処理装置のようなあらゆ
るデータ処理デバイスを意味する。AGU102は、普通、メモリ・データ・ア
クセスのためのレジスター・セットを含んでいる。各レジスター・セット110
は一般的に三つのレジスターを含んでいる:すなわち、 1. Rn で示したアドレス・レジスター(ポインター)104と; 2. Nn で示したオフセット・レジスター106と; 3. Mn で示したバッファ長レジスター108であり、
【0004】 ここに、n=1...Kは一連の添字、また、Kは処理装置アドレス発生ユニ
ット内の既存セットの数である。
ット内の既存セットの数である。
【0005】 用語「アレイ」は、ここでは処理装置メモリ内の複数の位置を意味し、全ての
それぞれの位置が固定ベース・アドレスに関連する添字によってアクセスでき、
添字には全て定数が掛けられる。用語「ベクトル」は、ここではこの種のアレイ
内に記憶された複数のデータ値を意味し、また用語「成分(コンポーネント)」
は、ここではこの種のベクトルのデータ値を意味する。用語「複素数」は、ここ
では普通の数学的観念における「実数部分」と「虚数部分」からなる一対の数を
含み、ただしこれに限定するものではない、「第1部分」と「第2部分」を意味
する。用語「複素ベクトル」は、ここでは同数の要素を有する一対のベクトルを
意味する。用語「第1アレイ」は、ここでは複素ベクトルのベクトル対の第1部
分(ないしベクトル)を含む処理装置メモリ内のアレイを意味し、また、用語「
第2アレイ」は、ここでは複素ベクトルのベクトル対の第2部分(ないしベクト
ル)を含む処理装置メモリ内のアレイを意味する。複素ベクトルは普通の数学的
観念における複素数のベクトルからなり、複素ベクトルの実数が第1アレイに、
また複素ベクトルの虚数が第2アレイに記憶される。別の方法として、複素ベク
トルは普通の数学的観念における複素数のベクトルからなり、複素ベクトルの実
数が第2アレイに、また複素ベクトルの虚数が第1アレイに記憶される。さらな
る別の方法として、本発明による複素ベクトルは普通の数学的観念における複素
数を表す必要のない任意のデータ値の二つのベクトルからなる。さらに、処理装
置メモリに関する用語「アクセス」および「アクセッシング」は、ここでは処理
装置メモリ内でのアドレスの発生を意味し、また、両者とも処理装置メモリ内に
データ値を記憶することだけではなく、処理装置メモリから記憶されたデータ値
を検索することに関係する。
それぞれの位置が固定ベース・アドレスに関連する添字によってアクセスでき、
添字には全て定数が掛けられる。用語「ベクトル」は、ここではこの種のアレイ
内に記憶された複数のデータ値を意味し、また用語「成分(コンポーネント)」
は、ここではこの種のベクトルのデータ値を意味する。用語「複素数」は、ここ
では普通の数学的観念における「実数部分」と「虚数部分」からなる一対の数を
含み、ただしこれに限定するものではない、「第1部分」と「第2部分」を意味
する。用語「複素ベクトル」は、ここでは同数の要素を有する一対のベクトルを
意味する。用語「第1アレイ」は、ここでは複素ベクトルのベクトル対の第1部
分(ないしベクトル)を含む処理装置メモリ内のアレイを意味し、また、用語「
第2アレイ」は、ここでは複素ベクトルのベクトル対の第2部分(ないしベクト
ル)を含む処理装置メモリ内のアレイを意味する。複素ベクトルは普通の数学的
観念における複素数のベクトルからなり、複素ベクトルの実数が第1アレイに、
また複素ベクトルの虚数が第2アレイに記憶される。別の方法として、複素ベク
トルは普通の数学的観念における複素数のベクトルからなり、複素ベクトルの実
数が第2アレイに、また複素ベクトルの虚数が第1アレイに記憶される。さらな
る別の方法として、本発明による複素ベクトルは普通の数学的観念における複素
数を表す必要のない任意のデータ値の二つのベクトルからなる。さらに、処理装
置メモリに関する用語「アクセス」および「アクセッシング」は、ここでは処理
装置メモリ内でのアドレスの発生を意味し、また、両者とも処理装置メモリ内に
データ値を記憶することだけではなく、処理装置メモリから記憶されたデータ値
を検索することに関係する。
【0006】 複素ベクトルを処理しようとするとき、第1アレイと第2アレイが普通、処理
装置メモリ・アーキテクチャに依存してメモリ内の異なるアドレスか、または異
なるメモリ・スペースに配置される。二つの異なるアドレス・レジスターの間接
アドレッシング内で複素ベクトルにアクセスするために、第1アレイ用のアドレ
ス・レジスターと、第2アレイ用のアドレス・レジスターが必要とされる。この
アプローチの限界は、アドレス・レジスターはデジタル信号処理装置アプリケー
ションにおいて非常に高価なリソースであるということである。第1アレイと第
2アレイが同じメモリに配置される場合において、単一アドレス・レジスターと
オフセット・レジスターがアクセスのために使用できる。このアプローチは、ア
ドレス・レジスター自体が第1アレイを指し、またオフセット・レジスターが第
1アレイと第2アレイ間のオフセットを含んでおれば、使用することができる。
このような場合において、アドレス・レジスター(Rn)を使用する間接アドレ
ッシングによって第1アレイにアクセスすることができ、またアドレス・レジス
ターとそのオフセット・レジスター(すなわち、Rn+Nn)を使用する指数間
接アドレッシングによって第2アレイにアクセスすることができる。しかし、ビ
ット−逆/事後修正バイ・ステップ(bit−reversal and po
st−modification−by−step)アドレッシングにおいて、
オフセット・レジスターは使用状態にあり、また指数間接アドレッシングのため
には利用できない。従って、指数間接アドレッシングを使用するときは、二つの
アドレス・レジスターが複素ベクトル・アクセスのために必要である。このよう
な状況は、ビット−逆・アドレッシングが使用されているFFTアルゴリズムに
発生し、事後修正バイ・ステップ・アドレッシングが使用されている複素信号の
デシメーションが使用されるというように発生する(既存のデジタル信号処理装
置アーキテクチャの分野および説明の概略は、バークレー・デザイン・テクノロ
ジイ・インコーポレイテッド、1995による「DSP処理装置に対するバイヤ
ーズ・ガイド」に見つけることができる)。
装置メモリ・アーキテクチャに依存してメモリ内の異なるアドレスか、または異
なるメモリ・スペースに配置される。二つの異なるアドレス・レジスターの間接
アドレッシング内で複素ベクトルにアクセスするために、第1アレイ用のアドレ
ス・レジスターと、第2アレイ用のアドレス・レジスターが必要とされる。この
アプローチの限界は、アドレス・レジスターはデジタル信号処理装置アプリケー
ションにおいて非常に高価なリソースであるということである。第1アレイと第
2アレイが同じメモリに配置される場合において、単一アドレス・レジスターと
オフセット・レジスターがアクセスのために使用できる。このアプローチは、ア
ドレス・レジスター自体が第1アレイを指し、またオフセット・レジスターが第
1アレイと第2アレイ間のオフセットを含んでおれば、使用することができる。
このような場合において、アドレス・レジスター(Rn)を使用する間接アドレ
ッシングによって第1アレイにアクセスすることができ、またアドレス・レジス
ターとそのオフセット・レジスター(すなわち、Rn+Nn)を使用する指数間
接アドレッシングによって第2アレイにアクセスすることができる。しかし、ビ
ット−逆/事後修正バイ・ステップ(bit−reversal and po
st−modification−by−step)アドレッシングにおいて、
オフセット・レジスターは使用状態にあり、また指数間接アドレッシングのため
には利用できない。従って、指数間接アドレッシングを使用するときは、二つの
アドレス・レジスターが複素ベクトル・アクセスのために必要である。このよう
な状況は、ビット−逆・アドレッシングが使用されているFFTアルゴリズムに
発生し、事後修正バイ・ステップ・アドレッシングが使用されている複素信号の
デシメーションが使用されるというように発生する(既存のデジタル信号処理装
置アーキテクチャの分野および説明の概略は、バークレー・デザイン・テクノロ
ジイ・インコーポレイテッド、1995による「DSP処理装置に対するバイヤ
ーズ・ガイド」に見つけることができる)。
【0007】 ほとんどの既存のデジタル信号処理装置はこのメモリ・アクセス問題を解決で
きず、また、従って、二つの異なるアドレス・レジスターが普通、オフセット・
レジスターが使用されているときに、複素ベクトルにアクセスするのに必要とさ
れる。モトローラDSP56xxx処理装置シリーズに使用されている一つの既
存の解決法を図2に示す。このアプローチは、二つのデータ・メモリ、すなわち
、同じアドレス・スペース206を有するXメモリ202とYメモリ204を使
用している。さらに、専用のアッセンブリ言語シンタックス(図2には示さず)
とアドレス発生ユニット(図1に示したように)を必要とする。このアーキテク
チャの完全な説明は、モトローラ・インコーポレイテッド(オースチン、テキサ
ス州にある半導体製品セクター、DSP部の「DSP56000 24ビット・
デジタル信号処理装置ファミリー・マニュアル」に開示されている。ここに全て
の目的で完全な説明が必要であれば、参考例として取り入れる。この従来技術の
解決法において、アドレス発生ユニット・アーキテクチャは、アドレス・レジス
ター208(R0)がXメモリ202とYメモリ204両方の同じアドレスを指
す。従って、複素ベクトルのための第1アレイと第2アレイを異なるメモリ・ス
ペースに、しかし同じアドレスに配置することは、アドレス・レジスター208
(R0)のみを使用して、第1アレイと第2アレイ両方に同時にアクセスするこ
とを可能にする。図2に示したように、アドレス・レジスター208(R0)が
、0x0002を指すが、メモリ・スペースと特別な関係はない。特定メモリ・
スペースへの割り当てはアッセンブリ言語オペコード(opcode)で実行さ
れる。例えば、もし第1アレイがXメモリ202に配置され、第2アレイがYメ
モリ204に配置され、また、もし第1アレイが複素ベクトルの実数部分を記憶
し、第2アレイが複素ベクトルの虚数部分を記憶すれば、アドレスの実数部分、
0x0002がレジスターAへの移動、また虚数部分のレジスターBへの移動が
次のアッセンブリ・コードによって実行される: 移動 X:(R0),A; 移動 Y:(R0),B;
きず、また、従って、二つの異なるアドレス・レジスターが普通、オフセット・
レジスターが使用されているときに、複素ベクトルにアクセスするのに必要とさ
れる。モトローラDSP56xxx処理装置シリーズに使用されている一つの既
存の解決法を図2に示す。このアプローチは、二つのデータ・メモリ、すなわち
、同じアドレス・スペース206を有するXメモリ202とYメモリ204を使
用している。さらに、専用のアッセンブリ言語シンタックス(図2には示さず)
とアドレス発生ユニット(図1に示したように)を必要とする。このアーキテク
チャの完全な説明は、モトローラ・インコーポレイテッド(オースチン、テキサ
ス州にある半導体製品セクター、DSP部の「DSP56000 24ビット・
デジタル信号処理装置ファミリー・マニュアル」に開示されている。ここに全て
の目的で完全な説明が必要であれば、参考例として取り入れる。この従来技術の
解決法において、アドレス発生ユニット・アーキテクチャは、アドレス・レジス
ター208(R0)がXメモリ202とYメモリ204両方の同じアドレスを指
す。従って、複素ベクトルのための第1アレイと第2アレイを異なるメモリ・ス
ペースに、しかし同じアドレスに配置することは、アドレス・レジスター208
(R0)のみを使用して、第1アレイと第2アレイ両方に同時にアクセスするこ
とを可能にする。図2に示したように、アドレス・レジスター208(R0)が
、0x0002を指すが、メモリ・スペースと特別な関係はない。特定メモリ・
スペースへの割り当てはアッセンブリ言語オペコード(opcode)で実行さ
れる。例えば、もし第1アレイがXメモリ202に配置され、第2アレイがYメ
モリ204に配置され、また、もし第1アレイが複素ベクトルの実数部分を記憶
し、第2アレイが複素ベクトルの虚数部分を記憶すれば、アドレスの実数部分、
0x0002がレジスターAへの移動、また虚数部分のレジスターBへの移動が
次のアッセンブリ・コードによって実行される: 移動 X:(R0),A; 移動 Y:(R0),B;
【0008】 この解決法には二つの欠点がある。すなわち、第1に、ベクトルの二つの部分
(第1アレイと第2アレイをそれぞれ指す)が、異なるメモリであるが同じアド
レスに配置されなければならない。これによりメモリ利用が役に立たなくなり(
メモリ中のホール)、また必要な場合メモリの再配置を実行することが困難にな
る。例えば、第1アレイをXメモリ202に再配置する必要があれば、二つのア
レイを同じアドレスに維持するために、第2アレイもYメモリ204に再配置す
る必要がある。
(第1アレイと第2アレイをそれぞれ指す)が、異なるメモリであるが同じアド
レスに配置されなければならない。これによりメモリ利用が役に立たなくなり(
メモリ中のホール)、また必要な場合メモリの再配置を実行することが困難にな
る。例えば、第1アレイをXメモリ202に再配置する必要があれば、二つのア
レイを同じアドレスに維持するために、第2アレイもYメモリ204に再配置す
る必要がある。
【0009】 従って、処理メモリ内の複素ベクトルにアクセスする有効な方法が必要なこと
が、またこれを有することが大変有利であることが広く認識されており、これに
はオフセット・レジスターを使用する必要がなく、さらに、単一アドレス・スペ
ースを共有するマルチプル・メモリの使用を必要としない単一アドレス・レジス
ターのみを必要とするだけである。この目的は本発明に一致する。
が、またこれを有することが大変有利であることが広く認識されており、これに
はオフセット・レジスターを使用する必要がなく、さらに、単一アドレス・スペ
ースを共有するマルチプル・メモリの使用を必要としない単一アドレス・レジス
ターのみを必要とするだけである。この目的は本発明に一致する。
【0010】 (発明の概要) 本発明は有効なメモリ・アドレス発生のための方法および装置であり、また単
一のアドレス・レジスター(ポインター)をいずれのアドレッシングにも使用す
る処理装置メモリに配置された複素ベクトルにアクセスする方法および装置であ
る。これは新しいレジスターをアドレス発生ユニットに組み入れることによって
実行され、これは「固定変位レジスター」となり、Rfで示される。この固定変
位レジスターは指数間接アドレッシングのみに使用され、またこのアドレッシン
グ中にメモリ・オフセットを提供する。この方法により、工程(ステップ)によ
る事後増加が可能となり、アドレス発生ユニットを再プログラミングせずに同じ
アドレス・レジスターで二つの異なるアレイにアクセスすることができる。
一のアドレス・レジスター(ポインター)をいずれのアドレッシングにも使用す
る処理装置メモリに配置された複素ベクトルにアクセスする方法および装置であ
る。これは新しいレジスターをアドレス発生ユニットに組み入れることによって
実行され、これは「固定変位レジスター」となり、Rfで示される。この固定変
位レジスターは指数間接アドレッシングのみに使用され、またこのアドレッシン
グ中にメモリ・オフセットを提供する。この方法により、工程(ステップ)によ
る事後増加が可能となり、アドレス発生ユニットを再プログラミングせずに同じ
アドレス・レジスターで二つの異なるアレイにアクセスすることができる。
【0011】 従って、本発明は現在既知の構成と方法の欠点に首尾よく言及する。第1に、
本発明は、あらゆる種類のアドレッングを使用する一つのアドレス発生ユニット
・レジスター・セットで複素ベクトルにアクセスすることができる。第2に、本
発明は、複素ベクトルの実数部分と虚数部分のメモリ割り当て(例えば、第1ア
レイと第2アレイ)にも、メモリ・スペースにも、またアドレスにも制限を加え
ることはない。
本発明は、あらゆる種類のアドレッングを使用する一つのアドレス発生ユニット
・レジスター・セットで複素ベクトルにアクセスすることができる。第2に、本
発明は、複素ベクトルの実数部分と虚数部分のメモリ割り当て(例えば、第1ア
レイと第2アレイ)にも、メモリ・スペースにも、またアドレスにも制限を加え
ることはない。
【0012】 従って、本発明によれば、請求項1の特徴を有する処理装置を提供し、また請
求項2の特徴を有する固定変位モードを実行するための方法を提供する。
求項2の特徴を有する固定変位モードを実行するための方法を提供する。
【0013】 (好ましい実施形態の説明) 本発明による方法および装置の原理と操作は図面および関連する説明を参照し
て理解することができる。本発明による装置のアドレス発生ユニットの重要な観
点を図3に示す。本発明によるデジタル信号処理装置および他の処理装置の操作
中に実行されるような本発明の方法の工程を図4のフローチャートに示す。これ
らの工程は本発明による新しい処理装置モードである固定変位モードを実行する
。
て理解することができる。本発明による装置のアドレス発生ユニットの重要な観
点を図3に示す。本発明によるデジタル信号処理装置および他の処理装置の操作
中に実行されるような本発明の方法の工程を図4のフローチャートに示す。これ
らの工程は本発明による新しい処理装置モードである固定変位モードを実行する
。
【0014】 図3に示したように、まずある種の付加的なハードウエア能力を提供する必要
がある。特に、処理装置がアドレス発生ユニット302内に、Rf1によって示
された固定変位レジスター310を有していなければならない。固定変位レジス
ター310は、ちょうどアドレス発生ユニット302における全ての他レジスタ
ーのようにソフトウエアをプログラム可能でなければならない。また必ずしも必
要ではないが、一つよりも多い固定変位レジスター312、314および316
を使用することもでき、それぞれRf2,Rf3,...,Rfnで表し、破線
で示す。省略符号***はさらなる付加的な固定変位レジスターを組み入れるこ
とができることを示している。レジスター・セット322はRn,Nn,Mnお
よびRf1を含んでいる。本発明は、当該技術に周知の手段によって実行できる
指数間接アドレッシング能力を有する処理装置を必要とする。注意しなければな
らないのは、固定変位レジスター310はオフセット・レジスター306と区別
されることである。固定変位レジスター310およびオフセット・レジスター3
06は異なる機能を発揮し、また互いに独立して使用される。
がある。特に、処理装置がアドレス発生ユニット302内に、Rf1によって示
された固定変位レジスター310を有していなければならない。固定変位レジス
ター310は、ちょうどアドレス発生ユニット302における全ての他レジスタ
ーのようにソフトウエアをプログラム可能でなければならない。また必ずしも必
要ではないが、一つよりも多い固定変位レジスター312、314および316
を使用することもでき、それぞれRf2,Rf3,...,Rfnで表し、破線
で示す。省略符号***はさらなる付加的な固定変位レジスターを組み入れるこ
とができることを示している。レジスター・セット322はRn,Nn,Mnお
よびRf1を含んでいる。本発明は、当該技術に周知の手段によって実行できる
指数間接アドレッシング能力を有する処理装置を必要とする。注意しなければな
らないのは、固定変位レジスター310はオフセット・レジスター306と区別
されることである。固定変位レジスター310およびオフセット・レジスター3
06は異なる機能を発揮し、また互いに独立して使用される。
【0015】 さらに、処理装置は、ここでは「固定変位モード」として示された新しいモー
ドを有することが必要である。この固定変位モードは二つの状態、すなわち、使
用可能(割込み可能)状態と使用不能(割込み不能)状態を有し、固定変位構成
ビット320を制御レジスター318に組み込むことによって制御できる。これ
によって、固定変位構成ビットは制御フラグとして作用する。固定変位モードの
操作は、次に詳細に説明するように本発明による方法の中で説明する。制御レジ
スター318は、既存の処理装置デザイン内の既存の制御レジスターでよく、変
形されるか、または新しい制御レジスターとすることもできる。さらに、処理実
行中に固定変位モードの工程(次に示す)を実行することが必要である。次の工
程を実行するハードウエアは、当該技術者に周知の種々の技術により実現できる
ことを容易にする。
ドを有することが必要である。この固定変位モードは二つの状態、すなわち、使
用可能(割込み可能)状態と使用不能(割込み不能)状態を有し、固定変位構成
ビット320を制御レジスター318に組み込むことによって制御できる。これ
によって、固定変位構成ビットは制御フラグとして作用する。固定変位モードの
操作は、次に詳細に説明するように本発明による方法の中で説明する。制御レジ
スター318は、既存の処理装置デザイン内の既存の制御レジスターでよく、変
形されるか、または新しい制御レジスターとすることもできる。さらに、処理実
行中に固定変位モードの工程(次に示す)を実行することが必要である。次の工
程を実行するハードウエアは、当該技術者に周知の種々の技術により実現できる
ことを容易にする。
【0016】 本発明によるメモリ・アドレス発生のための固定変位モードを実行する処理装
置によって実行される方法の工程は、次の通りであり、また図4に示す。
置によって実行される方法の工程は、次の通りであり、また図4に示す。
【0017】 1. ローディング工程402でレジスター・セット322(図3)をアドレ
ス発生ユニット302(図3)にロードする。この工程はベース・アドレスをア
ドレス・レジスター304にロードし、アドレス・オフセットをオフセット・レ
ジスター306にロードし、バッファ長さをバッファ長レジスター308にロー
ドし、固定変位を固定変位レジスター310にロードする。
ス発生ユニット302(図3)にロードする。この工程はベース・アドレスをア
ドレス・レジスター304にロードし、アドレス・オフセットをオフセット・レ
ジスター306にロードし、バッファ長さをバッファ長レジスター308にロー
ドし、固定変位を固定変位レジスター310にロードする。
【0018】 2. 現在の命令が決定ポイント404内で指数間接アドレッシングを使用す
るかどうかを見るためにチェックする。
るかどうかを見るためにチェックする。
【0019】 3. 指数間接アドレッシングが使用されていなければ、当該技術において周
知のように、アドレス発生工程408で従来方法でアドレスが発生される。
知のように、アドレス発生工程408で従来方法でアドレスが発生される。
【0020】 4. しかし、指数間接アドレッシングが使用されれば、固定変位構成ビット
320(図3)が決定ポイント406内にセットされたかどうかをチェックする
。
320(図3)が決定ポイント406内にセットされたかどうかをチェックする
。
【0021】 5. 固定変位構成ビット320がセットされなければ、固定変位モードが使
用不能の状態にあり、またアドレス発生ユニット302が、メモリ・アドレス発
生工程410で従来の方法で操作する。すなわち、ここで説明した新しい特徴が
動作可能でなく、Rn レジスター304(図3)の値の変化なしにアドレスR
n+Nnへのアクセスがなされる。固定変位構成ビット320がクリアされたと
きに、オフセット・レジスターNn 306(図3)が、全ての事後修正のため
のソースとなり、また、間接指数アドレッシングとなる。
用不能の状態にあり、またアドレス発生ユニット302が、メモリ・アドレス発
生工程410で従来の方法で操作する。すなわち、ここで説明した新しい特徴が
動作可能でなく、Rn レジスター304(図3)の値の変化なしにアドレスR
n+Nnへのアクセスがなされる。固定変位構成ビット320がクリアされたと
きに、オフセット・レジスターNn 306(図3)が、全ての事後修正のため
のソースとなり、また、間接指数アドレッシングとなる。
【0022】 6. しかし、固定変位構成ビット320がセットされれば、固定変位モード
が使用可能状態になり、また全ての指数間接アドレッシング・メモリ・アドレス
発生のためのオフセット・ソースが、メモリ・アドレス発生工程412で、オフ
セット・レジスターNn 306の代わりに固定変位レジスター310(Rfn
)になる。発生されたアドレスは、固定変位レジスター310の内容とアドレス
・レジスター304の内容との和となる。アドレスRn+Rfnへのアクセスは
Rn レジスター304(図3)の値を変化させずに行われる。
が使用可能状態になり、また全ての指数間接アドレッシング・メモリ・アドレス
発生のためのオフセット・ソースが、メモリ・アドレス発生工程412で、オフ
セット・レジスターNn 306の代わりに固定変位レジスター310(Rfn
)になる。発生されたアドレスは、固定変位レジスター310の内容とアドレス
・レジスター304の内容との和となる。アドレスRn+Rfnへのアクセスは
Rn レジスター304(図3)の値を変化させずに行われる。
【0023】 本発明によるメモリ・アドレス発生方法は、リターン工程414で終了する。
【0024】 固定変位構成ビットは制御フラグとして作用し、その固定変位構成ビットは固
定変位モードを、セットされたときに、使用可能状態にし、また固定変位モード
が、クリアされたときに、使用不能状態にする。しかし、現在命令が指数間接ア
ドレッシングを使用した場合のみ、固定変位モードが活動状態になる。現在命令
が指数間接アドレッシング以外のアドレッシングを使用すれば、固定変位モード
は、たとえ使用可能状態であったとしても、活動状態にならない。当該技術にお
いて周知のように、これに限定されるのもではないが、直接アドレッシングおよ
び事後修正アドレッシングを含む指数間接アドレッシング以外のアドレッシング
能力もある。命令中にこれらの種々のタイプのアドレッシングを含めることが可
能である。用語「非指数間接アドレッシング」は、ここでは指数間接アドレッシ
ングを包含しないようなアドレッシングを意味する。
定変位モードを、セットされたときに、使用可能状態にし、また固定変位モード
が、クリアされたときに、使用不能状態にする。しかし、現在命令が指数間接ア
ドレッシングを使用した場合のみ、固定変位モードが活動状態になる。現在命令
が指数間接アドレッシング以外のアドレッシングを使用すれば、固定変位モード
は、たとえ使用可能状態であったとしても、活動状態にならない。当該技術にお
いて周知のように、これに限定されるのもではないが、直接アドレッシングおよ
び事後修正アドレッシングを含む指数間接アドレッシング以外のアドレッシング
能力もある。命令中にこれらの種々のタイプのアドレッシングを含めることが可
能である。用語「非指数間接アドレッシング」は、ここでは指数間接アドレッシ
ングを包含しないようなアドレッシングを意味する。
【0025】 さらに注意しなければならないのは、アッセンブリ・シンタックスがメモリ・
アドレス発生命令中に固定変位レジスター310(Rf1)を支持できるが、支
持しなくてもよいことである。用語「アッセンブリ・シンタックス」はここでは
アッセンブリ言語だけでなく、得られたインストラクション・コンフィギュレー
ション(命令構成)を意味する。アッセンブリ・シンタックスは固定変位レジス
ターを支持し、従って、アッセンブリ・シンタックスは固定変位を、使用可能状
態と使用不能状態を伴う処理装置モードとしてよりもむしろ個々の命令の修飾子
として活性化する。アッセンンブリ・シンタックスが固定変位レジスターを支持
しない場合において、オフセット・レジスター306(Nn)のみを伴う命令を
規定するのに十分である。なぜならこれがアドレッシングを規定するからである
。ハードウエアが自動的に、固定変位構成ビット320の状態によるメモリ・ア
ドレス発生のためのオフセット・レジスター306または固定変位レジスター3
10を取る。さらに、「第1アレイ」対「第2アレイ」として異なるメモリ・ア
レイの指定が任意であり、またその内容が完全に任意であることに注意しなけれ
ばならない。
アドレス発生命令中に固定変位レジスター310(Rf1)を支持できるが、支
持しなくてもよいことである。用語「アッセンブリ・シンタックス」はここでは
アッセンブリ言語だけでなく、得られたインストラクション・コンフィギュレー
ション(命令構成)を意味する。アッセンブリ・シンタックスは固定変位レジス
ターを支持し、従って、アッセンブリ・シンタックスは固定変位を、使用可能状
態と使用不能状態を伴う処理装置モードとしてよりもむしろ個々の命令の修飾子
として活性化する。アッセンンブリ・シンタックスが固定変位レジスターを支持
しない場合において、オフセット・レジスター306(Nn)のみを伴う命令を
規定するのに十分である。なぜならこれがアドレッシングを規定するからである
。ハードウエアが自動的に、固定変位構成ビット320の状態によるメモリ・ア
ドレス発生のためのオフセット・レジスター306または固定変位レジスター3
10を取る。さらに、「第1アレイ」対「第2アレイ」として異なるメモリ・ア
レイの指定が任意であり、またその内容が完全に任意であることに注意しなけれ
ばならない。
【0026】 容易に理解できることは、本発明による方法が処理装置に複素ベクトルの両部
分に効果的にアクセスを許容することである。例えば、アドレス発生ユニットお
よびメモリの次の状態を仮定する: R1 =1000(図3に示したアドレス・レジスター304) N1 =2(図3に示したオフセット・レジスター306) M1 =線形アドレッシングのためにプログラムされた(図3に示したよう
なバッファ長レジスター308−−実際のプログラミングは製造者依存) Rf1=50(図3に示したような固定変位レジスター310) および次のアッセンブリ(擬似)コードを実行 移動 (R1)+N1,A; 移動 (R1+N1),B;
分に効果的にアクセスを許容することである。例えば、アドレス発生ユニットお
よびメモリの次の状態を仮定する: R1 =1000(図3に示したアドレス・レジスター304) N1 =2(図3に示したオフセット・レジスター306) M1 =線形アドレッシングのためにプログラムされた(図3に示したよう
なバッファ長レジスター308−−実際のプログラミングは製造者依存) Rf1=50(図3に示したような固定変位レジスター310) および次のアッセンブリ(擬似)コードを実行 移動 (R1)+N1,A; 移動 (R1+N1),B;
【0027】 ここに、AおよびBは処理装置(アドレス発生ユニット302のレジスターで
はない)の汎用レジスターである。(R1)+N1は、事後修正アドレッシング
であり、メモリ・アクセスが位置R1となり、またR2が、メモリ・アクセス後
、N1だけ増分することを意味することに注意しなければならない。また、(R
1+N1)が間接指数アドアレッシングであり、メモリ・アクセスが位置R1+
N1を意味し、さらに、R1はメモリ・アクセス中およびその後、修正されない
ままであることに注意しなければならない。
はない)の汎用レジスターである。(R1)+N1は、事後修正アドレッシング
であり、メモリ・アクセスが位置R1となり、またR2が、メモリ・アクセス後
、N1だけ増分することを意味することに注意しなければならない。また、(R
1+N1)が間接指数アドアレッシングであり、メモリ・アクセスが位置R1+
N1を意味し、さらに、R1はメモリ・アクセス中およびその後、修正されない
ままであることに注意しなければならない。
【0028】 図5はアドレッシング504を有するメモリ502のエリアのための固定変位
構成ビット320の二つの異なる値の概要(シナリオ)である。図5と次の例に
おいて、全てのデータ値とアドレス位置は、デシマル表記で示す。両方の概要に
おいて、次のことを保有する: ・アドレス位置1000から1049に進むメモリ中のエリアが、第1アレ
イ518として指定され、またアドレス位置1050から先に進むメモリ中のエ
リアが、第2アレイ518に指定される。 ・実行前に、アドレス・レジスターR1のための初期値506は1000に
等しい。すなわち、R1が最初にデータ値−348を含むアドレス1000を有
するメモリ内の位置512に指定する。 ・第1命令の完了後、レジスターAがデータ値−348を包含し、またアド
レス・レジスターR1が1002に等しくなる。すなわち、R1はデータ値43
91を含むアドレス1002を有するメモリ内で位置514に指定する。 ・実行が完了した後、アドレス・レジスターR1のための最終値510があ
り、これは1002に等しい。これは第2命令が指数アドレッシングのみを含み
、また指数アドレッシングがアドレス・レジスターの値を変化させないからであ
る。
構成ビット320の二つの異なる値の概要(シナリオ)である。図5と次の例に
おいて、全てのデータ値とアドレス位置は、デシマル表記で示す。両方の概要に
おいて、次のことを保有する: ・アドレス位置1000から1049に進むメモリ中のエリアが、第1アレ
イ518として指定され、またアドレス位置1050から先に進むメモリ中のエ
リアが、第2アレイ518に指定される。 ・実行前に、アドレス・レジスターR1のための初期値506は1000に
等しい。すなわち、R1が最初にデータ値−348を含むアドレス1000を有
するメモリ内の位置512に指定する。 ・第1命令の完了後、レジスターAがデータ値−348を包含し、またアド
レス・レジスターR1が1002に等しくなる。すなわち、R1はデータ値43
91を含むアドレス1002を有するメモリ内で位置514に指定する。 ・実行が完了した後、アドレス・レジスターR1のための最終値510があ
り、これは1002に等しい。これは第2命令が指数アドレッシングのみを含み
、また指数アドレッシングがアドレス・レジスターの値を変化させないからであ
る。
【0029】 第2命令の実行後のレジスターBの内容は、固定変位モードに依存している。
次に、固定変位モード・セットとクリアの二つの場合を説明する:
次に、固定変位モード・セットとクリアの二つの場合を説明する:
【0030】 (固定変位構成ビット設定せず) この概要において、固定変位構成ビットはクリアされる(設定されず)。結果
的に、固定変位モードは使用不能状態にある。一時アドレス発生操作は従来の方
法で実行され、また第2命令の実行後、レジスターBは第1アレイ518内のメ
モリ位置514から値4391を含むことになる。
的に、固定変位モードは使用不能状態にある。一時アドレス発生操作は従来の方
法で実行され、また第2命令の実行後、レジスターBは第1アレイ518内のメ
モリ位置514から値4391を含むことになる。
【0031】 (固定変位構成ビット設定) この概要において、固定変位構成ビットが設定される。結果的に、固定変位モ
ードが使用可能状態になる。第1命令が指数間接アドレッシングに使用されない
ので、第1命令のためのメモリ・アドレス発生は、従来の方法で実行される。し
かし、第2命令は指数間接アドレッシングを使用し、また固定変位構成ビットが
設定されるので(また、固定変位モードが使用可能状態にあるので)、メモリ・
アドレス発生がRf1だけメモリ・ルックアップからオフセットし、値−819
を含むメモリ位置516にアクセスする。従って、この概要において、第2命令
の実行後、レジスターBは第2アレイ520内のメモリ位置516から値−81
9のデータを含むことになる。
ードが使用可能状態になる。第1命令が指数間接アドレッシングに使用されない
ので、第1命令のためのメモリ・アドレス発生は、従来の方法で実行される。し
かし、第2命令は指数間接アドレッシングを使用し、また固定変位構成ビットが
設定されるので(また、固定変位モードが使用可能状態にあるので)、メモリ・
アドレス発生がRf1だけメモリ・ルックアップからオフセットし、値−819
を含むメモリ位置516にアクセスする。従って、この概要において、第2命令
の実行後、レジスターBは第2アレイ520内のメモリ位置516から値−81
9のデータを含むことになる。
【0032】 従って、複素ベクトルの実数部分と虚数部分両方に効果的にアクセスすること
が可能である。例えば、実数部分が第2アレイ520に記憶され、また虚数部分
が第1アレイ518に記憶されれば、最初に固定変位構成ビットを設定し、二つ
の上記命令を実行後、レジスターAが複素ベクトルの成分の一方の虚数部分を含
み、またレジスターBが複素ベクトルの成分の実数部分を含むことになる。
が可能である。例えば、実数部分が第2アレイ520に記憶され、また虚数部分
が第1アレイ518に記憶されれば、最初に固定変位構成ビットを設定し、二つ
の上記命令を実行後、レジスターAが複素ベクトルの成分の一方の虚数部分を含
み、またレジスターBが複素ベクトルの成分の実数部分を含むことになる。
【0033】 上述の例において、本発明による方法は、簡単なメモリ・アーキテクチャ、す
なわち、メモリ・スペース・アーキテクチャのコンテキスト内に提示される。現
在、進歩したDSPアルゴリズムは、より精巧なメモリ・アーキテクチャを必要
とし、またこれにより最新のデジタル信号処理装置がデュアル・メモリ・スペー
ス・アーキテクチャを有している。図6は第1アレイと第2アレイが異なるメモ
リ・スペースに位置された複素ベクトルのための本発明による方法の例を示す。
アドレス606はデータ値内容608に対応している。図6と下記の例において
、全てのアドレス位置は16進法を示している。
なわち、メモリ・スペース・アーキテクチャのコンテキスト内に提示される。現
在、進歩したDSPアルゴリズムは、より精巧なメモリ・アーキテクチャを必要
とし、またこれにより最新のデジタル信号処理装置がデュアル・メモリ・スペー
ス・アーキテクチャを有している。図6は第1アレイと第2アレイが異なるメモ
リ・スペースに位置された複素ベクトルのための本発明による方法の例を示す。
アドレス606はデータ値内容608に対応している。図6と下記の例において
、全てのアドレス位置は16進法を示している。
【0034】 本発明による方法をデュアル・メモリ・スペース・アーキテクチャに適用する
ために、メモリ構成はシーケンスにしなければならない。位置0x0000でス
タートする第1アレイ610のための「Xメモリ・アドレス・スペース」として
示されたメモリ・スペース602があり、また位置0x8000でスタートする
第2アレイ612のための「Yメモリ・アドレス・スペース」として示されたメ
モリ・スペース604がある。必要に応じて、これらのアドレスは図6に示した
ようにシーケンスになる。注意しなければならないのは、この例において、アド
レスの最も有効なビット(MSB)が、使用されるメモリ・スペースを識別する
。
ために、メモリ構成はシーケンスにしなければならない。位置0x0000でス
タートする第1アレイ610のための「Xメモリ・アドレス・スペース」として
示されたメモリ・スペース602があり、また位置0x8000でスタートする
第2アレイ612のための「Yメモリ・アドレス・スペース」として示されたメ
モリ・スペース604がある。必要に応じて、これらのアドレスは図6に示した
ようにシーケンスになる。注意しなければならないのは、この例において、アド
レスの最も有効なビット(MSB)が、使用されるメモリ・スペースを識別する
。
【0035】 この形態において、複素ベクトルの実数部分のベース・アドレスが、例えばア
ドレス0x0002のようにXスペース602に配置され、またアドレス0x8
008のようにYスペース604に配置することができる。固定変位モード内で
作動させるために、固定変位レジスターRfを0x8006(0x8008−0
x0002)に、また制御レジスター318(図3)内の固定変位構成ビット3
20セットする必要がある。
ドレス0x0002のようにXスペース602に配置され、またアドレス0x8
008のようにYスペース604に配置することができる。固定変位モード内で
作動させるために、固定変位レジスターRfを0x8006(0x8008−0
x0002)に、また制御レジスター318(図3)内の固定変位構成ビット3
20セットする必要がある。
【0036】 本発明は限定された数の実施例に関して説明したが、本発明の多数の変形例、
修正例および他の適用例も可能であることが理解できる。
修正例および他の適用例も可能であることが理解できる。
【図面の簡単な説明】
【図1】 デジタル信号処理装置のための従来技術によるアドレス発生ユニット
を示す図。
を示す図。
【図2】 従来技術によるデジタル信号処理装置のメモリ構成を示す図。
【図3】 本発明によるデジタル信号処理装置のアドレス発生ユニットの新しい
特徴を示す図。
特徴を示す図。
【図4】 固定変位アドレス発生のためのアルゴリズムのフローチャートを示す
図。
図。
【図5】 メモリ状態の例を示す図。
【図6】 2つのデータメモリ空間のアーキテクチャを示す図。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/02 560 G06F 9/36 320
Claims (8)
- 【請求項1】 処理装置によって複素ベクトルにアクセスするメモリのため
のアドレスを計算するアドレス発生ユニットであって、 (a)アドレス・レジスターと; (b)指数間接アドレス能力を実行する手段と; (c)固定変位レジスターと; (d)使用可能(割込み可能)状態と使用不能(割込み不能)状態からなるグ
ループから選択できる状態を有する固定変位モードを実行する手段と; (e)前記固定変位モードの状態を指示する固定変位構成(コンフィギュレー
ション)ビットと; を具備するアドレス発生ユニット。 - 【請求項2】 オフセット・レジスターをさらに含み、前記固定変位レジス
ターが前記オフセット・レジスターとは異なる請求項1に記載のアドレス発生ユ
ニット。 - 【請求項3】 固定変位修飾子を備えたアッセンブリ・シンタックスを有す
る処理装置によって複素ベクトルにアクセスするメモリのためのアドレスを計算
するアドレス発生ユニットであって、 (a)アドレス・レジスターと; (b)指数間接アドレス能力を実行する手段と; (c)固定変位レジスターと; (d)固定変位を実行する手段と; (e)固定変位修飾子を検出する手段と; (f)固定変位修飾子の前記検出時に前記固定変位を作動させる手段と; を具備するアドレス発生ユニット。 - 【請求項4】 オフセット・レジスターをさらに含み、前記固定変位レジス
ターが前記オフセット・レジスターとは異なる請求項3に記載のアドレス発生ユ
ニット。 - 【請求項5】 処理装置によって複素ベクトルにアクセスするメモリのため
のアドレスを計算するアドレス発生ユニットの改良であって、このアドレス発生
ユニットがアドレス発生装置とオフセット・レジスターを含んでおり、 (a)固定変位モードを実行する手段であって、この固定変位モードが使用可
能(割込み可能)状態と使用不能(割込み不能)状態からなるグループから選択
できる状態を有する固定変位モードを実行する手段と; (b)前記固定変位モードが使用されたときに、アドレス・レジスターにオフ
セットを含ませるためのオフセット・レジスターとは異なる固定変位レジスター
と; (c)前記固定変位モードの状態を指示する固定変位構成ビットと; を具備するアドレス発生ユニットの改良。 - 【請求項6】 アドレス・レジスターと、固定変位レジスターと、固定変位
構成ビットとを有する処理装置内で固定変位モードを実行する方法であって、処
理装置が指数間接アドレッシングを使用可能な命令を有し、処理装置が現在命令
を実行する方法において、 (a)ベース・アドレスをアドレス・レジスターにロードし、固定変位を固定
変位レジスターにロードする工程と; (b)指数間接アドレッシングのための現在命令をチェックする工程と; (c)固定変位構成ビットをチェックする工程と; (d)現在命令が指数間接アドレッシングと固定変位構成ビットを使用してい
るだけであれば、前記ベース・アドレスと前記固定変位との和に等しいメモリ・
アドレスを発生する工程と; を含む固定変位モードを実行する方法。 - 【請求項7】 アドレス・レジスターと、固定変位レジスターを伴う固定変
位モードとを有する処理装置によって複素ベクトルの成分にアクセスする方法で
あって、成分がベース・アドレスを備えた第1部分と、固定変位だけベース・ア
ドレスからオフセットした第2部分を有しており、固定変位モードが使用可能(
割込み可能)状態と使用不能(割込み不能)状態からなるグループから選択でき
る状態を有しており、処理装置のための命令が指数間接アドレッシングと非指数
間接アドレッシングからなるグループから選択可能であるアドレッシングを有し
ており、 (a)ベース・アドレスをアドレス・レジスターにロードする工程と; (b)固定変位を固定変位レジスターにロードする工程と; (c)固定変位モードのために使用可能状態を選択する工程と; (d)非指数間接アドレッシングを有する命令で第1部分にアクセスする工程
と; (e)指数間接アドレッシングを有する命令で第2部分にアクセスする工程と
; を含む複素ベクトルの成分にアクセスする方法。 - 【請求項8】 処理装置が設定可能固定変位構成ビットと指数間接アドレッ
シングとを有しており、固定変位モードのために使用可能状態を選択する前記工
程が、 i)固定変位構成ビットを設定する工程と; ii) 指数間接アドレッシングを使用する工程と; を含む請求項7に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15210498A | 1998-09-14 | 1998-09-14 | |
US09/152,104 | 1998-09-14 | ||
PCT/EP1999/006764 WO2000016194A1 (en) | 1998-09-14 | 1999-09-13 | Method and apparatus for accessing a complex vector located in a dsp memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002525708A true JP2002525708A (ja) | 2002-08-13 |
Family
ID=22541518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000570665A Ceased JP2002525708A (ja) | 1998-09-14 | 1999-09-13 | Dspメモリ内に位置する複素ベクトルにアクセスする方法および装置 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1114367A1 (ja) |
JP (1) | JP2002525708A (ja) |
KR (1) | KR20010075083A (ja) |
CN (1) | CN1126029C (ja) |
WO (1) | WO2000016194A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100800552B1 (ko) * | 2005-06-13 | 2008-02-04 | 재단법인서울대학교산학협력재단 | 벡터 메모리, 이를 구비한 프로세서 및 그 데이터 처리방법 |
US20070198815A1 (en) * | 2005-08-11 | 2007-08-23 | Coresonic Ab | Programmable digital signal processor having a clustered SIMD microarchitecture including a complex short multiplier and an independent vector load unit |
CN102629191B (zh) * | 2011-04-25 | 2014-07-30 | 中国电子科技集团公司第三十八研究所 | 数字信号处理器寻址方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4809156A (en) * | 1984-03-19 | 1989-02-28 | Trw Inc. | Address generator circuit |
US5357618A (en) * | 1991-04-15 | 1994-10-18 | International Business Machines Corporation | Cache prefetch and bypass using stride registers |
US5940876A (en) * | 1997-04-02 | 1999-08-17 | Advanced Micro Devices, Inc. | Stride instruction for fetching data separated by a stride amount |
-
1999
- 1999-09-13 CN CN99810889A patent/CN1126029C/zh not_active Expired - Fee Related
- 1999-09-13 EP EP99947331A patent/EP1114367A1/en not_active Withdrawn
- 1999-09-13 WO PCT/EP1999/006764 patent/WO2000016194A1/en not_active Application Discontinuation
- 1999-09-13 KR KR1020017003242A patent/KR20010075083A/ko not_active Application Discontinuation
- 1999-09-13 JP JP2000570665A patent/JP2002525708A/ja not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
WO2000016194A1 (en) | 2000-03-23 |
EP1114367A1 (en) | 2001-07-11 |
CN1318167A (zh) | 2001-10-17 |
KR20010075083A (ko) | 2001-08-09 |
CN1126029C (zh) | 2003-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7401202B1 (en) | Memory addressing | |
EP0111407B1 (en) | Microprogrammed control unit for handling the intermixed occurences of microprogram branches and interrupts | |
US6226732B1 (en) | Memory system architecture | |
US4384325A (en) | Apparatus and method for searching a data base using variable search criteria | |
JP2659984B2 (ja) | 複数のオンチップメモリバスを備えたデータ処理装置 | |
US4394736A (en) | Data processing system utilizing a unique two-level microcoding technique for forming microinstructions | |
JP2776132B2 (ja) | オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム | |
JPH11154114A (ja) | 複数データ・フェッチのアーキテクチャを使ってテーブル・ルックアップを実行するためのシステムおよび方法 | |
US5381360A (en) | Modulo arithmetic addressing circuit | |
US5123108A (en) | Improved cpu pipeline having register file bypass and working register bypass on update/access address compare | |
US4491908A (en) | Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit | |
US6263420B1 (en) | Digital signal processor particularly suited for decoding digital audio | |
US6185673B1 (en) | Apparatus and method for array bounds checking with a shadow register file | |
JP2005182659A (ja) | Vliw型dsp,及びその動作方法 | |
US6560624B1 (en) | Method of executing each of division and remainder instructions and data processing device using the method | |
US3940744A (en) | Self contained program loading apparatus | |
JP2002525708A (ja) | Dspメモリ内に位置する複素ベクトルにアクセスする方法および装置 | |
EP0227900A2 (en) | Three address instruction data processing apparatus | |
US5930495A (en) | Method and system for processing a first instruction in a first processing environment in response to intiating processing of a second instruction in a emulation environment | |
US4602330A (en) | Data processor | |
US6901504B2 (en) | Result forwarding of either input operand to same operand input to reduce forwarding path | |
US3245047A (en) | Selective data transfer apparatus | |
US5537627A (en) | Microprogrammable processor capable of accessing unused portions of control store as fast data memory | |
US7415702B1 (en) | Method for zero overhead switching of alternate algorithms in a computer program | |
US5784710A (en) | Process and apparatus for address extension |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051018 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051028 |
|
A045 | Written measure of dismissal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20060217 |