专利名称:一种快速实现浮点加法的电路的制作方法
技术领域:
本发明涉及一种浮点算法的电路,尤其涉及一种基于协处理器和数字信号处理器应用的快速实现浮点加法的电路。
背景技术:
如今多媒体在人们的日常生活中得到了非常普遍的应用。在应用中对产品的图象加速模块以及CPU处理速度的要求越来越高,这些应用设计中必然涉及大量的浮点运算电路,运算速度直接影响到产品应用的最终性能。为了解决这些问题,快速运算电路结果应运而生。浮点数表示的范围非常大,但是在进行加法时,需要先转成定点数,然后进行运算,最后结果再转成浮点数。传统电路一般采用5级流水结构,如图1中所示,内容如下流水部件1,带符号9位定点减法运算单元,对两个操作数的指数求差值;流水部件2,移位单元,用于根据流水部件1中得到的差,把较小数的尾数向右移动;流水部件3,为带符号25位定点加法运算单元,用于对两个操作数的尾数相加;流水部件4为有效数据检测单元,用于从结果的次高位(符号位是最高位)到最低位寻找第一个与符号位相反数的位置并记录,剩余部分即为结果的尾数;流水部件5为结果调整单元,用于根据流水部件4 的结果,对指数进行调整,输出最终结果。上述这5级流水结构的电路中每一级电路所花费的时间基本接近于一个定点加法电路的所需要的时间。而浮点乘法只需要一个定点乘法和一个定点加法(并行运算),大概需要两级流水。因此浮点加法就成为整个浮点运算的瓶颈。基于上述问题,如何能找到一种快速实现浮点加法设计电路成为本发明所要解决的问题。
发明内容
本发明目的提供一种基于协处理器和数字信号处理器应用的快速实现浮点加法的电路,能够有效提高信号处理器的性能,简化设计电路,提高计算速度,满足应用需求。一种快速实现浮点加法的电路,由减法运算单元、移位单元、两个加法运算单元、 有效数据检测单元、结果调整单元以及选择器构成。减法运算单元,用于对操作数指数求差值;移位单元,根据减法运算单元中得到的差,把较小数的尾数向右移动;加法运算单元,用于对操作数的尾数相加;有效数据检测单元,用于从结果的次高位到最低位寻找第一个与符号位相反数的位置并记录;结果调整单元,根据有效数据检测单元的结果,对指数进行调整;选择器,用于对中间计算结果选择输出。本发明提出的一种实现浮点加法的电路,包含两部分独立运算单元A单元和B单元,A单元和B单元并行进行运算。A单元由加法运算单元、有效数据检测单元和结果调整单元构成。B单元由减法运算单元、移位器和加法运算单元构成。A单元和B单元的运算中间结果,通过选择器选择输出。整个电路的加法运算单元有两个,分别处理不同情形中尾数相加操作。
图1 一般情形下的浮点加法电路结构2本发明提出的快速实现浮点加法的电路结构图
具体实施方案以下结合附图对本发明提出的内容进行详细的描述。实施例一选取两组操作数作为具体实施例,其中sign为符号,exp为指数,man为尾数。操作数 1 :sign = 0,exp = 7f, man = 4000。操作数 2 :sign = 0,exp = 85,man = 3780。B单元运算为,通过减法运算单元对两数的指数求差值,指数差为6,操作数1补上最高位1然后通过移位器右移6位,得到0300,与操作数2 (b780,最高位也需要补1)通过加法运算单元对尾数进行相加,得到ba80。A单元运算为,尾数通过加法运算单元对两个尾数相加得到17780,经有效数据检测单元寻找非第一个非0位置在第17位,经结果调整单元,指数加1,exp = 86,尾数为 bbc0o根据指数的差大于1,经选择器选择左边的结果,sign = 0,exp = 85,man = 3a80, 完成浮点加法运算。实施例二 选取两组操作数操作数 1,sign = 0,exp = 7f, man = 4000。操作数 2,sign = 1,exp = 7f, man = 3fe7。B单元运算为,通过减法运算单元两个指数求差值,得到指数差为0。经移位器操作移零位,然后通过加法运算单元两个尾数相加,得到0019(有符号加法)。A单元运算为,经加法运算单元将操作数两个尾数相加得到0019,经有效数据检测单元寻找非0位置,得到结果是第5位,然后经结果调整单元将指数调整为78,尾数调整为 4800。指数差小于1,选择右边结果经选择器输出,sign = 0,exp = 78,man = 4800。
权利要求
1.一种快速实现浮点加法的电路,包含两部分独立运算单元,其特征在于所述浮点加法电路由减法运算单元、移位单元、两个加法运算单元、有效数据检测单元、结果调整单元以及选择器构成。
2.如权利要求1所述的一种快速实现浮点加法的电路,其特征在于所述两部分独立运算单元并行进行运算。
3.如权利要求1所述的一种快速实现浮点加法的电路,其特征在于两个加法运算单元分别设置于整个电路的两部分独立运算单元中,实现操作数尾数相加运算。
4.如权利要求1所述的一种快速实现浮点加法的电路,其特征在于所述减法运算单元对操作数的指数求差值运算。
5.如权利要求1所述的一种快速实现浮点加法的电路,其特征在于所述移位器根据减法运算单元中得到的差值,把较小数的尾数向右移动。
6.如权利要求1所述的一种快速实现浮点加法的电路,其特征在于所述有效数据检测单元对操作数尾数相加的结果从次高位到最低位寻找第一个与符号位相反数的位置并记录。
7.如权利要求1所述的一种快速实现浮点加法的电路,其特征在于所述结果调整单元对从有效数据检测单元输出的指数进行调整。
8.如权利要求1所述的一种快速实现浮点加法的电路,其特征在于所述选择器根据减法运算单元运算操作数的指数差值选择输出结果。
全文摘要
本发明提供一种快速实现浮点加法的电路,电路包含两部分运算单元,整个电路由减法运算单元、移位单元、两个加法运算单元、有效数据检测单元、结果调整单元以及选择器构成。采用增设一个加法运算单元,将整个浮点加法的运算分为两部分进行操作,减少运算步骤,降低运算过程的时间。通过本发明内容,能够有效提高信号处理器的性能,简化电路设计结构,提高计算速度,满足应用需求。
文档编号G06F7/57GK102243577SQ201010170290
公开日2011年11月16日 申请日期2010年5月10日 优先权日2010年5月10日
发明者王永流 申请人:上海华虹集成电路有限责任公司