JP3413940B2 - 演算回路 - Google Patents
演算回路Info
- Publication number
- JP3413940B2 JP3413940B2 JP05937994A JP5937994A JP3413940B2 JP 3413940 B2 JP3413940 B2 JP 3413940B2 JP 05937994 A JP05937994 A JP 05937994A JP 5937994 A JP5937994 A JP 5937994A JP 3413940 B2 JP3413940 B2 JP 3413940B2
- Authority
- JP
- Japan
- Prior art keywords
- product
- carry
- partial
- arithmetic
- circuit
- 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 - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【産業上の利用分野】本発明は、DSP(Digital Signa
l Processor)などに用いられ、積和演算を繰り返すMA
C構造(Multiply-Accumulate architecture) をとる演
算回路に関するものである。
l Processor)などに用いられ、積和演算を繰り返すMA
C構造(Multiply-Accumulate architecture) をとる演
算回路に関するものである。
【0002】
【従来の技術】DSPに用いられるMAC構造の演算回
路は、通常、次の方程式の解を求めるために用いられ
る。 A=M1 ・N1 +M2 ・M2 +…+Mn ・Nn …(1) そして、この方程式は、いわゆるMACオペレーション
という次式に示す基本ステップに分割することができ
る。 Ai =Ai-1 +Mi ・Ni …(2) 近年のDSPにおいては、このMACオペレーション
が、1命令サイクルで実行される。
路は、通常、次の方程式の解を求めるために用いられ
る。 A=M1 ・N1 +M2 ・M2 +…+Mn ・Nn …(1) そして、この方程式は、いわゆるMACオペレーション
という次式に示す基本ステップに分割することができ
る。 Ai =Ai-1 +Mi ・Ni …(2) 近年のDSPにおいては、このMACオペレーション
が、1命令サイクルで実行される。
【0003】図4は一般的なMAC構造を有する演算回
路の構成例を示すブロック図、図5は図4の回路による
MACオペレーションを示すフローチャートである。図
4において、1は乗数格納レジスタ、2は被乗数格納レ
ジスタ、3は乗算器、4は積レジスタ、5は算術論理演
算器(ALU/adder) 、6はアキュムレータをそれぞれ示し
ている。
路の構成例を示すブロック図、図5は図4の回路による
MACオペレーションを示すフローチャートである。図
4において、1は乗数格納レジスタ、2は被乗数格納レ
ジスタ、3は乗算器、4は積レジスタ、5は算術論理演
算器(ALU/adder) 、6はアキュムレータをそれぞれ示し
ている。
【0004】このような構成においては、イニシャライ
ズされた状態では積レジスタ4の値Pおよびアキュムレ
ータ6の値Aは「0」である。MACオペレーションが
開始されると、乗数Mi が乗数格納レジスタ1に格納さ
れ、被乗数Ni が被乗数格納レジスタ2に格納される。
ただし、パラメータiは1≦i≦nなる関係を満足する
自然数である。そして、乗算器3において乗数格納レジ
スタ1に格納された乗数Mi と被乗数格納レジスタ2に
格納された被乗数Ni とが乗算され、乗算結果(Mi ・
Ni )が積レジスタ4に格納される。その結果、積レジ
スタ4の値Pi は(Mi ・Ni)となり、この積レジス
タの値Pi は算術論理演算器5に入力される。算術論理
演算器5においては、入力された積レジスタ4の値Pi
(=Mi ・N i )と、1サイクル前のMACオペレーシ
ョンにおいて算術論理演算器5で得られ、アキュムレー
タ6に保持されている値Ai-1 (=Ai-2 +Pi-1 )と
を用いて上述した(2)式に基づく算術論理演算が行わ
れる。そして、演算結果〔Ai-1 +Pi (=Mi ・
Ni )〕がアキュムレータ6に格納される。その結果、
アキュムレータ6の値Ai は(Ai-1 +Pi )となり、
このアキュムレータ6の値Ai は算術論理演算器5に入
力され、次サイクルのMACオペレーションの算術論理
演算に用いられる。以上の処理が、通常、1クロックサ
イクル毎に順次行われる。
ズされた状態では積レジスタ4の値Pおよびアキュムレ
ータ6の値Aは「0」である。MACオペレーションが
開始されると、乗数Mi が乗数格納レジスタ1に格納さ
れ、被乗数Ni が被乗数格納レジスタ2に格納される。
ただし、パラメータiは1≦i≦nなる関係を満足する
自然数である。そして、乗算器3において乗数格納レジ
スタ1に格納された乗数Mi と被乗数格納レジスタ2に
格納された被乗数Ni とが乗算され、乗算結果(Mi ・
Ni )が積レジスタ4に格納される。その結果、積レジ
スタ4の値Pi は(Mi ・Ni)となり、この積レジス
タの値Pi は算術論理演算器5に入力される。算術論理
演算器5においては、入力された積レジスタ4の値Pi
(=Mi ・N i )と、1サイクル前のMACオペレーシ
ョンにおいて算術論理演算器5で得られ、アキュムレー
タ6に保持されている値Ai-1 (=Ai-2 +Pi-1 )と
を用いて上述した(2)式に基づく算術論理演算が行わ
れる。そして、演算結果〔Ai-1 +Pi (=Mi ・
Ni )〕がアキュムレータ6に格納される。その結果、
アキュムレータ6の値Ai は(Ai-1 +Pi )となり、
このアキュムレータ6の値Ai は算術論理演算器5に入
力され、次サイクルのMACオペレーションの算術論理
演算に用いられる。以上の処理が、通常、1クロックサ
イクル毎に順次行われる。
【0005】また、図6は、図4の回路における乗算器
3の具体的な構成例を示すブロック図である。図6に示
すように、乗算器3は一般的に、部分積生成器31、部
分積換算器32、および2入力1出力のキャリープロパ
ゲート形加算器33により構成されている。この乗算器
3においては、まず部分積生成器31により乗数Mと被
乗数Nとの部分積が、たとえばブースアルゴリズムに基
づいて求められる(たとえば、「Joseph J.F.Cavanagh.
Digital Computer Arithmetic.McGraw-Hill,New York,
1985) 。部分積生成器31で求められた複数の部分積は
部分積換算器32に入力され、ここで減算あるいは加算
されて2つの部分積にまとめられて、キャリープロパゲ
ート形加算器33に出力される。キャリープロパゲート
形加算器33では、入力した部分積に対する加算処理が
なされ、その結果が積レジスタ4に格納される。
3の具体的な構成例を示すブロック図である。図6に示
すように、乗算器3は一般的に、部分積生成器31、部
分積換算器32、および2入力1出力のキャリープロパ
ゲート形加算器33により構成されている。この乗算器
3においては、まず部分積生成器31により乗数Mと被
乗数Nとの部分積が、たとえばブースアルゴリズムに基
づいて求められる(たとえば、「Joseph J.F.Cavanagh.
Digital Computer Arithmetic.McGraw-Hill,New York,
1985) 。部分積生成器31で求められた複数の部分積は
部分積換算器32に入力され、ここで減算あるいは加算
されて2つの部分積にまとめられて、キャリープロパゲ
ート形加算器33に出力される。キャリープロパゲート
形加算器33では、入力した部分積に対する加算処理が
なされ、その結果が積レジスタ4に格納される。
【0006】図7は、このキャリープロパゲート形加算
器の構成例を示す図である。キャリープロパゲート形加
算器は、図7に示すように、複数の全加算器33−1〜
33−n(FA1〜FAn)を有し、全加算器33−i
で得られたキャリーは次段上位の全加算器33−i+1 に
順次伝搬され、最終段の全加算器33−nから総和sn
とキャリー出力carry out が得られる。
器の構成例を示す図である。キャリープロパゲート形加
算器は、図7に示すように、複数の全加算器33−1〜
33−n(FA1〜FAn)を有し、全加算器33−i
で得られたキャリーは次段上位の全加算器33−i+1 に
順次伝搬され、最終段の全加算器33−nから総和sn
とキャリー出力carry out が得られる。
【0007】
【発明が解決しようとする課題】しかしながら、上述し
た従来の演算回路では、乗算器3にキャリー出力を次段
上位の全加算器に伝搬させるキャリープロパゲート形加
算器33を用いていることから、動作速度が遅いという
問題がある。
た従来の演算回路では、乗算器3にキャリー出力を次段
上位の全加算器に伝搬させるキャリープロパゲート形加
算器33を用いていることから、動作速度が遅いという
問題がある。
【0008】この問題を解決するために、キャリープロ
パゲート形加算器33より動作速度の速いキャリールッ
クアヘッド形加算器、あるいはキャリーセレクト形加算
器を適用することも考えられるが、これらの加算器は、
回路規模が大きく、また充分に満足のいく動作速度を得
ることはできない。
パゲート形加算器33より動作速度の速いキャリールッ
クアヘッド形加算器、あるいはキャリーセレクト形加算
器を適用することも考えられるが、これらの加算器は、
回路規模が大きく、また充分に満足のいく動作速度を得
ることはできない。
【0009】本発明は、かかる事情に鑑みてなされたも
のであり、その目的は、動作速度の向上を図れ、回路規
模の増大を防止できる演算回路を提供することにある。
のであり、その目的は、動作速度の向上を図れ、回路規
模の増大を防止できる演算回路を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明の演算回路は、アキュムレータと、与えられ
た乗数と被乗数との部分積を求め、当該部分積の和を求
めて第1および第2の部分積を生成する部分積生成器
と、上記第1の部分積を保持する第1の積レジスタと、
上記第2の部分積を保持する第2の積レジスタと、上記
第1の積レジスタ、上記第2の積レジスタおよび上記ア
キュムレータに保持されたデータを加算し、第1および
第2の部分和を求めるキャリーセイブ形加算器と、上記
キャリーセイブ形加算器による第1および第2の部分和
に基づく算術論理演算を行い、その算術演算結果を上記
アキュムレータに保持させる算術論理演算器とを有す
る。
め、本発明の演算回路は、アキュムレータと、与えられ
た乗数と被乗数との部分積を求め、当該部分積の和を求
めて第1および第2の部分積を生成する部分積生成器
と、上記第1の部分積を保持する第1の積レジスタと、
上記第2の部分積を保持する第2の積レジスタと、上記
第1の積レジスタ、上記第2の積レジスタおよび上記ア
キュムレータに保持されたデータを加算し、第1および
第2の部分和を求めるキャリーセイブ形加算器と、上記
キャリーセイブ形加算器による第1および第2の部分和
に基づく算術論理演算を行い、その算術演算結果を上記
アキュムレータに保持させる算術論理演算器とを有す
る。
【0011】また、本発明の演算回路は、上記キャリー
セイブ形演算器の入力前段に、選択信号の入力に応じ
て、積和演算処理を行うか算術論理演算処理を行うかを
選択する機能選択回路を有する。
セイブ形演算器の入力前段に、選択信号の入力に応じ
て、積和演算処理を行うか算術論理演算処理を行うかを
選択する機能選択回路を有する。
【0012】
【作用】本発明の演算回路によれば、部分積生成器にお
いて、与えられた乗数と被乗数との部分積が求められ、
次いで求めた部分積の和が求められて第1および第2の
部分積が生成され、これら第1および第2の部分積は第
1の積レジスタおよび第2の積レジスタに格納される。
第1および第2の積レジスタに格納された部分積はキャ
リーセイブ形加算器で読み出される。キャリーセイブ形
加算器では、読み出した部分積およびアキュムレータに
保持されたデータに対してキャリーセイブ形の加算処理
が行われ、第1および第2の部分和が求められる。これ
ら第1および第2の部分和は、算術論理演算器に入力さ
れ、ここで所定の算術論理演算が行われ、その算術演算
結果はアキュムレータに格納される。アキュムレータに
格納されたデータは、キャリーセイブ形加算器に入力さ
れ、次サイクルの演算処理に用いられる。
いて、与えられた乗数と被乗数との部分積が求められ、
次いで求めた部分積の和が求められて第1および第2の
部分積が生成され、これら第1および第2の部分積は第
1の積レジスタおよび第2の積レジスタに格納される。
第1および第2の積レジスタに格納された部分積はキャ
リーセイブ形加算器で読み出される。キャリーセイブ形
加算器では、読み出した部分積およびアキュムレータに
保持されたデータに対してキャリーセイブ形の加算処理
が行われ、第1および第2の部分和が求められる。これ
ら第1および第2の部分和は、算術論理演算器に入力さ
れ、ここで所定の算術論理演算が行われ、その算術演算
結果はアキュムレータに格納される。アキュムレータに
格納されたデータは、キャリーセイブ形加算器に入力さ
れ、次サイクルの演算処理に用いられる。
【0013】また、本発明によれば、機能選択回路に入
力される選択信号の入力レベルに応じて、積和演算処理
を行うか算術論理演算処理を行うかが選択される。この
機能選択に応じた演算処理がキャリーセイブ形加算器あ
るいは算術論理演算器で行われる。
力される選択信号の入力レベルに応じて、積和演算処理
を行うか算術論理演算処理を行うかが選択される。この
機能選択に応じた演算処理がキャリーセイブ形加算器あ
るいは算術論理演算器で行われる。
【0014】
【実施例】図1は、本発明に係る演算回路の一実施例を
示すブロック構成図であって、従来例を示す図4および
図6と同一構成部分と同一符号をもって表す。すなわ
ち、1は乗数格納レジスタ、2は被乗数格納レジスタ、
3aは乗算器、31は部分積生成器、32は部分積換算
器、34Lは第1の積レジスタ、34Rは第2の積レジ
スタ、35は3入力2出力のキャリーセイブ形加算器、
5は2入力1出力の算術論理演算器(ALU/adder) 、6は
アキュムレータをそれぞれ示している。
示すブロック構成図であって、従来例を示す図4および
図6と同一構成部分と同一符号をもって表す。すなわ
ち、1は乗数格納レジスタ、2は被乗数格納レジスタ、
3aは乗算器、31は部分積生成器、32は部分積換算
器、34Lは第1の積レジスタ、34Rは第2の積レジ
スタ、35は3入力2出力のキャリーセイブ形加算器、
5は2入力1出力の算術論理演算器(ALU/adder) 、6は
アキュムレータをそれぞれ示している。
【0015】乗算器3aは、図6の乗算器3のキャリー
プロパゲート形加算器33の代わりに3入力2出力のキ
ャリーセイブ形加算器35を適用し、2つの部分積PP
1 ,PP2 を出力する部分積換算器32とキャリーセイ
ブ形加算器35の2入力との間にそれぞれ第1の積レジ
スタ34Lおよび第2の積レジスタ34Rが設けられて
いる。そして、キャリーセイブ形加算器35の残りの1
入力にはアキュムレータ6の出力が接続され、キャリー
セイブ形加算器35の2出力は算術論理演算器5の2入
力にそれぞれ接続されている。
プロパゲート形加算器33の代わりに3入力2出力のキ
ャリーセイブ形加算器35を適用し、2つの部分積PP
1 ,PP2 を出力する部分積換算器32とキャリーセイ
ブ形加算器35の2入力との間にそれぞれ第1の積レジ
スタ34Lおよび第2の積レジスタ34Rが設けられて
いる。そして、キャリーセイブ形加算器35の残りの1
入力にはアキュムレータ6の出力が接続され、キャリー
セイブ形加算器35の2出力は算術論理演算器5の2入
力にそれぞれ接続されている。
【0016】第1の積レジスタ34Lは、部分積換算器
32で得られた値PLの部分積PP 1 を保持する。第2
の積レジスタ34Rは、部分積換算器32で得られた値
PRの部分積PP2 を保持する。
32で得られた値PLの部分積PP 1 を保持する。第2
の積レジスタ34Rは、部分積換算器32で得られた値
PRの部分積PP2 を保持する。
【0017】キャリーセイブ形加算器35は、第1の積
レジスタ34L、第2の積レジスタ34Rおよびアキュ
ムレータ6に保持されたデータを、キャリーを保存した
形で加算し、第1および第2の部分和PS1 ,PS2 を
求め、算術論理演算器5に出力する。
レジスタ34L、第2の積レジスタ34Rおよびアキュ
ムレータ6に保持されたデータを、キャリーを保存した
形で加算し、第1および第2の部分和PS1 ,PS2 を
求め、算術論理演算器5に出力する。
【0018】図2は、キャリーセイブ形加算器35の構
成例を示す図で、図中、35−1〜35−n(FA1〜
FAn)は全加算器を示している。キャリーセイブ形加
算器35は、図2に示すように、3入力xn,yn,z
nの総和を求め、図7に示すキャリープロパゲート形加
算器と異なり、キャリーを上位側に伝搬させるのではな
く、キャリーを上位側に送らずに保存(SAVE) して加算
の際に加え、各全加算器35−1〜35−nから和出力
S1 〜Sn、およびキャリー出力C1 〜Cnを出力す
る。
成例を示す図で、図中、35−1〜35−n(FA1〜
FAn)は全加算器を示している。キャリーセイブ形加
算器35は、図2に示すように、3入力xn,yn,z
nの総和を求め、図7に示すキャリープロパゲート形加
算器と異なり、キャリーを上位側に伝搬させるのではな
く、キャリーを上位側に送らずに保存(SAVE) して加算
の際に加え、各全加算器35−1〜35−nから和出力
S1 〜Sn、およびキャリー出力C1 〜Cnを出力す
る。
【0019】次に、上記構成による動作を説明する。M
ACオペレーションが開始されると、乗数Mi が乗数格
納レジスタ1に格納され、被乗数Ni が被乗数格納レジ
スタ2に格納される。そして、乗算器3aの部分積生成
器31において乗数格納レジスタ1に格納された乗数M
i と被乗数格納レジスタ2に格納された被乗数Ni との
部分積が、たとえばブースアルゴリズムに基づいて求め
られる。部分積生成器31で求められた複数の部分積は
部分積換算器32に入力され、ここで減算あるいは加算
されて2つの部分積PP1 ,PP2 にまとめられ、部分
積PP1 は第1の積レジスタ34Lに格納され、部分積
PP2 は第2の積レジスタ34Rに格納される。
ACオペレーションが開始されると、乗数Mi が乗数格
納レジスタ1に格納され、被乗数Ni が被乗数格納レジ
スタ2に格納される。そして、乗算器3aの部分積生成
器31において乗数格納レジスタ1に格納された乗数M
i と被乗数格納レジスタ2に格納された被乗数Ni との
部分積が、たとえばブースアルゴリズムに基づいて求め
られる。部分積生成器31で求められた複数の部分積は
部分積換算器32に入力され、ここで減算あるいは加算
されて2つの部分積PP1 ,PP2 にまとめられ、部分
積PP1 は第1の積レジスタ34Lに格納され、部分積
PP2 は第2の積レジスタ34Rに格納される。
【0020】第1および第2の積レジスタ34R,34
Lに保持された値PLi ,PRi の部分積は、キャリー
セイブ形加算器35により読み出される。また、キャリ
ーセイブ形加算器35には、1サイクル前のMACオペ
レーションにおいて算術論理演算器5で得られ、アキュ
ムレータ6に保持されている値Ai-1 が入力される。キ
ャリーセイブ形加算器35では、3つの入力に対する加
算処理が行われて、第1および第2の部分和PS1 ,P
S2 が算出され、算術論理演算器5に出力される。
Lに保持された値PLi ,PRi の部分積は、キャリー
セイブ形加算器35により読み出される。また、キャリ
ーセイブ形加算器35には、1サイクル前のMACオペ
レーションにおいて算術論理演算器5で得られ、アキュ
ムレータ6に保持されている値Ai-1 が入力される。キ
ャリーセイブ形加算器35では、3つの入力に対する加
算処理が行われて、第1および第2の部分和PS1 ,P
S2 が算出され、算術論理演算器5に出力される。
【0021】算術論理演算器5においては、入力された
第1および第2の部分和PS1 ,PS2 に基づく算術論
理演算が行われ、その演算結果がアキュムレータ6に格
納される。その結果、アキュムレータ6の値Ai は(A
i-1 +Pi )となり、このアキュムレータ6の値Ai は
キャリーセイブ形加算器35に入力され、次サイクルの
MACオペレーションに用いられる。以上の処理が、通
常、1クロックサイクル毎に順次行われる。
第1および第2の部分和PS1 ,PS2 に基づく算術論
理演算が行われ、その演算結果がアキュムレータ6に格
納される。その結果、アキュムレータ6の値Ai は(A
i-1 +Pi )となり、このアキュムレータ6の値Ai は
キャリーセイブ形加算器35に入力され、次サイクルの
MACオペレーションに用いられる。以上の処理が、通
常、1クロックサイクル毎に順次行われる。
【0022】以上説明したように、本実施例によれば、
アキュムレータ6と、与えられた乗数と被乗数との部分
積を求め、部分積の総和を求めて第1および第2の部分
積PP1 ,PP2 を生成する部分積生成器31および部
分積換算器32と、第1の部分積PP1 を保持する第1
の積レジスタ34Lと、第2の部分積PP2 を保持する
第2の積レジスタ34Rと、第1の積レジスタ34L、
第2の積レジスタ34Rおよびアキュムレータ6に保持
されたデータを加算し、第1および第2の部分和P
S1 ,PS2 を求めるキャリーセイブ形加算器35と、
キャリーセイブ形加算器35による第1および第2の部
分和PS1 ,PS2 に基づく算術演算を行い、その算術
演算結果をアキュムレータ6に保持させる算術論理演算
器5とを設けたので、ディジタル信号処理に必須の積和
演算に高速化を図れ、またデバイスにおけるシリコン面
積を小さくでき回路規模の増大を防止できる。また、従
来の回路と同様の命令をそのまま用いることができ、高
速のクロックに動作可能なDSPを容易に実現すること
ができる。
アキュムレータ6と、与えられた乗数と被乗数との部分
積を求め、部分積の総和を求めて第1および第2の部分
積PP1 ,PP2 を生成する部分積生成器31および部
分積換算器32と、第1の部分積PP1 を保持する第1
の積レジスタ34Lと、第2の部分積PP2 を保持する
第2の積レジスタ34Rと、第1の積レジスタ34L、
第2の積レジスタ34Rおよびアキュムレータ6に保持
されたデータを加算し、第1および第2の部分和P
S1 ,PS2 を求めるキャリーセイブ形加算器35と、
キャリーセイブ形加算器35による第1および第2の部
分和PS1 ,PS2 に基づく算術演算を行い、その算術
演算結果をアキュムレータ6に保持させる算術論理演算
器5とを設けたので、ディジタル信号処理に必須の積和
演算に高速化を図れ、またデバイスにおけるシリコン面
積を小さくでき回路規模の増大を防止できる。また、従
来の回路と同様の命令をそのまま用いることができ、高
速のクロックに動作可能なDSPを容易に実現すること
ができる。
【0023】図3は、本発明に係る演算回路の要部の他
の構成例を示す回路図である。なお、この構成は、iビ
ットに対応する構成を示している。この回路では、キャ
リーセイブ形加算器の全加算器35−iの入力前段に機
能選択回路36iが設けられ、機能選択回路36iへの
選択回路selの入力レベルに応じて通常の算術論理演
算処理とキャリーセイブ形加算処理とを切り換えるよう
に構成されいる。
の構成例を示す回路図である。なお、この構成は、iビ
ットに対応する構成を示している。この回路では、キャ
リーセイブ形加算器の全加算器35−iの入力前段に機
能選択回路36iが設けられ、機能選択回路36iへの
選択回路selの入力レベルに応じて通常の算術論理演
算処理とキャリーセイブ形加算処理とを切り換えるよう
に構成されいる。
【0024】全加算器35−iは、和生成回路351
(sum)とキャリー生成回路352(carry)と
から構成されている。和生成回路351は、3入力x
i’,yi’,zi’の排他的論理和をとり、その結果
を和出力siとして出力する。キャリー生成回路352
は、(xi’・yi’)+(xi’・zi’)+(y
i’・zi’)を求め、キャリー出力ciとして出力す
る。
(sum)とキャリー生成回路352(carry)と
から構成されている。和生成回路351は、3入力x
i’,yi’,zi’の排他的論理和をとり、その結果
を和出力siとして出力する。キャリー生成回路352
は、(xi’・yi’)+(xi’・zi’)+(y
i’・zi’)を求め、キャリー出力ciとして出力す
る。
【0025】機能選択回路36iは、2入力オア回路3
61、2入力アンド回路362,363、およびインバ
ータ364により構成されている。オア回路361の一
方の入力はデータxiの入力ラインに接続され、他方の
入力はインバータ364の出力に接続されている。オア
回路361の出力は全加算器35−iのキャリー生成回
路352の入力xi’に接続されている。アンド回路3
62,363の一方の入力およびインバータ364の入
力は選択信号selの入力ラインに接続されている。ア
ンド回路362の他方の入力はデータyiの入力ライン
に接続され、その接続中点は全加算器35−iのキャリ
ー生成回路352の入力yi’に接続されている。ま
た、アンド回路362の出力は和生成回路351の入力
yi’に接続されている。アンド回路363の他方の入
力はデータziの入力ラインに接続され、その出力はキ
ャリー生成回路352の入力zi’および和生成回路3
51の入力zi’に接続されている。
61、2入力アンド回路362,363、およびインバ
ータ364により構成されている。オア回路361の一
方の入力はデータxiの入力ラインに接続され、他方の
入力はインバータ364の出力に接続されている。オア
回路361の出力は全加算器35−iのキャリー生成回
路352の入力xi’に接続されている。アンド回路3
62,363の一方の入力およびインバータ364の入
力は選択信号selの入力ラインに接続されている。ア
ンド回路362の他方の入力はデータyiの入力ライン
に接続され、その接続中点は全加算器35−iのキャリ
ー生成回路352の入力yi’に接続されている。ま
た、アンド回路362の出力は和生成回路351の入力
yi’に接続されている。アンド回路363の他方の入
力はデータziの入力ラインに接続され、その出力はキ
ャリー生成回路352の入力zi’および和生成回路3
51の入力zi’に接続されている。
【0026】このような回路構成において、選択信号s
elがローレベル「0」で機能選択回路36iに入力さ
れると、全加算器の和出力si=xiとなり、キャリー
出力ci=yiとなる。すなわち、選択信号selがロ
ーレベル「0」の場合、本回路では算術論理演算器(A
LU/adder)と同等のオペレーションが行われ
る。これに対して、選択信号selがハイレベル「1」
の場合、上述した本来のキャリーセイブ形加算器と同等
のオペレーションが行われる。
elがローレベル「0」で機能選択回路36iに入力さ
れると、全加算器の和出力si=xiとなり、キャリー
出力ci=yiとなる。すなわち、選択信号selがロ
ーレベル「0」の場合、本回路では算術論理演算器(A
LU/adder)と同等のオペレーションが行われ
る。これに対して、選択信号selがハイレベル「1」
の場合、上述した本来のキャリーセイブ形加算器と同等
のオペレーションが行われる。
【0027】このような構成にすることにより、少ない
回路素子で、より多機能で効率の良い回路を実現できる
利点がある。
回路素子で、より多機能で効率の良い回路を実現できる
利点がある。
【0028】
【発明の効果】以上説明したように、本発明の演算回路
によれば、ディジタル信号処理に必須の積和演算の高速
化を図れ、またデバイスにおけるシリコン面積を小さく
でき回路規模の増大を防止できる。また、従来の回路と
同様の命令をそのまま用いることができ、高速のクロッ
クに動作可能なDSPを容易に実現することができる。
によれば、ディジタル信号処理に必須の積和演算の高速
化を図れ、またデバイスにおけるシリコン面積を小さく
でき回路規模の増大を防止できる。また、従来の回路と
同様の命令をそのまま用いることができ、高速のクロッ
クに動作可能なDSPを容易に実現することができる。
【0029】また、キャリーセイブ形演算器の入力前段
に、選択信号の入力に応じて、積和演算処理を行うか算
術論理演算処理を行うかを選択する機能選択回路を設け
たので、少ない回路素子で、より多機能で効率の良い回
路を実現できる利点がある。
に、選択信号の入力に応じて、積和演算処理を行うか算
術論理演算処理を行うかを選択する機能選択回路を設け
たので、少ない回路素子で、より多機能で効率の良い回
路を実現できる利点がある。
【図1】本発明に係る演算回路の一実施例を示すブロッ
ク図である。
ク図である。
【図2】図1の演算回路に用いられるキャリーセイブ形
加算器の構成例を示す図である。
加算器の構成例を示す図である。
【図3】本発明に係る演算回路の要部の他の構成例を示
す回路図である。
す回路図である。
【図4】一般的なMAC構造を有する演算回路の構成例
を示すブロック図である。
を示すブロック図である。
【図5】図4の回路に基づくMACオペレーションを示
すフローチャートである。
すフローチャートである。
【図6】図4の演算回路に用いられる乗算器の従来の構
成例を示すブロック図である。
成例を示すブロック図である。
【図7】キャリープロバゲート形加算器の構成例を示す
ブロック図である。
ブロック図である。
1…乗数格納レジスタ
2…被乗数格納レジスタ
3a…乗算器
31…部分積生成器
32…部分積換算器
34L…第1の積レジスタ
34R…第2の積レジスタ
35…キャリーセイブ形加算器
351…和生成回路
352…キャリー生成回路
36i…機能選択回路
361…オア回路
362,363…アンド回路
364…インバータ
5…算術論理演算器(ALU/adder)
6…アキュムレータ
フロントページの続き
(58)調査した分野(Int.Cl.7,DB名)
G06F 7/52
G06F 17/10
Claims (2)
- 【請求項1】 アキュムレータと、 与えられた乗数と被乗数との部分積を求め、当該部分積
の和を求めて第1および第2の部分積を生成する部分積
生成器と、 上記第1の部分積を保持する第1の積レジスタと、 上記第2の部分積を保持する第2の積レジスタと、 上記第1の積レジスタ、上記第2の積レジスタおよび上
記アキュムレータに保持されたデータを加算し、第1お
よび第2の部分和を求めるキャリーセイブ形加算器と、 上記キャリーセイブ形加算器による第1および第2の部
分和に基づく算術論理演算を行い、その算術演算結果を
上記アキュムレータに保持させる算術論理演算器とを有
する演算回路。 - 【請求項2】 上記キャリーセイブ形演算器の入力前段
に、選択信号の入力に応じて、積和演算処理を行うか算
術論理演算処理を行うかを選択する機能選択回路を有す
る請求項1記載の演算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05937994A JP3413940B2 (ja) | 1994-03-29 | 1994-03-29 | 演算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05937994A JP3413940B2 (ja) | 1994-03-29 | 1994-03-29 | 演算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07271555A JPH07271555A (ja) | 1995-10-20 |
JP3413940B2 true JP3413940B2 (ja) | 2003-06-09 |
Family
ID=13111597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05937994A Expired - Fee Related JP3413940B2 (ja) | 1994-03-29 | 1994-03-29 | 演算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3413940B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181484B2 (en) * | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
WO2004029793A1 (en) | 2002-09-24 | 2004-04-08 | Interdigital Technology Corporation | Computationally efficient mathematical engine |
-
1994
- 1994-03-29 JP JP05937994A patent/JP3413940B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07271555A (ja) | 1995-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3479438B2 (ja) | 乗算回路 | |
JP3689183B2 (ja) | 正確な浮動小数点除算/平方根演算を実現する正確、かつ効果的なスティッキー・ビット計算 | |
US5790446A (en) | Floating point multiplier with reduced critical paths using delay matching techniques | |
JP4955182B2 (ja) | 整数の計算フィールド範囲の拡張 | |
US7395304B2 (en) | Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
JP3139466B2 (ja) | 乗算器及び積和演算器 | |
JPH0454633A (ja) | 高基数除算器 | |
JPH0368416B2 (ja) | ||
US5889689A (en) | Hierarchical carry-select, three-input saturation | |
US5910910A (en) | Circuit and method for rapid calculation of quotients and square roots | |
US6912559B1 (en) | System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit | |
Lang et al. | Very-high radix combined division and square root with prescaling and selection by rounding | |
JP3537378B2 (ja) | 加算器および集積回路 | |
JP3413940B2 (ja) | 演算回路 | |
JP3803438B2 (ja) | 浮動小数点乗算累算装置 | |
US7167885B2 (en) | Emod a fast modulus calculation for computer systems | |
US5351207A (en) | Methods and apparatus for subtraction with 3:2 carry-save adders | |
Raghunath et al. | A compact carry-save multiplier architecture and its applications | |
JPH04172526A (ja) | 浮動小数点除算器 | |
JPS6259828B2 (ja) | ||
JP3793505B2 (ja) | 演算器及びそれを用いた電子回路装置 | |
US5208769A (en) | Unsigned integer multiply/divide circuit | |
JP3122622B2 (ja) | 除算装置 | |
JP2972326B2 (ja) | 平方根計算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080404 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090404 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090404 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100404 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |