CN1136680A - 有选择地执行无符号数值乘法或有符号数值乘法的乘法器 - Google Patents

有选择地执行无符号数值乘法或有符号数值乘法的乘法器 Download PDF

Info

Publication number
CN1136680A
CN1136680A CN95120595A CN95120595A CN1136680A CN 1136680 A CN1136680 A CN 1136680A CN 95120595 A CN95120595 A CN 95120595A CN 95120595 A CN95120595 A CN 95120595A CN 1136680 A CN1136680 A CN 1136680A
Authority
CN
China
Prior art keywords
multiplication
partial product
multiplier
operand
unit
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.)
Granted
Application number
CN95120595A
Other languages
English (en)
Other versions
CN1086816C (zh
Inventor
金载润
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1136680A publication Critical patent/CN1136680A/zh
Application granted granted Critical
Publication of CN1086816C publication Critical patent/CN1086816C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • 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

利用改进的布斯算法有选择地执行无符号数值乘法或有符号数值乘法来进行乘法操作的乘法器。它包括给各个输入端提供扩展位以便在用二进制补码格式表示的有符号数值乘法中执行无符号数值乘法的选择单元,还包括执行被符号位增强的符号数字操作的部分积生成器。它最好还包括产生和传送先行进位的先行进位加法器。

Description

有选择地执行无符号数值乘法 或有符号数值乘法的乘法器
本发明涉及乘法器,特别涉及利用改进的布斯(Boolh)算法有选择地执行无符号数值乘法或有符号数值乘法来进行乘法操作的乘法器。
乘法是处理图象数据的数字信号处理(此后称为DSP)操作中的主要操作。
在设计乘法器时,例如中央处理单元(此后称为CPU)的算术逻辑单元(此后称为ALU)这样的操作单元需要能够有选择地进行无符号数值乘法或有符号数值乘法的乘法器。
在ALU中实现无符号数值相乘或有符号数值相乘的方法是既使用无符号数值乘法器又使用有符号数值乘法器。但是,因为使用了两个乘法器,所以这一方法需要更多的电路面积。
在ALU中实现无符号数值相乘或有符号数值相乘的另一方法是用附加电路来补偿有符号数值积和无符号数值积之间的差。当某一操作数的最高有效位是“1”时,这一方法将剩余的位-另一操作数的最高有效位除外-与最后积相加。但是,用这一方法难于得到被认为是阵列乘法器的优点的方形布局。
1990年8月24日授权的题为“改进二进制补码乘法器来执行无符号数值乘法的方法和装置”的美国专利5,153,850描述了执行无符号数值乘法或二进制补码乘法的乘法器。该美国专利所述的乘法器有选择地执行二进制补码乘法或无符号数值乘法,用附加电路校正二进制补码积,然后获得无符号数值积。
关于乘法的算法,Macro Annaratone所著的《数字CMOS电路设计》(211-221页)描述了改进的布斯算法。
该改进的布斯算法是一种记录算法,它将第一操作数划分为预定的位对,在执行了相应于第二操作数的各个位对的操作后得到了作为中间结果的部分积,求和生成的相应于另一操作数的各个位对的部分积,利用两个操作数相乘来得到最后结果。此外,改进的布斯算法认为“0”对乘法没有作用,提高了乘法的操作速度。
图1是利用布斯算法的普通二进制补码乘法器的方框图。
如图1所示,一般的二进制补码乘法器包含编码器1,符号传递单元2,移位和反相单元3,第一至第三部分乘积发生器4、5和6,以及先行进位加法器7。图1的乘法器是8位×8位乘法器,“A”被定义为8位的被乘数,“B”被定义为8位的乘数。
操作数“B”输入编码器1。编码器1编码操作数“B”的位对,并形成相应于位对的再编码数字组(即-2x,-1x,0x,+1x,+2x)。
再编码数字组的每一再编码数字分别传送给单元3以及三个部分乘积发生器4、5和6中的一个。单元3以及三个部分乘积发生器4、5和6相对于操作数“A”执行相应的操作。
得到的结果通过先行进位加法器7向外输出。符号传递单元2的用途是扩展被乘数的符号位。
这种乘法器执行被表示为二进制补码的有符号数值乘法,但不能执行无符号数值乘法。
本发明的目的是提供利用改进的布斯算法有选择地执行无符号数值乘法或有符号数值乘法来进行乘法操作的乘法器,该乘法器能够解决已有技术中的问题。
为了实现这一目的,本发明包括:接收第一操作数、编码该操作数的位对并形成相应于每一位对的再编码数字的编码器;在对第二操作数执行移位操作和反相操作后利用来自编码器的再编码数字形成中间结果的移位和反相单元;有选择地形成相应于来自编码器的再编码数字的第二操作数的操作数据并通过利用移位和反相单元分别将操作数据与部分积相加来产生部分积的第一部分乘积发生器,顺序地与第一部分乘积发生器的输出端连接并通过在前一级的输出数据和相应的操作数据之间相加来产生部分积的第二至第四部分乘积发生器;与移位和反相单元以及第一至第四部分乘积发生器(以下简称部分积生成器)连接以便提供信号并在第二操作数中执行符号位的扩展操作的符号传递单元;利用输入选择信号判断乘法是无符号数值乘法还是有符号数值乘法并当乘法是无符号数值乘法时将两操作数的扩展位提供给编码器以及移位和反相单元的选择单元。
本发明的乘法器还包括与第四部分积生成器的输出端连接以便产生和传送先行进位的先行进位加法器。
图1是已有技术普通的二进制补码乘法器的方框图;
图2是本发明最佳实施例的有选择地执行无符号数值乘法或有符号数值乘法的乘法器的方框图。
参看附图阅读以下详细的描述将明了本发明的最佳实施例。
在描述图2所示本发明最佳实施例的乘法器之前,首先说明应用于本发明最佳实施例的乘法操作过程,例如8位×8位乘法。
在一个操作数为“A”而另一操作数为“B”的情况下,以下表达式将(-4)×(-2)描述为有符号数、无符号数和二进制数。
A×B
(-4)×(-2) ……  有符号数格式
+252×+254 ……  无符号数格式
1111 1100×1111 1110 ……  二进制数格式
在下面表A中说明上述有符号数值乘法过程。
                       表A
Figure A9512059500061
在以上公式中,  分别是操作数“B”的再编码数字的中框左侧的(-2x)和(0x)使操作数“B”的3个位与1个位对相关并确定该位对的相应符号数字。
表B
  Bit(i+1)   Bit i     Bit(i-1) recoded digit
    0     0        0     0x
    0     0        1     +1x
    0     1        0     +1x
    0     1        1     +2x
    1     0        0     -2x
    1     0        1     -1x
    1     1        0     -1x
    1     1        1     0x
参看表B,符号数字0x使“0”与部分积相加,符号数字1x使操作数“A”与部分积相加,符号数字2x使两倍的操作“A”(即2×A)与部分积相加,符号数字-1x从部分积中减去操作数“A”,符号数字-2x从部分积中减去两倍的操作数“A”(即2×A)。
因此,从操作数“B”的高位位对中顺序地得到再编码数字(即0x,0x,0x和-2x)。为了实现“减-2×A”操作,就进行反相A、加1、并向左移位1位的操作。
此外,利用以上产生作为最后积项P的十进制数8的乘法得到四个部分积。
对于无符号数值乘法,应当在输入符号位前加上两个“0”,如以下表C所示。
表C
Figure A9512059500081
如表C所示,再编码数字由操作数“B”的位对产生,与部分积数目为4的有符号数值乘法相比,部分积项的数目变为5。操作数“B”的位对可以用作为例子的以上乘法来说明。以上乘法将操作数“ B”(即001111111110)分成5个位对(即(001)、(111)、(111)、(111)、(110))。每一位对分别使用要被重叠的1位,如果最后的位对只有两位,该乘法将该位对内的第3位认为是“0”。
与一般乘法相比,无符号数值乘法具有结果准确和处理有效的特点。一般乘法如以下表D所示。
                       表D
Figure A9512059500082
如表D所示,两个操作数A和B的一般乘法是十进制数的252乘以254。因此,其最后结果是十进制数的64008。
以下参看图2描述本发明最佳实施例的有选择地执行无符号数值乘法或有符号数值乘法的乘法器。
本发明最佳实施例的乘法器包括选择单元21、编码器22、符号传递单元23、移位和反相单元24、第一至第四部分积生成器25、26、27和28、以及先行进位加法器29。
图2的乘法器是8位×8位乘法器,“A”被定义为8位的被乘数,“B”被定义为8位的乘数。
操作数“B”输入编码器22。编码器22编码操作数“B”的位对,并形成相应于位对的再编码数字组(即-2x,-1x,0x,+1x,+2x)。形成符号数字的方法与8位乘8位的乘法的方法相同。
符号数字组的每一符号数字分别传送给单元24以及四个部分积生成器25、26、27和28中的一个。单元24以及四个部分积生成器25、26、27和28相对于操作数“A”执行相应的操作。
移位和反相单元24以及第一至第四部分积生成器25、26、27和28彼此顺序连接。在运行时,前一级的和及进位分别传送给下一级。因此,当前级使再编码数字的操作数据与前一级的部分积相加。
至于相应于各个再编码数字的操作,当再编码数字是-2x时,为了利用操作数“A”实现“减-2×A”操作,就进行将通过反相A获得的数据与前一级的部分积相加、加1并向左移位1位的操作。
当符号数字是-1x时,为了利用操作数“A”实现“减-1×A”操作,就进行将通过反相A获得的数据与前一级的部分积相加并加1的操作。
当符号数字是0x时,将“0”与前一级的部分积相加,符号数字0x没有实际操作作用。
当符号数字是+1x时,将操作数“A”与前一级的部分积相加。
当符号数字是+2x时,为了利用操作数“A”实现“加+2×A”操作,就把将操作数“A”向左移位1位获得的数据与前一级的部分积相加。
得到的结果通过先行进位加法器29向外输出。符号传递单元23分别与移位和反相单元24以及第一至第四部分积生成器25、26、27和28连接以便于信号传送。结果就是该符号传递单元23既传送符号又接收符号。
先行进位加法器29与第四部分积生成器28的输出端连接,利用从第四部分积生成器28输出的和及进位来产生和传送先行进位,由此提高有符号数值乘法的操作速度。
利用输入给选择单元21的信号sc1进行无符号数值乘法。如果利用信号sc1选择了无符号数值乘法,选择单元21就将被符号位扩展的位(1)和(2)输出给编码器22以及移位和反相单元24。
无符号数值乘法随后的操作与有符号数值乘法的操作相同。
如上所述,根据本发明的最佳实施例,本发明能够提供利用改进的布斯算法有选择地执行无符号数值乘法或有符号数值乘法来进行算法操作的乘法器。
特别是,本发明利用选择单元在无符号数值乘法中输入了扩展位。因此,本发明不仅能够执行有符号数值乘法,而且能够执行无符号数值乘法。此外,由于本发明的电路结构简单,所以它并没有降低操作处理速度,在制造集成电路时它占据相当小的面积。

Claims (3)

1、一种有选择地执行两个操作数的无符号数值乘法或有符号数值乘法的乘法器,其包含:
编码器,接收操作数中的一个、编码该操作数的位对并形成相应于每一位对的再编码数字;
移位和反相单元,在对另一操作数执行移位操作和反相操作后利用编码器输出的符号数字形成中间结果;
第一部分积生成器,分别形成相应于编码器输出的再编码数字的另一操作数的操作数据并通过利用移位和反相单元分别将操作数据与部分积相加来产生部分积,第二至第四部分积生成器,顺序地与第一部分积生成器的输出端连接并通过在前一级的输出数据和相应的操作数据之间相加来产生部分积;
符号传递单元,与移位和反相单元以及第一至第四部分积生成器连接以便提供信号并在另一操作数中执行符号位的扩展操作;以及
选择单元,利用输入选择信号判断乘法是无符号数值乘法还是有符号数值乘法并当乘法是无符号数值乘法时将两操作数的扩展位提供给编码器以及移位和反相单元。
2、根据权利要求1的乘法器,还包括与第四部分积生成器的输出端连接以便产生和传送先行进位的先行进位加法器。
3、根据权利要求1的乘法器,其中,是按8位×8位乘法器安置的。
CN95120595A 1995-05-22 1995-12-11 有选择地执行无符号数值乘法或有符号数值乘法的乘法器 Expired - Fee Related CN1086816C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR12754/95 1995-05-22
KR1019950012754A KR0158647B1 (ko) 1995-05-22 1995-05-22 부호/무부호 수 겸용 곱셈기

Publications (2)

Publication Number Publication Date
CN1136680A true CN1136680A (zh) 1996-11-27
CN1086816C CN1086816C (zh) 2002-06-26

Family

ID=19415048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95120595A Expired - Fee Related CN1086816C (zh) 1995-05-22 1995-12-11 有选择地执行无符号数值乘法或有符号数值乘法的乘法器

Country Status (4)

Country Link
JP (1) JPH08314697A (zh)
KR (1) KR0158647B1 (zh)
CN (1) CN1086816C (zh)
DE (1) DE19545900B4 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004092946A1 (fr) * 2003-04-17 2004-10-28 Zhizhong Li Procede et processeur d'ingenierie numerique a ligne mixte de qn-aire et de report
CN101384989B (zh) * 2006-02-15 2010-06-02 高通股份有限公司 在数字信号处理器中执行布斯乘法的方法和系统
CN101384990B (zh) * 2006-02-15 2012-09-19 高通股份有限公司 用于布斯乘法过程的方法和装置
CN106897046A (zh) * 2017-01-24 2017-06-27 青岛朗思信息科技有限公司 一种定点乘累加器

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090030963A1 (en) 2006-02-15 2009-01-29 Kouichi Nagano Multiplication circuit, digital filter, signal processing device, synthesis device, synthesis program, and synthesis program recording medium
US8495125B2 (en) * 2009-05-27 2013-07-23 Microchip Technology Incorporated DSP engine with implicit mixed sign operands
CN101944009B (zh) * 2009-07-06 2012-04-18 北京中电华大电子设计有限责任公司 一种集成电路中除法器商的处理装置
CN113656751B (zh) * 2021-08-10 2024-02-27 上海新氦类脑智能科技有限公司 无符号dac实现有符号运算的方法、装置、设备和介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831577A (en) * 1986-09-17 1989-05-16 Intersil, Inc. Digital multiplier architecture with triple array summation of partial products
US4868778A (en) * 1987-05-19 1989-09-19 Harris Corporation Speed enhancement for multipliers using minimal path algorithm
US4926371A (en) * 1988-12-28 1990-05-15 International Business Machines Corporation Two's complement multiplication with a sign magnitude multiplier
JP2597736B2 (ja) * 1990-07-17 1997-04-09 株式会社東芝 高速乗算器
US5153850A (en) * 1990-08-24 1992-10-06 Mass Microsystems Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication
JPH05150950A (ja) * 1991-11-29 1993-06-18 Sony Corp 乗算回路
TW421757B (en) * 1996-06-06 2001-02-11 Matsushita Electric Ind Co Ltd Arithmetic processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004092946A1 (fr) * 2003-04-17 2004-10-28 Zhizhong Li Procede et processeur d'ingenierie numerique a ligne mixte de qn-aire et de report
CN101384989B (zh) * 2006-02-15 2010-06-02 高通股份有限公司 在数字信号处理器中执行布斯乘法的方法和系统
CN101384990B (zh) * 2006-02-15 2012-09-19 高通股份有限公司 用于布斯乘法过程的方法和装置
CN106897046A (zh) * 2017-01-24 2017-06-27 青岛朗思信息科技有限公司 一种定点乘累加器
CN106897046B (zh) * 2017-01-24 2019-04-23 青岛专用集成电路设计工程技术研究中心 一种定点乘累加器

Also Published As

Publication number Publication date
KR960042336A (ko) 1996-12-21
KR0158647B1 (ko) 1998-12-15
DE19545900A1 (de) 1996-11-28
DE19545900B4 (de) 2005-08-25
CN1086816C (zh) 2002-06-26
JPH08314697A (ja) 1996-11-29

Similar Documents

Publication Publication Date Title
US20210349692A1 (en) Multiplier and multiplication method
CN1226980A (zh) 相关器方法和设备
US4737926A (en) Optimally partitioned regenerative carry lookahead adder
KR100308723B1 (ko) 올림수-보존 가산기회로 및 복수의 이진 데이터 비트 합산 방법
CN1086816C (zh) 有选择地执行无符号数值乘法或有符号数值乘法的乘法器
JPH09510805A (ja) 高速アダマール変換を行う方法およびその装置
GB2244572A (en) Parallel binary multiplier
US4745570A (en) Binary multibit multiplier
CN110955403B (zh) 近似基-8布斯编码器及混合布斯编码的近似二进制乘法器
CN1268231A (zh) 数据块规模可变的2维逆向离散余弦变换机
CN1801079A (zh) 优化的标准带符号数字的系数乘法器
CN110458277B (zh) 适用于深度学习硬件加速器的可配置精度的卷积硬件结构
JPS6068432A (ja) キヤリセ−ブアダ−の符号生成方式
US5289399A (en) Multiplier for processing multi-valued data
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
CN112631546A (zh) 基于ko-8算法的高性能模乘器
CN1567178A (zh) 新型乘法器重构算法及电路
WO2023078364A1 (zh) 矩阵乘法的运算方法及装置
CN1290002C (zh) 高速加法器
JPH05173761A (ja) 2進整数乗算器
JPH0793134A (ja) 乗算器
CN1526103A (zh) 离散余弦变换矩阵分解方法及其装置
WO2024108934A1 (zh) 乘加和的确定方法、装置、电子设备及存储介质
CN111694541B (zh) 一种用于数论变换乘法的基32运算电路
CN116991359B (zh) Booth乘法器、混合Booth乘法器及运算方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20020626

Termination date: 20141211

EXPY Termination of patent right or utility model