JP3850150B2 - デジタル信号処理動作を実行する方法およびデジタル信号プロセッサ - Google Patents
デジタル信号処理動作を実行する方法およびデジタル信号プロセッサ Download PDFInfo
- Publication number
- JP3850150B2 JP3850150B2 JP24256698A JP24256698A JP3850150B2 JP 3850150 B2 JP3850150 B2 JP 3850150B2 JP 24256698 A JP24256698 A JP 24256698A JP 24256698 A JP24256698 A JP 24256698A JP 3850150 B2 JP3850150 B2 JP 3850150B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data word
- data words
- register file
- digital signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
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/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Record Information Processing For Printing (AREA)
Description
【発明の属する技術分野】
この発明は一般的にはデジタル信号処理の分野に関し、かつより特定的には引き続くデータワードへのメモリアクセスを必要とするデジタル信号処理動作に関する。
【0002】
【従来の技術】
デジタル信号処理技術においては、典型的には何らかの現実の物理的特性を表す1つまたはそれ以上のアナログ信号がろ波されあるいは何らかの他の種類の算術的評価または変換を受ける。この目的のため、到来するアナログ信号をサンプルする必要がある。各々のアナログ信号に対し、これはデジタルサンプルの連続的な流れを生じる結果となる。さらに、技術的にそのような別個のシーケンスのデジタルサンプルを異なるメモリにまたは同じメモリであるが別個のアドレス空間にお互いから分離して格納することが知られている。これらの原理を導入したマイクロプロセッサの一例はモトローラ・インコーポレイテッドから商業的に入手可能なDSP56300ファミリの24ビットデジタル信号プロセッサである。
【0003】
【発明が解決しようとする課題】
デジタル信号プロセッサは事実上すべての分野の技術および装置に適用される。1つの用途は、アナログフィルタのような、アナログ装置の機能を強化された品質およびより小型の設計を可能にするデジタルフィルタによって置き換えることである。他の分野は、コンパクトディスクプレイヤまたはデジタルオーディオテープのような、デジタルオーディオ装置、ならびに、移動電話または無線機のような、通信装置である。そのような用途は典型的には高いプロセッサのスループットを必要とし、それはサンプルのアナログ信号の広い帯域幅のためあるいはサンプルされた信号に対して行われるべきデジタル変換の複雑さ、あるいは両方の組合せのためである。
従って、デジタル信号プロセッサの性能を向上させる必要性が存在する。
【0004】
【課題を解決するための手段】
本発明の基礎をなす問題は添付の特許請求の範囲の独立請求項に記載された特徴的機能を適用することによって実質的に解決される。好ましい実施形態は従属請求項に与えられている。
【0005】
本発明はそれが最少のハードウエアのみを加えることによってデジタル信号プロセッサの処理性能を大幅に改善できる点で有利である。
【0006】
本発明の好ましい実施形態によれば、単一の処理サイクルにおいて4つのデータアクセスを行うことができる。対応するデータシーケンスは典型的には乗算−累算ループ(multiply−accumulate loops)におけるデータ処理を含む有限インパルス応答型(finite impulse response type)処理ステップで処理することができる。好ましくは、2つの乗算ユニットが使用され、それらの各々は各サイクルで与えられるデータワードの内の2つを乗算することができる。2つの乗算の結果は加算されかつ累算される。
【0007】
もし本発明の原理に従って設計されたデジタル信号プロセッサのアーキテクチャがパイプライン化されれば、これはクロック周波数を増大することなく1サイクル内で2つの乗算−累算動作を可能にする。その結果、そのようなデジタル信号プロセッサはまた電力消費に関しても有利である。これは特にバッテリ給電される用途にとって都合がよく、それはデジタル信号プロセッサの最少化された電力消費はバッテリを再充電する間のより長いインターバルを可能にするためである。
【0008】
さらに、少なくとも2つのデータワードが各々のメモリ装置または1つのメモリ装置のアドレス領域からアクセス可能であっても単一のアドレス発生ユニットを必要とするのみであるという点で特に有利である。従って、単一のアドレス発生ユニットのみを使用することにより、4つまでのデータワードが単一サイクルでアクセスできる。
【0009】
【発明の実施の形態】
図1を参照して、デジタル信号プロセッサ12を導入したデジタル装置10を詳細に説明する。デジタル装置10は例示のためのものであり、コンパクトディスクプレイヤのような、デジタルオーディオ装置または、移動電話または無線機のような、デジタル通信装置に限定することを意図したものではない。
【0010】
後者の場合、典型的にはアナログ信号がデジタル装置10のアンテナから受信される。そのような信号は図1において信号14として示されている。該信号はアナログ−デジタル変換器16に供給される。アナログ−デジタル変換器16によって伝達される信号14のサンプルはデータライン18を介してメモリ20へと入力される。メモリ20は記憶アレイ22を有する。データライン18を介してメモリ20へ入力されたサンプルされたデータワードは記憶アレイ22のアドレス空間に引き続くまたは連続する順序で記憶される。これは、記憶アレイ22に入力された、最初のデータワードが最も低い順序のアドレスに記憶されかつ引き続くさらに他のデータワードが増大するアドレスで記憶されることを意味する。他のアドレス機構も可能であり、例えば最も高いアドレスでスタートして記憶アレイ22を減少するアドレスの引き続く記憶位置において充填することも可能である。
【0011】
記憶アレイ22のアドレス空間は論理的に偶数アドレスおよび奇数アドレスへと分割される。同じことが記憶アレイ26を有するメモリ24に対しても同様に適用される。メモリ24は他の入力信号のサンプルまたは信号14のデジタル信号処理において使用されるべきフィルタ係数を表すデータワードを記憶する働きをなすことができる。
【0012】
コンパクトディスクプレイヤのような、デジタルオーディオ装置の場合は、回転するコンパクトディスクを走査するレーザビームによって提供される信号14はすでにデジタル情報であり、従ってアナログ−デジタル変換器16は必要とされない。代わりに、信号14はアナログ−デジタル変換の必要なしに直接メモリ20へと入力される。
【0013】
メモリ20および24のアドレスのために、デジタル信号プロセッサ12は制御ライン30を介して制御論理32に結合されたアドレス発生ユニット28を有する。制御論理32はまた制御ライン34および36を介してそれぞれメモリ20および24に結合されている。制御ライン38は制御論理32をレジスタファイル40に結合し、一方制御ライン42は制御論理32を乗算累算器44に結合する。乗算累算器44はそれらの出力が加算器−累算器(adder−accumulator)50に接続された乗算器46および48を有する。
【0014】
アドレス発生ユニット28はメモリ20のためのアドレスを記憶するためのレジスタ52およびメモリ24のためのアドレスを記憶するためのレジスタ54を有する。さらに、アドレス発生ユニット28は次の処理インターバルに対して、それぞれ、レジスタ52および54に記憶されたアドレスのために必要とされる変化の量を特定するためレジスタ56および58を有する。レジスタ60および61においては、アドレス発生ユニット28が動作するモードが特定されている。
【0015】
アドレス発生ユニット28はアドレスバス62および63によってそれぞれメモリ20および24に接続されている。メモリ20および24の双方はデータを出力するための2つのデータバスを有し、メモリ20はデータバス64および66によってレジスタファイル40に接続され、一方メモリ24はデータバス68および70によってレジスタファイル40に接続されている。データバス66および70はまたそれぞれバッファ72および74に結合されている。バッファ72および74はデータバス76および78によってレジスタファイル40に接続されている。
【0016】
レジスタファイル40はレジスタ80,82,84および86を有する。これらのレジスタの各々は1つのデータワードを格納することができる。レジスタ80および82はデータライン88および90を介して乗算器46に結合されている。同様に、レジスタ84および86はデータライン92および94を介して乗算器48に結合されている。
【0017】
デジタル信号処理動作の結果は加算器50によってデジタル−アナログ変換器92に出力される。結果として得られたアナログ信号94は信号14に対して実行されたデジタル信号処理動作の結果である。
【0018】
動作においては、制御論理32は必要とされるデジタル信号処理動作に従って到来信号14の処理を制御する。
【0019】
必要とされるデジタル信号処理動作を初期化するために、メモリ20およびメモリ24の双方に対する開始アドレス(start address)が特定されなければならない。簡単化のために、メモリ20および24はそれぞれX MEMおよびY MEMと称され、一方レジスタ52および54はそれぞれRXおよびRYと称される。レジスタファイル40のレジスタ80,82,84および86はそれぞれX0,X0′,Y0およびY0′と称される。
【0020】
X MEMから出力されるべき必要なデータシーケンスに対する開始アドレスは制御ライン30を介して制御論理32によってレジスタRXにプログラムされる。Y MEMからの必要とされるデータシーケンスに対する開始アドレスはまた制御ライン30を介して制御論理32によってレジスタRYへとプログラムされる。
【0021】
制御論理32はRXに格納された開始アドレスがそれが偶数アドレスであるか奇数アドレスであるかをチェックする。もしX MEMに対する開始アドレスが偶数(even)であれば、レジスタ56に格納されたパラメータ「チェンジX(CHANGE X)」または「変化X」が、アドレシングモードが増分的(incremental)なものであれば、2の値にセットされる。
【0022】
もしX MEMに対する開始アドレスが奇数であれば、パラメータ「チェンジX」の値が、この場合もアドレシングモードが増分的であれば、制御ライン30を介して制御論理32によって1の値に等しくセットされる。同じチェックがRYに格納された開始アドレスに対しても行われる。もしY MEMに対する開始アドレスが偶数であれば、レジスタ58に格納されたパラメータ「チェンジY(CHANGE Y)」または「変化Y」が2の値に等しくセットされ、もしY MEMに対する開始アドレスが奇数であれば、X MEMに対する開始アドレスについて行われたプロセスと同様に、「チェンジY」の値が1の値に等しくセットされる。
【0023】
パラメータ「モードX(MODE X)」および「モードY(MODE Y)」はそれぞれレジスタ60および61に格納される。パラメータ「モードX」および「モードY」はそれぞれX MEMおよびY MEMに対するアドレシングモードを特定する。もし、例えば、「モードX」の値が0に等しければ、これはデータワードが増大するアドレス順序でX MEMから出力されるべきことを意味し、従って各々の反復の後に、RXに格納されたアドレスはパラメータ「チェンジX」で特定される値だけ増分される。同様に、もし「モードX」の値が論理1であれば、これはRXに格納されたアドレスが「チェンジX」によって特定される値だけ各々の処理インターバルの後に減分されることを意味する。同じことがレジスタ61のパラメータ「モードY」のセットにも同様に適用される。両方のパラメータ「モードX」および「モードY」は制御論理32によって制御ライン30を介してセットされる。
【0024】
従って、初期化インターバルの間に、対応するパラメータ「チェンジX」、「チェンジY」、「モードX」および「モードY」と共に、X MEMおよびY MEMから出力されるべきデータワードのシーケンスに対する開始アドレスがそれぞれレジスタRXおよびRYにプログラムされる。
【0025】
もし、例えば、X MEMに対する開始アドレスが偶数でありかつ「モードX」が論理“0”に等しければ(増分的アドレスモード)、RXに格納された開始アドレスを有するデータワードの後次にくるデータワードは前記シーケンスにおける最初のデータワードに関して1だけ増分されたアドレスを有する。その結果、X MEMのシーケンスの第2のデータワードは奇数のアドレスを有し、かつ従ってRXに格納された開始アドレスとその最下位ビットにおいてのみ異なる。両方のアドレスワードが処理のために必要とされるから、制御ライン34を介してX MEMに対して、アドレスバス62を介してアドレスを受信したことに応じてRXに格納された開始アドレスに格納されたデータワードおよびその最下位ビットにおいてのみ異なる開始アドレスの次のアドレスに格納された引き続くデータワードの双方を出力するよう通知される。言い換えれば、もし制御ライン34が立ち上げられれば、アドレスバス62の最下位ビットのラインは「ドントケア」ビットとなり、それはすべてのより高いオーダのアドレスビットに整合するアドレスを有する両方のデータワードがX MEMによって出力されるからである。その結果、2つのデータワードが1つの初期化インターバルの間にX MEMから出力され、従って次のインターバルに対して、X MEMからの要求されるシーケンスの引き続く2つのデータワードを出力するためアドレスが2だけ増分されなければならない。
【0026】
もし開始アドレスRXが奇数でありかつアドレスモードXが論理的に0であれば(増分的アドレスモード)、これはRXに格納されたシーケンスの開始アドレスからその最下位ビットにおいてのみ異なるアドレスを有する必要とされる出力シーケンスにおけるデータワードがないことを意味する。その結果、制御ライン34は制御論理32によって論理的に0に落とされ、従ってX MEMはまさにRXに格納された開始アドレスに格納されたデータワードのみを出力するが、他のデータワードは出力しない。この代替の(alternative)最初の初期化インターバルにおいては1つのデータワードのみが出力されるから、「チェンジX」の値は1に等しくセットされ、従って次の初期化インターバルに対してRXに格納されたアドレスの値は1だけ増分される。この増分動作が行われた後に、RXに格納されたアドレスはもはや奇数ではなく、偶数である。その結果、制御ライン34が立ち上げられ、従ってアドレスバス62を介してRXに格納された偶数アドレスの受信に応じて再び最下位アドレスビットが「ドントケア」ビットポジションになり、従ってX MEMは前記代替の第2の初期化インターバルにおいて一度に2つのデータワードを出力する。その結果、この代替の場合には、ここで考えられる主処理ループに入ることができる前に1つの初期化インターバルが必要とされるのみである第1の場合に対して、2つの初期化インターバルが必要とされる。
【0027】
第1の場合(ケース1)が存在するかあるいは第2の場合(ケース2)が存在するかは以下の表に従って決定できる。
【表1】
この場合、LSBの欄はRXに格納されたアドレスの最下位ビットを表し、かつモードの欄はアドレシングモードを表す。
【0028】
上の表の論理は図面には示されていないXORゲートによって制御論理32内で好適に実施できる。もしXORゲートの1つの入力端子がパラメータ「モードX」の論理値を受けかつ他の入力端子がRXに格納されたアドレスの最下位ビットを受信すれば、XORゲートの結果として得られる出力はケース1を示すために論理“1”となりかつケース2において論理“0”となる。従って、制御論理32内のそのようなXORゲートの出力は上で述べた2つの場合のどれが存在するかを決定する働きをなすことができる。
【0029】
同じことはY MEMおよびアドレス発生ユニットの対応するプログラミングおよび前記アドレスバス63の最下位ビットが関連するまたは意味がある(relevant)ものであるか「ドントケア」であるかに応じたYへの制御ライン36を介した制御信号の発行にも同様に適用される。また、制御論理32は「モードY」およびRYに格納されたアドレスの最下位アドレスビットを入力信号として有する付加的なXORゲートを具備する。上で述べたように、この付加的なXORゲートの出力は第1のケース(ケース1)において“1”でありかつ第2のケース(ケース2)において“0”である。
【0030】
X MEMおよびY MEMの双方に対して、第1のケースが存在する場合、初期化のために必要とされる合計の期間はちょうど1つの初期化インターバルである。もしX MEMまたはY MEMに対してあるいは両方に対して第2のケースが存在すれば、上で述べたように付加的な初期化インターバルが必要とされる。
【0031】
もしX MEMに対して第1のケースが存在すれば、同じ初期化インターバルにおいてX MEMから出力される2つのデータワードが、それぞれ、データバス64および66を介してレジスタX0およびX0′に転送される。もし同じことがY MEMに対して適用されれば、対応する2つの出力データワードがデータバス68および70を介して転送されかつレジスタY0およびY0′に格納される。
【0032】
しかしながら、もしY MEMに対してケース2が存在すれば、Y MEMから第1の初期化インターバルにおいて1つのデータワードのみが出力される。引き続く第2の初期化インターバルにおいて、2つのデータワードが出力されそれらの内の1つのみがレジスタファイル40に記憶されるべきものである。他の出力データワードは制御論理32によってバッファ74においてインターセプトまたは捕捉される(intercepted)。同じことはもしX MEMに対して第2のケースが存在すれば同様に適用され、従って第2の初期化インターバルにおいて出力されるデータワードの内の1つがこれもまた制御論理32によって制御されるバッファ72によってインターセプトまたは捕捉される。
【0033】
初期化フェーズが完了した後、レジスタファイル40の各レジスタX0,X0′,Y0,Y0′は1つのデータワードを有している。今や、乗算累算器44の動作は主処理ループにおいてスタートできる。主処理ループにおいては、必要とされるデジタル信号処理動作が乗算器−累算器44によって行われる。典型的には、そのようなデジタル信号処理動作は有限インパルス応答(finite impulse response)信号処理動作である。主処理ループが第1の処理インターバルでスタートしたとき、レジスタX0およびX0′に格納されたデータはそれぞれデータライン88および90を介して乗算器46に転送される。同様に、レジスタY0およびY0′に格納されたデータは、それぞれ、データライン92および94を介して乗算器48に転送される。それぞれの乗算の出力は加算器−累算器50に転送され、該加算器−累算器50において累算器またはアキュムレータ(accumulator)に記憶された値と共に乗算器46および48の2つの出力が加算されかつアキュムレータに記憶し戻される。2つの乗算器46および48の存在は同じ時間インターバル内に2つの乗算が実行できるという利点を有する。そのような2つの並列的な乗算の完了の後に、4つのデータワードの他の組が乗算器46および48に転送される必要がある。これは制御論理32によって達成される。
【0034】
もしケース1が初期化インターバルに存在すれば、2つのデータワードの各々の出力動作は結果としてRXに格納されたアドレスを2だけ増分し、従って引き続く時間インターバルにおいて要求されるシーケンスの引き続く2つのデータワードが出力されかつレジスタファイル40の適切なレジスタに格納される。しかしながら、もしケース2が初期化インターバルの間に存在すれば、要求されるデータワードの1つはすでに、第2のケースがX MEMに対してあるいはY MEMに対して存在したかに応じて、バッファ72または74に存在する。メインループにおける次の処理サイクルが実行され、バッファ72または74に格納されたデータワードが適切なレジスタに格納されるべくレジスタファイル40に転送される。また、第2の場合における初期化インターバルの完了後に、「チェンジX」または「チェンジY」の値は2にセットされ、従ってRXまたはRYに格納されたアドレスの値は各々の出力動作の後に2だけ変えられる。その結果、対応するメモリによって出力される一対のデータワードのデータワードの内の1つがレジスタファイル40に転送され他の1つがメモリX MEMまたはY MEMの内のどの1つに第2のケースが適用されるかに応じてバッファ72または74に置き換えとして格納される。従って、第2のケースにおいても、1つの乗算および累算動作がこのパイプライン方式の構造により4つのオペランドによって主処理ループにおいて行うことができる。
【0035】
その結果、デジタル信号プロセッサ12のスループットは1つの乗算ユニットのみを有する従来技術の信号プロセッサと比較して倍加される。これは最少数のハードウエア要素を加えるのみで達成される。
【0036】
以下の説明では、次の数式2、
【数2】
に従ったデジタル処理動作を一例として説明し、この場合x[i]はアドレスiにおいてX MEMに格納されたデータワードを示し、かつy[j]はアドレスjにおいてY MEMに格納されたデータワードを示す。数式2によれば、aの値を計算するために合計6つの乗算および加算が行われる必要がある。数式2に従ったデジタル信号処理動作の実行を準備するため、デジタル信号プロセッサ12は制御論理32によって初期化されなければならない。
【0037】
この目的のため、制御論理32はユーザからあるいはプログラム制御からその入力92において入力コマンドを受信する。以下の命令(i1)、
【数3】
(i1)…………move#0,RX
によりアドレスi=0がX MEMから出力されるべきデータワードのシーケンスに対する開始アドレスとしてレジスタRXへと移動される。同様に、命令(i2)、
【数4】
(i2)………move#1,RY
は制御論理32に対しアドレス1をY MEMから出力されるべきデータワードのシーケンスの開始アドレスとしてレジスタRYへと移動させる。命令(i3)、
【数5】
(i3)………clr a
は制御論理32に対し、加算器−累算器50のアキュムレータに格納された、値aをクリアするために制御ライン42を介して制御信号を発行させる。次に命令(i4)、すなわち、
【数6】
(i4)……move2 x:(RX)+,X0 y:(RY)+,Y0
は制御論理32によってその入力92において受信される。この命令はレジスタRXのアドレスに格納されるデータワードはX MEMからレジスタX0へと移動されるべきことを意味する。さらに、(RX)+によって示されるように、アドレシングモードは増分的であり、従って「モードX」は論理“1”にセットされる。さらに、X0が命令(i4)の一部であるという事実は増分された開始アドレスの引き続くデータワードがX0′へと移動されるべきことを示す。同じことはY MEMにおけるデータワードに関連する命令i4の部分y:(RY)+,Y0にも同様にあてはまる。
【0038】
レジスタRXにおけるX MEMから出力されるべきデータワードのシーケンスに対する開始アドレスが偶数であるから、ケース1がX MEMに対して存在し、したがってアドレスバス62を介してアドレス発生ユニット28によって出力されるアドレスの最下位ビットは「ドントケア」である。その結果、上でより詳細に説明したように、2つのデータワードx[0]およびx[1]が同時にX
【0039】
MEMからそれぞれデータバス64および66を介して出力される。x[0]であるアドレス0のデータワードがレジスタX0に格納されかつx[1]である引き続く増分されたアドレス1のデータワードがレジスタX0′に格納され、これは制御ライン38を介して制御論理32の制御の下に行なわれる。これは最初の初期化インターバルにおいて行なわれる。
【0040】
X MEMデータシーケンスの2つの最初のデータワードのアドレシング、出力および格納と並列に、Y MEMもまたアクセスされる。レジスタRYに格納されたアドレスは1であるから、奇数アドレスがY MEM出力シーケンスの開始アドレスであり、したがって第2のケースが存在する。これはY MEMシーケンスの最初のデータワードのみが最初の初期化インターバルの間にアドレスされ、出力されかつレジスタファイルに格納することを意味し、それはRYに格納されたアドレスの最下位ビットの位置が関連する(relevant)からである。
【0041】
データワードY[1]がY MEMから出力された後、レジスタ58に格納されたパラメータ「チェンジY」は1に等しくセットされ、したがってRYに格納されたアドレスは1だけ増分される。その結果、引き続く第2の初期化インターバルにおいて、2つの引き続くデータワードy[2]およびy[3]が出力される。アドレスワードy[2]はレジスタファイル40のレジスタY0′に格納され、データワードy[1]はすでに前の最初の初期化インターバルにおいて命令i(4)によって特定されてレジスタY0に格納されている。この時点で、データワードy[3]はまだ必要とされないから、それは引き続く処理インターバルにおいて使用するためにバッファ74に格納される。
【0042】
データワードy[3]のバッファリングの後に、第2の初期化インターバルが完了し、したがって主処理ループがスタートできる。パラメータ「チェンジY」もまた2にセットされ、それは以下の処理では常に2つのデータワードが一度にY MEMから出力されるべきであるからである。
【0043】
主処理ループは制御論理32によって命令(i5)、すなわち、
【数7】
(i5)……mac2XO,YO,a X:(RX)+,X0 Y:(Y)+,Y0
が受信された後にスタートさせることができる。命令(i5)にしたがって、レジスタX0およびY0のデータワードはレジスタX0′およびY0′に格納されたデータワードと共に乗算されかつ累算されなければならない。対応する乗算は乗算器46および48によって行なわれ、かつ累算は加算器−累算器50によって行なわれる。さらに、命令(i5)は各々の処理ステップの後にレジスタRXに格納されたアドレスならびにレジスタRYに格納されたアドレスが2だけ増分されなければならないことを示す。これは命令(i5)の、それぞれ、シンボル(RX)+および(RY)+によって明らかにされる。また、より低いアドレスを有する最初のデータワードがそれぞれレジスタX0およびY0に格納されかつより高次のアドレスデータワードがそれぞれレジスタX0′およびY0′に格納されることが指定または特定される。もし“+”符号の代りに“−”符号が存在すれば、これは反対の意味を有することになる。
【0044】
前記命令(i5)が乗算累算器44によって始めに実行されたとき、以下の総合的な計算が行なわれる。
【数8】
a:=a+x[0]*y[1]+x[1]*y[2]
これは1つの処理インターバルにおいて、XおよびY MEMシーケンスの双方の2つの引き続くデータワードが処理されることを意味する。この段階で、パラメータ「チェンジX」および「チェンジY」の双方が2に等しくセットされているから、次の処理ステップにおいて、各々のシーケンスの2つのデータワードの次の対が処理され、言い換えれば、次のような処理が行なわれる。
【数9】
a:=a+x[2]*y[3]+x[3]*y[4]
RXおよびRYに格納された両方のアドレスのさらなる増分の後に、次の処理インターバルはすでにaに対する最終結果を発生している。
【数10】
a:=a+x[4]*y[5]+x[5]*y[6]
【0045】
X MEMに対してケース1が存在するから(Xの開始アドレスが奇数)、XMEMからの全てのデータワードは直接レジスタファイル40へと転送される。これに対し、データワードy[3]およびy[5]は順次レジスタファイル40へのそれらの転送の前にバッファ74においてバッファリングされる。
【0046】
次に、図2を参照して、本発明の方法の一実施形態についてより詳細に説明する。
【0047】
ステップ100において、デジタルサンプルがXおよびYメモリに格納される。ステップ102において、Xメモリに格納されたサンプルの処理が開始され、同様にYメモリに格納されたサンプルの処理がステップ104において開始される。以下の説明では、初期設定または初期化処理はXメモリに格納されたサンプルに関してのみ詳細に説明するがYサンプルについては説明を行なわず、それはステップ102およびステップ104において並列に行なわれる両方の処理は同様のものであるためである。
【0048】
初期化のため、始めに出力されるべきデータワードのシーケンスの開始アドレスがアドレス発生ユニット(AGU)のレジスタRXへと移動される。これはステップ106において行なわれる。ステップ108において、Xメモリに対するアドレスモードが、出力シーケンスがアドレス範囲の頭部においてあるいは底部において開始するか否かに依存して、増分的であるか減分的であるかにセットされる。
【0049】
ステップ110において、Xメモリから出力されるべきシーケンスの開始アドレスが偶数であるか否かがチェックされる。もしRXレジスタに格納されたアドレスが偶数であれば、これはこのアドレスの最下位ビットが「ドントケア」であることを意味する。Xメモリがステップ110において偶数開始アドレスによってアクセスされる場合、これは結果として最下位アドレスビットを除き同じアドレスビットを有するXメモリからの2つのデータワードの出力となる。
【0050】
もしレジスタRXに格納された開始アドレスが奇数であれば、これはケース2が存在することを意味し、それは同時にアドレスモードが増分的であるためである。これは開始アドレスの最下位ビットが関連あるまたは意味がある(relevant)ことを意味し、したがってRXに格納された開始アドレスのデータワードのみがステップ114においてXメモリから出力される。ステップ116においてRXに格納されたアドレスが1だけ増分され、したがって偶数アドレスがRXに格納される結果となる。その結果、RXに格納された新しいアドレスの最下位ビットは「ドントケア」となる。したがって、次の初期化ステップ118において、メモリはXメモリから出力シーケンスの次の2つの引き続くデータワードを出力し、それによって2つのデータワードがお互いから最下位ビットにおいてのみ異なるアドレスを持つことになる。より高いアドレスを有するデータワードはこの段階では必要とされないから、それはステップ120において後の使用のためバッファリングされる。ステップ122において、レジスタRXに格納されたアドレスが、ケース1またはケース2が存在するか否かにかかわりなく選択された増分的アドレスモードにしたがって2だけ増分される。
【0051】
初期化フェーズの後に、XメモリならびにYメモリの出力シーケンスからの2つのデータワードが処理のために利用できる。その結果、主処理124が開始される。ステップ126において、利用可能なXおよびYメモリの出力データがレジスタファイルからアクセスされかつ必要とされるデジタル信号処理動作にしたがって処理される。同時にXメモリからの必要とされる出力シーケンスにおける2つの引き続くデータワードがアドレスされかつXメモリから出力される。ケース1が存在する場合、これはステップ130においてXメモリからさらに2つのデータワードを得ることにより行なわれ、それによってさらに2つのデータワードがその最下位ビットにおいてのみ異なるアドレスを持つことになる。
【0052】
もしケース2が存在すればより低い順位またはオーダ(order)のアドレスデータワードがバッファからフェッチされかつより高い順位のデータワードからXメモリからフェッチされ、同時にXメモリから出力されかつより高い順位のデータワードに関して1だけ増分されるアドレスを有するさらに他のデータワードは前のより低い順位のアドレスデータワードを置き換えるためにバッファリングされる。これはステップ132において行なわれる。ステップ134において、レジスタRXに格納されたアドレスは、適用可能なアドレシングモードにしたがって、再び2だけ増分される。ステップ128において行なわれる動作はステップ136においてYメモリに対して同様に行なわれる。ステップ136はステップ126および128と並列に行なわれる。ステップ126,128および136が実行された後に、メインループのさらなる反復138が開始され、したがってステップ124が指定されたデジタル信号処理動作を完了するのに必要な回数だけ反復される。
【0053】
典型的には、初期化インターバルならびに上で述べた処理インターバルは1つのマシンサイクルにおいてのみ実行される。もしパイプライン化構成が選択されれば、これは各々のマシンサイクルにおいて2つの累算−乗算動作を実行できることを意味する。
【0054】
【発明の効果】
以上のように、本発明によれば、最少のハードウェアを加えるのみでデジタル信号プロセッサの処理性能を大幅に改善することができ、特に引き続くデータワードへのメモリアクセスを必要とするデジタル信号処理動作において処理性能が改善される。
【図面の簡単な説明】
【図1】本発明の原理にしたがって設計されたデジタル信号プロセッサを含むデジタル装置の第1の実施形態を示す概略的ブロック図である。
【図2】本発明の方法の一実施形態を示す流れ図である。
【符号の説明】
10 デジタル装置
12 デジタル信号プロセッサ
14 入力信号
16 アナログ−デジタル変換器
18 データライン
20,24 メモリ
22,26 記憶アレイ
28 アドレス発生ユニット
30 制御ライン
32 制御論理
38 制御ライン
40 レジスタファイル
44 乗算累算器
46,48 乗算器
50 加算器−累算器
52,54,56,58,60,61 レジスタ
62,63 アドレスバス
64,66,68,70 データバス
72,74 バッファ
80,82,84,86 レジスタ
88,90,92,94 データライン
Claims (6)
- 乗算累算器と、一連の引き続くデータワードを格納するためのメモリ装置と、前記メモリ装置のためのアドレスを発生するアドレス発生ユニットと、前記メモリ装置のための出力バッファレジスタと、前記メモリ装置に、前記出力バッファレジスタにかつ前記乗算累算器に結合されたレジスタファイルと、前記メモリ装置に、前記アドレス発生ユニットに、前記乗算累算器にかつ前記出力バッファレジスタに結合された制御論理と、を有するデジタル信号プロセッサにおいてデジタル信号処理動作を実行する方法であって、前記デジタル信号処理動作は各処理インターバルに対し引き続くデータワードを必要とし、前記データワードは前記メモリ装置に格納され、前記方法は、
(a)第1の初期化インターバルにおいて、
第1のアドレスによって前記メモリ装置に格納された第1のデータワードをアドレスする段階であって、前記第1のデータワードは第2のアドレスを有する引き続く第2のデータワードを有する、段階、
第1の場合として、もし前記第2のアドレスが前記第1のアドレスとその最下位ビットにおいてのみ異なる場合に、
前記メモリ装置から前記第1および第2のデータワードを出力し、前記第1および第2のデータワードを前記レジスタファイルに格納する段階、
第2の場合として、もし前記第1の場合でなければ、
前記メモリ装置から前記第1のデータワードを出力し、前記第1のデータワードを前記レジスタファイルに格納し、前記第1のアドレスを1だけ変更する段階、
(b)第2の初期化インターバルにおいて、
前記メモリ装置に格納された前記第2のデータワードを前記変更された第1のアドレスによってアドレスし、前記メモリ装置から前記第2のデータワードおよび引き続く第3のデータワードを出力し、前記第2のデータワードを前記レジスタファイルに格納しかつ前記第3のデータワードを前記バッファレジスタに格納する段階、
(c)第1の処理インターバルにおいて、
デジタル信号処理ステップを実行するために前記レジスタファイルに格納された前記データワードを前記乗算累算器に出力させる段階、
前記第1のアドレスを2だけ変更する段階、
前記変更された第1のアドレスによって2つのさらに他の引き続くデータワードをアドレスする段階、
前記第1の場合において、前記2つのさらに他の引き続くデータワードを前記レジスタファイルに格納する段階、
前記第2の場合において、前記バッファレジスタの前記データワードを前記レジスタファイルに格納し、前記2つのさらに他の引き続くデータワードの一方を前記レジスタファイルに格納し、前記2つのさらに他の引き続くデータワードの他方を前記バッファに格納する段階、
前記デジタル信号処理動作を完了するのに必要な数の前記処理インターバルを実行する段階、および
減分的または増分的アドレスモードを使用することができ、前記減分的または増分的アドレスモードを特定するパラメータの値および前記第1のアドレスの最下位ビットをXOR操作して前記第2の場合であることを決定する段階、
を具備し、前記一連の引き続くデータワードの最初のデータワードのアドレスが奇数か偶数かに応じて長さが変化するパイプライン構成による信号処理動作を可能にしたことを特徴とするデジタル信号処理動作を実行する方法。 - 前記デジタル信号処理動作は前記引き続くデータワードの内の少なくとも2つのシーケンスの引き続くデータワードを必要とし、異なるシーケンスの前記データワードは別個にアドレス可能なメモリ装置に格納され、前記方法は前記シーケンスの各々に対して実行され、かつ前記レジスタファイルは全てのデータワードに対して共通のファイルであることを特徴とする請求項1に記載の方法。
- 前記デジタル信号処理動作は乗算−累算処理動作であることを特徴とする請求項2に記載の方法。
- デジタル信号プロセッサであって、
乗算累算器、
一連の引き続くデータワードを格納するためのメモリ装置、
前記メモリ装置のためのアドレスを発生するアドレス発生ユニット、
前記メモリ装置のための出力バッファレジスタ、
前記メモリ装置に、前記出力バッファレジスタにかつ前記乗算累算器に結合されたレジスタファイル、および
前記メモリ装置に、前記アドレス発生ユニットに、前記乗算累算器にかつ前記出力バッファレジスタに結合された制御論理、
を具備し、前記制御論理は以下の制御機構にしたがって前記レジスタファイルへの前記データワードのための入力動作および/または前記レジスタファイルからの前記データワードのための出力動作を制御するよう構成され、前記以下の制御機構は、
(a)第1の初期化インターバルにおいて、
前記アドレス発生ユニットによって発生された、前記一連のデータワードの内の第1のデータワードの第1のアドレスに対して、前記第1のデータワードは第2のアドレスの引き続く第2のデータワードを有し、
第1の場合として、もし前記第2のアドレスが前記第1のデータワードの第1のアドレスとその最下位ビットにおいてのみ異なれば、
前記メモリ装置に対し前記第1および第2のデータワードを出力させ、かつ
前記第1および第2のデータワードを前記レジスタファイルに入力し、
第2の場合として、もし前記第1の場合でなければ、
前記メモリ装置に対し前記第1のデータワードを出力させ、前記第1のデータワードを前記レジスタファイルへと入力し、前記アドレス発生ユニットに対し前記第1のアドレスを1だけ変更させ、
(b)第2の初期化インターバルにおいて、
前記アドレス発生ユニットに対し前記第2のデータワードを前記変更された第1のアドレスによってアドレスさせ、前記メモリ装置に対し前記第2のデータワードおよび引き続く第3のデータワードを出力させ、前記第2のデータワードを前記レジスタファイルに入力しかつ前記第3のデータワードをバッファレジスタに記憶し、
(c)第1の処理インターバルにおいて、
前記レジスタファイルに対し前記データワードをデジタル信号処理動作を実行するために前記乗算累算器に出力させ、
前記アドレス発生ユニットに対し前記第1のアドレスを2だけ変更させ、
前記アドレス発生ユニットに対し前記変更された第1のアドレスによって2つのさらに他の引き続くデータワードをアドレスさせ、
前記第1の場合において、
前記2つのさらに他の引き続くデータワードを前記レジスタファイルに入力し、
前記第2の場合において、
前記バッファレジスタの前記データワードを前記レジスタファイルに入力し、前記2つのさらに他の引き続くデータワードの内の一方を前記レジスタファイルに入力し、前記2つのさらに他の引き続くデータワードの他方を前記バッファレジスタに記憶し、
前記デジタル信号処理動作を完了するのに必要な数の前記処理インターバルを実行し、
前記制御論理は前記アドレス発生ユニットに対し減分的または増分的アドレスモードのいずれかで動作させ、前記制御論理はさらに前記アドレスモードを特定するパラメータおよび前記第1のアドレスの最下位ビットを入力として有するXOR論理ゲートを備え、該XOR論理ゲートの出力信号によって前記第1の場合または前記第2の場合のいずれが存在するかを決定し、
前記一連の引き続くデータワードの最初のデータワードのアドレスが奇数か偶数かに応 じて長さが変化するパイプライン構成による信号処理動作を可能にしたことを特徴とするデジタル信号プロセッサ。 - 前記乗算累算器は前記引き続くデータワードの内の少なくとも2つのシーケンスのデータワードを一度に処理するよう構成され、前記デジタル信号プロセッサはさらに各シーケンスの引き続くデータワードに対し1つのメモリ装置を備え、前記レジスタファイルは前記メモリ装置の各々の1つに適用される前記制御機構にしたがって前記制御論理の制御の下に前記メモリ装置のいずれかから出力されるデータワードを受信するよう構成されていることを特徴とする請求項4に記載のデジタル信号プロセッサ。
- 前記メモリ装置を2つ有し、前記乗算累算器は前記レジスタファイルに結合された2つの乗算器を具備し、前記乗算器の各々は前記レジスタファイルから処理インターバルごとに2つのデータワードを受信することを特徴とする請求項5に記載のデジタル信号プロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/912,243 | 1997-08-15 | ||
US08/912,243 US6145070A (en) | 1997-08-15 | 1997-08-15 | Method for digital signal processing, DSP, mobile communication and audio-device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11161634A JPH11161634A (ja) | 1999-06-18 |
JP3850150B2 true JP3850150B2 (ja) | 2006-11-29 |
Family
ID=25431575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24256698A Expired - Lifetime JP3850150B2 (ja) | 1997-08-15 | 1998-08-13 | デジタル信号処理動作を実行する方法およびデジタル信号プロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US6145070A (ja) |
JP (1) | JP3850150B2 (ja) |
KR (1) | KR100551458B1 (ja) |
DE (1) | DE19836994A1 (ja) |
TW (1) | TW432322B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100835173B1 (ko) * | 2006-09-20 | 2008-06-05 | 한국전자통신연구원 | 곱셈 누적 연산을 위한 디지털 신호처리 장치 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4609996A (en) * | 1983-08-12 | 1986-09-02 | International Business Machines Corporation | Memory access system for a computer system adapted to accept a memory expansion module |
-
1997
- 1997-08-15 US US08/912,243 patent/US6145070A/en not_active Expired - Fee Related
-
1998
- 1998-08-13 TW TW087113319A patent/TW432322B/zh not_active IP Right Cessation
- 1998-08-13 JP JP24256698A patent/JP3850150B2/ja not_active Expired - Lifetime
- 1998-08-14 KR KR1019980033355A patent/KR100551458B1/ko not_active IP Right Cessation
- 1998-08-14 DE DE19836994A patent/DE19836994A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JPH11161634A (ja) | 1999-06-18 |
KR19990023647A (ko) | 1999-03-25 |
DE19836994A1 (de) | 1999-02-18 |
KR100551458B1 (ko) | 2006-07-06 |
US6145070A (en) | 2000-11-07 |
TW432322B (en) | 2001-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0245922B2 (en) | Memory management unit for digital signal processor | |
US4754421A (en) | Multiple precision multiplication device | |
US5793661A (en) | Method and apparatus for performing multiply and accumulate operations on packed data | |
US5175863A (en) | Signal data processing system having independently, simultaneously operable alu and macu | |
US4893279A (en) | Storage arrangement having a pair of RAM memories selectively configurable for dual-access and two single-access RAMs | |
US20040220992A1 (en) | Method and apparatus for performing multiply-add operations on packed data | |
EP1047989A1 (en) | Digital signal processor having data alignment buffer for performing unaligned data accesses | |
JP2002152014A (ja) | 正規最小平均二乗アルゴリズムに基づいた係数適応用ハードウエアアクセリレータ | |
US6282623B1 (en) | Method for digital signal processing, DSP, mobile communication and audi o-device | |
Mehendale et al. | Area-delay tradeoff in distributed arithmetic based implementation of FIR filters | |
JP3850150B2 (ja) | デジタル信号処理動作を実行する方法およびデジタル信号プロセッサ | |
US5563812A (en) | Filter device including analog and digital circuitry | |
EP1188112A2 (en) | Digital signal processor computation core | |
US20040172517A1 (en) | Synchronous periodical orthogonal data converter | |
US5765219A (en) | Apparatus and method for incrementally accessing a system memory | |
US6275835B1 (en) | Finite impulse response filter and method | |
US6820189B1 (en) | Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation | |
JP3441847B2 (ja) | データメモリを有するプロセッサ | |
JP3019767B2 (ja) | デジタル信号処理装置 | |
Matsushita et al. | A 32/24 bit digital audio signal processor | |
JPH0667876A (ja) | デジタル信号プロセッサ | |
JP3178036B2 (ja) | 信号処理装置 | |
JPS59186070A (ja) | 高速信号処理装置 | |
GB2298296A (en) | Addressing memory locations | |
JPH0298777A (ja) | 並列積和演算回路及びベクトル行列積演算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040406 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040705 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040708 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040930 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050121 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050914 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050922 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051212 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060517 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060720 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060829 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130908 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S631 | Written request for registration of reclamation of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313631 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |