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
Application number
JP2000570665A
Other languages
English (en)
Inventor
ギル ナベ
エラン ウェインガーテン
Original Assignee
インフィネオン テクノロジーズ エージー
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 インフィネオン テクノロジーズ エージー filed Critical インフィネオン テクノロジーズ エージー
Publication of JP2002525708A publication Critical patent/JP2002525708A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special 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)のメモリに記憶された
複素ベクトルにアクセスする方法に関する。
【0002】 図1はデジタル信号処理装置のような処理装置の一般的な従来技術のアドレス
発生ユニット(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アレイに記憶される。さらな
る別の方法として、本発明による複素ベクトルは普通の数学的観念における複素
数を表す必要のない任意のデータ値の二つのベクトルからなる。さらに、処理装
置メモリに関する用語「アクセス」および「アクセッシング」は、ここでは処理
装置メモリ内でのアドレスの発生を意味し、また、両者とも処理装置メモリ内に
データ値を記憶することだけではなく、処理装置メモリから記憶されたデータ値
を検索することに関係する。
【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処理装置に対するバイヤ
ーズ・ガイド」に見つけることができる)。
【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;
【0007】 この解決法には二つの欠点がある。すなわち、第1に、ベクトルの二つの部分
(第1アレイと第2アレイをそれぞれ指す)が、異なるメモリであるが同じアド
レスに配置されなければならない。これによりメモリ利用が役に立たなくなり(
メモリ中のホール)、また必要な場合メモリの再配置を実行することが困難にな
る。例えば、第1アレイをXメモリ202に再配置する必要があれば、二つのア
レイを同じアドレスに維持するために、第2アレイもYメモリ204に再配置す
る必要がある。
【0008】 従って、処理メモリ内の複素ベクトルにアクセスする有効な方法が必要なこと
が、またこれを有することが大変有利であることが広く認識されており、これに
はオフセット・レジスターを使用する必要がなく、さらに、単一アドレス・スペ
ースを共有するマルチプル・メモリの使用を必要としない単一アドレス・レジス
ターのみを必要とするだけである。この目的は本発明に一致する。
【0009】 (発明の概要) 本発明は有効なメモリ・アドレス発生のための方法および装置であり、また単
一のアドレス・レジスター(ポインター)をいずれのアドレッシングにも使用す
る処理装置メモリに配置された複素ベクトルにアクセスする方法および装置であ
る。これは新しいレジスターをアドレス発生ユニットに組み入れることによって
実行され、これは「固定変位レジスター」となり、Rfで示される。この固定変
位レジスターは指数間接アドレッシングのみに使用され、またこのアドレッシン
グ中にメモリ・オフセットを提供する。この方法により、工程(ステップ)によ
る事後増加が可能となり、アドレス発生ユニットを再プログラミングせずに同じ
アドレス・レジスターで二つの異なるアレイにアクセスすることができる。
【0010】 従って、本発明は現在既知の構成と方法の欠点に首尾よく言及する。第1に、
本発明は、あらゆる種類のアドレッングを使用する一つのアドレス発生ユニット
・レジスター・セットで複素ベクトルにアクセスすることができる。第2に、本
発明は、複素ベクトルの実数部分と虚数部分のメモリ割り当て(例えば、第1ア
レイと第2アレイ)にも、メモリ・スペースにも、またアドレスにも制限を加え
ることはない。
【0011】 従って、本発明によれば、処理装置による複素ベクトルへのメモリ・アクセス
のためのアドレスを計算するアドレス発生ユニットを提供する。このアドレス発
生ユニットは、(a)アドレス・レジスターと;(b)オフセット・レジスター
と;(c)指数間接アドレッシング能力を実行するための手段と;(d)固定変
位レジスターと;(e)使用可能(割込み可能)状態と使用不能(割込み不能)
状態からなるグループから選択できる状態を有する固定変位モードを実行する手
段と;(f)固定変位モードの状態を指示する固定変位構成ビットとを含んでい
る。
【0012】 さらに、本発明によれば、アドレス・レジスターと、固定変位レジスターと、
固定変位構成ビットとを有する処理装置内で固定変位モードを実行する方法であ
って、処理装置が指数間接アドレッシングを含むアドレッシングのタイプを有し
、処理装置が現在命令を実行する方法を提供する。この方法は、(a)ベース・
アドレスをアドレス・レジスターにロードし、固定変位を固定変位レジスターに
ロードする工程と;(b)指数間接アドレスッシングのための現在命令をチェッ
クする工程と;(c)固定変位構成ビットをチェックする工程と;(d)もしも
そうであり、さらに現在命令が指数間接アドレッシングを含み、固定変位構成ビ
ットがセットされているだけであれば、前記ベース・アドレスと前記固定変位と
の和に等しいメモリ・アドレスを発生する工程とを含んでいる。
【0013】 (好ましい実施形態の説明) 本発明による方法および装置の原理と操作は図面および関連する説明を参照し
て理解することができる。本発明による装置のアドレス発生ユニットの重要な観
点を図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は異なる機能を発揮し、また互いに独立して使用される。
【0015】 さらに、処理装置は、ここでは「固定変位モード」として示された新しいモー
ドを有することが必要である。この固定変位モードは二つの状態、すなわち、使
用可能(割込み可能)状態と使用不能(割込み不能)状態を有し、固定変位構成
ビット320を制御レジスター318に組み込むことによって制御できる。これ
によって、固定変位構成ビットは制御フラグとして作用する。固定変位モードの
操作は、次に詳細に説明するように本発明による方法の中で説明する。制御レジ
スター318は、既存の処理装置デザイン内の既存の制御レジスターでよく、変
形されるか、または新しい制御レジスターとすることもできる。さらに、処理実
行中に固定変位モードの工程(次に示す)を実行することが必要である。次の工
程を実行するハードウエアは、当該技術者に周知の種々の技術により実現できる
ことを容易にする。
【0016】 本発明によるメモリ・アドレス発生のための固定変位モードを実行する処理装
置によって実行される方法の工程は、次の通りであり、また図4に示す。
【0017】 1. ローディング工程402でレジスター・セット322(図3)をアドレ
ス発生ユニット302(図3)にロードする。この工程はベース・アドレスをア
ドレス・レジスター304にロードし、アドレス・オフセットをオフセット・レ
ジスター306にロードし、バッファ長さをバッファ長レジスター308にロー
ドし、固定変位を固定変位レジスター310にロードする。
【0018】 2. 現在の命令が決定ポイント404内で指数間接アドレッシングを使用す
るかどうかを見るためにチェックする。
【0019】 3. 指数間接アドレッシングが使用されていなければ、当該技術において周
知のように、アドレス発生工程408で従来方法でアドレスが発生される。
【0020】 4. しかし、指数間接アドレッシングが使用されれば、固定変位構成ビット
320(図3)が決定ポイント406内にセットされたかどうかをチェックする
【0021】 5. 固定変位構成ビット320がセットされなければ、固定変位モードが使
用不能の状態にあり、またアドレス発生ユニット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)の値を変化させずに行われる。
【0023】 本発明によるメモリ・アドレス発生方法は、リターン工程414で終了する。
【0024】 固定変位構成ビットは制御フラグとして作用し、その固定変位構成ビットは固
定変位モードを、セットされたときに、使用可能状態にし、また固定変位モード
が、クリアされたときに、使用不能状態にする。しかし、現在命令が指数間接ア
ドレッシングを使用した場合のみ、固定変位モードが活動状態になる。現在命令
が指数間接アドレッシング以外のアドレッシングを使用すれば、固定変位モード
は、たとえ使用可能状態であったとしても、活動状態にならない。当該技術にお
いて周知のように、これに限定されるのもではないが、直接アドレッシングおよ
び事後修正アドレッシングを含む指数間接アドレッシング以外のアドレッシング
能力もある。命令中にこれらの種々のタイプのアドレッシングを含めることが可
能である。用語「非指数間接アドレッシング」は、ここでは指数間接アドレッシ
ングを包含しないようなアドレッシングを意味する。
【0025】 さらに注意しなければならないのは、アッセンブリ・シンタックスがメモリ・
アドレス発生命令中に固定変位レジスター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;
【0027】 ここに、AおよびBは処理装置(アドレス発生ユニット302のレジスターで
はない)の汎用レジスターである。(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命令が指数アドレッシングのみを含み
、また指数アドレッシングがアドレス・レジスターの値を変化させないからであ
る。
【0029】 第2命令の実行後のレジスターBの内容は、固定変位モードに依存している。
次に、固定変位モード・セットとクリアの二つの場合を説明する:
【0030】 (固定変位構成ビット設定せず) この概要において、固定変位構成ビットはクリアされる(設定されず)。結果
的に、固定変位モードは使用不能状態にある。一時アドレス発生操作は従来の方
法で実行され、また第2命令の実行後、レジスターBは第1アレイ518内のメ
モリ位置514から値4391を含むことになる。
【0031】 (固定変位構成ビット設定) この概要において、固定変位構成ビットが設定される。結果的に、固定変位モ
ードが使用可能状態になる。第1命令が指数間接アドレッシングに使用されない
ので、第1命令のためのメモリ・アドレス発生は、従来の方法で実行される。し
かし、第2命令は指数間接アドレッシングを使用し、また固定変位構成ビットが
設定されるので(また、固定変位モードが使用可能状態にあるので)、メモリ・
アドレス発生がRf1だけメモリ・ルックアップからオフセットし、値−819
を含むメモリ位置516にアクセスする。従って、この概要において、第2命令
の実行後、レジスターBは第2アレイ520内のメモリ位置516から値−81
9のデータを含むことになる。
【0032】 従って、複素ベクトルの実数部分と虚数部分両方に効果的にアクセスすること
が可能である。例えば、実数部分が第2アレイ520に記憶され、また虚数部分
が第1アレイ518に記憶されれば、最初に固定変位構成ビットを設定し、二つ
の上記命令を実行後、レジスターAが複素ベクトルの成分の一方の虚数部分を含
み、またレジスターBが複素ベクトルの成分の実数部分を含むことになる。
【0033】 上述の例において、本発明による方法は、簡単なメモリ・アーキテクチャ、す
なわち、メモリ・スペース・アーキテクチャのコンテキスト内に提示される。現
在、進歩したDSPアルゴリズムは、より精巧なメモリ・アーキテクチャを必要
とし、またこれにより最新のデジタル信号処理装置がデュアル・メモリ・スペー
ス・アーキテクチャを有している。図6は第1アレイと第2アレイが異なるメモ
リ・スペースに位置された複素ベクトルのための本発明による方法の例を示す。
アドレス606はデータ値内容608に対応している。図6と下記の例において
、全てのアドレス位置は16進法を示している。
【0034】 本発明による方法をデュアル・メモリ・スペース・アーキテクチャに適用する
ために、メモリ構成はシーケンスにしなければならない。位置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セットする必要がある。
【0036】 本発明は限定された数の実施例に関して説明したが、本発明の多数の変形例、
修正例および他の適用例も可能であることが理解できる。
【図面の簡単な説明】
【図1】 デジタル信号処理装置のための従来技術によるアドレス発生ユニット
を示す図。
【図2】 従来技術によるデジタル信号処理装置のメモリ構成を示す図。
【図3】 本発明によるデジタル信号処理装置のアドレス発生ユニットの新しい
特徴を示す図。
【図4】 固定変位アドレス発生のためのアルゴリズムのフローチャートを示す
図。
【図5】 メモリ状態の例を示す図。
【図6】 2つのデータメモリ空間のアーキテクチャを示す図。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年11月9日(2000.11.9)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【発明の名称】 DSPメモリ内に位置する複素ベクトルにアクセスする方法お
よび装置
【特許請求の範囲】
【発明の詳細な説明】
【0001】 (技術分野および従来技術) 本発明は処理装置メモリ・アドレッシングおよびメモリ・アドレス発生の方法
、および、より詳しくはデジタル信号処理装置(DSP)のメモリに記憶された
複素ベクトルにアクセスする方法に関する。
【0002】 米国特許第4809156号において、コンピュータ・システムで使用するた
めにメモリ・アドレスを発生する回路が開示されている。アドレス発生ロジック
は二つのマルチプレクサと、中央処理装置にメモリ・アドレスを出力するメモリ
・アドレス・レジスターに接続されたアダーとを含んでいる。一つのマルチプレ
クサの二者択一的入力が変位レジスターからと、拡張レジスターから導出される
。両レジスター間の切り替えは、アキュムレータとベース・レジスターに記憶さ
れた値を入力として受信するコンパレータによって発生されたサイン・フラグに
よって制御される。このコンパレータは、フラグ・レジスター内に記憶されたサ
イン・フラグの値を反映したサイン決定出力信号を発生する。サイン・フラグは
、変位レジスターまたは拡張レジスターがアダーの入力のために選択されたかど
うかを決定する。
【0003】 図1はデジタル信号処理装置のような処理装置の一般的な従来技術のアドレス
発生ユニット(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アレイに記憶される。さらな
る別の方法として、本発明による複素ベクトルは普通の数学的観念における複素
数を表す必要のない任意のデータ値の二つのベクトルからなる。さらに、処理装
置メモリに関する用語「アクセス」および「アクセッシング」は、ここでは処理
装置メモリ内でのアドレスの発生を意味し、また、両者とも処理装置メモリ内に
データ値を記憶することだけではなく、処理装置メモリから記憶されたデータ値
を検索することに関係する。
【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処理装置に対するバイヤ
ーズ・ガイド」に見つけることができる)。
【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;
【0008】 この解決法には二つの欠点がある。すなわち、第1に、ベクトルの二つの部分
(第1アレイと第2アレイをそれぞれ指す)が、異なるメモリであるが同じアド
レスに配置されなければならない。これによりメモリ利用が役に立たなくなり(
メモリ中のホール)、また必要な場合メモリの再配置を実行することが困難にな
る。例えば、第1アレイをXメモリ202に再配置する必要があれば、二つのア
レイを同じアドレスに維持するために、第2アレイもYメモリ204に再配置す
る必要がある。
【0009】 従って、処理メモリ内の複素ベクトルにアクセスする有効な方法が必要なこと
が、またこれを有することが大変有利であることが広く認識されており、これに
はオフセット・レジスターを使用する必要がなく、さらに、単一アドレス・スペ
ースを共有するマルチプル・メモリの使用を必要としない単一アドレス・レジス
ターのみを必要とするだけである。この目的は本発明に一致する。
【0010】 (発明の概要) 本発明は有効なメモリ・アドレス発生のための方法および装置であり、また単
一のアドレス・レジスター(ポインター)をいずれのアドレッシングにも使用す
る処理装置メモリに配置された複素ベクトルにアクセスする方法および装置であ
る。これは新しいレジスターをアドレス発生ユニットに組み入れることによって
実行され、これは「固定変位レジスター」となり、Rfで示される。この固定変
位レジスターは指数間接アドレッシングのみに使用され、またこのアドレッシン
グ中にメモリ・オフセットを提供する。この方法により、工程(ステップ)によ
る事後増加が可能となり、アドレス発生ユニットを再プログラミングせずに同じ
アドレス・レジスターで二つの異なるアレイにアクセスすることができる。
【0011】 従って、本発明は現在既知の構成と方法の欠点に首尾よく言及する。第1に、
本発明は、あらゆる種類のアドレッングを使用する一つのアドレス発生ユニット
・レジスター・セットで複素ベクトルにアクセスすることができる。第2に、本
発明は、複素ベクトルの実数部分と虚数部分のメモリ割り当て(例えば、第1ア
レイと第2アレイ)にも、メモリ・スペースにも、またアドレスにも制限を加え
ることはない。
【0012】 従って、本発明によれば、請求項1の特徴を有する処理装置を提供し、また請
求項2の特徴を有する固定変位モードを実行するための方法を提供する。
【0013】 (好ましい実施形態の説明) 本発明による方法および装置の原理と操作は図面および関連する説明を参照し
て理解することができる。本発明による装置のアドレス発生ユニットの重要な観
点を図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は異なる機能を発揮し、また互いに独立して使用される。
【0015】 さらに、処理装置は、ここでは「固定変位モード」として示された新しいモー
ドを有することが必要である。この固定変位モードは二つの状態、すなわち、使
用可能(割込み可能)状態と使用不能(割込み不能)状態を有し、固定変位構成
ビット320を制御レジスター318に組み込むことによって制御できる。これ
によって、固定変位構成ビットは制御フラグとして作用する。固定変位モードの
操作は、次に詳細に説明するように本発明による方法の中で説明する。制御レジ
スター318は、既存の処理装置デザイン内の既存の制御レジスターでよく、変
形されるか、または新しい制御レジスターとすることもできる。さらに、処理実
行中に固定変位モードの工程(次に示す)を実行することが必要である。次の工
程を実行するハードウエアは、当該技術者に周知の種々の技術により実現できる
ことを容易にする。
【0016】 本発明によるメモリ・アドレス発生のための固定変位モードを実行する処理装
置によって実行される方法の工程は、次の通りであり、また図4に示す。
【0017】 1. ローディング工程402でレジスター・セット322(図3)をアドレ
ス発生ユニット302(図3)にロードする。この工程はベース・アドレスをア
ドレス・レジスター304にロードし、アドレス・オフセットをオフセット・レ
ジスター306にロードし、バッファ長さをバッファ長レジスター308にロー
ドし、固定変位を固定変位レジスター310にロードする。
【0018】 2. 現在の命令が決定ポイント404内で指数間接アドレッシングを使用す
るかどうかを見るためにチェックする。
【0019】 3. 指数間接アドレッシングが使用されていなければ、当該技術において周
知のように、アドレス発生工程408で従来方法でアドレスが発生される。
【0020】 4. しかし、指数間接アドレッシングが使用されれば、固定変位構成ビット
320(図3)が決定ポイント406内にセットされたかどうかをチェックする
【0021】 5. 固定変位構成ビット320がセットされなければ、固定変位モードが使
用不能の状態にあり、またアドレス発生ユニット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)の値を変化させずに行われる。
【0023】 本発明によるメモリ・アドレス発生方法は、リターン工程414で終了する。
【0024】 固定変位構成ビットは制御フラグとして作用し、その固定変位構成ビットは固
定変位モードを、セットされたときに、使用可能状態にし、また固定変位モード
が、クリアされたときに、使用不能状態にする。しかし、現在命令が指数間接ア
ドレッシングを使用した場合のみ、固定変位モードが活動状態になる。現在命令
が指数間接アドレッシング以外のアドレッシングを使用すれば、固定変位モード
は、たとえ使用可能状態であったとしても、活動状態にならない。当該技術にお
いて周知のように、これに限定されるのもではないが、直接アドレッシングおよ
び事後修正アドレッシングを含む指数間接アドレッシング以外のアドレッシング
能力もある。命令中にこれらの種々のタイプのアドレッシングを含めることが可
能である。用語「非指数間接アドレッシング」は、ここでは指数間接アドレッシ
ングを包含しないようなアドレッシングを意味する。
【0025】 さらに注意しなければならないのは、アッセンブリ・シンタックスがメモリ・
アドレス発生命令中に固定変位レジスター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;
【0027】 ここに、AおよびBは処理装置(アドレス発生ユニット302のレジスターで
はない)の汎用レジスターである。(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命令が指数アドレッシングのみを含み
、また指数アドレッシングがアドレス・レジスターの値を変化させないからであ
る。
【0029】 第2命令の実行後のレジスターBの内容は、固定変位モードに依存している。
次に、固定変位モード・セットとクリアの二つの場合を説明する:
【0030】 (固定変位構成ビット設定せず) この概要において、固定変位構成ビットはクリアされる(設定されず)。結果
的に、固定変位モードは使用不能状態にある。一時アドレス発生操作は従来の方
法で実行され、また第2命令の実行後、レジスターBは第1アレイ518内のメ
モリ位置514から値4391を含むことになる。
【0031】 (固定変位構成ビット設定) この概要において、固定変位構成ビットが設定される。結果的に、固定変位モ
ードが使用可能状態になる。第1命令が指数間接アドレッシングに使用されない
ので、第1命令のためのメモリ・アドレス発生は、従来の方法で実行される。し
かし、第2命令は指数間接アドレッシングを使用し、また固定変位構成ビットが
設定されるので(また、固定変位モードが使用可能状態にあるので)、メモリ・
アドレス発生がRf1だけメモリ・ルックアップからオフセットし、値−819
を含むメモリ位置516にアクセスする。従って、この概要において、第2命令
の実行後、レジスターBは第2アレイ520内のメモリ位置516から値−81
9のデータを含むことになる。
【0032】 従って、複素ベクトルの実数部分と虚数部分両方に効果的にアクセスすること
が可能である。例えば、実数部分が第2アレイ520に記憶され、また虚数部分
が第1アレイ518に記憶されれば、最初に固定変位構成ビットを設定し、二つ
の上記命令を実行後、レジスターAが複素ベクトルの成分の一方の虚数部分を含
み、またレジスターBが複素ベクトルの成分の実数部分を含むことになる。
【0033】 上述の例において、本発明による方法は、簡単なメモリ・アーキテクチャ、す
なわち、メモリ・スペース・アーキテクチャのコンテキスト内に提示される。現
在、進歩したDSPアルゴリズムは、より精巧なメモリ・アーキテクチャを必要
とし、またこれにより最新のデジタル信号処理装置がデュアル・メモリ・スペー
ス・アーキテクチャを有している。図6は第1アレイと第2アレイが異なるメモ
リ・スペースに位置された複素ベクトルのための本発明による方法の例を示す。
アドレス606はデータ値内容608に対応している。図6と下記の例において
、全てのアドレス位置は16進法を示している。
【0034】 本発明による方法をデュアル・メモリ・スペース・アーキテクチャに適用する
ために、メモリ構成はシーケンスにしなければならない。位置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セットする必要がある。
【0036】 本発明は限定された数の実施例に関して説明したが、本発明の多数の変形例、
修正例および他の適用例も可能であることが理解できる。
【図面の簡単な説明】
【図1】 デジタル信号処理装置のための従来技術によるアドレス発生ユニット
を示す図。
【図2】 従来技術によるデジタル信号処理装置のメモリ構成を示す図。
【図3】 本発明によるデジタル信号処理装置のアドレス発生ユニットの新しい
特徴を示す図。
【図4】 固定変位アドレス発生のためのアルゴリズムのフローチャートを示す
図。
【図5】 メモリ状態の例を示す図。
【図6】 2つのデータメモリ空間のアーキテクチャを示す図。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/02 560 G06F 9/36 320

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 処理装置によって複素ベクトルにアクセスするメモリのため
    のアドレスを計算するアドレス発生ユニットであって、 (a)アドレス・レジスターと; (b)指数間接アドレス能力を実行する手段と; (c)固定変位レジスターと; (d)使用可能(割込み可能)状態と使用不能(割込み不能)状態からなるグ
    ループから選択できる状態を有する固定変位モードを実行する手段と; (e)前記固定変位モードの状態を指示する固定変位構成(コンフィギュレー
    ション)ビットと; を具備するアドレス発生ユニット。
  2. 【請求項2】 オフセット・レジスターをさらに含み、前記固定変位レジス
    ターが前記オフセット・レジスターとは異なる請求項1に記載のアドレス発生ユ
    ニット。
  3. 【請求項3】 固定変位修飾子を備えたアッセンブリ・シンタックスを有す
    る処理装置によって複素ベクトルにアクセスするメモリのためのアドレスを計算
    するアドレス発生ユニットであって、 (a)アドレス・レジスターと; (b)指数間接アドレス能力を実行する手段と; (c)固定変位レジスターと; (d)固定変位を実行する手段と; (e)固定変位修飾子を検出する手段と; (f)固定変位修飾子の前記検出時に前記固定変位を作動させる手段と; を具備するアドレス発生ユニット。
  4. 【請求項4】 オフセット・レジスターをさらに含み、前記固定変位レジス
    ターが前記オフセット・レジスターとは異なる請求項3に記載のアドレス発生ユ
    ニット。
  5. 【請求項5】 処理装置によって複素ベクトルにアクセスするメモリのため
    のアドレスを計算するアドレス発生ユニットの改良であって、このアドレス発生
    ユニットがアドレス発生装置とオフセット・レジスターを含んでおり、 (a)固定変位モードを実行する手段であって、この固定変位モードが使用可
    能(割込み可能)状態と使用不能(割込み不能)状態からなるグループから選択
    できる状態を有する固定変位モードを実行する手段と; (b)前記固定変位モードが使用されたときに、アドレス・レジスターにオフ
    セットを含ませるためのオフセット・レジスターとは異なる固定変位レジスター
    と; (c)前記固定変位モードの状態を指示する固定変位構成ビットと; を具備するアドレス発生ユニットの改良。
  6. 【請求項6】 アドレス・レジスターと、固定変位レジスターと、固定変位
    構成ビットとを有する処理装置内で固定変位モードを実行する方法であって、処
    理装置が指数間接アドレッシングを使用可能な命令を有し、処理装置が現在命令
    を実行する方法において、 (a)ベース・アドレスをアドレス・レジスターにロードし、固定変位を固定
    変位レジスターにロードする工程と; (b)指数間接アドレッシングのための現在命令をチェックする工程と; (c)固定変位構成ビットをチェックする工程と; (d)現在命令が指数間接アドレッシングと固定変位構成ビットを使用してい
    るだけであれば、前記ベース・アドレスと前記固定変位との和に等しいメモリ・
    アドレスを発生する工程と; を含む固定変位モードを実行する方法。
  7. 【請求項7】 アドレス・レジスターと、固定変位レジスターを伴う固定変
    位モードとを有する処理装置によって複素ベクトルの成分にアクセスする方法で
    あって、成分がベース・アドレスを備えた第1部分と、固定変位だけベース・ア
    ドレスからオフセットした第2部分を有しており、固定変位モードが使用可能(
    割込み可能)状態と使用不能(割込み不能)状態からなるグループから選択でき
    る状態を有しており、処理装置のための命令が指数間接アドレッシングと非指数
    間接アドレッシングからなるグループから選択可能であるアドレッシングを有し
    ており、 (a)ベース・アドレスをアドレス・レジスターにロードする工程と; (b)固定変位を固定変位レジスターにロードする工程と; (c)固定変位モードのために使用可能状態を選択する工程と; (d)非指数間接アドレッシングを有する命令で第1部分にアクセスする工程
    と; (e)指数間接アドレッシングを有する命令で第2部分にアクセスする工程と
    ; を含む複素ベクトルの成分にアクセスする方法。
  8. 【請求項8】 処理装置が設定可能固定変位構成ビットと指数間接アドレッ
    シングとを有しており、固定変位モードのために使用可能状態を選択する前記工
    程が、 i)固定変位構成ビットを設定する工程と; ii) 指数間接アドレッシングを使用する工程と; を含む請求項7に記載の方法。
JP2000570665A 1998-09-14 1999-09-13 Dspメモリ内に位置する複素ベクトルにアクセスする方法および装置 Ceased JP2002525708A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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