JPH10187438A - 乗算器の入力に対する遷移を減少させる方法 - Google Patents

乗算器の入力に対する遷移を減少させる方法

Info

Publication number
JPH10187438A
JPH10187438A JP9207765A JP20776597A JPH10187438A JP H10187438 A JPH10187438 A JP H10187438A JP 9207765 A JP9207765 A JP 9207765A JP 20776597 A JP20776597 A JP 20776597A JP H10187438 A JPH10187438 A JP H10187438A
Authority
JP
Japan
Prior art keywords
multiplier
input
operand
operands
pairs
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
JP9207765A
Other languages
English (en)
Inventor
Koji Kojima
浩嗣 小島
Shuridofa Abadohani
シュリドフア アバドハニ
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPH10187438A publication Critical patent/JPH10187438A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 乗算器の入力に対する遷移の数を減少させる
ことにより、電力消費を減少させるための改善された乗
算器回路と方法を提供する。 【解決手段】 重複する入力値を利用するために乗算の
シーケンスの順序を変更することによって、乗算器15
に対する各入力は可能な限り長い間固定される。各乗算
の中間結果は別個のアキュムレータに格納されて最終結
果が得られる。乗算器15とアキュムレータを含むデー
タレジスタファイル12とを結合するデータバスにおけ
る遷移の数を減らすことによって電力消費はさらに低減
される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、デジ
タル信号処理プロセッサの乗算回路に関し、特に乗算器
のオペランド入力を制御することにより、プログラマブ
ルデジタル信号処理プロセッサの乗算回路の電力消費を
低減するのに有効な技術に関する。
【0002】
【従来の技術】近年、あらゆる種類の移動可能なあるい
は携帯可能な電子装置に対する需要は驚くほど増大して
いる。マイクロエレクトロニクス回路の大きさや電池技
術における進歩によって、携帯電子機器は、腕時計や計
算器等の従来の低性能製品から、ノート型コンピュー
タ、携帯情報端末(personal digital assist )、カム
コーダ(camcorder )、移動電話等の高性能製品へと発
展してきている。高性能携帯装置は多機能であるため、
通常、計算速度が高速でありながら低消費電力であるこ
とが必要とされる。
【0003】携帯装置における消費電力の低減は、電池
のサイズおよび重量を減少させる一方で動作時間を延長
させることを意味することになる。それに加えて、消費
電力の低減は集積回路の発熱の減少をも意味する。携帯
装置であっても携帯できない装置であっても、発熱が減
少すれば、より多くのトランジスタを単一チップ上にあ
るいはマルチチップモジュール上に集積することができ
る。これによって、より多くの機能をより小さなパッケ
ージで実現することができ、これは特に、音声/ビデオ
通信およびマルチメディアの分野で重要である。さら
に、回路の発熱が減少すれば、費用の少ないパッケージ
技術を信頼性の問題を招かずに用いることができる。勿
論、費用の低減を達成することは、携帯装置において考
慮すべき他の重要な問題の1つである。
【0004】携帯装置のシステム設計者は、以前にも増
して、デジタル信号処理プロセッサ(DSP、digital
signal processor)を採用するようになっているが、そ
れは、DSPが、多量の「現実世界の」数値データを迅
速に処理する能力を有しているからである。DSPが処
理する「現実世界の」信号は、音声信号、画像信号およ
びビデオ信号等であり、それらのアナログ信号を、デジ
タル領域で処理できるようにするために、離散的な時間
間隔にてデジタルな同等物に変換する処理を行う。その
結果、メモリに記憶された数値のアレイが得られ、それ
は高速で繰り返し処理することが可能である。
【0005】DSPの消費電力を減少するために、多く
のシステム設計では、低電圧バージョンを提供したり、
パワーマネージメント構成(power management feature
s )を追加してプロセッサの電力消費に対する制御をよ
り徹底したり、あるいは、それらの両方を行っている。
DSPの中には、次のようなパワーマネージメント構成
を用いるものがある。
【0006】低電圧動作:幾つかのDSPは3.3ボルト
で動作するように設計されている。DSPの中には、3.
0ボルトでも動作できるものもある。
【0007】「スリープ」モードもしくは「アイドル」
モード:多くのDSPは、プロセッサのあるセクション
に対してクロックをオフにする電源遮断モード(power-
downmode )を備え、それによって消費電力を低減して
いる。
【0008】プログラマブルクロックデバイダ:最近の
DSPの中には、プロセッサのクロック周波数がソフト
ウェアの制御によって可変なものがある。システム設計
者は、特定のタスクに必要な最小のクロック速度を用い
ることができる。
【0009】周辺機器の制御:DSPの中には、使用さ
れていない周辺機器をプログラマがディスエーブルにす
ることができるものがある。
【0010】もう一歩進んで、システム設計者は、電力
を節約するために、DSP内のある機能を完了するため
に必要なプロセスステップの数を減らすように努めてき
た。多くの注意がDSPの乗算機能に向けられてきた
が、それは、相対的に多量の電力が乗算器によって消費
されるからである。例えば、並列アレイ乗算器における
部分積和ステップ(partial product addition)の数を
減らすためにブースエンコーディング技術(Booth enco
ding techniques )が広く用いられている。乗算器アレ
イにおけるスプリアス処理(spurious transaction)を
減らすために遅延回路とフリップフロップを付加するこ
とも行われている。
【0011】
【発明が解決しようとする課題】しかしながら、上記の
方法は、乗算器の入力におけるスイッチング動作が所定
であると仮定し、この仮定に基づいて、内部的なスイッ
チング動作を最小にしようと努めている。従って、ここ
で求められることは、乗算器の入力に供されるオペラン
ドを制御することによって達成される電力の節約を利用
するDSP乗算器回路によって消費される電力を減少さ
せる方法である。
【0012】従って、本発明の目的は、DSPの消費電
力を減少させるための乗算器回路および方法を提供する
ことである。
【0013】本発明の他の目的は、DSPの信頼性を増
大させるために、また、集積回路パッケージの費用を低
減するために、DSPの熱放散を減少させるための乗算
器回路および方法を提供することである。
【0014】本発明のさらに別の目的は、設計および使
用が簡単で、経済的に実行できる乗算器回路を用いるこ
とにより上記の目的を達成することである。
【0015】本発明に関する前述の目的および利点は、
本発明によって達成できるものの例示であって、実現可
能な利点のすべてを尽くすことを意図したものでもなけ
れば、限定することを意図したものでもない。従って、
本発明は以下に実施形態として示されるが、また当業者
に明らかな任意の変形によって修正され得るものであ
る。本発明の上記ならびに他の目的および利点は以下の
説明において明らかにされるが、本発明を実施すること
により学ぶこともできるであろう。従って、本発明は、
ここに示され説明される新規な方法、配列、組み合わ
せ、および改善にある。
【0016】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。説明においてはある程度の単純化
や省略がなされることがあるが、それは本発明のある特
徴を目立たせ、紹介する意図でなされるものであり、発
明の範囲を限定することを意図したものではない。当業
者が本発明の概念を実施したり利用したりするのに十分
な、例示的で好適な実施形態の詳細な説明は後に示され
る。
【0017】本発明を広い見地から言えば、オペランド
の別々の対に対する複数の乗算および累算演算を実行し
て別々の出力を得る際に、乗算器の入力への遷移(tran
sition)を減少させるための装置および方法が開示され
る。乗算器は、その乗算器の出力に結合された少なくと
も第1および第2のアキュムレータレジスタ(accumula
tor register)を有している。簡単に述べれば、本方法
は次のステップ、すなわち: (a)乗算対象となるオペランドの複数の対の順序を変
更して、連続するオペランドの対の間で少なくとも1つ
のオペランドが変化しないようにするステップ; (b)複数の第1のオペランドの対を乗算器の入力にロ
ードするステップ; (c)第1のオペランドの対を乗算して中間結果を第1
のアキュムレータレジスタに格納するステップ; (d)複数の第2のオペランドの対から1つのオペラン
ドを乗算器の入力にロードするステップ。第2のオペラ
ンドの対には、前記第1のオペランドの対の少なくとも
1つのオペランドと同一な1つのオペランドがある。し
かしながら、ロードされるオペランドは、前記第1のオ
ペランドの対のオペランドのどちらにも等しくないオペ
ランドである; (e)第2のオペランドの対を乗算して中間結果を第2
のアキュムレータレジスタに格納するステップ;そし
て、 (f)中間結果が第1および第2のアキュムレータレジ
スタに累算されて最後の出力を生成するまでステップ
(b)からステップ(e)を繰り返すステップとを含ん
でいる。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
【0019】本発明は、乗算器の入力に対する遷移(tr
ansitions )の数を減少させることによって消費電力を
低減させるための改善された乗算器回路および方法を意
図したものである。乗算のシーケンスの順序を変更する
ことによって、同じオペランドを連続的に配置すること
により、乗算器に対する個々の入力が可能な限りの間固
定され、電力消費がかなり低減される。乗算器とデータ
レジスタファイルを連結するデータバス上の遷移の数を
減らすことにより電力消費はさらに低減される。
【0020】図を参照すると、同じ参照番号は同じエレ
メントを示しており、図1では、本発明の好適な実施形
態が広い観点から示されている。デジタル信号処理プロ
セッサ(「DSP」)(本発明に関係はしているがその
一部ではない)における乗算器回路の使用に言及するの
は例示の目的のためだけであることを理解されたい。D
SPとその部品に対する言及は、乗算器の既知のタイプ
の応用に関連して本発明がどのように実行されるのかを
容易に理解できるためになされている。
【0021】図1は電子装置に用いられるようなデジタ
ル信号プロセッサ(「DSP」)1のコアの一般的な配
列を開示している。DSP1はDSPコア(ASICの
設計に組み込まれるように設計されている)に限定され
ず、本発明ではチップの実施形態も同じく容易に用いる
ことができることに注意されたい。さらに、本発明が意
図するDSP1の様々な部品は、カスタム化された集積
回路として直接の電気的な接続によって実現することも
できるし、本発明の教示から逸脱することなく、ここに
記載される機能を提供するために、当該産業において既
知のいずれの方法をも用いて、回路の結合とプログラミ
ングによって実現することもできる。当業者には理解で
きることであるが、ここに提供される本発明の開示か
ら、DSP1の機能を実現するための様々な代替的な方
法が、商業的な半導体集積回路技術によって示唆される
であろうが、それらは本発明の範囲内に入るものであ
る。
【0022】図1に示された配列は、好ましくは信号処
理のためのものであるが、以下に記載される機能は、様
々な構成や用途のマイクロプロセッサシステムに適用す
ることもできる。DSP1は、乗算、加算、および累算
を繰り返し迅速に実行することにより、数値的に膨大な
データの大きなバッファを処理することができる任意の
プログラマブル装置であってもよい。好適な実施形態に
おいては、DSP1は高速フーリエ変換、畳み込み、デ
ジタルフィルタ等のボリュームの大きなアプリケーショ
ンの実行に適している。
【0023】本発明の1つの実施形態によれば、DSP
1は、適切な部分に、データ実行ユニット2、アドレス
生成ユニット3、プログラム制御ユニット4を含んでい
る。DSP1はまた、プログラムメモリ5を含んでいる
が、それは、読み出し専用メモリ(ROM)、ランダム
アクセスメモリ(RAM)、および好ましくは両者の組
み合わせから成るものとすることができる。好適な実施
形態では、プログラムメモリ5は、24ビットのDSP
命令ワードを記憶するために、1K×24ビットのRO
Mである。DSP1はまた、512×24ビットのRA
Mで構成されるデータメモリ6のアレイを含んでいる。
好適な実施形態では、データの記憶のために、2Kワー
ドのRAMが設けられている。
【0024】データ実行ユニット2、アドレス生成ユニ
ット3、プログラム制御ユニット4、プログラムメモリ
5、および、データメモリ6のアレイは、すべて複数の
アドレスおよびデータバスによって相互に接続されてお
り、それらのバスは、DSP1内においてアドレス情報
とデータを伝送するために、適切なインタフェイスとD
SP1により制御されるスイッチングロジックを有して
いる。DSP1は、データと命令に対して別個の内部バ
スを用いるハーバードアーキテクチャを組み込んでお
り、それらのバスは、DSP1内においてデータオペラ
ンドを獲得し伝送するために、パラレルなアドレス/デ
ータバスの組み合わせX7およびY8を含んでいる。命
令コードを配置しフェッチするために、命令アドレス/
データバスI9も設けられている。
【0025】好適な実施形態においては、アドレス/デ
ータバスX7は、所望のデータを配置するためにデータ
メモリ6のアレイに結び付けられたメモリアドレスデコ
ーダ(明瞭化のために図示されていない)にメモリアド
レス情報を伝達するための18ビットのアドレスバス
と、データメモリ6との間でデータオペランドをやり取
りするための24ビットのデータバスとの組み合わせで
ある。アドレス/データバスY8は、それがやはり18
ビットのアドレスバスと24ビットのデータバスとの組
み合わせであるという点で、アドレス/データバスX7
と同一である。重複的なバス構造であるため、DSP1
は、命令コードがフェッチされると同時に、2つのデー
タオペランド(1つのデータと1つの係数であって、通
常メモリの異なるページに記憶されている)を1サイク
ル内で全てデータ実行ユニット2に送り込むことができ
る。以下に詳細に説明されるように、本発明において
は、1サイクルで1つのデータオペランドのみが獲得さ
れ、それがデータ実行ユニット2内における幾つもの乗
算演算において2回以上利用される。最後に、命令アド
レス/データバスI9は、やはり、18ビットのアドレ
スバスと24ビットのデータバスとの組み合わせであ
る。
【0026】データ実行ユニット2は、さらに、演算論
理ユニット(ALU、arithmetic logic unit )11、
シフタ(shifter )14、乗算器15、および、データ
レジスタファイル12のアレイを含んでいる。これらの
エレメントはすべて、データ実行ユニット2内におい
て、内部バス30によって相互に接続されている。
【0027】ALU11は56ビットの汎用演算ユニッ
ト(general purpose arithmetic unit )であり、56
ビットのデータワード、あるいはデコードされた命令ワ
ードに対して演算し、56ビットの結果を生成する。加
算および減算等の典型的な算術演算に加えて、ALU1
1は、入力されるデータに対してAND、OR、および
EXCLUSIVE−OR等のブール演算、処理演算、
および論理演算を実行する。意思決定演算のために、A
LU11は、2つの数のうちどちらが大きいかあるいは
小さいか、数がゼロに等しいか、数が正か負か、比較す
る。
【0028】ALU11は、一時的にデータを格納する
ためのデータレジスタファイル12の幾つかのレジスタ
と結合して動作し、そのデータに対して論理的および数
学的演算が実行される。本発明の好適な実施形態におい
ては、データレジスタファイル12は、すくなくとも2
つの、そして好ましくはそれより多くのアキュムレータ
レジスタと幾つかの汎用レジスタを含んでいる。データ
レジスタファイル12は、少なくとも8つのレジスタ
(0−7)を含んでいる。ALU11の出力は、データ
レジスタファイル12の少なくとも1つのアキュムレー
タレジスタに格納される。
【0029】シフタ14は、論理的および算術的シフト
演算を実行することができる56ビットのバレルシフト
レジスタ(barrel shift register )であり、左方向お
よび右方向の循環演算を含むものである。シフタ14の
能力によって、DSP1は、例えば、当産業において通
常行われているような、数値的スケーリング(numerica
l scaling )、ビット抽出(bit extraction)、および
拡張演算(extended arithmetic )等の機能を実行する
ことができる。
【0030】アドレス生成ユニット3には、18ビット
のアドレスレジスタ(複数個)10と2つの加算器13
がそこに含まれている。それらのアドレスレジスタ10
は、データメモリ6のすべてのアドレスにアクセスする
ために、加算器13を用いて動作する。アドレスレジス
タ10は、ソースアドレスレジスタとデスティネーショ
ンアドレスレジスタ、ポインタレジスタ、および幾つか
の割り込みレジスタとを含む。それに加えて、アドレス
レジスタ10は、メモリ境界を確立するためのレジスタ
およびアドレス分岐を扱うためのレジスタ、例えば、ベ
ースアドレスレジスタ、境界レジスタ、ジャンプアドレ
スレジスタ等を含むこともできる。
【0031】乗算器15(その詳細は図2に示されてい
る)は、1命令サイクルで24×24ビットの2の補数
の乗算を実行し、48ビットの結果を得る。乗算器15
は、動的/静的論理で構成された加算器のアレイ16を
含んでいる。24ビットの被乗数17が、X7のアドレ
ス/データバスあるいはY8のアドレス/データバスの
データバスから、被乗数ドライバ18によってアレイ1
6へと提供される。被乗数ドライバ18は一時的に被乗
数17を格納するレジスタとして作用する。乗算器15
への他の入力は、通常、X7のアドレス/データバスあ
るいはY8のアドレス/データバスのデータバスから、
あるいはある場合には、命令ワード(例えば、即値乗算
命令(the multiply immediate instruction))から提
供されるが、それは24ビットの乗数オペランド19で
あって、1組のブースエンコーダ20へと向けられる。
ブースエンコーダ20は、次の5つの機能(:シフトあ
るいは非シフト、加算、減算、あるいはゼロ)のうち2
つを有する1組の出力を生成する。
【0032】ブースエンコーダ20は、乗算器15が古
典的な乗算手順で行わなければならない部分積の数をお
よそ2分の1減少させるが、それは各回につき、乗数の
1ビットではなく2ビットを扱う(基数2)ことによ
る。ブースエンコーダ20は、最初に、乗数オペランド
の2つの最下位ビットに被乗数17を乗算し、部分積を
生成する。次に、乗数オペランド19の次の2ビットに
被乗数17が乗算され、他の部分積が生成される。同様
にして、乗数オペランド19のすべてのビットが用いら
れるまで繰り返される。部分積は加算され、結果が得ら
れる。
【0033】通常の乗算器回路の乗算動作と並列に、乗
数オペランド入力(A入力と称することにする)と被乗
数入力(B入力と称することにする)に、次の乗算の前
にそれぞれ新しい値をロードすることができる。例え
ば、DSPのための従来からの有限インパルス応答フィ
ルタ(「FIR」(finite impulse response filte
r))の動作は、1回に1つの出力が計算される必要が
ある。例えば、3タップFIRフィルタによる出力
(Y)の数学的な表現は次の通りである。
【0034】
【数1】
【0035】この式によって、次の計算順序が生成され
る。
【0036】
【数2】
【0037】ここで角括弧[]内の数は乗算器への入力
のシーケンスを示している。
【0038】最初に、出力Y(n)が計算される。この
ステップは3回の乗算と2回の加算を必要としている。
C0X(n)の乗算が最初に実行され、その結果がアキ
ュムレータに格納される。次いで、C1X(n−1)の
乗算が実行され、結果は、既にアキュムレータに存在し
ている値に加算される。次いで、C2X(n−2)の乗
算が実行され、その結果がアキュムレータに加算され
る。この時、アキュムレータは出力Y(n)を格納して
いる。この出力値はデータメモリ6に記憶することがで
き、あるいは通常なされるようにDSPアプリケーショ
ンで用いることができる。Y(n)の計算の後に、Y
(n+1)の計算がなされるが、後者は、同様に、類似
のシーケンスによる3回の乗算および累算を必要とす
る。
【0039】この従来の計算順序をたどることにより理
解されるように、乗数オペランド(A)および被乗数
(B)の乗算器回路への入力は、各出力Yの計算の際の
各々すべての乗算に対して変更されている。乗算器入力
における入力の各遷移は、回路が利用できるエネルギを
消費することによってなされている。図3aおよび3b
は、消費されるエネルギと、例えばDSP加算器および
データレジスタファイルの入力の遷移数のそれぞれとの
間に、ほぼ線形の関係があることを示している。入力の
遷移数が大きければ、それだけ消費されるエネルギの量
は大きくなる。
【0040】図4には、消費電力と本発明の乗算器15
の入力遷移との関係が示されている。一番上の囲まれた
データ点の領域は、通常の乗算器回路が動作している場
合のように、乗数(A)および被乗数(B)入力が常に
変化している場合に、消費される電力を示す。図4には
また、本発明によって、乗算器の乗数(A)入力が固定
している場合、あるいは被乗数(B)入力が固定してい
る場合のデータ点の囲まれた領域も示されている。図4
に示されたグラフ表示から理解できるように、入力遷移
を減らすことにより、直接、乗算器15により消費され
る電力が減少される。
【0041】本発明の1つの好適な実施形態は、乗算器
15の入力におけるスイッチング動作を減少することに
より達成される電力の節約を利用するものである。本発
明の発明者らは、スイッチング動作が、乗算器15の入
力に加えられる信号のシーケンスに依存していることを
理解した。従って、本発明は、乗算器15の入力におい
て可能な限り長い間、同じ値を維持することによって消
費電力を低減するものである。これは、出力Y(n),
Y(n+1)等の各々に対して中間結果を獲得するため
の部分計算の順序を変更し、最終出力結果が得られるま
で各乗算の部分積を別々のアキュムレータに格納するこ
とによって達成される。
【0042】例えば、上述のFIR計算ステップを用い
れば、本発明の計算は、異なる出力を得るために実行さ
れる様々な乗算のシーケンスを変更することにより、連
続する出力Y(n),Y(n+1)等を、入力スイッチ
ング動作を減少させるような交錯した(interlaced)配
列で計算するものである。好適な実施形態においては、
少なとも1つのオペランドが同一であるような乗算が連
続的に実施されるようにシーケンスが配列され、それに
よって入力における遷移が減少される。本発明によれ
ば、FIRフィルタ計算におけるステップのシーケンス
は次に示す通りである。
【0043】
【数3】
【0044】ここで角括弧[]内の数は乗算器への入力
のシーケンスを示している。
【0045】このシーケンスは、入力を出来る限り一定
に保つために、本発明の乗算器15は、初めにC0X
(n+1)の部分積を計算し、中間結果を第1のアキュ
ムレータに格納する。次いで、乗算器15は部分積C0
X(n)を計算するが、C0乗数入力は不変に維持さ
れ、結果は第2のアキュムレータに格納される。次い
で、部分積C1X(n)が計算される。この動作は、乗
算器への1つの入力だけC0からC1に変化することを
含む。この結果は、Y(n+1)の計算の一部であるた
め、第1のアキュムレータに加算される。次いで、乗算
器によって部分積C1X(n−1)が得られ(C1が両
方の乗算で同じであるため、乗算器の入力は1つだけ変
化することに注目されたい)、結果は第2のアキュムレ
ータの値に加算される。このプロセスは出力Yのすべて
が計算されるまで繰り返される。
【0046】有利な点として、本方法によれば、ステッ
プ1およびステップ2において、乗算器15の入力にお
けるC0入力値は不変のままである。ステップ2および
ステップ3では、乗算器の1つの入力におけるX(n)
の値が不変のままである。同様に、ステップ3およびス
テップ4においては、C1入力値が一定のままである。
各乗算について、2つの入力のうち1つが、その前の乗
算と同じである。理解できるように、この好適な方法を
用いることにより、計算順序全体を通して、入力遷移の
減少による電力節約という利益が継続的に得られてい
る。
【0047】本発明の他の実施形態では、複数のアキュ
ムレータレジスタ(上に開示されたアキュムレータ2個
の実施形態より多い)がデータレジスタファイル12に
おいて用いられる。各アキュムレータレジスタについ
て、1つの出力値(Y)を計算することができ、n個の
アキュムレータレジスタについては、n×Yの出力が、
交錯した方法によって並行して計算できる。例えば、3
個のアキュムレータを有する実施形態では、出力値Y
(n),Y(n+1),Y(n+2)が、次の順序で一
緒に計算できる。
【0048】
【数4】
【0049】この方法によれば、乗算器15に対する1
つの入力が3つの乗算(ステップ1−3)に対して一定
に維持され、その入力に対するスイッチング動作をかな
り減らすことができる。同様に、ステップ4−6におい
ては、C1入力は、3つの乗算に対して不変であり、ス
テップ6−9においては、C2入力が不変である。
【0050】本発明の他の実施形態は、X(i)入力を
できるだけ長い期間固定にし、C(i)入力の方を変化
させるものである。この方法は次のステップ順序で実現
することができる。
【0051】
【数5】
【0052】消費電圧領域の低減をさらに大きなものと
するため、本発明の1つの実施形態では、乗数オペラン
ド(A)を可能な限り多くの演算で一定に保ち、被乗数
オペランドの方を変化させるという、進歩的な方法を用
いるものである。これは、ブースエンコーダ20への入
力が、消費電力低減のために、入力の遷移が最少量とな
ること(図4を参照)を意味する。
【0053】本発明の幾つかの側面を略図を用いて説明
したが、本発明の方法論は、プロセスフローチャートを
用いることにより最も良く示すことができる。そこで、
本発明のデータ実行ユニット2の動作を容易に理解でき
るように、電力を節約するFIRプログラムルーチンの
例が図5に示されている。この図を参照しながら、本発
明の上述の実施形態の原理を組み込んだプログラムを以
下詳細に説明する。
【0054】このプロセス例では、データ実行ユニット
2は、上述のアキュムレータ2個の実施形態であり、N
個の入力サンプルからなるブロックに対してKタップF
IRフィルタの出力計算が実行される。パラメータ
「i」はタップの数(K)に対応し、パラメータ「j」
は入力(あるいは出力)サンプルの数(N)に対応し、
a0およびa1は第1および第2のアキュムレータをそ
れぞれ示すものであり、AおよびBは乗算器15の2つ
の入力を示すものである。
【0055】図5の一番上のステップ1において、jカ
ウンタがゼロにリセットされる。同様に、ステップ2
で、iカウンタおよび両方のアキュムレータ(a0,a
1)がゼロに設定される。ここで、オペランドの初期値
X(j+1)が、乗算器15の1つの入力(A)にロー
ドされる。ステップ3で、C(i)のオペランド値が乗
算器15の他の入力(B)にロードされる。乗算および
累算演算が実行されて、中間結果が第2のアキュムレー
タa1にロードされる。次いで、ステップ4で、オペラ
ンド値X(j−1)が乗算器15の入力Aにロードさ
れ、乗算器15の入力Bにおけるオペランドは変化させ
ないで、別の乗算および累算演算が実行される。この場
合、中間結果は第1のアキュムレータa0に格納され
る。
【0056】第1の乗算が完了した後、iカウンタがイ
ンクリメントされ(ステップ5)、ステップ6において
Kと比較される。すべての中間結果が累算されて最終結
果が得られるまで、ステップ3およびステップ4の乗算
および累算がK回のループで繰り返される。それが終了
した時点で、乗算の出力として、アキュムレータa0は
出力Y(j)を格納しており、アキュムレータa1は出
力Y(j+1)を格納している(ステップ7)。次い
で、2つの結果が各ループで累算されるため、jカウン
タが2だけインクリメントされ(ステップ8)、出力Y
はステップ2−8により形成されるループを通して計算
され、それはN個の出力がすべて生成されるまで実行さ
れる(ステップ9および10)。
【0057】注目すべきこととして、本発明は同様の容
易さで、DSP1がマトリックス−マトリックスの乗算
演算を実行する場合に消費される電力を減少するために
も用いることができる。M×Nアレイのマトリックス
(「A」)とN×Pアレイのマトリックス(「B」)と
を乗算してM×Pアレイのマトリックス(「C」)を得
るために、従来のDSP1は、A[M,N]にB[N,
P]を乗算し、各中間結果を1つのアキュムレータにロ
ードする。当然、乗算器に対する両方の入力は、各出力
(Y)が得られるまでの各部分積の計算で変化し、(図
4の上方の(A×B)の領域によって示されているよう
に)多くの電力が消費される結果になる。この場合、D
SP1は、例えば、次のCに似たプログラムシーケンス
を実行する。
【0058】
【数6】
【0059】しかし、本発明においては、マトリックス
−マトリックス乗算においても電力節約が達成される。
というのは、多数の出力(Y)に関する部分積が交錯し
た方法で計算され、データ実行ユニット2における複数
のアキュムレータレジスタに累算されるからである。2
つのアキュムレータレジスタcおよびdを用いることに
より、一度に少なくとも2つの出力、例えばC[i,
j],C[i,j+1]が得られる。そのような場合、
出力、例えばC[i,j],C[i,j+1]を得るこ
とは、次のように定義される。
【0060】
【数7】
【0061】この例の場合、本発明のデータ実行ユニッ
ト2は、Cに似たプログラムシーケンスで表現された次
の方法ステップを実行する。
【0062】
【数8】
【0063】上述の方法によって、交錯した累算が行毎
に実行される。すなわち、この方法によって、同じ行の
互いに隣接した2つの出力要素が計算される。本発明に
よって、交錯した累算を列毎に実行することもできる。
すなわち、その場合、同じ列において互いに隣接する2
つの出力要素C[i,j]およびC[i+1,j]を交
錯した仕方で計算することができる。これは、出力マト
リックスの列の数「P」が2の倍数の場合に適用され
る。列の数「P」が2の倍数でない場合、本発明の方法
は、出力マトリックスの最初のP−1列を計算するのに
用いることができる。すなわち、要素C[i,j]を、
i=0からM−1まで、j=0からj=P−2まで計算
する。最後の列の要素C[i,P−1](i=0からM
−1)は、従来のマトリックス乗算方法を用いて計算す
ることができる。あるいは、最後の列の要素は、列の方
向に関して交錯累算方法を用いて計算することができ
る。
【0064】複数のアキュムレータレジスタを有する本
発明の一実施形態として、例えば3個のアキュムレータ
レジスタを有する場合、3個の出力値を並列に計算する
ことができる。例えば、行方向の累算方法では、出力C
[i,j],C[i,j+1],C[i,j+2]を交
錯した仕方で計算することができる。
【0065】本発明のさらに別の実施形態では、前の入
力オペランドを遷移させないで保持するために、データ
レジスタファイル12と乗算器15への入力との間のデ
ータ実行ユニット2の内部バスを、プリチャージされた
状態ではなく、静的状態に維持する。図6a−bは、本
発明の内部バス30がプリチャージ状態にある場合と、
内部バス30が静的状態にある場合の、遷移動作におけ
る差異を示すものである。プリチャージされる状態では
(図6a)、バスは各サイクルの開始においてhigh状態
にチャージされ、バス上に伝送される値に依存して、条
件付きでディスチャージされる。図6aに示されている
ように、これは高程度のスイッチング動作となり、従っ
て、大量の電力が消費される。逆に、静的状態では(図
6b)、バスは、データオペランドのフローに依存し
て、必要とされる場合にだけhigh状態とlow 状態の間で
遷移される。乗算器15の入力において遷移が低減され
ることにより、内部バス30におけるスイッチング動作
が減少され、従って、データ実行ユニット2内の消費電
力も低減される。内部バスを静的に維持することによ
り、本発明は、動作の約50%において、余分な遷移を
避けることができる。
【0066】図7は、FIR出力値を計算する従来の方
法を用いた場合と、内部バスが静的な状態のときに本発
明の順序変更された入力方法を用いた場合の、DSP1
の消費電力をそれぞれ棒グラフで示したものである。同
様に、図7は、内部バス30がプリチャージされるとき
にFIR出力値を計算する従来の方法を用いた場合と、
内部バス30がプリチャージされるときに本発明の順序
変更された入力方法を用いる場合のDSP1の消費電力
をも示している。理解されるように、内部バス30が静
的に保たれ、乗算器15の入力が少なくとも2つの乗算
に対して一定に保たれる場合の、乗算器15における電
力の節約は、従来の方法に対してほぼ40%である。全
体としてDSP1の消費電力は、本発明において約19
%減少される。
【0067】以上、本発明者によってなされた発明を実
施形態に基づき具体的に説明したが、本発明は前記実施
形態に限定されるものではなく、その要旨を逸脱しない
範囲で種々変更可能であることはいうまでもない。
【0068】前述の開示、説明、および図は、例示の目
的だけのために示されたものであり、いかなる仕方でも
本発明を限定するものではない。本発明は、特許請求の
範囲によってのみ定義されるものである。
【0069】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
【0070】(1)乗算のシーケンスの順序を変更して
乗算器に対する各入力を可能な限り長い間固定し、各乗
算の中間結果を別個のアキュムレータに格納して最終結
果を得るようにしたことにより、乗算器の入力に対する
遷移の数を減少させることができ、DSPの消費電力を
減少させることが可能となる。
【0071】(2)DSPの消費電力が減少したことに
より、DSPの熱放散を減少させることが可能となり、
DSPの信頼性を増大させることができる。また、集積
回路パッケージの費用を低減することも可能となる。
【図面の簡単な説明】
【図1】デジタル信号処理プロセッサシステムの一般的
な配列のブロック図である。
【図2】本発明の一実施形態としての乗算器回路のブロ
ック図である。
【図3a】デジタル信号処理プロセッサの部品に関する
消費電力と入力遷移の関係を示すグラフである。
【図3b】デジタル信号処理プロセッサの部品に関する
消費電力と入力遷移との関係を示すグラフである。
【図4】本発明の一実施形態としての乗算器の異なる入
力における消費電力と入力遷移との関係を示すグラフで
ある。
【図5】本発明の一実施形態の動作を示すフローチャー
トである。
【図6a】プリチャージされた状態について、遷移を示
す通信バスのタイミング図である。
【図6b】静的状態について、遷移を示す通信バスのタ
イミング図である。
【図7】本発明の様々な実施形態による、デジタル信号
プロセッサにおける電力低減を示す棒グラフである。
【符号の説明】
1 デジタル信号プロセッサ 2 データ実行ユニット 3 アドレス生成ユニット 4 プログラム制御ユニット 5 プログラムメモリ 6 データメモリ 7 アドレス/データバス 8 アドレス/データバス 9 命令アドレス/データバス 10 アドレスレジスタ 11 演算論理ユニット(ALU) 12 データレジスタファイル 13 加算器 14 シフタ 15 乗算器 16 アレイ 17 被乗数 18 被乗数ドライバ 19 乗数オペランド 20 ブースエンコーダ 30 内部バス

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 オペランドの別個の対に対して複数の乗
    算および累算演算を実行して別個の出力を得る場合に乗
    算器の入力に対する遷移を減少させる方法であって、前
    記の乗算器が、該乗算器の出力に結合された少なくとも
    第1および第2のアキュムレータレジスタを有し、前記
    方法は次のステップ、すなわち: (a)オペランドの連続する対の間で少なくとも1つの
    オペランドが不変に維持されるように、乗算すべきオペ
    ランドの複数の対の順序を変更し; (b)前記複数の第1のオペランドの対のうち1つを乗
    算器の入力にロードし; (c)前記第1のオペランドの対を乗算し、中間結果を
    前記第1のアキュムレータレジスタに格納し; (d)複数の第2のオペランドの対の1つの対から1つ
    のオペランドを乗算器の入力にロードし、前記第2のオ
    ペランドの対は、前記第1のオペランドの対の少なくと
    も1つのオペランドに等しい1つのオペランドを有して
    おり、ロードされたオペランドは前記第1のオペランド
    の対のオペランドのどちらにも等しくないものであり; (e)前記第2のオペランドの対を乗算し、中間結果を
    前記第2のアキュムレータレジスタに格納し; (f)最終出力を生成するのに十分な中間結果が前記第
    1および第2のアキュムレータレジスタに累算されるま
    で、ステップ(b)からステップ(e)を繰り返すこと
    からなることを特徴とする乗算器の入力に対する遷移を
    減少させる方法。
  2. 【請求項2】 請求項1記載の乗算器の入力に対する遷
    移を減少させる方法であって、前記乗算器は該乗算器の
    1つの入力に結合されたブースエンコーダを含み、前記
    方法は前記複数のオペランドの対の順序を変更してブー
    スエンコーダに対する入力が可能な限り長い間一定に維
    持されるようにするステップをさらに含むことを特徴と
    する乗算器の入力に対する遷移を減少させる方法。
  3. 【請求項3】 請求項1記載の乗算器の入力に対する遷
    移を減少させる方法であって、前記乗算器は、複数の出
    力計算に対応するために、交錯した(interlaced)仕方
    での複数の入力による中間結果を格納するための3個以
    上のアキュムレータレジスタを含むことを特徴とする乗
    算器の入力に対する遷移を減少させる方法。
  4. 【請求項4】 請求項1記載の乗算器の入力に対する遷
    移を減少させる方法であって、前記乗算器はデータを伝
    送する内部バスを含み、前記方法は、前記内部バスに沿
    って伝送されるデータに必要な場合にのみ前記内部バス
    が高チャージ状態から低チャージ状態へとスイッチする
    ように前記内部バスを静的チャージ状態に維持するステ
    ップをさらに含むことを特徴とする乗算器の入力に対す
    る遷移を減少させる方法。
  5. 【請求項5】 マトリックス−マトリックス乗算を実行
    する際に、乗算器の入力に対する遷移を減少させる方法
    であって、前記乗算器は該乗算器の出力に結合された少
    なくとも第1および第2のアキュムレータレジスタを有
    し、前記方法は次のステップ、すなわち: (a)オペランドの連続する対の間で少なくとも1つの
    オペランドが不変に維持されるように、乗算すべきオペ
    ランドの複数の対の順序を変更し; (b)前記複数の第1のオペランドの対のうち1つを乗
    算器の入力にロードし; (c)前記第1のオペランドの対を乗算し、中間結果を
    前記第1のアキュムレータレジスタに格納し; (d)複数の第2のオペランドの対のうち1つを乗算器
    の入力にロードし、前記第2のオペランドの対は、前記
    第1のオペランドの対の少なくとも1つのオペランドに
    等しい1つのオペランドを有しており; (e)前記第2のオペランドの対を乗算し、中間結果を
    前記第2のアキュムレータレジスタに格納し; (f)最終出力が完全に計算されるように、中間結果が
    前記第1および第2のアキュムレータレジスタに累算さ
    れるまで、ステップ(b)からステップ(e)を繰り返
    すことからなることを特徴とする乗算器の入力に対する
    遷移を減少させる方法。
  6. 【請求項6】 請求項5記載のマトリックス−マトリッ
    クス乗算を実行する際に乗算器の入力に対する遷移を減
    少させる方法であって、前記乗算器は、複数の出力計算
    に対応するために、交錯した仕方での複数の入力による
    中間結果を格納するために3個以上のアキュムレータレ
    ジスタを含むことを特徴とする乗算器の入力に対する遷
    移を減少させる方法。
JP9207765A 1996-08-12 1997-08-01 乗算器の入力に対する遷移を減少させる方法 Pending JPH10187438A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/695,617 1996-08-12
US08/695,617 US5880981A (en) 1996-08-12 1996-08-12 Method and apparatus for reducing the power consumption in a programmable digital signal processor

Publications (1)

Publication Number Publication Date
JPH10187438A true JPH10187438A (ja) 1998-07-21

Family

ID=24793757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9207765A Pending JPH10187438A (ja) 1996-08-12 1997-08-01 乗算器の入力に対する遷移を減少させる方法

Country Status (2)

Country Link
US (1) US5880981A (ja)
JP (1) JPH10187438A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122466A (ja) * 2003-10-16 2005-05-12 Canon Inc 積和演算回路及びその方法
JP2005122465A (ja) * 2003-10-16 2005-05-12 Canon Inc 積和演算回路及びその方法
JP2009527161A (ja) * 2006-02-17 2009-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 積和演算を実行する方法及び装置
JP2010271946A (ja) * 2009-05-21 2010-12-02 Fujitsu Ltd 演算回路および省電力方法

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556044B2 (en) 2001-09-18 2003-04-29 Altera Corporation Programmable logic device including multipliers and configurations thereof to reduce resource utilization
US5982305A (en) * 1997-09-17 1999-11-09 Microsoft Corporation Sample rate converter
US6345363B1 (en) * 1998-06-23 2002-02-05 National Semiconductor Corporation Microprocessor core power reduction by not reloading existing operands
FR2800218B1 (fr) * 1999-10-22 2002-01-11 Algety Telecom Systeme de transmission par fibre optique utilisant des impulsions rz
ATE366958T1 (de) 2000-01-14 2007-08-15 Texas Instruments France Mikroprozessor mit ermässigtem stromverbrauch
US6643760B2 (en) * 2001-04-30 2003-11-04 Zilog, Inc. Architecture to relax memory performance requirements
US7400276B1 (en) * 2002-01-28 2008-07-15 Massachusetts Institute Of Technology Method and apparatus for reducing delay in a bus provided from parallel, capacitively coupled transmission lines
US7082592B1 (en) 2003-06-16 2006-07-25 Altera Corporation Method for programming programmable logic device having specialized functional blocks
US7698358B1 (en) 2003-12-24 2010-04-13 Altera Corporation Programmable logic device with specialized functional block
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8266199B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) * 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8589469B2 (en) * 2007-01-10 2013-11-19 Analog Devices Technology Bandwidth efficient instruction-driven multiplication engine
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8805916B2 (en) * 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) * 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) * 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
CN108664272B (zh) * 2017-03-27 2024-01-30 上海芯旺微电子技术股份有限公司 一种处理器内核结构
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
US11494331B2 (en) * 2019-09-10 2022-11-08 Cornami, Inc. Reconfigurable processor circuit architecture

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498135A (en) * 1982-02-22 1985-02-05 Texas Instruments Incorporated Microcomputer with accumulator addressing
US4876660A (en) * 1987-03-20 1989-10-24 Bipolar Integrated Technology, Inc. Fixed-point multiplier-accumulator architecture
DE3856175T2 (de) * 1987-06-05 1998-12-17 Mitsubishi Electric Corp Digitales Signalverarbeitungssystem in dem ein Prozessor unter Kontrolle eines Hosts auf zwei Befehlsspeicher zugreift
US5448744A (en) * 1989-11-06 1995-09-05 Motorola, Inc. Integrated circuit microprocessor with programmable chip select logic
US5333119A (en) * 1992-09-30 1994-07-26 Regents Of The University Of Minnesota Digital signal processor with delayed-evaluation array multipliers and low-power memory addressing
US5513374A (en) * 1993-09-27 1996-04-30 Hitachi America, Inc. On-chip interface and DMA controller with interrupt functions for digital signal processor
US5661673A (en) * 1995-08-31 1997-08-26 National Semiconductor Corporation Power efficient booth multiplier using clock gating

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122466A (ja) * 2003-10-16 2005-05-12 Canon Inc 積和演算回路及びその方法
JP2005122465A (ja) * 2003-10-16 2005-05-12 Canon Inc 積和演算回路及びその方法
US7747668B2 (en) 2003-10-16 2010-06-29 Canon Kabushiki Kaisha Product-sum operation circuit and method
JP4620943B2 (ja) * 2003-10-16 2011-01-26 キヤノン株式会社 積和演算回路及びその方法
JP2009527161A (ja) * 2006-02-17 2009-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 積和演算を実行する方法及び装置
JP2010271946A (ja) * 2009-05-21 2010-12-02 Fujitsu Ltd 演算回路および省電力方法

