JPH07200543A - 算術エンジン - Google Patents

算術エンジン

Info

Publication number
JPH07200543A
JPH07200543A JP6332803A JP33280394A JPH07200543A JP H07200543 A JPH07200543 A JP H07200543A JP 6332803 A JP6332803 A JP 6332803A JP 33280394 A JP33280394 A JP 33280394A JP H07200543 A JPH07200543 A JP H07200543A
Authority
JP
Japan
Prior art keywords
adder
output
mac
register
dual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6332803A
Other languages
English (en)
Inventor
Calvin W Harrison
カルビン・ウェイン・ハリソン
Susan L Gilfeather
スーザン・リーン・ギルフェザー
Jr John B Gehman
ジョン・バーソロミュー・ジェマン,ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH07200543A publication Critical patent/JPH07200543A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 複素算術演算処理に最適化された算術エンジ
ン装置を提供する。 【構成】 算術エンジン(11)は、入力データを受信
し、第1MAC出力(21)データを生成するMAC1
2を含む。MAC(13)がMAC(12)に並列に結
合されている。MAC(13)は入力データを受信し、
出力(19)を生成する。加算器アレイ(14)がMA
C(12)とMAC(13)との双方に結合される。こ
の加算器アレイ(14)は、入力データ、第1,第2M
AC出力データを受信して出力データを生成する。各M
AC(12,13)は、乗算器クロス・ポイント・スイ
ッチ(42)、乗算器レジスタ(46)、レジスタ・セ
レクタ(50)、および並列乗算器(52,54)で構
成される。各加算器アレイ(14)は、クロス・ポイン
ト・スイッチ(84)、加算器レジスタ(86)、レジ
スタ・セレクタ(88)、加算器(92)、および条件
コード判定器(94)で構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的にデジタル信号
処理に関し、特にこのような分野における算術エンジン
(arithmetic engine)に関するものである。
【0002】
【従来の技術】高速デジタル信号処理(DSP)を通信
システムに応用する際、特に携行用(hand held)装置の
ためには、低電力で高い性能のDSP機能を必要とす
る。これらのDSPは、携行用スペクトル拡散通信機
器、高速モデムおよび全ての無線機に必要とされる、ス
ペクトル分析やデジタル・フィルタ処理を効率的に行え
なければならない。これらの用途では、マトリクス数学
的演算(matrix math operation)、複素算術演算、高速
フーリエ変換(FFT)計算、符号化/復号化、検索お
よびソーティングを必要とする。最適化のためには、D
SP算術エンジンが多くの資源を効率的に用いるように
しなければならない。例えば、次のような複素乗算の実
行では、 (x1 + iy1) (x2 + iy2) = (x1 x2 - y1 y2) + i(x1 y2
+ y1 x2) この処理を1つの命令で行うには、実数の乗算を4回お
よび実数の加算を2回必要とする。乗算器や加算器を増
やしても速度を高めることにはならず、一方これらを減
らすと命令がより多く必要となる。
【0003】必要とされているのは、より高い基数(rad
ix)のFFT、複素乗算、および高速データ・ソーティ
ングを行うように最適化することができる、高性能算術
エンジンである。FFTは中間結果を算術エンジン内の
レジスタに記憶するので、より高い基数のFFTを行う
場合メモリ・アクセスの回数は少なくて済む。したがっ
て、算術エンジンはパイプライン処理が可能なので、ス
ループットは早くなる。基数が8で4096点のFFT
は、基数が2のFFTよりも2/3、基数が4の場合よ
りも1/3、少ないデータ・フェッチ(fetch)で足り
る。複素乗算は、ほとんどのDSPアルゴリズムの基礎
であるので、重要な性能目標である。統計的なフィルタ
処理を行ったり、結果を解析するためには、ソーティン
グが必要となる。ソーティングによって、典型的な信号
分析の目的である、最高、最低、統計的に変動するデー
タの位置を判定することができる。このような算術エン
ジンは多くの資源(resource)を必要とするが、そのサイ
ズと電力が制限されるため、効率的に用いなければなら
ない。
【0004】
【発明が解決しようとする課題】汎用DSP用の典型的
な算術エンジンは、乗算器アキュムレータ(MAC:mu
ltiplier accumulator)と呼ばれる、1つの乗算器と1
つの加算器とを含む。更に用途を特定したDSPの算術
エンジンは、数個の乗算器および加算器のアレイを含む
ことができる。後者のDSP用算術エンジンは、典型的
に、基数−4のバタフライ(butterfly)を行うように最
適化されているが、高速ソーティングを行うことはでき
ない。
【0005】また、典型的な算術エンジンは、全てのデ
ジタル通信用途で必要な算術計算を効率的に処理するこ
とができない。汎用DSPは、基数2のバタフライを効
率的に行うことができるが、十分な資源を有していない
ため、それより高い基数のバタフライを行うことはでき
ない。FFTは、多くの複素乗算を必要とし、各複素乗
算が4回の実数乗算と2回の実数加算を必要とする。汎
用DSPはMACを1つしか有していないので、1回の
複素乗算のみを実行するためにも、このようなDSPの
算術エンジンに対して4回のパスが行われる。2つ以上
のMACを有するエンジンでも、通常基数4のバタフラ
イ演算に、資源が限られている。
【0006】また、典型的な算術エンジンは、高速デー
タ・ソーティングも処理することができない。典型的な
データ・ソーティングは、2つのデータを比較し、その
結果条件コードが得られるようにしなければならない。
条件コードは実行ユニットに渡され、ここで後続の命令
の際、プログラムを2つの経路の内の一方に分岐させ
る。分岐後、次の命令がデータ比較の結果に基づいて、
データをその新しい位置に移動させる。この方法は最低
3個の命令を必要とし、1度に1対のデータ処理しかで
きない。典型的な算術エンジンは、多数のデータ対のソ
ーティングをハードウエアで実行するのに十分なデータ
・パス切り替え機構を有してはいない。
【0007】
【課題を解決するための手段】したがって、本発明の利
点は、新規で改良された算術エンジンを提供することで
ある。また、別の利点は、この算術エンジンが、順序付
けられた対に対して複素データ処理を行うと共に、基数
8の処理に対して最適化されていることである。本発明
の更に別の利点は、前記算術エンジンが、出力を入力に
フィードバックすることによって該エンジン内のデータ
を循環させ、全計算資源を使用することによって、高速
データ・ソーティングを可能にすることである。
【0008】これらの利点を達成するために、第1二重
(dual)MAC第1入力で入力データを受け取り、第1二
重MAC出力に第1二重MAC出力データを生成する第
1二重乗算器蓄積器(MAC)を含む算術エンジンを提
供する。第2二重MACが、前記第1二重MACと並列
に結合されている。前記第2二重MACは、第2二重M
AC第1入力で前記入力データを受け取り、第2二重M
AC出力に第2二重MAC出力データを生成する。加算
器アレイが、前記第1二重MACと第2二重MACの双
方に結合されている。前記加算器アレイは、前記入力デ
ータ、第1二重MAC出力データ、および第2二重MA
C出力データを受け取り、加算器アレイ出力に算術演算
出力データを生成するためのものである。
【0009】本発明の上述のおよびその他の特徴および
利点は、以下の詳細な説明を添付図面と関連付けること
によってよりよく理解されよう。
【0010】
【実施例】総じて言えば、本発明は、複素算術処理用に
最適化された算術エンジン装置を提供するものである。
ここに記載する算術エンジンはDSP用途に好適である
が、算術エンジンの使用はDSPまたは複素算術処理に
限定される訳ではない。この算術エンジンに関する発明
は、それぞれ加算器アレイに接続された、並列な2つの
二重MACを設けることによって達成することができ
る。各二重MACは同時に乗算2回と加算2回の処理を
行うと共に、その入力データをソートすることができ
る。前記加算器アレイは、同時に加算処理を6回行うと
共に、入力データのピーク値のソーティングおよび記憶
が可能である。
【0011】本発明は、図面を参照することによってよ
りよく理解されよう。図1は、複素算術演算プロセッサ
(CAP)またはデジタル信号プロセッサ(DSP)1
0内の算術エンジン11を示す。算術エンジン11は、
二重乗算器アキュムレー(二重MAC)12、二重MA
C13、および加算器アレイ14を含む。加算器アレイ
14は、二重MAC12,13に並列に結合されてい
る。第1二重MAC第1入力16および第2二重MAC
第1入力17は、入力データ・ストリームからのデータ
を二重MACに供給する入力線である。第1二重MAC
第2入力22および第2二重MAC第2入力23は、入
力データ流から、或いは加算器アレイから第1加算器ア
レイ出力データ74を介して、データをそれぞれの二重
MACに供給する入力線である。第1加算器対出力デー
タ74は、加算器アレイ20の出力の副集合(sub-set)
である。第1二重MAC出力21および第2二重MAC
出力19は、それぞれ二重MAC12および二重MAC
13の出力である。これらの二重MACの出力は、加算
器アレイ14への入力であると共に、出力データ流の要
素でもある。加算器アレイ14は、出力データ・ストリ
ームから直接データを受け取ることもできる。
【0012】図2は、図1の算術エンジンに用いて好適
な二重MACの概略図である。図2の二重MACは、図
1の二重MAC12を具体的に示したものであり、第1
二重MAC第1入力16、第1二重MAC二重入力22
としての入力、および第1二重MAC出力21としての
出力が見られる。第1二重MAC第1入力16と第1二
重MAC第1入力22を、第2二重MAC第1入力17
と第2二重MAC第2入力23とそれぞれ置き換えれ
ば、図2は図1の二重MAC13を表わすこともでき
る。この場合、第1二重MAC21の出力から成る出力
は、第2二重MACの出力19と置き換えられることに
なる。
【0013】図2の二重MACは、二重乗算器30と二
重アキュムレータ34とを含む。二重乗算器30は、乗
算器クロス・ポイント・スイッチ42と、乗算器レジス
タ46と、レジスタ・セレクタ50と、第1並列乗算器
52と第2並列乗算器54とで構成されている。クロス
・ポイント・スイッチ42は、あらゆる組み合わせの入
力を乗算器レジスタ46に同時に供給できるようにする
ものである。これらのレジスタはレジスタ・セレクタ5
0に結合され、適切なレジスタ値48が第1並列乗算器
52および第2並列乗算器54の双方に方向付けられ
る。これら乗算器の出力は、二重アキュムレータ34の
MAC出力セレクタ66と加算器入力レジスタ57との
双方に結合されている。
【0014】二重アキュムレータ34は、アキュムレー
タ・レジスタ56、加算器入力レジスタ57、アキュム
レータ・クロス・ポイント・スイッチ62、第1MAC
加算器59、第2MAC加算器61、条件コード63、
およびMAC出力セレクタ66で構成される。アキュム
レータ・レジスタ56は、図2では第1アキュムレータ
出力58と第2アキュムレータ出力60である、以前の
MAC加算器出力の合計を記憶するために用いられる。
加算器入力レジスタ57は、二重乗算器30の第1およ
び第2並列乗算器出力36,38の出力を記憶するため
に用いられる。アキュムレータ・レジスタ56と加算器
入力レジスタ57の双方は、アキュムレータ・クロス・
ポイント・スイッチ62に結合されている。加算器入力
レジスタ57は、MAC出力セレクタ66にも結合され
ている。アキュムレータ・クロス・ポイント・スイッチ
62は、その入力の組み合わせを、第1MAC加算器5
9と第2MAC加算器61の双方に方向付ける。二重ア
キュムレータ34が蓄積モード(accumulate mode)にあ
る場合、第1および第2MAC加算器59,61の出力
は、アキュムレータ・レジスタ56にフィードバックさ
れ、それらの出力が記憶される。第1および第2MAC
加算器59,61は、MAC出力セレクタ66にも結合
されている。第2MAC加算器61は、減算器としても
用いることができ、条件コード63も結合されている。
条件コード63は、第2MAC加算器61の入力の内大
きい方を判定し、この情報を用いて、その出力に結合さ
れているMAC出力セレクタ66を制御する。MAC出
力セレクタ66は、第1および第2並列乗算器出力3
6,38からのデータ、加算器入力レジスタ値51、な
らびに第1および第2乗算器出力58,60からのデー
タを受け取る。二重MACがカレント・モード(current
mode)にある場合は、これらの出力の内どれを図2の第
1二重MAC出力21に送出するのかを判定する。二重
MACがソート・モードの場合、条件コード出力64を
用いて、第1二重MAC出力21上の加算器入力レジス
タ値51の出力に対する、適切な順番を判定する。
【0015】図2に表されている構成の動作をより詳し
く説明すると、データは、入力データ・ストリームから
または第1加算器対の出力データ74から、乗算器クロ
ス・ポイント・スイッチ42に入る。入力データ・スト
リームは、複素算術演算プロセッサのメモリから来るデ
ータ対で構成される。第1加算器対の出力データ74
は、加算器アレイ14内部の第1ランク(rank)の加算器
から来るものである。入力データ流および第1加算器対
の出力データは、それぞれ、第1二重MAC第1入力1
6および第1二重MAC第2入力22を通って、乗算器
クロス・ポイント・スイッチ42に入る。乗算器クロス
・ポイント・スイッチ42は、入力データを選択された
ソース44として、乗算器レジスタ46に伝える(rout
e)。クロス・ポイント・スイッチ42は、多数の入力値
を同時に多数の乗算器レジスタに移動させることができ
る。レジスタ・セレクタ50は、乗算器レジスタ46か
らの乗算器レジスタ値48を受け取り、適切な値を第1
および第2並列乗算器52,54に、選択された乗算器
オペランド53として送出する。第1および第2乗算器
52,54は、それらの各入力を乗算し、その結果を第
1並列乗算器出力36および第2並列乗算器出力38に
出力する。二重MACがバイパス・モードにある場合、
これらの出力は直接MAC出力セレクタ66に送られ、
第1二重MAC出力21を通じて、二重MAC外部に送
出される。二重MACが算術モードにある場合、第1乗
算器出力36と第2乗算器出力38とが二重アキュムレ
ータ34に送られ、加算器入力レジスタ57に記憶され
る。
【0016】データが図2の入力レジスタ57に記憶さ
れた後、いくつかの事象が発生する可能性がある。二重
MACが算術モードにある場合、アキュムレータ・クロ
スポイント・スイッチ62は2つの加算器入力レジスタ
値51を取り、それらを第1MAC加算器59および第
2MAC加算器61の双方に、選択された加算器入力6
5を通じて送出する。このような場合、第2MAC加算
器61は減算器として用いられているので、前記2つの
値の和および差が得られる。この和と差は、それぞれ第
1アキュムレータ出力58と第2アキュムレータ出力6
0とに現れ、第1二重MAC出力21を通じて二重MA
Cから出て行く前に、MAC出力セレクタ66に入る。
【0017】図2の二重MACがソート・モードにある
時、加算器入力レジスタ57の和および差が上述のよう
に計算される。条件コード63は、第2MAC加算器6
1からの結果を、条件コード入力67(未だ減算器とし
て用いられている)を通じて入力し、2つの加算器入力
レジスタ値51の内いずれが大きいかを判定する。この
判定結果は、条件コード出力64を通じて、MAC出力
セレクタ66に送出される。次に、MAC出力セレクタ
がこの判定結果を用いて、第1二重MAC出力21上で
加算器入力レジスタ値51をどのように配列するかを判
定する。第1二重MAC出力21上では、最大および最
小値は常に同一位置に現れる。
【0018】図2の二重MACがアキュムレート・モー
ドにある時、蓄積器クロス・ポイント・スイッチ62は
加算器入力レジスタ値51とアキュムレータ・レジスタ
値50とを、入力として用いる。最初の対は第1MAC
加算器59に送られ、最後の対は第2MAC加算器61
に送られる。アキュムレート・モードでは、第2MAC
加算器61は、減算器としてではなく加算器として用い
られる。第1および第2MAC加算器59,61各々の
各出力は、アキュムレータ・レジスタ56にフィードバ
ックされ、加算器入力レジスタ57に記憶されている次
の値に加えられる。最終的なアキュムレータの値は、第
1および第2MAC加算器59,61から出力され、M
AC出力セレクタ66に送られ、最後に第1二重MAC
出力21を通じて二重MACから送出される。
【0019】図3は、図1に示した加算器アレイ14に
好適な第1加算器対を図示するものである。図3におけ
る第1ランクの加算器は、1対のクロス・ポイント・ス
イッチ84,レジスタ・ファイル86、レジスタ・セレ
クタ88、加算器92および条件コード判定器94で構
成されている。クロス・ポイント・スイッチ84は、算
術エンジンへの入力データ・ストリーム、第1二重MA
C21からの出力、および第2二重MAC19からの出
力を受け入れる。外部データを受け入れることに加え
て、クロス・ポイント・スイッチは、算術エンジンの出
力データも受け入れる。第1、第2および第3加算器対
74,174,274の出力はそれぞれ第1加算器クロ
ス・ポイント・スイッチ84にフィードバックされる。
クロス・ポイント・スイッチ84からの選択値85は、
第1加算器レジスタ86に記憶される。基数8のバタフ
ライ・アルゴリズムを効果的に実行するには、各加算器
92の前に少なくとも8個のレジスタが必要である。こ
れらのレジスタは、加算器が出力データを用いることが
できるようになるまで、そのデータを一時的に保持す
る。このように一時的に保存することが必要なのは、入
力データ・シーケンスがデータを消費する(consume)す
るシーケンスと一致しないからである。
【0020】第1加算器92が用いるために、図3の第
1加算器オペランドA90と第1オペランドB91が、
第1加算器レジスタ86の中から第1加算器レジスタ・
セレクタ88によって選択される。加算器92はオペラ
ンドの加算および減算を処理することができる。第1加
算器セレクタ88は、以下のようにソート処理を行う役
割も持っている。第1加算器オペランド90,91が第
1加算器92によって比較される。その結果の符号が、
大きい方のオペランドを示す。この結果の符号は条件コ
ード判定器94によって決められ、条件コード判定器9
4はソート・レジスタ信号97を第1加算器レジスタ・
セレクタ88にフィードバックする。この信号を用い
て、オペランド90または91のどちらを第1オペラン
ド・ソート87として出力するかを選択する。加えて、
この信号を用いて、比較されないレジスタ対からどちら
の値を第1レジスタ・ソート89として出力するかを選
択する。これらの接続によってソート・チェーン(chai
n)が形成され、上述の好適実施例では、算術エンジンに
1回データを渡すだけで、大きい方から5つのデータ
(ピーク検索)を突き止めることができる。ピーク値は
第1オペランド・ソート87上にあり、一方ピークの位
置は第1レジスタ・ソート89上にある。
【0021】図4は、図1に示した加算器アレイ14に
好適な第2加算器対を図示するものである。図4におけ
る第2加算器対は、1対のクロス・ポイント・スイッチ
184、レジスタ・ファイル186、レジスタ・セレク
タ188、加算器192および条件コード判定器194
で構成されている。クロス・ポイント・スイッチ184
は、算術エンジンへの入力データ・ストリーム、第1二
重MAC21からの出力、および第2二重MAC19か
らのデータを受け入れる。外部データを受け入れること
に加えて、クロス・ポイント・スイッチは、算術エンジ
ンの出力データも受け入れる。第1、第2および第3加
算器対74,174,174からの出力は、それぞれ、
第2加算器クロス・ポイント・スイッチ184にフィー
ドバックされる。クロス・ポイント・スイッチ184か
らの選択値185は、第2加算器レジスタ186に記憶
される。第2加算器192が用いるために、第2加算器
オペランドA190と第2オペランドB191とが、第
2加算器レジスタ・セレクタ188によって第2加算器
レジスタ186から選択される。加算器192は、加算
および減算処理を行うことができる。第2加算器セレク
タ188は、ソート処理を行う役割も果たす。第2加算
器オペランド190,191が、第2加算器192によ
って比較される。比較結果の符号は、大きい方のオペラ
ンドを示す。この結果の符号は、条件コード判定器19
4によって判定され、条件コード判定器194はソート
・レジスタ選択信号197を第2加算器レジスタ・セレ
クタ188にフィードバックする。この信号を用いて、
オペランド190または191のどちらを第2オペラン
ド・ソート187として出力するかを選択する。加え
て、この信号を用いて、比較されないレジスタ対からど
の値を第2レジスタ・ソート189として出力するのか
も選択する。これらの接続によってソート・チェーンが
形成され、上述の好適実施例では、算術エンジンに1回
データを渡すだけで、大きい方から5つのデータ(ピー
ク検索)を突き止めることができる。ピーク値は第1オ
ペランド・ソート187上にあり、一方ピークの位置は
第1レジスタ・ソート189上にある。
【0022】図5は、図1に示した加算器アレイ14に
好適な第3加算器対を図示するものである。図5におけ
る第3加算器対は、1対のクロス・ポイント・スイッチ
284、レジスタ・ファイル286、レジスタ・セレク
タ288、加算器292および条件コード判定器294
で構成されている。クロス・ポイント・スイッチ284
は、算術エンジンへの入力データ・ストリーム、第1二
重MAC21からの出力、および第2二重MAC19か
らの出力を受け入れる。外部データを受け入れることに
加えて、クロス・ポイント・スイッチは、算術エンジン
の出力データも受け入れる。第1、第2および第3加算
器対74,174,274からの出力は、それぞれ、第
1加算器クロス・ポイント・スイッチ284にフィード
バックされる。クロス・ポイント・スイッチ284から
の選択値285は、第3加算器レジスタ286に記憶さ
れる。第3加算器292が用いるために、第3加算器オ
ペランドA290および第3オペランドB291が、第
3加算器レジスタ・セレクタ288によって第3加算器
レジスタ286から選択される。加算器292は、加算
または減算処理を行うことができる。また、第3レジス
タ288はソート処理を行う役割も果たす。第3加算器
オペランド290,291が第3加算器292によって
比較される。比較結果の符号は、大きい方のオペランド
を示す。この結果の符号は、条件コード判定器294に
よって判定され、条件コード判定器294はソート・レ
ジスタ・セレクタ信号297を第3加算器レジスタ・セ
レクタ288にフィードバックする。この信号を用い
て、オペランド290または291のどちらを第3オペ
ランド・ソート287として出力するか選択する。加え
て、この信号を用いて、比較されないレジスタ対からの
どの値を、第3レジスタ・ソート289として出力する
かを選択する。これらの接続によってソート・チェーン
が形成され、上述の好適実施例では、算術エンジンに1
回データを渡すだけで、大きい方から5つのデータ(ピ
ーク検索)を突き止めることができる。ピーク値は第1
オペランド・ソート287上にあり、一方ピークの位置
は第1レジスタ・ソート289上にある。
【0023】図1の二重MAC12,13が加算器アレ
イ14とどのように動作するかを示す例として、基数8
のバタフライについて説明する。基数8のバタフライ機
能は、8個の複素数に作用し、8個の複素出力を生成す
る。データは、図2の二重乗算器30、二重アキュムレ
ータ34、および図3の加算器アレイ95,195,2
95の各ランクを通過し、算術エンジンの各命令の資源
全てを使用する。各命令の間、複素乗算が二重MAC1
2,13内で行われ、6回の加算演算が加算器アレイ1
4において発生する(加算または減算)。算術エンジン
11のレジスタをデータで満たし、第1出力を生成する
には12個の命令が必要である。算術エンジンのパイプ
ラインが満たされた後、各命令毎に出力データが生成さ
れる。これについては以下の詳細な説明で理解できるで
あろう。
【0024】基数8のバタフライの間データが算術エン
ジンによってどのように連続的に発生されるかを詳しく
論じるために、表1の基数8パイプライン・シーケンス
を参照する。表1ないし4は、各命令に対してデータ
が、あるレジスタから別のレジスタに転送される模様を
示したものである。データは、図2の二重MACクロス
・ポイント・スイッチ42から算術エンジンに入り、乗
算器入力レジスタ46に記憶される。各乗算器には4つ
のレジスタが割り当てられる。レジスタM11-M14は第1
並列乗算器52に割り当てられる。レジスタ M21-M24
は第1二重MAC12の第2並列乗算器54に割り当て
られる。レジスタM31-M34 およびM41-M44は、第2二重
MAC13の乗算器に割り当てられる。入力データは、
複素データ・サンプルX7,Y7および複素係数Zx7,Zy7から
成る。命令1は、クロス・ポイント・スイッチを通じ
て、8個のレジスタ (M11, M41, M21, M31, M13, M33,
M23, M43)に同時にロードする。
【0025】命令2は、次の複素データ対 (X6,Y6) (Zx
3,Zy3) を乗算器レジスタ46にロードし、以前に取り
込んだデータと乗算し、それを加算器入力レジスタ57
に記憶する。これらは、第1二重MAC12に対しては
A11, A12で表記され、第2二重MAC13に対してはA2
1, A22で表記されている。
【0026】命令3は、第3複素対(X5,Y5) (Zx5,Zy5)
を取り込み、加算器入力レジスタ57(A11, A12, A21,
A22)と内の以前の値加算および減算を行うことによっ
て、第1データサンプルの複素乗算を完了する。この結
果は、加算器アレイ14(A38,A48)(図3)の第1加算
機レジスタ86に記憶される。
【0027】
【表1】
【0028】
【表2】
【0029】
【表3】
【0030】
【表4】 命令4は、第4複素対 (X4,Y4) (Zx1 ,Zy1)を取り込
み、既に加算器入力レジスタ57に記憶されている値を
加算および減算することによって、第2サンプルの複素
乗算を完了し、その結果を加算器アレイ14(A34, A44)
の第1加算器レジスタ86に記憶する。
【0031】命令5は、第5複素対(X3,Y3) (Zx6,Zy6)
を取り込み、第3サンプルの複素乗算を完了し、その結
果を第1加算器レジスタ86 (A37, A47)に記憶する。
命令3,4において第1加算器レジスタ (A34, A38, A4
4, A48)にロードされた以前の値を減算し、二重MAC
乗算器レジスタ46 (M42, M22)に記憶し戻し、後に命
令9において用いられるようにする。この命令は、算術
エンジンのフィードバック特性を表す。フィードバック
を適用することにより、基数8のバタフライを計算しつ
つ、算術エンジンの資源を完全に利用し続けることがで
きる。
【0032】命令6は、第6複素対(X2,Y2) (Zx2,Zy2)
を取り込み、第4サンプルの複素乗算を完了し、その結
果を第1加算器レジスタ86 (A33, A43)に記憶する。
命令3,4において第1加算器レジスタ (A34, A38, A4
4, A48)にロードされた値を加算し、第2ランクの加算
器ブロックの第2加算器レジスタ186(図4のA57,A6
7)に記憶する。
【0033】命令7は、第7複素対 (X1,Yl) (Zx4,Zy4)
を取り込み、第5サンプルの複素乗算を完了し、その結
果を第1加算器レジスタ86 (A36, A46)に記憶する。
命令5,6において第1加算器レジスタ (A33, A37, A4
3, A47)にロードされた以前の値を減算し、二重MAC
乗算器レジスタ46(M12, M32)に記憶し戻し、後に命令
9において用いられるようにする。この命令も、算術エ
ンジンのフィードバック特性を表すものである。
【0034】命令8は、対(XO,YO)を取り込み、第1加
算器レジスタ86のA31,A41に直接それらを記憶する。
第6サンプルの複素乗算が完了し、命令5,6において
第1加算器レジスタ(A33, A37, A43, A47)にロードされ
た値を加算し、第2加算器レジスタ186(A53, A63)に
入力する。
【0035】命令9は、第9複素対(X15,Y15) (Zx7,Zy
7)を取り込み、第7命令の複素乗算を完了し、命令7,
8における第1加算器レジスタ (A32, A36, A42, A46)
の以前の値を加算し、それらを第2加算器レジスタ18
6(A55, A65)にロードする。命令6,8において第2加
算器レジスタ(A53, A57, A63, A67)にロードされた以前
の値を加算し、第3加算器レジスタ286(図5のA75,
A85)に記憶する。これと同一プロセスが命令12まで続
く。
【0036】命令12の後、パイプラインが満たされ、
基数8のバタフライの最終結果が、命令13から得るこ
とができるようになる。命令13は、最後の動作を除い
て、命令9から12と同様に動作する。命令13は、命
令9,11において第3加算器レジスタ286 (A71, A
75, A81, A85)にロードされた以前の値を取り出し、そ
れらを互いに加算し、結果(XO, YO) をメモリに送る。
この結果は、基数8バタフライの最初の出力値である。
命令14は二番目の結果(X4, Y4)を出力し、このプロセ
スは、最後の値(X7, Y7)が出力される命令20まで、1
回のバタフライについて続けられる。
【0037】要約すれば、高速フーリエ変換は基礎的な
信号処理の応用である。この変換を計算可能な速度によ
って、所与の応用のために選択すべきデジタル信号処理
機を決定することが多い。中間値を記憶するための十分
な資源があるとすれば、高次のバタフライになるほど、
スループットを高めることによって、FFTの実行時間
を短縮する。ここで考慮している算術エンジンは、基数
8のバタフライに最適化されたものであるが、基数2お
よび基数4のバタフライも効率的に行うことができる。
【0038】ここに記載した算術エンジンの重要性は、
そのアーキテクチャにある。このアーキテクチャは、順
序付けられた対の複素データを入力し処理するように設
計されている。各加算器対は、複素数を処理するように
設計されている。基数8のバタフライに必要な3ランク
の加算器対が設けられている。第1加算器対74の出力
は基数2の結果を与え、第2加算器対174の出力は基
数4の結果を与え、第3加算器対274の出力は基数8
の結果を与える。
【0039】ハードウエアに組み込むもう1つの重要な
能力は、高速データ・ソーティングである。殆どの算術
エンジンは単にデータを入力から出力に受け渡すだけで
ある。ここに記載したエンジンは、出力を入力にフィー
ドバックすることによってデータを巡回させる点におい
て異なっている。この特徴によって、計算資源を最大限
活用することができるので、加算器およびスイッチが全
てアクティブになる並列ソーティング処理には必須なこ
とである。クロス・ポイント・スイッチを用いることに
よって、入力のいかなる組み合わせでも同時に、あらゆ
るレジスタの組み合わせにも入力することができるよう
になる。典型的には、同時に1つまたは2つのレジスタ
にしか入力できない、単純なマルチプレクサが用いられ
ている。
【0040】以上のように、本発明の実施例によれば、
先に述べた目的および利点を完全に満足する算術エンジ
ンが提供される。本発明を特定の実施例に関連付けて説
明したが、先の説明を参照すれば、多くの代替、変更お
よび改造が当業者には明白であろう。したがって、本発
明は、特許請求の範囲の精神および広い範囲に該当す
る、そのような代替、変更および改造を全て包含するこ
とを意図することとする。
【図面の簡単な説明】
【図1】本発明の好適実施例による、複素算術プロセッ
サ(CAP)またはDSPにおける算術エンジンの概略
図。
【図2】図1に示す算術エンジンに用いて好適な二重乗
算蓄積器(MAC)の概略図。
【図3】図1に示す加算器アレイに好適な第1加算器対
を示す図。
【図4】図1に示す加算器アレイに好適な第2加算器対
を示す図。
【図5】図1に示す加算器アレイに好適な第3加算器対
を示す図。
【符号の説明】
10 デジタル信号プロセッサ(DSP) 11 算術エンジン 12,13 二重乗算器蓄積器(二重MAC) 14,20 加算器アレイ 30,34 二重乗算器 42 乗算器クロス・ポイント・スイッチ42 46 乗算器レジスタ 50 レジスタ・セレク 52,54 並列乗算器 56 蓄積器レジスタ 57 加算器入力レジスタ 59,61 MAC加算器 62 蓄積器クロスポイント・スイッチ 63 条件コード 66 MAC出力セレクタ
フロントページの続き (72)発明者 スーザン・リーン・ギルフェザー アメリカ合衆国アリゾナ州スコッツデー ル、ノース108ス・ウエイ10798 (72)発明者 ジョン・バーソロミュー・ジェマン,ジュ ニア アメリカ合衆国アリゾナ州スコッツデー ル、ビア・デ・セレノ8312

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】第1二重MAC第1入力(16)で入力デ
    ータを受け取り、第1二重MAC出力(21)で第1二
    重MAC出力データを生成し、第1二重MAC第2入力
    (22)を有する、第1二重MAC乗算アキュムレータ
    (MAC12);前記第1二重MAC(12)に並列に
    結合されており、第2二重MAC第1入力(17)で前
    記入力データを受け取り、第2二重MAC出力(19)
    で第2二重MAC出力データを生成し、第2二重MAC
    第2入力(23)を有する、第2二重MAC(13);
    および前記第1二重MAC(12)と前記第2二重MA
    C(13)との双方に結合され、前記入力データ、前記
    第1二重MAC出力データ、および前記第2二重MAC
    出力データを受け取り、加算器アレイ出力(20)にお
    いて算術エンジン出力を生成する、加算器アレイ(1
    4);から成ることを特徴とする算術エンジン(1
    4)。
  2. 【請求項2】請求項1において、前記第1二重MAC
    (12)は:複数のソースを受け取り、第1および第2
    並列乗算器出力(36,38)を生成する二重乗算器
    (30)およびアキュムレータ(34)から成り、 該二重乗算器(30)は:複数のソースを受け取り、複
    数の乗算器クロス・ポイント・スイッチ出力(44)に
    おいて選択されたソースを生成する、乗算器クロス・ポ
    イント・スイッチ(42);前記乗算器クロス・ポイン
    ト・スイッチ出力(44)に結合され、選択されたソー
    スを乗算器レジスタ値として記憶する複数の乗算器レジ
    スタ(46);前記複数の乗算器レジスタ(46)に結
    合され、前記乗算器レジスタ値から、選択された乗算器
    のオペランドを選択するレジスタ・セレクタ(50);
    および前記レジスタ・セレクタ(50)に結合され、選
    択された乗算器オペランドの対を受け取り、前記選択さ
    れた乗算器オペランドの対を乗算して、第1および第2
    並列乗算器出力(36,38)をそれぞれ生成する、第
    1および第2並列乗算器(52,54);から成り、 前記アキュムレータ(34)は前記二重乗算器(30)
    に結合され、前記第1および第2並列乗算器出力(3
    6,38)を受け取り、前記第1二重MAC出力データ
    を生成し:前記第1および前記第2並列乗算器出力(3
    6,38)を記憶する複数の加算器レジスタ(57)
    と、第1および第2アキュムレータ出力(58,60)
    を記憶する複数のアキュムレータ・レジスタ(56);
    前記複数の加算器レジスタ(57)と前記複数のアキュ
    ムレータ・レジスタ(56)とに結合され、前記第1お
    よび第2並列乗算器出力(36,38)および前記第1
    および第2アキュムレータ出力(58,60)から、選
    択されたアキュムレータ・レジスタおよび加算器レジス
    タ値を生成する、アキュムレータ・クロス・ポイント・
    スイッチ(62);前記蓄積器クロス・ポイント・スイ
    ッチ(62)に結合された第1および第2並列MAC加
    算器(59,61)であって、該第1および第2並列M
    AC加算器(59,61)は、選択されたアキュムレー
    タ・レジスタおよび加算器レジスタ値の対を受け取り、
    該選択されたアキュムレータ・レジスタおよび加算器レ
    ジスタ値の対を加算して、前記第1および第2アキュム
    レータ加算器出力(58,60)を生成し、前記第2並
    列MAC加算器(61)は、条件コード出力(64)を
    生成する条件コード判定器(63)に条件コード入力
    (67)を提供する、第1および第2並列MAC加算器
    (59,61);および前記第1,第2並列MAC加算
    器(59,61)および前記第1,第2並列乗算器(5
    2,54)に結合され、前記第1および前記第2アキュ
    ムレータ加算器出力(58,60)、前記第1および第
    2並列乗算器出力(36,38)、および条件コード出
    力(64)を受け取り、前記第1二重MAC出力データ
    (21)を生成する、MAC出力セレクタ(66);か
    ら成ることを特徴とする算術エンジン(14)。
  3. 【請求項3】請求項1において、 前記加算器アレイは:前記入力データ、前記第1二重M
    AC出力データ、前記第2二重MAC出力データ、なら
    びに第1、第2および第3加算器出力対(74,17
    4,274)を受け取り、第1加算器出力対(74)を
    生成する第1加算器対;前記第1加算器対に結合され、
    前記入力データ、前記第1二重MAC出力データ、前記
    第2二重MAC出力データ、ならびに前記第1、第2お
    よび第3加算器出力対(74,174,274)を受け
    取り、第2加算器出力対(174)を生成する第2加算
    器対;および前記第2加算器対に結合され、前記入力デ
    ータ、前記第1二重MAC出力データ、前記第2二重M
    AC出力データ、ならびに前記第1、第2および第3加
    算器出力対(74,174,274)を受け取り、前記
    加算器アレイ出力(20)において前記算術エンジン出
    力データを生成する第3加算器対;から成ることを特徴
    とする算術エンジン(14)。
  4. 【請求項4】請求項3において、前記第1加算器対の各
    加算器は:前記入力データ、前記第1MAC出力デー
    タ、前記第2MAC出力データ、ならびに前記第1、第
    2および第3加算器出力対(74,174,274)の
    第1選択値(85)を生成する第1加算器クロス・ポイ
    ント・スイッチ(84);前記第1加算器クロス・ポイ
    ント・スイッチ(84)に結合され、前記第1選択値
    (85)を記憶する第1加算器レジスタ(86);前記
    第1加算器レジスタ(86)に結合され、第1オペラン
    ド(90,91)を受信し、選択し、前記第1選択値
    (85)から第1加算器総和出力(96)を生成する第
    1加算器レジスタ・セレクタ(88);前記第1加算器
    レジスタ・セレクタ(88)に結合され、前記第1オペ
    ランド(90,91)を受信し、加算し、前記第1加算
    器出力対(74)の1つを生成する第1加算器(9
    2);および第1加算器条件コード入力を受け取り、前
    記第1加算器レジスタ・セレクタ(88)に第1条件コ
    ード(97)を供給する第1条件コード判定器(9
    4);から成ることを特徴とする算術エンジン(1
    4)。
  5. 【請求項5】請求項4において、前記第2加算器対の各
    加算器は:前記入力データ、前記第1MAC出力デー
    タ、前記第2MAC出力データ、ならびに前記第1、第
    2および第3加算器出力対(74,174,274)の
    第2選択値(185)を生成する第2加算器クロス・ポ
    イント・スイッチ(184);前記第2加算器クロス・
    ポイント・スイッチ(184)に結合され、前記第2選
    択値(185)を記憶する第2加算器レジスタ(18
    6);前記第2加算器レジスタ(186)に結合され、
    前記第2選択値(185)から第2オペランド(19
    0,191)を受信し、選択する第2加算器レジスタ・
    セレクタ(188);前記第2加算器レジスタ・セレク
    タ(188)に結合され、前記第2オペランド(19
    0,191)を受信し、加算し、前記第2加算器出力対
    (174)の1つを生成する第2加算器(192);お
    よび第2加算器条件コード入力を受け取り、前記第2加
    算器レジスタ・セレクタ(188)に第2条件コード
    (197)を供給する第2条件コード判定器(19
    4);から成り、更に、 前記第3加算器対の各加算器は:前記入力データ、前記
    第1二重MAC出力データ、前記第2二重MAC出力デ
    ータ、ならびに前記第1、第2および第3加算器出力対
    (74,174,274)の第3選択値(285)を生
    成する第3加算器クロス・ポイント・スイッチ(28
    4);前記第3加算器クロス・ポイント・スイッチ(2
    84)に結合され、前記第3選択値(285)を記憶す
    る第3加算器レジスタ(286);前記第3加算器レジ
    スタ(286)に結合され、前記第3選択値(285)
    から第3オペランド(290,291)を受信し、選択
    する第3加算器レジスタ・セレクタ(288);前記第
    3加算器レジスタ・セレクタ(288)に結合され、前
    記第3オペランド(290,291)を受信し、加算
    し、前記算術エンジン出力データを生成する第3加算器
    (292);および第3加算器条件コード入力を受け取
    り、前記第3加算器レジスタ・セレクタ(288)に第
    3条件コード(297)を供給する第3条件コード判定
    器(294);から成ることを特徴とする算術エンジン
    (14)。
JP6332803A 1993-12-20 1994-12-15 算術エンジン Pending JPH07200543A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17014593A 1993-12-20 1993-12-20
US170145 1993-12-20

Publications (1)

Publication Number Publication Date
JPH07200543A true JPH07200543A (ja) 1995-08-04

Family

ID=22618735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6332803A Pending JPH07200543A (ja) 1993-12-20 1994-12-15 算術エンジン

Country Status (4)

Country Link
US (1) US5522085A (ja)
EP (1) EP0660245A3 (ja)
JP (1) JPH07200543A (ja)
SG (1) SG52303A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999000746A1 (fr) * 1997-06-26 1999-01-07 Asahi Kasei Kogyo Kabushiki Kaisha Unites arithmetiques paralleles et processeur de signaux numeriques utilisant lesdites unites
JP2010016830A (ja) * 2008-07-07 2010-01-21 Mitsubishi Electric R & D Centre Europe Bv Dft計算で使用されるマルチ基数バタフライを計算する計算方法
JP2011513858A (ja) * 2008-03-04 2011-04-28 クゥアルコム・インコーポレイテッド ハードウェア・プリフェッチ・アドレス及び算術演算値を計算するための二重機能加算器
JP2011096254A (ja) * 2009-10-30 2011-05-12 Arm Ltd 乗累算演算を実行するための装置および方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9400607A (nl) * 1994-04-15 1995-11-01 Arcobel Graphics Bv Dataverwerkingscircuit, vermenigvuldigingseenheid met pijplijn, ALU en schuifregistereenheid ten gebruike bij een dataverwerkingscircuit.
US5625582A (en) * 1995-03-23 1997-04-29 Intel Corporation Apparatus and method for optimizing address calculations
US5612911A (en) * 1995-05-18 1997-03-18 Intel Corporation Circuit and method for correction of a linear address during 16-bit addressing
AU6951596A (en) * 1995-08-28 1997-03-19 Motorola, Inc. Method and system for performing an l1 norm operation
US6128726A (en) * 1996-06-04 2000-10-03 Sigma Designs, Inc. Accurate high speed digital signal processor
US5784306A (en) * 1996-06-28 1998-07-21 Cirrus Logic, Inc. Parallel multiply accumulate array circuit
US5941940A (en) * 1997-06-30 1999-08-24 Lucent Technologies Inc. Digital signal processor architecture optimized for performing fast Fourier Transforms
US6317770B1 (en) * 1997-08-30 2001-11-13 Lg Electronics Inc. High speed digital signal processor
US6446193B1 (en) * 1997-09-08 2002-09-03 Agere Systems Guardian Corp. Method and apparatus for single cycle processing of data associated with separate accumulators in a dual multiply-accumulate architecture
US6029267A (en) * 1997-11-25 2000-02-22 Lucent Technologies Inc. Single-cycle, soft decision, compare-select operation using dual-add processor
EP0919910A1 (en) * 1997-11-25 1999-06-02 Lucent Technologies Inc. Multiple data path processor with a three-input adder
DE69927075T2 (de) * 1998-02-04 2006-06-14 Texas Instruments Inc Rekonfigurierbarer Koprozessor mit mehreren Multiplizier-Akkumulier-Einheiten
US6571268B1 (en) 1998-10-06 2003-05-27 Texas Instruments Incorporated Multiplier accumulator circuits
US6446163B1 (en) * 1999-01-04 2002-09-03 International Business Machines Corporation Memory card with signal processing element
US6526430B1 (en) * 1999-10-04 2003-02-25 Texas Instruments Incorporated Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing)
US6446195B1 (en) * 2000-01-31 2002-09-03 Intel Corporation Dyadic operations instruction processor with configurable functional blocks
US7111156B1 (en) * 2000-04-21 2006-09-19 Ati Technologies, Inc. Method and apparatus for multi-thread accumulation buffering in a computation engine
US7216140B1 (en) * 2000-09-30 2007-05-08 Intel Corporation Efficient implementation of n-point DCT, n-point IDCT, SA-DCT and SA-IDCT algorithms
US6748411B1 (en) 2000-11-20 2004-06-08 Agere Systems Inc. Hierarchical carry-select multiple-input split adder
JP3935678B2 (ja) * 2001-01-31 2007-06-27 富士通株式会社 Simd積和演算方法、積和演算回路、および、半導体集積回路装置
GB2395298B (en) * 2002-09-17 2007-02-14 Micron Technology Inc Flexible results pipeline for processing element
JP4408712B2 (ja) * 2004-01-26 2010-02-03 富士通マイクロエレクトロニクス株式会社 多倍長データ積和演算処理回路及びモンゴメリ積和剰余演算回路
US20070074008A1 (en) * 2005-09-28 2007-03-29 Donofrio David D Mixed mode floating-point pipeline with extended functions
US20080263322A1 (en) * 2007-04-19 2008-10-23 L3 Communications Integrated Systems, L.P. Mac architecture for pipelined accumulations
US10489116B1 (en) 2014-07-09 2019-11-26 Altera Corporation Programmable integrated circuits with multiplexer and register pipelining circuitry
WO2016167778A1 (en) 2015-04-16 2016-10-20 Hewlett Packard Enterprise Development Lp Resistive memory arrays for performing multiply-accumulate operations
JP7386542B2 (ja) 2018-03-08 2023-11-27 クアドリック.アイオー,インコーポレイテッド 機械知覚および高密度アルゴリズム集積回路
EP3776284A4 (en) 2018-03-28 2022-05-04 Quadric.I0, Inc. SYSTEM AND PROC&XC9;D&XC9; OF IMPLEMENTATION OF AN INT&XC9;GR&XC9; OF MACHINE PERCEPTION AND DENSE ALGORITHM
US11907719B2 (en) 2019-12-13 2024-02-20 Intel Corporation FPGA specialist processing block for machine learning
US11809798B2 (en) 2019-12-13 2023-11-07 Intel Corporation Implementing large multipliers in tensor arrays

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604721A (en) * 1981-10-13 1986-08-05 Trw Inc. Computer and method for high speed prime factor transform
US4475170A (en) * 1981-10-29 1984-10-02 American Microsystems, Inc. Programmable transversal filter
US4768159A (en) * 1984-11-26 1988-08-30 Trw Inc. Squared-radix discrete Fourier transform
US4802111A (en) * 1986-03-10 1989-01-31 Zoran Corporation Cascadable digital filter processor employing moving coefficients
US4876660A (en) * 1987-03-20 1989-10-24 Bipolar Integrated Technology, Inc. Fixed-point multiplier-accumulator architecture
US4868776A (en) * 1987-09-14 1989-09-19 Trw Inc. Fast fourier transform architecture using hybrid n-bit-serial arithmetic
US5278781A (en) * 1987-11-12 1994-01-11 Matsushita Electric Industrial Co., Ltd. Digital signal processing system
US5379351A (en) * 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
EP0466997A1 (en) * 1990-07-18 1992-01-22 International Business Machines Corporation Improved digital signal processor architecture
US5220525A (en) * 1991-11-04 1993-06-15 Motorola, Inc. Recoded iterative multiplier
US5329283A (en) * 1993-04-28 1994-07-12 Environmental Research Institute Of Michigan Synthetic aperture radar digital signal processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999000746A1 (fr) * 1997-06-26 1999-01-07 Asahi Kasei Kogyo Kabushiki Kaisha Unites arithmetiques paralleles et processeur de signaux numeriques utilisant lesdites unites
JP2011513858A (ja) * 2008-03-04 2011-04-28 クゥアルコム・インコーポレイテッド ハードウェア・プリフェッチ・アドレス及び算術演算値を計算するための二重機能加算器
JP2010016830A (ja) * 2008-07-07 2010-01-21 Mitsubishi Electric R & D Centre Europe Bv Dft計算で使用されるマルチ基数バタフライを計算する計算方法
JP2011096254A (ja) * 2009-10-30 2011-05-12 Arm Ltd 乗累算演算を実行するための装置および方法

Also Published As

Publication number Publication date
SG52303A1 (en) 1998-09-28
EP0660245A2 (en) 1995-06-28
US5522085A (en) 1996-05-28
EP0660245A3 (en) 1998-09-30

Similar Documents

Publication Publication Date Title
JPH07200543A (ja) 算術エンジン
US6467035B2 (en) System and method for performing table look-ups using a multiple data fetch architecture
US20210357735A1 (en) Split accumulator for convolutional neural network accelerator
US6230180B1 (en) Digital signal processor configuration including multiplying units coupled to plural accumlators for enhanced parallel mac processing
JP3595171B2 (ja) マイクロプロセッサ
US20040221137A1 (en) Efficient complex multiplication and fast fourier transform (FFT) implementation on the ManArray architecture
CN109144469B (zh) 流水线结构神经网络矩阵运算架构及方法
JP3667635B2 (ja) 演算装置
JP3938238B2 (ja) 高速フーリエ変換処理装置
US6317770B1 (en) High speed digital signal processor
CN109271138A (zh) 一种适用于大维度矩阵乘的链式乘法结构
Wang et al. Customized instruction on risc-v for winograd-based convolution acceleration
CN109284085B (zh) 一种基于fpga的高速模乘和模幂运算方法及装置
Bi et al. Pipelined hardware structure for sequency-ordered complex Hadamard transform
Gilfeather et al. Architecture of a complex arithmetic processor for communication signal processing
US5204962A (en) Processor with preceding operation circuit connected to output of data register
Yang et al. High-performance systolic arrays for band matrix multiplication
Parker Embedded Compute Matrix Processing and FFTs using Floating Point FPGAs
US20040199558A1 (en) DSP execution unit for efficient alternate modes of operation
CA2263626A1 (en) Pipelined fast fourier transform processor
Ryu Review and Analysis of Variable Bit-precision MAC Microarchitectures for Energy-efficient AI Computation
Bharathi et al. VLSI Synthesis of Multiply and Accumulate Structures Using Distributed Arithmetic
Dabiri et al. Low-power parallel data processing using computation reuse
KR19980084342A (ko) 2 사이클 파이프라인 방식으로 부동 소수점 데이터를 곱셈 처리하는 방법 및 장치
Shan et al. Design of Approximate Multi-Granularity Multiply-Accumulate Unit for Convolutional Neural Network