CN102279724A - 用于布斯乘法方法和***的功率有效符号扩展 - Google Patents

用于布斯乘法方法和***的功率有效符号扩展 Download PDF

Info

Publication number
CN102279724A
CN102279724A CN201110244084XA CN201110244084A CN102279724A CN 102279724 A CN102279724 A CN 102279724A CN 201110244084X A CN201110244084X A CN 201110244084XA CN 201110244084 A CN201110244084 A CN 201110244084A CN 102279724 A CN102279724 A CN 102279724A
Authority
CN
China
Prior art keywords
partial product
sign
bit
cloth
row
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
CN201110244084XA
Other languages
English (en)
Other versions
CN102279724B (zh
Inventor
拉吉夫·克里希纳穆尔蒂
克里斯托弗·爱德华·科布
威廉·C·安德森
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN102279724A publication Critical patent/CN102279724A/zh
Application granted granted Critical
Publication of CN102279724B publication Critical patent/CN102279724B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49994Sign extension
    • 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
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及用于布斯乘法方法和***的功率有效符号扩展。布斯乘法过程的功率有效符号扩展涉及在布斯乘法树中应用符号位。所述符号位允许布斯乘法过程执行符号扩展步骤。此进一步涉及使用符号位对所述布斯乘法树的预定部分乘积行执行1扩展以保留所述预定部分乘积行的正确符号。所述过程和***通过在所述布斯乘法树中产生符号扩展位而解析所述符号位的信号值。所述符号扩展位位于进位输出列中以扩展所述布斯乘法过程的所述乘积。随后,所述方法和***通过将进位输出值加到位于所述布斯乘法树的至少一预定列处的符号位而从所述布斯乘法树形成最终乘积。结果是使用所述符号有效地扩展所述最终乘积的总和分量且对所述最终乘积的进位分量进行零扩展。

Description

用于布斯乘法方法和***的功率有效符号扩展
分案申请的相关信息
本申请为发明名称为“用于布斯乘法方法和***的功率有效符号扩展”的原中国发明专利申请的分案申请。原申请的申请号为200780005162.2;原申请的申请日为2007年2月15日;原发明专利申请案的优先权日为2006年2月15日。
技术领域
本发明涉及数字信号处理器中的数学处理器领域,且更特定来说,涉及在数学处理器中用以执行数的高速乘法的布斯乘法器。更具体来说,本发明涉及用于布斯乘法方法和***中的有符号和无符号的二进位值的功率有效符号扩展。
背景技术
电子设备和支持的软件应用程序越来越多地涉及数字信号处理。家庭影院、计算机图形、医学成像和电信均依赖于数字信号处理技术。数字信号处理需要复杂但重复的算法中的快速数学。许多应用需要实时计算,即信号为时间的连续函数,所述信号必须被取样和转换为数字信号,以用于数值处理。处理器必须执行在样本到达时对所述样本执行离散计算的算法。数字信号处理器(或DSP)的架构经优化以处置这些算法。良好的信号处理引擎的特征包括:快速、灵活的算术计算单位;到计算单位和来自计算单位的未受约束数据流;计算单位中扩展的精度和动态范围;双地址产生器;高效程序排序;和编程的简易性。
DSP技术的一个颇具前景的应用包括例如码分多址(CDMA)***的通信***,其支持经由卫星或陆地链路的在用户之间的语音和数据通信。题为“使用卫星或陆地中继器的扩频多址通信***(SPREAD SPECTRUM MULTIPLE ACCESSCOMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS)”的第4,901,307号美国专利和题为“用于在CDMA电信手持机***中产生波形的***和方法(SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMACELLULAR TELEHANDSET SYSTEM)”的第5,103,459号美国专利中揭示了在多址通信***中使用CDMA方法,所述两个专利均转让给所主张的发明主题的受让人。
CDMA***通常经设计以遵从一个或一个以上电信(且现在为串流视频)标准。一个此类第一代标准为“用于双模宽带扩频蜂窝式***的TIA/EIA/IS-95终端-基站兼容性标准(TIA/EIA/IS-95Terminal-Base Station Compatibility Standard for Dual-modeWideband Spread Spectrum Cellular System)”(下文中称为IS-95标准)。IS-95CDMA***能够发射语音数据和包数据。可更有效发射包数据的新一代标准是由名为“第三代合作伙伴计划(3rd Generation Partnership Project)”(3GPP)的协会提供且包含在包括第3G TS 25.211号、第3G TS 25.212号、第G TS 25.213号和第3G TS 25.214号文献的一组文献中,所述文献易于由公众获得。下文中将3GPP标准称为W-CDMA标准。也存在视频压缩标准,例如MPEG-1、MPEG-2、MPEG-4、H.263和WMV(Windows媒体视频),以及此类无线手持机将越来越多地采用的许多其它标准。
为实现快速和灵活的算术计算单位,需要执行高速乘法运算。已知用于执行这些运算的过程为布斯乘法。布斯乘法是通过对经乘法计算的数重编码而允许较小、较快乘法电路的过程。通常通过产生部分乘积而执行使用布斯过程的乘法。随后将部分乘积相加以获得最终结果。在使用布斯乘法过程的情况下,部分乘积的数目等于乘法器矩阵中的行数目。术语“部分乘积”是指乘法树中的行。
虽然对原始布斯算法存在众多修改,但基本原理是使用布斯编码过程来产生较少部分乘积。可通过使用基数为4的布斯重编码过程而使部分乘积的数目减少约一半。基数为4的布斯重编码将乘数B的位(最初以二进位值0和1表示)映射为可采用值-2、-1、0、1或2的一组乘法因数。此方法提供将原本会出现的部分乘积的数目大致减半的益处。这在电路设计中较为重要,因为其涉及电路运作中的传播延迟,和电路实施方案的复杂性和功率消耗。在乘以0、1或2,且仅存在多路复用器或均等物时存在相对较少的复杂性代价。
一旦已使用布斯编码过程产生部分乘积,便通过采用缩减技术而将所述部分乘积加到一起。缩减过程涉及使用半加器、全加器和多操作数加法器以并行过程对部分乘积位的多个行求和。此缩减导致被认为呈冗余格式的两行位,在使用进位传播加法器进行解析时其总和表示最终乘积。将这些行中的一者称为总和S且另一行称为进位C。在乘法累加(MAC)运算中,[Z+(A×B)]中的Z项通常在最终CPA之前包括在缩减树中。此过程对于呈冗余格式的乘法乘积的解析与后续累加来说均节省了对CPA的采用。
因为某些部分乘积可为负的,所以2的求补运算所需的硬件是布斯乘法器的一方面。在使用此硬件的情况下,需要提供能够产生乘法乘积的布斯乘法器。目前,不存在能够针对DSP应用有效地产生-(A×B)的已知方法或***。因此,需要在DSP应用中能够将布斯乘法过程用于产生乘积的加法相反数-(A×B)的方法和***。
然而,一旦产生此乘积,便存在以下问题:如果待累加的值(“Z”加到乘法“A×B”的乘积)比乘积A×B具有更大的位宽度,则冗余乘积的“总和”与“进位”分量均需要被适当地符号扩展。
有时,可有必要在较广范围的位上执行符号扩展。因此在DSP中的布斯乘法过程期间需要适当符号扩展的过程。通常乘法的中间冗余乘积的两者将被符号扩展。
对于仅冗余乘积的总和分量需要被符号扩展的情形,进一步需要功率有效过程。
在从布斯乘法过程产生最终乘积时,需要避免总和与进位分量的符号扩展。
进一步需要减少在布斯乘法过程期间由于中间32位乘积的部分乘积的符号扩展而引起的功率消耗。
仍需要减少在布斯乘法的符号扩展级期间操作的多路复用电路的数目。
发明内容
本发明揭示用于提供布斯乘法方法和***的功率有效符号扩展的技术,这些过程改进数字信号处理器的操作与对用于处理个人计算机、个人数字助理、无线手持机和类似电子装置的日益稳健的软件应用的数字信号处理器指令的有效使用,还增加了相关联数字信号处理器速度和服务质量。
根据一方面,所揭示的方法和***包括布斯乘法过程的功率有效符号扩展方法和***。所揭示的发明主题在包含多个部分乘积行的布斯乘法树中引入符号位。所述符号位用于需要符号扩展步骤的布斯乘法过程的情况下。此处所揭示的方法和***包括使用符号位对布斯乘法树的预定部分乘积行执行1扩展(即当符号为“1”时的符号扩展)以保留所述预定部分乘积行的正确符号的能力。解析符号位的信号值需要在布斯乘法树中产生符号扩展位。所述符号扩展位可位于进位输出列中以扩展布斯乘法过程的乘积。随后本发明通过将进位输出值加到布斯乘法树的至少一预定列的符号位而从布斯乘法树形成最终乘积。此具有使用符号来扩展最终乘积的总和分量和零扩展最终乘积的进位分量的效果。
从本文所提供的描述将明白所揭示发明主题的这些和其它优点,以及额外新颖特征。此“发明内容”的意图并非为所主张发明主题的全面描述,而是提供对所述发明主题的某些功能性的简短概述。所属领域的技术人员在检查以下图和详细描述之后将明白此处所提供的其它***、方法、特征和优点。希望所有这些额外***、方法、特征和优点包括在此描述内,包括在随附权利要求书的范围内。
附图说明
根据结合附图而在下文陈述的详细描述将更加明白所揭示发明主题的特征、性质和优点,附图中,相同的参考符号始终进行相应地识别,且附图中:
图1为可实施本实施例的通信***的简化方框图;
图2说明实现本实施例的教示的DSP架构;
图3提供用于提供所揭示发明主题的技术优点的数字信号处理器的实施例的架构方框图;
图4呈现所揭示发明主题的各种实施方案的数据路径图;
图5呈现可适用于所揭示发明主题的经修改16×16的基数为4的布斯乘法树;
图6提供实施所揭示发明主题的布斯重编码器的逻辑单元;
图7提供对具有所揭示发明主题的图7的逻辑单元的位分组的描述;
图8呈现用于实施-(A×B)乘积的布斯重编码逻辑的逻辑单元;
图9为所揭示的发明主题如何处置布斯乘法中的减法的表;且
图10展示根据所揭示发明主题的其它教示的16×16布斯乘法缩减树。
具体实施方式
此处呈现的布斯乘法方法和***的功率有效符号扩展的所揭示发明主题用于非常广泛的各种数字信号处理应用(包括涉及多线程处理的那些应用)中。一个此类应用出现在采用一个或一个以上数字信号处理电路的电信和(具体来说)无线手持机中。因此,以下图1到图3描述电信DSP,在所述DSP内本教示可为有用的。图4陈述乘法处理的数据路径,增强的布斯乘法运算的本发明可在所述乘法处理内运算。然而,应记住,此处所描述的实施方案仅提供所揭示发明主题可适用的实际上无限组的应用中的一者。
出于阐述可如何使用此类无线手持机的目的,图1提供通信***10的简化方框图,所述通信***可实施所揭示的中断处理方法和***的所呈现实施例。在发射器单元12处,通常以区块为单位将数据从数据源14发送到发射(TX)数据处理器16,所述发射(TX)数据处理器16格式化、编码和处理所述数据以产生一个或一个以上模拟信号。随后将所述模拟信号提供到发射器(TMTR)18,所述发射器调制、过滤、放大,且上变频转换基带信号以产生经调制信号。随后经由天线20将所述经调制信号发射到一个或一个以上接收器单元。
在接收器单元22处,由天线24接收所发射的信号且提供到接收器(RCVR)26。在接收器26内,所接收的信号被放大、过滤、下变频转换、解调,和数字化以产生同相(I)和(Q)样本。随后通过接收(RX)数据处理器28对所述样本进行解码和处理以恢复所发射的数据。以与在发射器单元12处执行的编码和处理互补的方式执行接收器单元22处的编码和处理。随后将所恢复的数据提供到数据汇30。
上述信号处理支持在一个方向上发射语音、视频、包数据、消息发送和其它类型的通信。双向通信***支持双向数据发射。然而,为简明起见,图1中未展示在另一方向上的信号处理。通信***10可为支持经由陆地链路的用户之间的语音和数据通信的码分多址(CDMA)***、时分多址(TDMA)通信***(例如GSM***)、频分多址(FDMA)通信***,或其它多址通信***。在特定实施例中,通信***10为遵从W-CDMA标准的CDMA***。
图2说明可充当图1的发射数据处理器16和接收数据处理器28的DSP 40架构。再次强调DSP 40仅表示可有效地使用此处所呈现的教示和概念的许多可能的数字信号处理器实施例中的一个实施例。因此在DSP 40中,线程T0:T5(参考数字42到52)含有来自不同线程的指令集。电路54表示指令存取机构且用于获取用于线程T0:T5的指令。电路54的指令被排入指令队列56中。指令队列56中的指令准备发布到处理器管线66(见下文)中。可通过发布逻辑电路58从指令队列56中选择单一线程,例如线程T0。读取选定线程的寄存器堆60并将所读取的数据发送到槽0到槽3的执行数据路径62。在此实例中,槽0到槽3提供本实施例中所采用的包分组组合。
来自执行数据路径62的输出进入寄存器堆写入电路64(其也经配置以容纳个别线程T0:T5)以返回来自DSP 40的运算的结果。因此,根据各种线程而划分成多个部分的来自电路54且在到寄存器堆写入电路64之前的数据路径形成处理管线66。
本实施例可采用使用具有多达六个线程T0:T5的单一微处理器的异质元件处理器(HEP)***的混合体。处理器管线66具有六个级,从而匹配从电路54到寄存器60和64获取数据项目所必需的最小数目的处理器循环。DSP 40在处理器管线66内同时执行不同线程T0:T5的指令。即,DSP 40提供六个独立的程序计数器、用以在处理器管线66内区分线程T0:T5的指令的内部标记机构,和用以触发线程切换的机构。线程切换额外开销从零到仅数个循环进行变化。
因此,DSP 40提供通用数字信号处理器,其经设计以用于广泛各种信号、图像和视频处理应用中的高性能和低功率。图3提供对DSP 40架构的简要概述,其包括所揭示发明主题的一个表现形式的相关联指令集架构的某些方面。DSP 40架构的实施方案支持交错的多线程(IMT)。在此执行模型中,硬件通过在管线中交错来自不同线程的指令而支持多个硬件线程T0:T5的同时执行。此特征允许DSP 40包括主动时钟频率,同时仍维持较高的核心和存储器利用。IMT提供高处理量而无需昂贵的补偿机构,例如无序执行、大范围的转发网络等。
更具体来说,图3提供可采用所揭示发明主题的教示的单一线程的编程模型的一个实施例的架构方框图。方框图70描绘从AXI总线74接收指令的私用指令高速缓冲存储器72,所述指令包括到线程T0:T5的定序器76、用户控制寄存器78和监督器控制寄存器80的混合16位和32位指令。定序器76将混合的双向超标量指令和四向VLIW指令提供到S管单元82、M管单元84、Ld管86,和Ld/St管单元88。AXI总线74也使用共用数据高速缓冲存储器90将LD/ST指令传送到线程T0:T5。在使用外部DMA主控器96的情况下,共用数据TCM 98传送LD/ST指令,所述LD/ST指令进一步流向线程T0:T5。从AHB***总线100,MSM专有控制器102与T0:T5传送中断管脚,其包括终端控制器指令、调试指令和计时指令。全局控制寄存器104与线程T0:T5传送控制寄存器指令。
在如图3的M管84中所呈现的单线程处理的架构内发生高速数学处理。功率有效对于DSP 40的运算较为关键,且M管84需要在其运算中包括此考虑。在此类乘法过程中发生:乘法结果以冗余形式变得可用,且这些冗余结果将用于乘法累加运算中。在这些冗余结果的情况下,可能需要对冗余乘积的两者进行符号扩展。所揭示的发明主题提供将要对每一乘法的两个冗余乘积中的仅一者应用的符号扩展。此在中间冗余乘积需要在较大位范围上被符号扩展的情况下转化为显著的功率节省。
类似的功率有效考虑极有可能存在于所揭示发明主题可适用的任何应用中。因此,布斯乘法过程发生的速度提供此处所揭示的材料的独特新颖方面。
所揭示的发明主题提供用于乘法的布斯编码过程,所述过程采用部分乘积的最后一行被“1”扩展的部分乘积产生的方法。通过适当地操纵乘法器的缩减树的最高有效列的缩减,所揭示的过程确保仅“总和”冗余乘积需要被符号扩展,而“进位”冗余乘积可为零扩展的。因为仅“总和”被符号扩展,所以所揭示的过程和相关联结构减少了对乘法的冗余乘积进行符号扩展中所涉及的功率成本。为获得对所揭示发明主题如何实现这些功率节省和相关效率的理解,此处提供对特定实施例的进一步示范。
因此图4呈现所揭示发明主题的各种实施方案的数据路径图180,且建立其内可发生本布斯乘法过程的数据流。具体来说,乘法区块118接收Rs和Rt输入。乘法单元M0:M3在乘法区块118内。具体来说,M0乘法器单元182、M1乘法器单元184、M2乘法器单元186和M3乘法器单元188单独地接收Rs和Rt输入以分别将S0C0(即总和0和进位0)、S1C1、S2C2,和S3C3输出产生到移位/符号扩展单元148。移位/符号扩展单元148负责这些中间冗余乘积的逻辑移位和符号扩展。
乘法器区块118执行M管84的乘法相关指令。可将这些指令视为使用16×16乘法过程作为基础的复合指令。乘法器区块由四个16×16乘法器单元M0:M3组成。每一乘法器单元M0:M3能够在若干模式中起作用,以支持广泛各种M类型指令。支持有符号与无符号的模式。在需要对乘积执行减法的情况下,乘法器也可产生乘法器的乘积的2补数。
在所揭示的发明主题的情况下,M0:M3乘法器182到188使用基数为4的布斯编码。在无符号模式中,所述乘法器类似使用额外第17位充当符号位的17×17乘法器。除双精度乘法(即32×32乘法)之外,所有其它乘法指令为“有符号×有符号”或“无符号×无符号”。使用16×16乘法器来计算双精度32×32乘法和32×16乘法也需要“有符号×无符号”和“无符号×有符号”的乘法。通过控制被乘数的符号位和M0:M3乘法器182到188的乘数操作数而支持所有这些模式。
来自移位/符号扩展单元148的输出进入多操作数加法器150且可被剖析为R0:R3输入。多操作数加法器150接收这些R0:R3输入并最终在一组压缩和累加级之后提供Rdd输出170。
可将数据路径180理解为可划分为四个阶段。首先,在数据路由阶段,将来自Rs和Rt源寄存器的数据馈送到乘法区块118。在乘法区块118内,基于指令而将来自源操作数的16位半字路由到四个M0:M3乘法器单元182到188。接着,发生部分乘积产生和缩减向量加法或减法,其中M0:M3乘法器单元182到188使用基数为4的布斯编码来产生部分乘积并使用缩减来将所述部分乘积缩减为冗余对的输出。
在多操作数缩减阶段期间,将来自乘法区块118的冗余输出输入到多操作数加法器150,所述多操作数加法器150将这些输入和可选累加器/舍入值缩减为两对冗余输出。最终,在加法/饱和阶段,使用进位传播加法来解析冗余输出,且当适用时执行饱和。
因此,所揭示的发明主题提供这些值的经修改布斯乘法。在这些复合值的情况下,输入在低半字中具有实数16位值且在高半字中具有虚数16位值。视情况将乘法器结果缩放0-1位。将舍入常数加到每一实数与虚数总和。实数与虚数部分经个别地饱和到32位。32位结果中每一者的较高16位被封装在32位目标寄存器中。
在此实例中,S0:S3和C0:C3为33位宽。即使可以32位表示16×16乘法的输出,某些指令仍以无符号模式进行运算且额外位在此情况下用作符号位以促进符号扩展。S0:S3和C0:C3经过移位/符号扩展单元148。在封装之前,S0:S1和C0:C1影响低阶32位的最终结果。此形成所述结果的实数部分。如果在所述指令中指定,则这四个数视情况可通过左移1位来缩放。
将这些数的经移位版本标记为R0:R3。R0:R3经过多操作数加法器150。来自多操作数加法器150的输出流向饱和/加法单位170。
现在,可以各种布斯乘法过程来执行所揭示的发明主题。然而,可通过呈现其中可发生此类应用的特殊布斯乘法过程来实现对所揭示发明主题的特定使用最佳理解。因此,图5通过呈现适用于所揭示发明主题的经修改16×16的基数为4的布斯乘法树而促进理解所揭示发明主题的布斯乘法过程。图5的点图200概念性地描绘了对所揭示发明主题的16×16乘法器的基数为4的布斯编码,此导致九个部分乘积202、204、206、208、210、212、214、216和218。使用由两级3:2缩减组成的缩减树随后使用一级4:2压缩将九个部分乘积缩减为两个33位冗余输出S0:S3和C0:C3。虽然32位的精度对于16×16乘法来说是足够的,但在无符号乘法的情况下也保留第33位以充当符号位。还从乘法器输出来自第33列的额外进位输出位以辅助符号扩展。
进一步参看图5,每一部分乘积行220到236为水平展示的被乘数位238的倍数。已在图5的顶部指示列数。垂直地展示乘数位240,且这些位经重编码以产生乘法因数以形成部分乘积行220到236。图5中所示的信号n0到n7指示加到接收负权重的部分乘积行220到236的粘性“1”。这些足以应付不需要乘积的最终相反数的乘法。为在乘法器中隐含地处理-(A×B)的情况,提供额外信号n8。
当在乘法器树内隐含地减去乘法运算的乘积时,信号s0到s7处置符号扩展。如果假定A和B分别为被乘数和乘数,则通过编码三位的乘数操作数B的群组并使用此编码以从集合{-2A,-A,0,A,2A}中选择部分乘积而执行基数为4的布斯编码。现在,如果需要减去最终乘积(A×B),则其等效于添加A×-(B)(这又等效于添加乘积((-A)×B))。乘数经修改;现从B修改为(-B)。
作为所揭示发明主题可找到应用的布斯乘法过程的部分,图6提供用于实施所揭示发明主题的布斯重编码器电路250。布斯重编码器单元250包括在XOR 256处的LSB输入254到反相器XOR 260处的MSB输入258的范围内的乘数群组输入252。MSB输入258也提供来自布斯重编码器电路250的“neg”输出。来自XOR 256的输出表示Ax1信号(A来自布斯重编码器250),且将输入提供到反相器XOR 264。来自反相器XOR 260的输出也将输入提供到反相器XOR 264以产生Ax2信号,2A来自布斯重编码器电路250。XOR 264提供一输出以指示“非”操作(来自布斯重编码器电路250的“neg”)。因此,布斯重编码器电路250检查乘数B的3位且将所述位重编码为信号“A”、“2A”和“neg”。当需要执行减法时,使“neg”信号反相以产生部分乘积,所述部分乘积将产生乘积A×B的2补数。
图7提供对具有所揭示发明主题的图6的逻辑单元的位分组的描述。具体来说,基数为4的布斯重编码从16位乘数B产生九个(9)乘法因数(其用作A的倍数)以产生九个(9)部分乘积。对于在0到8的范围内的“n”,图7的表确定位群组B[2n+1:2n-1]的布斯乘法因数。对于本实施例的重编码方案,假定B[-1]为零。如果B为无符号的数,则B[16]和B[17]为零,且如果B为有符号的数,则B[16]和B[17]为符号扩展,即B[17]=B[16]=B[15]。乘法因数被重编码为三个(3)信号;来自XOR 256的A、来自反相器XOR 264的2A和来自MSB输入262的“neg”。因此,当A的乘法因数为-2时,信号2A和neg为高。类似地,对于+1,仅A将为高,且对于+/-0,所有三个信号将为低。也应注意,为产生乘积A×B,最高有效位群组的乘法因数B[17:15]总为正。现在,B[17:15]的唯一可能的位群组在B无符号时为[000]或[001],且在B为有符号时为[000]或[111]。从图7可见,所有这些群组导致正乘法因数。因此此处所述的布斯乘法多路复用器可选自集合{0,A,2A}以产生部分乘积。
图8提供布斯重编码器电路270以实施-(A×B)乘积的布斯重编码逻辑。布斯重编码器单元包括在XOR 276处的LSB输入274到反相器XOR 280处的MSB输入278的范围内的乘数群组输入272。“减去”输入282和MSB输入278流向XOR 284。来自XOR 276的输出表示来自布斯重编码器270的被乘数A,且将输入提供到反相器XOR 286。来自反相器XOR 280的输出也将输入提供到反相器XOR 286以产生来自布斯重编码器电路270的2A信号。XOR 284从布斯重编码器电路270提供“neg”输出。
因此,在本发明主题可找到用途的布斯乘法过程的所揭示应用中,图8利用通过计算A和B的负值的乘积获得被乘数A和乘数B的乘积的负值的特征。因此,此避免了首先计算乘积A×B且随后计算所述乘积的2补数以获得-(A×B)的已知两步骤过程。布斯重编码器电路270与乘法级相并行地执行“非”操作。
乘积的2的求补运算利用了-(A×B)等效于A×(-B)的事实。在此例子下,可将操作数(-B)视为乘数。使用(-B)作为乘数而产生的布斯乘法因数是使用B作为乘数操作数而产生的相应乘法因数的加法相反数。用于计算乘积A×B的布斯乘法硬件结构可再用于通过使布斯乘法因数中每一者的符号相反而计算A×(-B)。通过布斯重编码器电路270的“neg”信号而确定此符号,所述“neg”信号是在对乘积进行“非”操作时产生“-neg”信号的重编码硬件的修改。
应注意,在布斯重编码器电路270中,XOR门284在非关键路径上,且不会促进关键路径。而是,关键路径包括产生信号A和2A的乘数位。对部分乘积的乘法因数的符号求反的此过程引入了其中最后部分乘积行的符号可能为负的情况。因此,可将信号“n8”加到如上文出现在图5中的乘法树。可通过修改缩减级以容纳额外行而缩减添加一行。然而,此修改可意味着额外延迟和相关联硬件。
此处所呈现的过程并不包含缩减级中的额外行,但替代地集中在通过对乘法树进行逻辑修改而将n8信号吸收到部分乘积的现有九个行中。加到乘法树的延迟是最小的。
指代形式PProw_column的每一“点”的表示法辅助获得对所揭示发明主题的此方面的理解。参看图9,乘法树中的每一二进位位(点)在矩阵中具有其唯一权重和位置。相同列中的所有位具有相同权重,且只要维持所述权重便可以任何次序缩减所述位。以0开始从顶部到底部对行进行编号,且以0开始从右到左对列进行编号。使用此表示法,n8等效于PP10_16。使用以基数为4的布斯编码已知的缩放和符号扩展过程来产生PP10_16、PP0_17、PP0_18和PP0_19。在使用此方法的情况下,可将n8吸收到乘法树中。因此,通过分析有符号与无符号乘法模式中的PP0_16、PP0_17、PP0_18和PP0_19的所有可能的位值,可针对所有可能的布斯乘法因数而确定可***n8的位置。
图9列举部分乘积行0的四个最高有效位的值的范围,和将信号n8加到此四位字段的效果。MUX结构准许在n8较高时选择四位字段的经修改值。换句话说,如果在列16(即P0_16)处添加信号n8,则所揭示过程预先计算部分乘积行0的四个最高有效位的值,且在缩减级中使用此经修改的四位字段。MUX结构经优化以使得使用标准布斯乘法计算电路一次性计算出PP0_16(在表中展示为“a”)。在此之后以最小延迟来解析基于n8的经修改四位字段。所述乘法过程的其余部分等于用以产生乘积A×B的正规乘法流。
图10呈现适用于所揭示发明主题的其它方面的经修改16×16的基数为4的布斯乘法树。从图10可理解本发明的重要符号扩展和舍入常数函数。对16×16乘法器的缩减级的修改最小化经由九个部分乘积行的关键路径,且当所述乘积以冗余总和进位格式为可用时有效地提供符号扩展。图10展示16×16的基数为4的布斯乘法器的经修改缩减树304。经修改缩减树304容纳有符号和无符号的操作数且具有对所述乘积进行“非”操作的潜力。
第一缩减级使用全加器的三(3)行将九(9)行缩减为六(6)行。第二缩减级使用全加器的两(2)行将六(6)行缩减为四(4)行。第三缩减级和最终缩减级采用4:2多操作数加法器的行以将四(4)行缩减为最终冗余总和和进位行。尽管32位的总和和进位足以表示16×16乘积,但额外位确保无符号乘法正确地处置符号扩展。
图10进一步展示列306,其高于形成乘积的仅较低位的32个位。本发明从列#32向上修改布斯乘法树以引入最后部分乘积行308的符号位s8。如果乘积不需要符号扩展,则不需要此符号位s8。现在,为保留部分乘积行8的正确符号,本过程包括将部分乘积行308扩展一位。高于#32的列未受影响直到缩减的最后一级。在此点处,信号~s8以来自列#31的进位输出而进行解析,并产生展示为
Figure BSA00000562434700111
的进位输出310。
通过将进位输出
Figure BSA00000562434700112
310从列#33向上加到1扩展而形成最终乘积。效果为以
Figure BSA00000562434700113
作为符号而符号扩展所述最终乘积的总和分量,同时零扩展最终乘积的进位分量。这些步骤消除了对于符号扩展总和与进位分量的需要。举例来说,如果16×16乘法为需要64位值到32位乘积的累加的MAC运算的部分,则需要在将32位乘积加到64位数之前符号扩展所述32位乘积。如果中间32位乘积呈冗余形式,且应用此处所呈现的符号扩展过程,则由于消除用于在31位上符号扩展进位分量的MUX的可能性而引起显著的功率节省。
再次参看图10,本发明进一步提供将舍入常数加到乘数B的能力。对于DSP运算中的16×16乘法典型的舍入常数为0×8000。舍入16×16乘法的乘积为常用运算,其通常作为两步骤运算而执行,其中乘法器首先用于产生乘积,且随后将舍入常数加到所述乘积。
使用以上所阐述的表示法,注意在图10中PP8_15为0。通过在乘法矩阵中的此位位置中***“1”,可产生与通过首先产生乘积且随后向所述乘积添加值0×8000而获得的结果相同的结果。此过程也未向关键路径添加任何等待时间。
如果乘法区块118中的硬件局限于仅能够向乘法的乘积添加一累加操作数的能力,则当需要舍入乘法的乘积时以累加操作数MUX所述舍入常数是常见的。此使得难以在单一步骤中执行对乘法的乘积的舍入与累加运算。但使用此处所述的过程消除了这些限制。
总之,所揭示的发明主题提供用于设计和使用数字信号处理器的过程,其包括处理通信(例如CDMA)***中的发射。所揭示的方法和***包括布斯乘法过程的功率有效符号扩展方法和***。所揭示的发明主题在包含多个部分乘积行的布斯乘法树中引入一符号位。所述符号位用于需要符号扩展步骤的布斯乘法过程的情况。此处所揭示的方法和***使用一符号位对布斯乘法树的一预定部分乘积行执行1扩展以保留所述预定部分乘积行的正确符号。解析符号位的信号值需要产生布斯乘法树中的符号扩展位。所述符号扩展位可位于进位输出列中以扩展布斯乘法过程的乘积。随后本发明通过将进位输出值加到布斯乘法树的至少一预定列的符号位而从布斯乘法树形成最终乘积。此具有以符号位扩展最终乘积的总和分量和零扩展最终乘积的进位分量的效果。
本发明进一步提供能够用于形式[Z+-(A×B)+舍入常数]的MAC运算中的经修改布斯乘法器的技术优点。此乘法器通过(a)对布斯乘法因数进行“非”操作和将额外粘性位吸收到缩减树中;(b)找出一位置以将舍入常数填充到缩减树中;和(c)使用仅需要冗余总和的符号扩展的符号扩展过程而最小化延迟、功率和硬件。
此外,可以各种方式实施本文所述的处理特征和功能。举例来说,不仅DSP 40可执行上述运算,而且本实施例可实施在专用集成电路(ASIC)、微控制器、微处理器,或经设计以执行本文所述的功能的其它电子电路中。因此,提供优选实施例的先前描述以使所属领域的技术人员能够制造或使用所要求保护的发明主题。所属领域的技术人员将明显看出对这些实施例的各种修改,且本文所界定的一般原理可适用于不使用创新技能的其它实施例。因此,本文所示的实施例并非用于对所要求保护的发明主题进行限制,而应赋予其与本文所揭示的原理和新颖特征一致的最广泛的范围。

Claims (24)

1.一种方法,包括:
在硬件处理装置上进行布斯乘法操作阶段期间,产生部分乘积的总和部分的符号扩展位;
使用加法器将所述部分乘积的总和部分加到所述部分乘积的零扩展进位部分,以产生乘法结果。
2.如权利要求1所述的方法,其中,所述布斯乘法操作包括生成多个部分乘积行,所述部分乘积行中的每个部分乘积行都具有相应的符号位。
3.如权利要求2所述的方法,其中,所述符号扩展位是基于与所述部分乘积行中之一相对应的符号位而生成的。
4.如权利要求3所述的方法,其中,所述符号扩展位是通过将进位加到所述部分乘积行中之一的1扩展位而产生的,所述进位是基于同所述部分乘积行中之一相对应的符号位的。
5.如权利要求1所述的方法,还包括:
求解与所述布斯乘法操作的部分乘积行相对应的粘性1位;
基于求解出的粘性1位,向另一部分乘积行的一部分中的所选择的位分配数据位值。
6.如权利要求5所述的方法,还包括:
使用多路复用器向所选择的位分配所述数据位值,以选择所述数据位值。
7.如权利要求1所述的方法,还包括:
使用所述乘法结果产生数据信号;
使用发射机发射所述数据信号。
8.一种方法,包括:
在硬件处理装置上进行布斯乘法操作阶段期间,产生与第一乘法器相关联的部分乘积的总和部分的符号扩展位,以形成所述部分乘积的符号扩展总和部分;
使用加法器将所述部分乘积的符号扩展总和部分加到所述第一乘法器外的值。
9.如权利要求8所述的方法,还包括:
对与所述第一乘法器相关联的部分乘积的进位部分进行零扩展。
10.如权利要求8所述的方法,还包括:
对与第二乘法器相关联的第二部分乘积的总和部分进行符号扩展。
11.如权利要求8所述的方法,其中,所述值是第二乘法器产生的第二总和部分和第二进位部分中的至少之一。
12.如权利要求8所述的方法,还包括:
将所述部分乘积的进位部分加到所述值。
13.如权利要求8所述的方法,其中,所述硬件处理设备包括处理器、多路复用器、累加器中的至少之一。
14.如权利要求8所述的方法,其中,与所述第一乘法器相关联的部分乘积对应于第一操作数的第一部分与第二操作数的第一部分的乘积,且其中,所述第一乘法器外的值对应于所述第一操作数的第二部分与所述第二操作数的第二部分的乘积。
15.一种设备,包括:
符号值解析电路,用于在布斯乘法操作阶段期间产生部分乘积的总和部分的符号扩展位;
乘法电路,用于将所述部分乘积的总和部分加到所述部分乘积的零扩展进位部分以产生乘法结果。
16.如权利要求15所述的设备,其中,所述布斯乘法操作产生多个部分乘积行,所述部分乘积行中的每个部分乘积行都具有相应的符号位。
17.如权利要求16所述的设备,其中,在解析所述多个部分乘积行之前,所述符号扩展位被加到所述多个部分乘积行中之一。
18.如权利要求16所述的设备,其中,所述符号扩展位是基于所述多个部分乘积行中之一的符号位而产生的。
19.如权利要求16所述的设备,其中,所述符号扩展位是通过将进位加到所述部分乘积行中之一的1扩展位而产生的,所述进位是基于所述部分乘积行中之一的符号位的。
20.如权利要求15所述的设备,其中,所述符号值解析电路和所述乘法电路中的至少之一包括:
包括处理器、多路复用器、乘法器和累加器中的至少之一的装置。
21.如权利要求15所述的设备,其中,所述符号解析电路还用于求解与所述部分乘积相对应的粘性1位,且所述符号解析电路根据求解出的粘性1位向另一部分乘积的一部分中的所选择的位分配数据值。
22.如权利要求21所述的设备,还包括:
用于至少部分地基于求解出的粘性1位来提供所述数据值的多路复用器。
23.一种设备,包括:
符号值解析电路,用于在布斯乘法运算阶段期间产生与第一乘法器相关联的部分乘积的总和部分的符号扩展位,以形成所述部分乘积的符号扩展总和部分;
加法器,用于将所述部分乘积的符号扩展总和部分加到所述第一乘法器外的值。
24.如权利要求23所述的设备,其中,所述布斯乘法操作产生多个部分乘积行,所述部分乘积行的每个部分乘积行都具有相应的符号位。
CN201110244084.XA 2006-02-15 2007-02-15 用于布斯乘法方法和***的功率有效符号扩展 Expired - Fee Related CN102279724B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/356,359 2006-02-15
US11/356,359 US7797366B2 (en) 2006-02-15 2006-02-15 Power-efficient sign extension for booth multiplication methods and systems
CN2007800051622A CN101384990B (zh) 2006-02-15 2007-02-15 用于布斯乘法过程的方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2007800051622A Division CN101384990B (zh) 2006-02-15 2007-02-15 用于布斯乘法过程的方法和装置

Publications (2)

Publication Number Publication Date
CN102279724A true CN102279724A (zh) 2011-12-14
CN102279724B CN102279724B (zh) 2015-09-16

Family

ID=38121636

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201110244084.XA Expired - Fee Related CN102279724B (zh) 2006-02-15 2007-02-15 用于布斯乘法方法和***的功率有效符号扩展
CN2007800051622A Expired - Fee Related CN101384990B (zh) 2006-02-15 2007-02-15 用于布斯乘法过程的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2007800051622A Expired - Fee Related CN101384990B (zh) 2006-02-15 2007-02-15 用于布斯乘法过程的方法和装置

Country Status (7)

Country Link
US (1) US7797366B2 (zh)
EP (1) EP1984809A1 (zh)
JP (4) JP2009527064A (zh)
KR (2) KR101173405B1 (zh)
CN (2) CN102279724B (zh)
TW (1) TWI332625B (zh)
WO (1) WO2007095626A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206311A1 (en) * 2003-07-18 2006-09-14 Sang-Won Jeong System and method of multilingual rights data dictionary
TWI258694B (en) * 2004-04-02 2006-07-21 Ali Corp Method and system for sign extension of multiplier
US7797366B2 (en) * 2006-02-15 2010-09-14 Qualcomm Incorporated Power-efficient sign extension for booth multiplication methods and systems
US7809783B2 (en) * 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry
KR101073343B1 (ko) * 2006-02-15 2011-10-14 콸콤 인코포레이티드 개선된 감소 트리 회로를 갖는 부스 곱셈기
US20160188327A1 (en) * 2014-12-24 2016-06-30 Elmoustapha Ould-Ahmed-Vall Apparatus and method for fused multiply-multiply instructions
US9917623B1 (en) * 2016-08-01 2018-03-13 Space Systems/Loral, Llc Digital beamforming architecture
US10175946B2 (en) * 2016-09-30 2019-01-08 International Business Machines Corporation Perform sign operation decimal instruction
US10409592B2 (en) * 2017-04-24 2019-09-10 Arm Limited Multiply-and-accumulate-products instructions
US10409604B2 (en) 2017-04-24 2019-09-10 Arm Limited Apparatus and method for performing multiply-and-accumulate-products operations
US10802826B2 (en) 2017-09-29 2020-10-13 Intel Corporation Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
US10534838B2 (en) 2017-09-29 2020-01-14 Intel Corporation Bit matrix multiplication
US11074073B2 (en) 2017-09-29 2021-07-27 Intel Corporation Apparatus and method for multiply, add/subtract, and accumulate of packed data elements
US11256504B2 (en) * 2017-09-29 2022-02-22 Intel Corporation Apparatus and method for complex by complex conjugate multiplication
US10664277B2 (en) 2017-09-29 2020-05-26 Intel Corporation Systems, apparatuses and methods for dual complex by complex conjugate multiply of signed words
US10552154B2 (en) 2017-09-29 2020-02-04 Intel Corporation Apparatus and method for multiplication and accumulation of complex and real packed data elements
US10795676B2 (en) 2017-09-29 2020-10-06 Intel Corporation Apparatus and method for multiplication and accumulation of complex and real packed data elements
US11243765B2 (en) 2017-09-29 2022-02-08 Intel Corporation Apparatus and method for scaling pre-scaled results of complex multiply-accumulate operations on packed real and imaginary data elements
US10795677B2 (en) 2017-09-29 2020-10-06 Intel Corporation Systems, apparatuses, and methods for multiplication, negation, and accumulation of vector packed signed values
US10514924B2 (en) 2017-09-29 2019-12-24 Intel Corporation Apparatus and method for performing dual signed and unsigned multiplication of packed data elements
CN110688087B (zh) * 2019-09-24 2024-03-19 上海寒武纪信息科技有限公司 数据处理器、方法、芯片及电子设备
CN110554854B (zh) * 2019-09-24 2024-05-03 上海寒武纪信息科技有限公司 数据处理器、方法、芯片及电子设备
TWI696947B (zh) * 2019-09-26 2020-06-21 中原大學 乘積累加裝置及其方法
US11327718B2 (en) 2020-03-19 2022-05-10 Kabushiki Kaisha Toshiba Arithmetic circuitry for power-efficient multiply-add operations
JP7381426B2 (ja) * 2020-03-19 2023-11-15 株式会社東芝 演算回路
US11789701B2 (en) 2020-08-05 2023-10-17 Arm Limited Controlling carry-save adders in multiplication
US11868741B2 (en) * 2021-06-17 2024-01-09 Rebellions Inc. Processing element, neural processing device including same, and multiplication operation method using same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201182A (zh) * 1997-04-30 1998-12-09 朗迅科技公司 为乘法器提供纯进位保存输出的方法
EP0992885B1 (en) * 1998-10-06 2005-12-28 Texas Instruments Incorporated Multiplier accumulator circuits

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748582A (en) * 1985-06-19 1988-05-31 Advanced Micro Devices, Inc. Parallel multiplier array with foreshortened sign extension
JPS62229439A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 並列乗算器
US4901307A (en) * 1986-10-17 1990-02-13 Qualcomm, Inc. Spread spectrum multiple access communication system using satellite or terrestrial repeaters
US4910701A (en) * 1987-09-24 1990-03-20 Advanced Micro Devices Split array binary multiplication
JPH01116764A (ja) 1987-10-29 1989-05-09 Ricoh Co Ltd 累積加算器
US5150322A (en) * 1990-06-05 1992-09-22 Vlsi Technology, Inc. Mixed-radix serial/parallel multipliers
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
JP3033212B2 (ja) 1991-01-31 2000-04-17 日本電気株式会社 乗算器
US5220525A (en) 1991-11-04 1993-06-15 Motorola, Inc. Recoded iterative multiplier
JPH06348455A (ja) 1993-06-14 1994-12-22 Matsushita Electric Ind Co Ltd 乗算における丸め込み方法及び乗算回路
JPH0713742A (ja) * 1993-06-25 1995-01-17 Mitsubishi Electric Corp 乗算装置
GB2287331B (en) * 1994-03-02 1998-04-29 Advanced Risc Mach Ltd Electronic multiplying and adding apparatus and method
KR0158647B1 (ko) * 1995-05-22 1998-12-15 윤종용 부호/무부호 수 겸용 곱셈기
US5880985A (en) * 1996-10-18 1999-03-09 Intel Corporation Efficient combined array for 2n bit n bit multiplications
EP0840207A1 (en) 1996-10-30 1998-05-06 Texas Instruments Incorporated A microprocessor and method of operation thereof
JPH10133856A (ja) 1996-10-31 1998-05-22 Nec Corp 丸め機能付き乗算方法及び乗算器
US5928316A (en) * 1996-11-18 1999-07-27 Samsung Electronics Co., Ltd. Fused floating-point multiply-and-accumulate unit with carry correction
JPH10333885A (ja) 1997-05-30 1998-12-18 Sony Corp 乗算回路
US6183122B1 (en) * 1997-09-04 2001-02-06 Cirrus Logic, Inc. Multiplier sign extension
JPH11134175A (ja) 1997-10-29 1999-05-21 Toshiba Corp 乗加減算器及び演算器
US6463453B1 (en) * 1998-01-12 2002-10-08 Motorola, Inc. Low power pipelined multiply/accumulator with modified booth's recoder
US6157939A (en) * 1998-06-04 2000-12-05 Integrated Device Technology, Inc. Methods and apparatus for generating multiplicative inverse product
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
US6073156A (en) * 1998-06-19 2000-06-06 Ati International Srl Circuit and method for wrap-around sign extension for signed numbers using replacement of most significant bit
JP2000081966A (ja) * 1998-07-09 2000-03-21 Matsushita Electric Ind Co Ltd 演算装置
US6215584B1 (en) * 1999-05-10 2001-04-10 Jds Uniphase Inc. Input independent tilt free actively gain flattened broadband amplifier
JP3231298B2 (ja) * 1999-08-30 2001-11-19 富士通株式会社 乗算装置
US6353843B1 (en) 1999-10-08 2002-03-05 Sony Corporation Of Japan High performance universal multiplier circuit
JP2002157114A (ja) 2000-11-20 2002-05-31 Hitachi Ltd 乗算器及びそれを搭載した集積回路装置
US7797366B2 (en) * 2006-02-15 2010-09-14 Qualcomm Incorporated Power-efficient sign extension for booth multiplication methods and systems
US7809783B2 (en) * 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry
KR101073343B1 (ko) * 2006-02-15 2011-10-14 콸콤 인코포레이티드 개선된 감소 트리 회로를 갖는 부스 곱셈기

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201182A (zh) * 1997-04-30 1998-12-09 朗迅科技公司 为乘法器提供纯进位保存输出的方法
EP0992885B1 (en) * 1998-10-06 2005-12-28 Texas Instruments Incorporated Multiplier accumulator circuits

Also Published As

Publication number Publication date
CN101384990B (zh) 2012-09-19
KR20080094813A (ko) 2008-10-24
JP2012089144A (ja) 2012-05-10
JP2011222024A (ja) 2011-11-04
EP1984809A1 (en) 2008-10-29
KR101173405B1 (ko) 2012-08-10
US7797366B2 (en) 2010-09-14
TW200802078A (en) 2008-01-01
CN101384990A (zh) 2009-03-11
JP5215433B2 (ja) 2013-06-19
JP2014209347A (ja) 2014-11-06
JP2009527064A (ja) 2009-07-23
JP5611923B2 (ja) 2014-10-22
WO2007095626A1 (en) 2007-08-23
CN102279724B (zh) 2015-09-16
KR20110114698A (ko) 2011-10-19
TWI332625B (en) 2010-11-01
KR101086560B1 (ko) 2011-11-23
US20070192399A1 (en) 2007-08-16

Similar Documents

Publication Publication Date Title
CN101384990B (zh) 用于布斯乘法过程的方法和装置
CN101384989B (zh) 在数字信号处理器中执行布斯乘法的方法和***
JP7312879B2 (ja) ハードウェアにおける行列乗算の実行
US20120191767A1 (en) Circuit which Performs Split Precision, Signed/Unsigned, Fixed and Floating Point, Real and Complex Multiplication
CN101101540A (zh) 用于灵活数据类型的方法和设备
US8930433B2 (en) Systems and methods for a floating-point multiplication and accumulation unit using a partial-product multiplier in digital signal processors
CN105335127A (zh) Gpdsp中支持浮点除法的标量运算单元结构
Al-Khaleel et al. Fast and compact binary-to-BCD conversion circuits for decimal multiplication
KR101073343B1 (ko) 개선된 감소 트리 회로를 갖는 부스 곱셈기
US20090013022A1 (en) Multiplier Engine Apparatus and Method
JPH02205923A (ja) 演算プロセッサ
US20060031272A1 (en) Alignment shifter supporting multiple precisions
CN111610955B (zh) 一种数据饱和加打包处理部件、芯片及设备
JP2008204356A (ja) リコンフィギャラブル回路
CN115904507A (zh) 面向cgra的多精度小面积simd运算***、方法、介质及设备
Radha et al. A duck power aerial speed multipliers
Abraham et al. Canonic Signed Digit Recoding based RISC Processor Design
JP2005310051A (ja) デジタル信号処理装置

Legal Events

Date Code Title Description
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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150916

Termination date: 20210215