JP3190826B2 - 積和演算装置 - Google Patents
積和演算装置Info
- Publication number
- JP3190826B2 JP3190826B2 JP16737996A JP16737996A JP3190826B2 JP 3190826 B2 JP3190826 B2 JP 3190826B2 JP 16737996 A JP16737996 A JP 16737996A JP 16737996 A JP16737996 A JP 16737996A JP 3190826 B2 JP3190826 B2 JP 3190826B2
- Authority
- JP
- Japan
- Prior art keywords
- partial
- product
- multiplier
- partial product
- multiplicand
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】本発明は積和演算処理装置に
関し、特に符号付きデジタル数の乗算用として一般的に
用いられる積和演算処理装置に関する。
関し、特に符号付きデジタル数の乗算用として一般的に
用いられる積和演算処理装置に関する。
【0002】
【従来の技術】積和演算は下記の数式で表される。 Y=C±(Ai×Bi)………………………………………………………(1) 式1においてAiは乗数、Biは被乗数、Cは被加減算
数、Yは積和演算結果をそれぞれ表す。通常、加減算の
どちらか一方を選択する。
数、Yは積和演算結果をそれぞれ表す。通常、加減算の
どちらか一方を選択する。
【0003】従来、上記積和演算を実現するため、乗算
を高速かつ少ない回路規模で行なうためブースコーデン
グを改良した改良ブースコーデングと呼ばれる手法を用
いている。この改良ブースコーデングは高速乗算手法と
して広く知れ渡っており、例えば飯塚肇,電子計算器
2,第31〜33頁,コロナ社,(平成2年)に記載さ
れている。改良ブースアルゴリズムでは乗数を偶数番目
の各桁iの前後i+1,i,i−1の3ビットづつに切
分けて3ビットの部分乗数PAiを求めその値によって
被乗数全体に対するシフト演算を行ない、上記部分乗数
と被乗数全体に対するシフト演算結果との部分積を求
め、部分積を相互に加算することにより乗算結果(Ai
×Bi)を求める。また、iは偶数なので、部分乗数P
Aiの数は乗数Aiの桁(ビット)数(または桁数−
1:奇数の場合)の1/2となる。
を高速かつ少ない回路規模で行なうためブースコーデン
グを改良した改良ブースコーデングと呼ばれる手法を用
いている。この改良ブースコーデングは高速乗算手法と
して広く知れ渡っており、例えば飯塚肇,電子計算器
2,第31〜33頁,コロナ社,(平成2年)に記載さ
れている。改良ブースアルゴリズムでは乗数を偶数番目
の各桁iの前後i+1,i,i−1の3ビットづつに切
分けて3ビットの部分乗数PAiを求めその値によって
被乗数全体に対するシフト演算を行ない、上記部分乗数
と被乗数全体に対するシフト演算結果との部分積を求
め、部分積を相互に加算することにより乗算結果(Ai
×Bi)を求める。また、iは偶数なので、部分乗数P
Aiの数は乗数Aiの桁(ビット)数(または桁数−
1:奇数の場合)の1/2となる。
【0004】上記演算を実行する従来の積和演算処理装
置をブロックで示す図3を参照すると、この従来の積和
演算処理装置は、乗数入力端子T1からの乗数Aiおよ
び被乗数入力端子T2からの被乗数Biの供給を受け部
分積を生成する部分積生成回路1と、部分積のそれぞれ
の符号ビットSBの供給を受けこれら符号の補正項CB
を生成する補正項生成回路2と、上記部分積を相互に加
算し乗算(Ai×Bi)を行うとともに被加減算数Cを
加算して積和演算結果Yを出力する加算器3とを備え
る。
置をブロックで示す図3を参照すると、この従来の積和
演算処理装置は、乗数入力端子T1からの乗数Aiおよ
び被乗数入力端子T2からの被乗数Biの供給を受け部
分積を生成する部分積生成回路1と、部分積のそれぞれ
の符号ビットSBの供給を受けこれら符号の補正項CB
を生成する補正項生成回路2と、上記部分積を相互に加
算し乗算(Ai×Bi)を行うとともに被加減算数Cを
加算して積和演算結果Yを出力する加算器3とを備え
る。
【0005】部分積生成回路1の構成をブロックで示す
図4を参照すると、この部分積生成回路1は、乗数Ai
の偶数番目の各桁を中心とする3ビットづつに切分けら
れた部分乗数PAiと被乗数Biとの部分積を生成する
とともにこれら部分積の各々の符号ビットSBを出力す
る部分乗数PAiと同数のブースデコーダ11を備え
る。
図4を参照すると、この部分積生成回路1は、乗数Ai
の偶数番目の各桁を中心とする3ビットづつに切分けら
れた部分乗数PAiと被乗数Biとの部分積を生成する
とともにこれら部分積の各々の符号ビットSBを出力す
る部分乗数PAiと同数のブースデコーダ11を備え
る。
【0006】次に、図3,図4を参照して、従来の積和
演算装置の動作について説明すると、ここでは、説明の
便宜上、乗数Aiと被乗数Biの各々が24ビットす
る。したがって、部分乗数PAiの数は12であり、ブ
ースデコーダ11の数は12個となる。まず、まず部分
積生成回路1は乗数入力端子T1から入力された乗数A
iと被乗数入力端子T2から入力された被乗数Biの供
給を受け、乗数Aiを偶数番目の各桁を中心とする3ビ
ットづつに切分けて部分乗数PAiを生成しこの部分乗
数PAiの各々と被乗数Biとを12個のブースデコー
ダ11の各々に供給し、これら12個のブースデコーダ
11を並列に動作させることにより改良ブースコーデン
グによる部分積を一度に生成する。
演算装置の動作について説明すると、ここでは、説明の
便宜上、乗数Aiと被乗数Biの各々が24ビットす
る。したがって、部分乗数PAiの数は12であり、ブ
ースデコーダ11の数は12個となる。まず、まず部分
積生成回路1は乗数入力端子T1から入力された乗数A
iと被乗数入力端子T2から入力された被乗数Biの供
給を受け、乗数Aiを偶数番目の各桁を中心とする3ビ
ットづつに切分けて部分乗数PAiを生成しこの部分乗
数PAiの各々と被乗数Biとを12個のブースデコー
ダ11の各々に供給し、これら12個のブースデコーダ
11を並列に動作させることにより改良ブースコーデン
グによる部分積を一度に生成する。
【0007】改良ブースコーデングによる乗算を次式で
示す。
示す。
【0008】
【0009】Sj は部分積の符号ビットを、Pj は部分
積をそれぞれ表す。
積をそれぞれ表す。
【0010】このとき、次式3は部分積生成回路の出力
の部分積を表す。
の部分積を表す。
【0011】
【0012】また、次式4は符号の補正項を表す。
【0013】
【0014】式4のj=0〜n/2−1に対応する各項
の和は公知の2の補数の性質を用いて次式5のように変
形できる。
の和は公知の2の補数の性質を用いて次式5のように変
形できる。
【0015】
【0016】式5よりNビット×Nビットの乗算におけ
る符号補正項は各部分積の最上位の符号ビットより判断
することができる。補正項生成回路2は部分積のそれぞ
れの符号ビットSBにより符号の補正項CBを生成す
る。部分積生成回路1が出力する部分積と、補数生成回
路2が生成する符号の補正値CBと、被加減算数入力端
子T4から供給される被加減算数Cの3種類のデータを
同時に加算し積和演算を行い出力端子T5に積和演算結
果Yを出力する。
る符号補正項は各部分積の最上位の符号ビットより判断
することができる。補正項生成回路2は部分積のそれぞ
れの符号ビットSBにより符号の補正項CBを生成す
る。部分積生成回路1が出力する部分積と、補数生成回
路2が生成する符号の補正値CBと、被加減算数入力端
子T4から供給される被加減算数Cの3種類のデータを
同時に加算し積和演算を行い出力端子T5に積和演算結
果Yを出力する。
【0017】従来の積和演算処理装置では、上記の数式
のままに回路を構成するとき、計算対象のビット数が大
きくなると部分積生成回路の回路規模が大きくなり、ま
た部分積の数も多くなるため、加算器の回路規模も大き
くなることにより、全体の回路規模が大きくなる。
のままに回路を構成するとき、計算対象のビット数が大
きくなると部分積生成回路の回路規模が大きくなり、ま
た部分積の数も多くなるため、加算器の回路規模も大き
くなることにより、全体の回路規模が大きくなる。
【0018】乗数Ai,被乗数Biをそれぞれ24ビッ
トとし、上記の計算式をそのまま単純に回路化した場合
には、回路規模は31440トランジスタとなる。
トとし、上記の計算式をそのまま単純に回路化した場合
には、回路規模は31440トランジスタとなる。
【0019】
【発明が解決しようとする課題】上述した従来の積和演
算装置は、計算対象のビット数が大きくなると部分積生
成回路の回路規模が大きくなり、また部分積の数も多く
なるため、加算器の回路規模も大きくなることにより、
全体の回路規模が大きくなるという欠点があった。
算装置は、計算対象のビット数が大きくなると部分積生
成回路の回路規模が大きくなり、また部分積の数も多く
なるため、加算器の回路規模も大きくなることにより、
全体の回路規模が大きくなるという欠点があった。
【0020】本発明の目的は、上記欠点を解消し、計算
対象のビット数が大きくなっても、回路規模の増大を抑
制できる積和演算装置を提供することにある。
対象のビット数が大きくなっても、回路規模の増大を抑
制できる積和演算装置を提供することにある。
【0021】
【課題を解決するための手段】本発明の積和演算装置
は、各々がNビットの乗数と被乗数との供給を受けこれ
ら乗数および被乗数の複数の部分積とこれら複数の部分
積の各々の符号ビットとを生成する部分積生成手段と、
前記符号ビットの供給を受け前記乗数および前記被乗数
の演算結果に対する符号補正を行うための符号補正デー
タを生成する補正項生成手段と、部分積と前記符号補正
データと被加減算数との供給を受け加算処理して積和演
算結果を出力する加算手段とを備える積和演算装置にお
いて、前記部分積生成手段が、前記乗数および前記被乗
数のいずれか一方のみを下位のN/2ビットの下位デー
タと上位のN/2ビットの上位データとに分割し、これ
ら下位データと上位データとの各々を2度にわたり順次
入力してそれぞれ対応する下位部分積および上位部分積
を生成するN/2ビット×Nビット構成の部分積演算回
路を備え、 前記下位部分積および上位部分積の各々の生
成毎にそれぞれ対応する下位符号補正データおよび上位
符号補正データを生成する前記補正項生成手段と、前記
加算手段で前記下位符号補正データと前記下位部分積と
前記被加減算数とを加算処理して生成した前記下位部分
積対応の下位加算結果を一時保持する2Nビット構成の
保持手段とを備え、前記加算手段が、前記保持手段の出
力する前記下位加算結果と、前記上位部分積と前記上位
符号補正データと前記被加減算数とを加算処理して生成
した上位加算結果とをさらに加算処理して前記積和演算
結果を生成することを特徴とするものである。
は、各々がNビットの乗数と被乗数との供給を受けこれ
ら乗数および被乗数の複数の部分積とこれら複数の部分
積の各々の符号ビットとを生成する部分積生成手段と、
前記符号ビットの供給を受け前記乗数および前記被乗数
の演算結果に対する符号補正を行うための符号補正デー
タを生成する補正項生成手段と、部分積と前記符号補正
データと被加減算数との供給を受け加算処理して積和演
算結果を出力する加算手段とを備える積和演算装置にお
いて、前記部分積生成手段が、前記乗数および前記被乗
数のいずれか一方のみを下位のN/2ビットの下位デー
タと上位のN/2ビットの上位データとに分割し、これ
ら下位データと上位データとの各々を2度にわたり順次
入力してそれぞれ対応する下位部分積および上位部分積
を生成するN/2ビット×Nビット構成の部分積演算回
路を備え、 前記下位部分積および上位部分積の各々の生
成毎にそれぞれ対応する下位符号補正データおよび上位
符号補正データを生成する前記補正項生成手段と、前記
加算手段で前記下位符号補正データと前記下位部分積と
前記被加減算数とを加算処理して生成した前記下位部分
積対応の下位加算結果を一時保持する2Nビット構成の
保持手段とを備え、前記加算手段が、前記保持手段の出
力する前記下位加算結果と、前記上位部分積と前記上位
符号補正データと前記被加減算数とを加算処理して生成
した上位加算結果とをさらに加算処理して前記積和演算
結果を生成することを特徴とするものである。
【0022】
【発明の実施の形態】次に、本発明の実施の形態を図3
と共通の構成要素は共通の文字を付して同様にブロック
で示す図1を参照すると、この図に示す本実施の形態の
積和演算装置は、説明の便宜上、従来と同様の乗数Ai
と被乗数Biの各々が24ビットの場合を示しており、
乗数Aiを上位12ビットのデータ列AU,下位12ビ
ットのデータ列ALとの2度に分けて供給を受けてそれ
ぞれに対応する2回の部分積生成を行う部分積生成回路
1Aと、2回の部分積生成の各回毎に補正項を生成する
補正項生成回路2Aと、2回の部分積生成の各回毎に加
算処理を行いそれぞれ出力SL,SOを出力する加算器
3Aと、1回目の加算器3Aの出力SLを保持するレジ
スタ4とを備える。
と共通の構成要素は共通の文字を付して同様にブロック
で示す図1を参照すると、この図に示す本実施の形態の
積和演算装置は、説明の便宜上、従来と同様の乗数Ai
と被乗数Biの各々が24ビットの場合を示しており、
乗数Aiを上位12ビットのデータ列AU,下位12ビ
ットのデータ列ALとの2度に分けて供給を受けてそれ
ぞれに対応する2回の部分積生成を行う部分積生成回路
1Aと、2回の部分積生成の各回毎に補正項を生成する
補正項生成回路2Aと、2回の部分積生成の各回毎に加
算処理を行いそれぞれ出力SL,SOを出力する加算器
3Aと、1回目の加算器3Aの出力SLを保持するレジ
スタ4とを備える。
【0023】部分積生成回路1Aの構成をブロックで示
す図2を参照すると、この部分積生成回路1Aは、乗数
Aiの偶数番目の各桁を中心とする3ビットづつに切分
けられた部分乗数PAiと被乗数Biとの部分積を生成
するとともにこれら部分積の各々の符号ビットSBを出
力する6個のブースデコーダ11〜16を備える。
す図2を参照すると、この部分積生成回路1Aは、乗数
Aiの偶数番目の各桁を中心とする3ビットづつに切分
けられた部分乗数PAiと被乗数Biとの部分積を生成
するとともにこれら部分積の各々の符号ビットSBを出
力する6個のブースデコーダ11〜16を備える。
【0024】次に、図1および図2を参照して本実施の
形態の動作について説明すると、まず、乗数入力端子T
1より乗数Aiを被乗数入力端子T2より被乗数Biを
それぞれ入力する。このとき、入力される乗数Aiの2
4ビットのデータ列を半分づつに、すなわち、上位12
ビットのデータ列上位乗数AUと下位12ビットのデー
タ列下位乗数ALとに分け、2度に分けて部分積生成回
路1Aに入力する。
形態の動作について説明すると、まず、乗数入力端子T
1より乗数Aiを被乗数入力端子T2より被乗数Biを
それぞれ入力する。このとき、入力される乗数Aiの2
4ビットのデータ列を半分づつに、すなわち、上位12
ビットのデータ列上位乗数AUと下位12ビットのデー
タ列下位乗数ALとに分け、2度に分けて部分積生成回
路1Aに入力する。
【0025】部分積生成回路1Aは上位,下位各乗数が
12ビットであるため、部分乗数PAiの数は6であ
り、対応して6個のブースデコーダ11〜16を並列に
動作させて部分積を生成する。1度目の演算で下位乗数
ALと被乗数Biとの演算を行い、その結果を加算器3
Aが被加算数入力端子T4から入力された48ビットの
被加減算数Cの下位24ビットのデータ列と、補正項生
成回路2Aにより生成された符号補正項CBとの加算を
行いその結果の演算値SLをレジスタ4に保持するとと
もに演算値SLを出力端子T5に出力する。
12ビットであるため、部分乗数PAiの数は6であ
り、対応して6個のブースデコーダ11〜16を並列に
動作させて部分積を生成する。1度目の演算で下位乗数
ALと被乗数Biとの演算を行い、その結果を加算器3
Aが被加算数入力端子T4から入力された48ビットの
被加減算数Cの下位24ビットのデータ列と、補正項生
成回路2Aにより生成された符号補正項CBとの加算を
行いその結果の演算値SLをレジスタ4に保持するとと
もに演算値SLを出力端子T5に出力する。
【0026】次に、2度目の演算で上位乗数AUと被乗
数Biとの演算を行い、加算器3Aがレジスタ4に保持
されている1回目の演算値SLと、補正項生成回路2A
により生成された符号補正項CBと、被加減算数Cの上
位24ビットのデータ列とともに加算を行い、積和演算
の出力Yを求める。
数Biとの演算を行い、加算器3Aがレジスタ4に保持
されている1回目の演算値SLと、補正項生成回路2A
により生成された符号補正項CBと、被加減算数Cの上
位24ビットのデータ列とともに加算を行い、積和演算
の出力Yを求める。
【0027】加算器3では、上位乗数AUと被乗数Bi
との乗算結果を上位に12ビットシフトさせて加算を行
う。また、2回目の演算で加算する符号補正値CBは2
4ビット×24ビットの演算を行うときに用いられる符
号補正値と同一になるように補正値を修正して加算す
る。これは式5の符号補正項において常に2nを加算す
るためである。すなわち、本実施の形態の場合、上位乗
数AUの加算時には236(=26+12)が余分につねに加
算され、337(=2 (n+1)+12 )が加算されないため、2
4ビット×24ビットの計算値として正しく計算されな
い。ただし、下位12ビット×24ビットの演算時は2
4ビット×24ビットの演算時と同一符号補正項が得ら
れるためそのまま加算する。
との乗算結果を上位に12ビットシフトさせて加算を行
う。また、2回目の演算で加算する符号補正値CBは2
4ビット×24ビットの演算を行うときに用いられる符
号補正値と同一になるように補正値を修正して加算す
る。これは式5の符号補正項において常に2nを加算す
るためである。すなわち、本実施の形態の場合、上位乗
数AUの加算時には236(=26+12)が余分につねに加
算され、337(=2 (n+1)+12 )が加算されないため、2
4ビット×24ビットの計算値として正しく計算されな
い。ただし、下位12ビット×24ビットの演算時は2
4ビット×24ビットの演算時と同一符号補正項が得ら
れるためそのまま加算する。
【0028】このように、本実施の形態の積和演算処理
装置は、部分積生成回路の規模が約半分になり一度に計
算を行う部分積の数が半減するため、加算器の規模が従
来の半分程度で済むので、24ビット×24ビットの構
成で従来の約31440トランジスタの規模に対し本実
施の形態では約17270トランジスタとなり約45%
の回路規模縮小になる。
装置は、部分積生成回路の規模が約半分になり一度に計
算を行う部分積の数が半減するため、加算器の規模が従
来の半分程度で済むので、24ビット×24ビットの構
成で従来の約31440トランジスタの規模に対し本実
施の形態では約17270トランジスタとなり約45%
の回路規模縮小になる。
【0029】また、部分積の加算を2回に分けることに
より演算量が半減し演算スピードが向上するので、動作
周波数が向上する。動作周波数は従来より約30%の向
上が見込まれる。
より演算量が半減し演算スピードが向上するので、動作
周波数が向上する。動作周波数は従来より約30%の向
上が見込まれる。
【0030】
【発明の効果】以上説明したように、本発明の積和演算
装置は、部分積生成手段が、N/2ビット×Nビット構
成の部分積演算回路を備え、N/2ビットずつの下位デ
ータと上位データとの各々の順次の供給を受けてそれぞ
れ対応の下位部分積および上位部分積を生成し、下位加
算結果を一時保持する2Nビット構成の保持手段を備
え、この加算手段が、下位加算結果と上位部分積対応の
上位加算結果とを加算処理して積和演算結果を生成する
ことにより、部分積生成回路の規模が約半分になり一度
に計算を行う部分積の数が半減するため、加算器の規模
が従来の半分程度で済むので、回路規模を約半分に縮小
できるという効果がある。
装置は、部分積生成手段が、N/2ビット×Nビット構
成の部分積演算回路を備え、N/2ビットずつの下位デ
ータと上位データとの各々の順次の供給を受けてそれぞ
れ対応の下位部分積および上位部分積を生成し、下位加
算結果を一時保持する2Nビット構成の保持手段を備
え、この加算手段が、下位加算結果と上位部分積対応の
上位加算結果とを加算処理して積和演算結果を生成する
ことにより、部分積生成回路の規模が約半分になり一度
に計算を行う部分積の数が半減するため、加算器の規模
が従来の半分程度で済むので、回路規模を約半分に縮小
できるという効果がある。
【0031】また、部分積の加算を2回に分けることに
より演算量が半減し演算スピードが向上するので、動作
周波数が向上するという効果がある。
より演算量が半減し演算スピードが向上するので、動作
周波数が向上するという効果がある。
【図1】本発明の積和演算装置の一実施の形態を示すブ
ロック図である。
ロック図である。
【図2】図1の部分積生成回路の構成を示すブロック図
である。
である。
【図3】従来の積和演算装置の一例を示すブロック図で
ある。
ある。
【図4】図3の部分積生成回路の構成を示すブロック図
である。
である。
1,1A 部分積生成回路 2,2A 補正項生成回路 3,3A 加算器 4 レジスタ 11〜16 ブースデコーダ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/00 JICSTファイル(JOIS)
Claims (3)
- 【請求項1】 各々がNビットの乗数と被乗数との供給
を受けこれら乗数および被乗数の複数の部分積とこれら
複数の部分積の各々の符号ビットとを生成する部分積生
成手段と、前記符号ビットの供給を受け前記乗数および
前記被乗数の演算結果に対する符号補正を行うための符
号補正データを生成する補正項生成手段と、部分積と前
記符号補正データと被加減算数との供給を受け加算処理
して積和演算結果を出力する加算手段とを備える積和演
算装置において、 前記部分積生成手段が、前記乗数および前記被乗数のい
ずれか一方のみを下位のN/2ビットの下位データと上
位のN/2ビットの上位データとに分割し、これら下位
データと上位データとの各々を2度にわたり順次入力し
てそれぞれ対応する下位部分積および上位部分積を生成
するN/2ビット×Nビット構成の部分積演算回路を備
え、前記下位部分積および上位部分積の各々の生成毎にそれ
ぞれ対応する下位符号補正データおよび上位符号補正デ
ータを生成する前記補正項生成手段と、 前記加算手段で前記下位符号補正データと前記下位部分
積と前記被加減算数とを加算処理して生成した前記下位
部分積対応の下位加算結果を一時保持する2Nビット構
成の保持手段とを備え、 前記加算手段が、前記保持手段の出力する前記下位加算
結果と、前記上位部分積と前記上位符号補正データと前
記被加減算数とを加算処理して生成した上位加算結果と
をさらに加算処理して前記積和演算結果を生成すること
を特徴とする積和演算装置。 - 【請求項2】 前記部分積生成回路が、前記乗数の各偶
数桁とその前後の桁とからなる複数の部分乗数を生成し
これら複数の部分乗数の各々の値にそれぞれ対応して前
記被乗数全体に対するシフト演算を行ない前記部分乗数
と前記被乗数全体に対するシフト演算結果との部分積を
求め、前記部分積を相互に加算する改良ブースコーデン
グを用いることを特徴とする請求項1記載の積和演算装
置。 - 【請求項3】 前記部分積生成手段が、前記部分積演算
回路として前記乗数の各偶数桁とその前後の桁とからな
る複数の部分乗数を生成しこれら複数の部分乗数の各々
の値にそれぞれ対応して前記被乗数全体に対するシフト
演算を行ない 前記部分乗数と前記被乗数全体に対するシ
フト演算結果との部分積を求め、前記部分積を相互に加
算する改良ブースコーデングを用いるN/4個のブース
デコーダを備えることを特徴とする請求項1記載の積和
演算装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16737996A JP3190826B2 (ja) | 1996-06-27 | 1996-06-27 | 積和演算装置 |
US08/882,490 US6004022A (en) | 1996-06-27 | 1997-06-25 | Product sum operation apparatus |
EP97110410A EP0817004A1 (en) | 1996-06-27 | 1997-06-25 | Product sum operation apparatus |
KR1019970031020A KR100291978B1 (ko) | 1996-06-27 | 1997-06-27 | 적합연산장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16737996A JP3190826B2 (ja) | 1996-06-27 | 1996-06-27 | 積和演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1011418A JPH1011418A (ja) | 1998-01-16 |
JP3190826B2 true JP3190826B2 (ja) | 2001-07-23 |
Family
ID=15848632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16737996A Expired - Fee Related JP3190826B2 (ja) | 1996-06-27 | 1996-06-27 | 積和演算装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6004022A (ja) |
EP (1) | EP0817004A1 (ja) |
JP (1) | JP3190826B2 (ja) |
KR (1) | KR100291978B1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019805B1 (en) * | 2003-12-09 | 2011-09-13 | Globalfoundries Inc. | Apparatus and method for multiple pass extended precision floating point multiplication |
US7739324B1 (en) | 2006-03-22 | 2010-06-15 | Cadence Design Systems, Inc. | Timing driven synthesis of sum-of-product functional blocks |
DE102014222825A1 (de) * | 2014-11-07 | 2016-05-12 | Ihp Gmbh - Innovations For High Performance Microelectronics / Leibniz-Institut Für Innovative Mikroelektronik | Vorrichtung und Verfahren zur Multiplikation zur Erschwerung von Seitenkanalangriffen |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI894021A (fi) * | 1988-08-31 | 1990-03-01 | Fujitsu Ltd | Neuronstruktur. |
US5144576A (en) * | 1989-09-05 | 1992-09-01 | Cyrix Corporation | Signed digit multiplier |
US5268858A (en) * | 1991-08-30 | 1993-12-07 | Cyrix Corporation | Method and apparatus for negating an operand |
EP0530936B1 (en) * | 1991-09-05 | 2000-05-17 | Cyrix Corporation | Method and apparatus for performing prescaled division |
US5424969A (en) * | 1992-02-05 | 1995-06-13 | Fujitsu Limited | Product-sum operation unit |
JPH05215526A (ja) * | 1992-02-06 | 1993-08-24 | Hitachi Ltd | 表面形状測定装置 |
JPH0612229A (ja) * | 1992-06-10 | 1994-01-21 | Nec Corp | 乗累算回路 |
-
1996
- 1996-06-27 JP JP16737996A patent/JP3190826B2/ja not_active Expired - Fee Related
-
1997
- 1997-06-25 EP EP97110410A patent/EP0817004A1/en not_active Withdrawn
- 1997-06-25 US US08/882,490 patent/US6004022A/en not_active Expired - Fee Related
- 1997-06-27 KR KR1019970031020A patent/KR100291978B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR980004017A (ko) | 1998-03-30 |
JPH1011418A (ja) | 1998-01-16 |
EP0817004A1 (en) | 1998-01-07 |
US6004022A (en) | 1999-12-21 |
KR100291978B1 (ko) | 2001-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000259394A (ja) | 浮動小数点乗算器 | |
JP2970231B2 (ja) | 並列乗算回路 | |
US5103419A (en) | Circuit for calculating the sum of products of data | |
GB2262637A (en) | Padding scheme for optimized multiplication. | |
JP3190826B2 (ja) | 積和演算装置 | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
US4190894A (en) | High speed parallel multiplication apparatus with single-step summand reduction | |
JPH08314697A (ja) | 符号付き/符号なし数兼用乗算器 | |
JP3526135B2 (ja) | ディジタル信号処理装置 | |
JPS58137045A (ja) | 並列乗算器 | |
JP3279462B2 (ja) | ディジタル乗算器、ディジタルトランスバーサル型等化器及びディジタル積和演算回路 | |
JPH0793134A (ja) | 乗算器 | |
JP3071607B2 (ja) | 乗算回路 | |
JP3612950B2 (ja) | 演算装置およびその方法 | |
JP3130797B2 (ja) | 積和演算処理方法およびその装置 | |
JP2777265B2 (ja) | 高基数開平演算装置 | |
JP3106767B2 (ja) | 乗算方法及び乗算回路 | |
JP3198868B2 (ja) | 乗算処理装置 | |
JP3855491B2 (ja) | 乗算器 | |
JPH0635673A (ja) | 乗算方法及び回路 | |
JP4042215B2 (ja) | 演算処理装置およびその方法 | |
JP3461252B2 (ja) | 乗算方法 | |
KR100422345B1 (ko) | 난수 발생기 | |
JP3456450B2 (ja) | 固定小数点乗算器および方法 | |
JP2629736B2 (ja) | 積和演算回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010508 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |