JPH0793134A - 乗算器 - Google Patents

乗算器

Info

Publication number
JPH0793134A
JPH0793134A JP5258937A JP25893793A JPH0793134A JP H0793134 A JPH0793134 A JP H0793134A JP 5258937 A JP5258937 A JP 5258937A JP 25893793 A JP25893793 A JP 25893793A JP H0793134 A JPH0793134 A JP H0793134A
Authority
JP
Japan
Prior art keywords
bit
multiplier
partial product
added
bits
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
JP5258937A
Other languages
English (en)
Inventor
Osamu Kuboniwa
修 久保庭
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP5258937A priority Critical patent/JPH0793134A/ja
Priority to US08/311,185 priority patent/US5485413A/en
Publication of JPH0793134A publication Critical patent/JPH0793134A/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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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/5338Reduction 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

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)

Abstract

(57)【要約】 【目的】 回路規模および消費電力が小さく、演算速度
の速い乗算器を提供する。 【構成】 係数生成回路12により2次のブースのアル
ゴリズムに基づき乗数11から各2の次数に対応する係
数が生成され、これに基づき部分積生成回路13で被乗
数10の部分積が算出され、加算回路14によりそれぞ
れ正の数に変換される。次に各部分積に対する正の数へ
の変換において「1」加算されたビットの最下位ビット
に対して加算器22により補正ビット「1」(20)が
加算され、加算器21により2の次数に対応した部分積
の和すなわち乗算結果23が求められる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、乗算器に関し、特にL
SIなどに組み込まれ入力データを高速で乗算する乗算
器に関するものである。
【0002】
【従来の技術】従来、この種の高速乗算器として、ディ
ジタルフィルタなどの演算方法として用いられるブース
のアルゴリズムを利用したものがある(例えば、「ディ
ジタル信号処理」145頁.電子通信学会刊行)。
【0003】次に、ブースのアルゴリズムを用いた乗算
方法について説明する。今、被乗数をX、乗数をYと
し、被乗数Xと乗数Yとの積をUとすると、まず、乗数
Yを2の補数表示の乗数符号列で表現し(1a)、これ
を差分符号列に置き換える(1b,1c)。
【0004】 Y=−y0 ×2m +y1 ×2m-1 +y2 ×2m-2 + …+ym-1 ×21 +ym ×20 ‥‥(1a) =(y1 −y0 )×2m +(y2 −y1 )×2m-1 + …+(ym+1 −ym )×20 ‥‥(1b) ここで、ym+1 =0より Y=Σ(yi+1 −yi )×2m-i (i=0・・m) ‥‥(1c)
【0005】従って、積Uは、 U=X×Y =Σ(yi+1 −yi )×X×2m-i (i=0・・m) ‥‥(2) と表すことができ、以下のように符号(Yi ,Yi+1
によって、被乗数Xの加算、シフト加算を繰り返すこと
により乗算が実現される。
【0006】 Yii+1 演算 0 0 0 0 1 +X 1 0 −X 1 1 0
【0007】さらに、式(2)を2項ずつくくると、 U=X×Y =Σ(y2i+2+y2i+1−2×y2i)×X×2m-2i-1 (i=0・・m/2:整数) ‥‥(3) と表すことができ、以下のように符号(Y2i,Y2i+1
2i+2)によって、被乗数X,2Xの加減算を行うこと
により、2次のブースのアルゴリズムに基づいた2の補
数表示の乗算が実現される。
【0008】 Y2i2i+12i+2 演算 0 0 0 0 0 0 1 +X 0 1 0 +X 0 1 1 +2X 1 0 0 −2X 1 0 1 −X 1 1 0 −X 1 1 1 0
【0009】ここで、被乗数Xおよび乗数Yが、それぞ
れ2進数ではMビットおよびNビットの数であるとする
と、各2m-2i-1の次数に関する係数と乗数Xとの積すな
わち部分積が正である場合には、最大でも2の補数表示
はM+1ビットであるが、負である場合には、M+N−
1ビット目まで延びてしまう。
【0010】例えば、被乗数X=15、乗数Y=55と
すると、積Uは、式(3)より、 U=X×Y =15×55 =15×{(−1)×20 +2×22 +(−1)×24
+1×26 } =−15+120−240+960 =825 である。
【0011】これを2進数で表現すると、各2m-2i-1
次数に関する部分積は、 となり、2m-2i-1の次数が低いほど負の数の時のビット
が上位ビット側に延長され、これに応じて多数の加算器
が必要とされる。
【0012】ここで、このようなビットの延長を防止す
るため、中間演算結果として、2の補数表示のMビット
目とM+1ビット目、すなわち上位2ビットにそれぞれ
「1」を加算して、負の数を正の数に変換すると、 010101 ‥‥ −15+ 96= 81 110001000 ‥‥ 120+ 384= 504 10100010000 ‥‥ −240+1536=1296 +)1101111000000 ‥‥ 960+6144=7104 となる。
【0013】従って、各部分積が全て正の数に変わるた
めにビットが上位ビット方向に延びることがなくなり、
部分積算出のための加算器の数を節約することができ
る。
【0014】次に、以上のような正の数への変換を行っ
た各部分積の和を求める場合、前述の各部分積に対する
正の数への変換として各部分積の上位2ビットにのみ
「1」を加算したため、これらの和は実際の積とは異な
るものとなり、和の算出に際し前述の正の数への変換に
対する補正を行う必要がある。
【0015】ただし、前述の部分積に対する正の数への
変換として各部分積の上位2ビットに「1」を加算する
ことは、変換後の部分積の和すなわち積において、下位
からMビット目以上のすべてのビットに「1」を加算し
たことになり、これ以外のビットすなわちM−1ビット
目以下のすべてのビットに「1]を加算し、最後に和の
最下位桁に「1」を加算することにより、和のすべての
ビットに加算した「1」をキャリーに追い出すことがで
きる。
【0016】図3は、従来の乗算器における正の数に変
換後の部分積の和を求める部分の構成図であり、P00
〜P06,P10〜P16,P20〜P26,P30〜
P36は、正の数に変換された部分積であり、P00,
P10,P20,P30は最下位ビット、P06,P1
6,P26,P36は最上位ビットである。
【0017】また、53は各1ビット入力を加算し結果
Sと桁上がりC(キャリー)を出力する加算器、54は
部分積の和すなわち乗数と被乗数との乗算結果、52は
補正により発生する和54のキャリー、50,51は補
正のために加算される補正ビット「1」である。
【0018】今、正の数へ変換された部分積P00〜P
06,P10〜P16,P20〜P26,P30〜P3
6は、ブースの2次のアルゴリズムに基づき2の次数に
対応させて上位2ビットずつずらして入力される。
【0019】ここで、正の数への変換により「1」が加
算されたビットは、上位よりP36,P35,P26,
P25,P16,P15,P06,P05であるから、
これ以外のビットすなわちP04〜P00に対して補正
ビット「1」(50)が加算され、和が求められる。
【0020】なお、変換前の部分積が負である場合に
は、2次のブースのアルゴリズムに基づき、それぞれ正
の数に変換後の部分積の最下位ビットP00,P10,
P20,P30に対して、P0負,P1負,P2負,P
3負として「1」が加算される。
【0021】次に、このように求めた和の最下位ビット
に対して補正ビット「1」(51)が加算されて前述の
正の数への変換に対する補正が行われ、キャリー52が
発生した場合にはこれを無視することにより、各部分積
には何も加算していないものと同等となり、乗数と被乗
数との乗算結果54が出力されることになる。
【0022】
【発明が解決しようとする課題】従って、このような従
来の乗算器では、部分積に対する正の数への変換に対す
る補正のために、多数の加算器が必要となり、LSI全
体に占める乗算器の回路面積が増大するという問題があ
り、また消費電力の増加や演算速度の低下を招く原因と
なっていた。
【0023】本発明はこのような課題を解決するための
ものであり、回路規模および消費電力が小さく、演算速
度の速い乗算器を提供することを目的としている。
【0024】
【課題を解決するための手段】このような目的を達成す
るために、本発明による乗算器は、各部分積の最下位ビ
ットからMビット目とM+1ビット目の各ビットに
「1」を加算する第1の加算手段と、乗算結果の最下位
ビットからMビット目に相当するビットに「1」を加算
する第2の加算手段と、第1の加算手段による加算結果
と第2の加算手段とを2の次数に対応させて加算する第
3の加算手段とを備えるものである。
【0025】
【作用】従って、ブースのアルゴリズムに基づき乗数を
構成する所定のビットから2の次数に対応する複数の係
数が生成され、部分積として各係数とM(Mは正整数)
ビットの被乗数との積が複数算出され、第1の加算手段
によりこれら各部分積の最下位ビットからMビット目と
M+1ビット目の各ビットに「1」が加算され、第2の
加算手段により乗算結果の最下位ビットからMビット目
に相当するビットに「1」が加算され、第3の加算手段
によりこれら第1および第2の加算手段による加算結果
が2の次数に対応して加算され、乗算結果として出力さ
れる。
【0026】
【実施例】次に、本発明について図面を参照して説明す
る。図1,2は本発明の一実施例として乗数Yが8ビッ
ト、被乗数Xが6ビットの場合の、2次のブースのアル
ゴリズムを用いた乗算器の構成図であり、図1は前述の
正の数に変換された部分積を算出する部分、図2は乗算
結果を算出する部分を示している。
【0027】図1において、10は2の補数表示された
被乗数、11は2の補数表示された乗数、12は2次の
ブースのアルゴリズムに基づく係数生成回路、13は係
数生成回路12の出力に基づき被乗数10の部分積を算
出する部分積生成回路、14は部分積生成回路13で求
めた部分積の上位2ビットすなわち6ビット目と7ビッ
ト目にそれぞれ「1」を加算する加算回路(第1の加算
手段)、15は加算回路14により正の数に補正された
部分積(P00〜P06,P10〜P16,P20〜P
26,P30〜P36)である。
【0028】また図2において、22は補正のための補
正ビット「1」(20)を加算する加算器(第2の加算
手段)、21は正の数に変換された部分積15を2の次
数に対応して加算する加算器(第3の加算手段)、23
は部分積の和すなわち乗数11と被乗数10との乗算結
果、24は部分積の正の数への変換に対する補正により
発生する乗算結果23のキャリーである。
【0029】次に本発明の動作を図1,2を参照して説
明する。図1において、2の補数表示された乗数11
(y0 〜y7 )より、係数生成回路12により2次のブ
ースのアルゴリズムに基づき各2の次数に対応する係数
が生成され、この係数に基づき部分積生成回路13で被
乗数10(x0 〜x5 )が0倍、±1倍、または±2倍
されて部分積が算出され、加算回路14によりそれぞれ
正の数に補正された後、部分積15(P00〜P06,
P10〜P16,P20〜P26,P30〜P36)が
出力される。
【0030】このように正の数に補正された部分積15
(P00〜P06,P10〜P16,P20〜P26,
P30〜P36)は、図2において、2次のブースのア
ルゴリズムに基づき2の次数に対応させて2ビットずつ
ずらして入力される。
【0031】ここで、部分積に対する正の数への変換に
より「1」が加算されたビットは、上位よりP36,P
35,P26,P25,P16,P15,P06,P0
5であるから、これらビットの最下位ビットすなわちP
05に対して補正ビット「1」(20)が加算され、和
が求められる。
【0032】すなわち、部分積の正の数への変換に対す
る補正の方法として、従来のように正の数への変換によ
り「1」を加算していないすべてのビットに「1」を加
算した後、和の最下位ビットに「1」を加算してキャリ
ー24への追い出しを行うのではなく、正の数への変換
において「1」が加算されたビットのみを補正の対象と
して、その対象ビットの最下位ビットに「1」を加算す
ることにより、各ビットに加算された「1」をキャリー
24へ追い出すようにしたものである。
【0033】従って、この場合にはP05に補正のため
の補正ビット「1」(20)が加算器22により加算さ
れて前述の正の数への変換に対する補正が行われた後、
正の数に変換された各部分積15が加算器21により加
算され、キャリー24が発生した場合にはこれを無視す
ることにより、各部分積には何も加算していないものと
なり、乗数11と被乗数10との乗算結果23が出力さ
れることになる。
【0034】なお、変換前の部分積が負である場合すな
わち被乗数10に対して−1倍または−2倍した場合に
は、2次のブースのアルゴリズムに基づき、それぞれ正
の数に変換後の部分積の最下位ビットP00,P10,
P20,P30に対して、P0負,P1負,P2負,P
3負として「1」が加算される。
【0035】以上の説明において、2次のブースのアル
ゴリズムを用いた場合の乗算器について説明したが、異
なる次数の乗算器、例えば1次,3次などの乗算器につ
いても、さらに乗数、被乗数の桁数が異なる場合でも、
本発明を同様に実施でき、同様の効果が得られる。
【0036】
【発明の効果】以上説明したように、本発明は、各部分
積に対する正の数への変換において「1」加算されたビ
ットの最下位ビットに「1」を加算する加算器を設け
て、正の数への変換に対する補正を行うようにしたもの
である。
【0037】従って、ブースのアルゴリズムを用いた乗
算器において、回路規模および消費電力を小さくするこ
とが可能となり、演算速度をより高速化できるという格
別な効果を奏するものである。
【図面の簡単な説明】
【図1】本発明の一実施例による乗算器の部分積算出部
分の構成図である。
【図2】本発明の一実施例による乗算器の乗算結果算出
部分の構成図である。
【図3】従来の乗算器の乗算結果算出部分の構成図であ
る。
【符号の説明】
10 被乗数 11 乗数 12 係数生成回路 13 部分積生成回路 14 加算回路 15 部分積 20 補正ビット「1」 21,22 加算器 23 乗算結果 24 キャリー
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年6月15日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0024
【補正方法】変更
【補正内容】
【0024】
【課題を解決するための手段】このような目的を達成す
るために、本発明による乗算器は、各部分積の最下位ビ
ットからMビット目とM+1ビット目の各ビットに
「1」を加算する第1の加算手段と、乗算結果の最下位
ビットからMビット目に相当するビットに「1」を加算
する第2の加算手段と、第1の加算手段による加算結果
と第2の加算手段とを2の次数に対応させて加算する第
3の加算手段とを備えるものである。また、2の補数表
示された乗数により、2次のブースのアルゴリズムに基
づいて2の次数に対応する係数を生成する手段と、この
係数に基づいて被乗数が0倍,±1倍または±2倍され
て部分積が算出されたものを、さらに、部分積の最下位
ビットからMビット目とM+1ビット目の各ビットに
「1」を加算して正の数に補正する手段と、この正の数
に補正された部分積を2次のブースのアルゴリズムに基
づいて2の次数に対応させて2ビットずつずらせて配置
する手段と、このように配置された部分積の最下位ビッ
トからMビット目に相当するビットに「1」を加算する
手段と、各部分積を加算して被乗数と乗数との乗算を求
める手段とを備えるものである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ブースのアルゴリズムに基づき乗数を構
    成する所定のビットから2の次数に対応する複数の係数
    を生成し、部分積として前記各係数とM(Mは正整数)
    ビットの被乗数との積を複数算出し、これら部分積を2
    の次数に対応させて加算することにより乗算結果を算出
    する乗算器において、 前記各部分積の最下位ビットからMビット目とM+1ビ
    ット目の各ビットに「1」を加算する第1の加算手段
    と、 前記乗算結果の最下位ビットからMビット目に相当する
    ビットに「1」を加算する第2の加算手段と、 前記第1の加算手段による加算結果と前記第2の加算手
    段とを2の次数に対応させて加算する第3の加算手段と
    を備えることを特徴とする乗算器。