Also Published As

Publication number Publication date
US5880981A (en) 1999-03-09

Similar Documents

Publication Publication Date Title
JPH10187438A (ja) 乗算器の入力に対する遷移を減少させる方法
US10817587B2 (en) Reconfigurable matrix multiplier system and method
US8051124B2 (en) High speed and efficient matrix multiplication hardware module
JP3759647B2 (ja) 24ビットおよび16ビット算術演算の双方を実行するための装置および方法
KR20150132287A (ko) 멀티-모드 래딕스-2x 버터플라이 벡터 프로세싱 회로들, 및 연관된 벡터 프로세서들을 제공하기 위한 프로그램 가능한 데이터 경로 구성들을 가지는 벡터 프로세싱 엔진들, 시스템들, 및 방법들
US7519646B2 (en) Reconfigurable SIMD vector processing system
US10409604B2 (en) Apparatus and method for performing multiply-and-accumulate-products operations
JPS6125188B2 (ja)
US5742781A (en) Decoded instruction buffer apparatus and method for reducing power consumption in a digital signal processor
JP2001027945A (ja) Simd演算を実行するために標準macユニットを利用する浮動小数点ユニット
Wang et al. Customized instruction on risc-v for winograd-based convolution acceleration
US6622153B1 (en) Virtual parallel multiplier-accumulator
US5164724A (en) Data format converters for use with digit-serial signals
US5958000A (en) Two-bit booth multiplier with reduced data path width
US7111155B1 (en) Digital signal processor computation core with input operand selection from operand bus for dual operations
US6728741B2 (en) Hardware assist for data block diagonal mirror image transformation
EP0136218A2 (en) Multiple port pipelined processor
US6725360B1 (en) Selectively processing different size data in multiplier and ALU paths in parallel
TWI807927B (zh) 具有向量歸約方法與元素歸約方法的向量處理器
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JP3441847B2 (ja) データメモリを有するプロセッサ
WO2008077803A1 (en) Simd processor with reduction unit
JP3723311B2 (ja) 並列演算プロセッサ
JP2000293357A (ja) マイクロプロセッサ
JP3088956B2 (ja) 演算装置