JP5258937A 1993-09-24 1993-09-24 乗算器 Pending JPH0793134A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5258937A JPH0793134A (ja) 1993-09-24 1993-09-24 乗算器
US08/311,185 US5485413A (en) 1993-09-24 1994-09-23 Multiplier utilizing the booth algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5258937A JPH0793134A (ja) 1993-09-24 1993-09-24 乗算器

Publications (1)

Publication Number Publication Date
JPH0793134A true JPH0793134A (ja) 1995-04-07

Family

ID=17327118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5258937A Pending JPH0793134A (ja) 1993-09-24 1993-09-24 乗算器

Country Status (2)

Country Link
US (1) US5485413A (ja)
JP (1) JPH0793134A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5677863A (en) * 1996-04-04 1997-10-14 Hewlett-Packard Co. Method of performing operand increment in a booth recoded multiply array
US6167422A (en) * 1998-06-19 2000-12-26 Ati International Srl, Beaumont House Booth multiplication structure which selectively integrates the function of either of incrementing or negating with the function of booth multiplication
US6173304B1 (en) * 1998-08-20 2001-01-09 Lucent Technologies, Inc. Joint optimization of modified-booth encoder and partial product generator
TW479193B (en) * 2000-11-29 2002-03-11 Ind Tech Res Inst Multiplier with low power consumption and the operation method thereof
TWI289992B (en) * 2003-12-03 2007-11-11 Via Tech Inc Method and device for sharing MPEG frame buffers
CN102270110B (zh) * 2011-06-30 2013-06-12 西安电子科技大学 一种改进的基16Booth编码器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116764A (ja) * 1987-10-29 1989-05-09 Ricoh Co Ltd 累積加算器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268858A (en) * 1991-08-30 1993-12-07 Cyrix Corporation Method and apparatus for negating an operand

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116764A (ja) * 1987-10-29 1989-05-09 Ricoh Co Ltd 累積加算器

Also Published As

Publication number Publication date
US5485413A (en) 1996-01-16

Similar Documents

Publication Publication Date Title
Farooqui et al. General data-path organization of a MAC unit for VLSI implementation of DSP processors
EP0613082B1 (en) 4:2 adder and multiplier circuit employing the same
US5506799A (en) Booth array multiplying circuit having carry correction
US4866656A (en) High-speed binary and decimal arithmetic logic unit
US7315163B2 (en) Arithmetic unit
JPH05233228A (ja) 浮動小数点演算装置およびその演算方法
EP0442356A2 (en) Weighted-delay column adder and method of organizing same
JPH0520030A (ja) 跳躍配列と修正形ワラストリーとを使用する並列乗算器
US20080098057A1 (en) Multiplication Apparatus
JP2608165B2 (ja) ディジタル信号処理システムにおける実時間2の補数コードの乗算方法及び装置
US4677583A (en) Apparatus for decimal multiplication
JPH0793134A (ja) 乗算器
US6546411B1 (en) High-speed radix 100 parallel adder
US4823300A (en) Performing binary multiplication using minimal path algorithm
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US6684236B1 (en) System of and method for efficiently performing computations through extended booth encoding of the operands thereto
JP3190826B2 (ja) 積和演算装置
JPH11126157A (ja) 乗算方法および乗算回路
KR950001055B1 (ko) 승산방법 및 회로
JP2645422B2 (ja) 浮動小数点演算処理装置
JP3071607B2 (ja) 乗算回路
Hu et al. Comparison of constant coefficient multipliers for CSD and booth recoding
US5923888A (en) Multiplier for the multiplication of at least two figures in an original format
Tamilselvan et al. An efficient MAC design for image processing application
JP3803653B2 (ja) 乗算処理装置