CN102789376A - 浮点数加法电路及其实现方法 - Google Patents

浮点数加法电路及其实现方法 Download PDF

Info

Publication number
CN102789376A
CN102789376A CN2012102084638A CN201210208463A CN102789376A CN 102789376 A CN102789376 A CN 102789376A CN 2012102084638 A CN2012102084638 A CN 2012102084638A CN 201210208463 A CN201210208463 A CN 201210208463A CN 102789376 A CN102789376 A CN 102789376A
Authority
CN
China
Prior art keywords
signal
floating number
number signal
circuit
power exponent
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
CN2012102084638A
Other languages
English (en)
Other versions
CN102789376B (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.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Taizhou Haitong Asset Management Co ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210208463.8A priority Critical patent/CN102789376B/zh
Publication of CN102789376A publication Critical patent/CN102789376A/zh
Application granted granted Critical
Publication of CN102789376B publication Critical patent/CN102789376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明实施例公开了一种浮点数加法电路及其实现方法,涉及数字计算技术领域,所述方法包括:对至少两个浮点数信号进行取负操作、指数运算操作、移位操作、作差操作、符号选择操作、规格化操作和溢出处理操作,输出所述浮点数信号组合的累加结果。本发明适用于浮点数运算。

Description

浮点数加法电路及其实现方法
技术领域
本发明涉及数字计算技术领域,特别涉及在数字信号处理器或硬件加速器系统中构建一种浮点数加法电路及其实现方法。
背景技术
近年来,在各种领域的应用中对高精度和高动态范围的要求逐渐成为最重要的一环,相对于定点而言,浮点数具有更高的精度以及更高的动态范围,所以浮点数越发受到重视。浮点数用于近似表示某个实数,其格式可以表示为{S,E,M},其中,S为符号,E为指数,M为规格化的尾数,例如,{S,E,M}=(-1)s×(1+m)×2e。由于浮点数自身的特点,决定了浮点数的运算要更加复杂,因此想要快速准确的获取浮点数运算结果需要更高配置的硬件设施。
现有技术中至少存在如下问题:浮点数运算复杂度较高,需要性能更高的硬件设备支持,由于当前用于浮点数运算的加速器和浮点数字信号处理器核心的主频等硬件条件的限制,浮点数运算的运算精度无法达到最优的程度,大大限制了运算系统的浮点数运算性能。
发明内容
本发明的实施例提供一种浮点数加法电路及其实现方法,通过使用融合了乘法运算和加法运算的加法运算,提高了运算精度,并且对运算系统中的关键运算路径的时序进行优化,解决了现有技术中运算系统的浮点数运算性能不高的问题,提升了运算系统的运算性能。
本发明实施例采用的技术方案为:
一种浮点数加法电路,所述电路包括:信号输入端、取负电路、指数运算电路、移位电路、作差电路、符号选择电路、规格化电路、溢出处理电路和信号输出端,其中,
所述信号输入端用于获得第一浮点数信号和第二浮点数信号;
所述取负电路用于对所述第一浮点数信号和所述第二浮点数信号进行取负操作;
所述指数运算电路用于根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;
所述移位电路用于根据所述第一幂指数差对所述取负电路操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路操作后的所述第二浮点数信号移位;
所述作差电路用于对所述移位电路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;
所述符号选择电路用于选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;
所述规格化电路用于根据所述符号选择电路选择的所述第二正值信号和所述指数运算电路得到的所述较大幂指数对所述符号选择电路选择的所述第一正值信号进行规格化;
所述溢出处理电路用于对规格化后的累加结果进行溢出处理;
所述信号输出端用于输出所述溢出处理电路处理后输出。
一种浮点数加法电路实现方法,包括:
通过信号输入端获得第一浮点数信号和第二浮点数信号;
对所述第一浮点数信号和所述第二浮点数信号进行取负操作;
根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;
根据所述第一幂指数差对取负操作后的所述第一浮点数信号移位,根据所述第二幂指数差对取负操作后的所述第二浮点数信号移位;
对移位操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;
选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;
根据选择的所述第二正值信号和所述较大幂指数对所述第一正值信号进行规格化;
对规格化后的累加结果进行溢出处理;
通过信号输出端输出溢出处理后的输出结果。
与现有技术相比,本发明实施例通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在加法负分支路径上比正分支路径多出的一级CSA(Carry-SaveAdder,进位保留加法)电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的电路结构示意图;
图2为本发明实施例二提供的电路结构示意图;
图3为本发明实施例三提供的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。
需要说明的是,本发明中涉及的浮点数信号为复数,包括实数。一般应用于数据信号处理领域,比如图像处理系统,雷达系统和通讯系统。通过提升计算速度,提升复数累加/加法运算的效率,此电路和方法可以极大提升DSP(DigitalSignal Processing,数字信号处理)或其它数字设备的性能。比如应用于LTE(LongTerm Evolution,长期演进)、UMTS(Universal Mobile Telecommunications System,通用移动通信系统)、GSM(Global System for Mobile communications,全球移动通信系统)等现行通讯系统中的。
实施例一
本实施例提供一种浮点数加法电路,如图1所示,所述电路包括:信号输入端101、取负电路102、指数运算电路103、移位电路104、作差电路105、符号选择电路106、规格化电路107、溢出处理电路108和信号输出端109,其中,
所述信号输入端101用于获得第一浮点数信号和第二浮点数信号;
所述取负电路102用于对所述第一浮点数信号和所述第二浮点数信号进行取负操作;
所述指数运算电路103用于根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;
所述移位电路104用于根据所述第一幂指数差对所述取负电路102操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路102操作后的所述第二浮点数信号移位;
所述作差电路105用于对所述移位电104路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;
所述符号选择电路106用于选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;
所述规格化电路107用于根据所述符号选择电路106选择的所述第二正值信号和所述指数运算电路103得到的所述较大幂指数对所述符号选择电路106选择的所述第一正值信号进行规格化;
所述溢出处理电路108用于对规格化后的累加结果进行溢出处理;
所述信号输出端109用于输出所述溢出处理电路处理后输出。
可选的,所述信号输入端101还用于获得第三浮点数信号和第四浮点数信号,根据所述第三浮点数信号和所述第四浮点数信号的乘积得到所述第二浮点数信号。
其中,所述第一浮点数信号为一个浮点数信号或者至少两个浮点数信号相加的和;所述第二浮点数信号为至少两个浮点数信号相乘的积。
与现有技术相比,本发明实施例根据第一浮点数信号的符号和第二浮点数信号的符号对第一浮点数信号和第二浮点数信号进行取负操作,将两个浮点数信号中的一个浮点数信号的符号按照相反符号取负,将另一个浮点数信号的符号按照符号取负;对取负后的浮点数信号按照幂指数差进行移位操作;将经过移位的浮点数信号通过作差电路,获得第一差信号和第二差信号以及第一前导信号和第二前导信号,并使用符号选择电路选择出第一正值信号和第二正值信号;根据选择的所述第二正值信号和较大幂指数对所述第一正值信号进行规格化,对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后的输出结果。其中通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在作差电路的负分支路径上比正分支路径多出的一级CSA电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。
实施例二
本实施例提供一种浮点数加法电路,如图2所示,从信号输入端输入3个浮点数信号a、c和d,信号输出端输出累加结果z,其中z=a+c×d,浮点数信号c和d的乘积用浮点数信号b表示,如图2所示,所述电路包括:信号输入端101、取负电路102、指数运算电路103、移位电路104、作差电路105、符号选择电路106、规格化电路107、溢出处理电路108和信号输出端109,其中,
所述信号输入端101用于获得a、c和d三个浮点数信号。
所述取负电路102用于对浮点数信号a和浮点数信号b进行取负操作,其中浮点数信号b为浮点数信号c和d进行乘法操作后得到的浮点数信号,对浮点数信号a的符号根据相反符号取负,对浮点数信号b的符号根据符号取负,例如,若浮点数信号a的符号为正,则取负电路102输出符号取负(即正号变为负号)后的浮点数信号a,若浮点数信号a的符号为负,则取负电路102直接输出浮点数信号a;若浮点数信号b的符号为正,则取负电路102直接输出浮点数信号b,若浮点数信号b的符号为负,则取负电路102输出符号取负后的浮点数信号b。
可选的,所述取负电路102还可以对浮点数信号b的符号根据相反符号取负,对浮点数信号a的符号根据符号取负,此步骤与上述步骤能够得到一样的输出结果,达到一样的技术效果。
需要说明的是,当取负电路102对浮点数信号b进行取负操作时,需要根据取负方式的不同,对浮点数信号c和浮点数信号d执行不同的乘法操作,例如,当对浮点数信号b的符号根据相反符号取负时,则在进行乘法操作之前,将浮点数信号c或者浮点数信号d的符号取反(即正号变负号,负号变正号);当对浮点数信号b的符号根据符号取负时,直接对浮点数信号c和浮点数信号d执行有符号乘法。
需要说明的是,当浮点数信号a和浮点数信号b二者中的一个浮点数信号的符号根据相反符号取负时,另一个浮点数信号的符号根据符号取负,以保证在所述作差电路105中进行计算时将加法变为减法,减少计算时延。
所述指数运算电路103用于根据浮点数信号a得到第一幂指数,根据浮点数信号b得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差。
所述移位电路104用于根据根据所述第一幂指数差对所述取负电路102操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路102操作后的所述第二浮点数信号移位。例如,将浮点数信号a和浮点数信号b中幂指数较小的浮点数信号的尾数向右移位,移位的位数与相应的幂指数差一致。
所述作差电路105用于对移位电104路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号。例如,第一差信号对应加法正分支的结果,为Z0=~a+b+1,第二差信号对应加法负分支的结果,为Z1=a+~b+1,~表示位取反操作,即对于所有比特1,将其反转为0,对于所有比特0,将其反转为1;第一前导信号对应前导正分支的结果,第二前导信号对应前导负分支的结果。其中,在进行浮点数的加法运算时,浮点数加法运算结果的尾数是有范围限制的,例如1≤尾数<2,所以当出现尾数超过规定的数值范围时,就需要通过前导信号中的前导0的个数来指示尾数进行合理的移位操作,使得尾数处于合法的范围内。
所述符号选择电路106用于选取第一差信号和第二差信号中的正值信号作为第一正值信号,选取第一前导信号和第二前导信号中的正值信号作为第二正值信号。
所述规格化电路107用于根据符号选择电路106选择的第二正值信号和指数运算电路103得到的较大幂指数对符号选择电路106选择的第一正值信号进行规格化。例如,根据第二正值信号中包括的前导0个数,确定第二正值信号中尾数的移位位数,并且将较大幂指数作为尾数的幂指数。
所述溢出处理电路108用于规格化后的累加结果进行溢出处理。例如,对规格化电路107输出的幂指数进行判断,若该幂指数大于等于规定的幂指数上限,则将输出饱和作为上溢出值;若该幂指数小于规定的幂指数下限,则将输出饱和作为下溢出值。
所述信号输出端109用于输出所述溢出处理电路处理后的输出结果Z。
需要说明的是,在对浮点数信号c和浮点数信号d进行乘法操作时,采用向下取整的方式得到二者的乘积;在通过移位电路104对浮点数信号进行移位时,采用向下取整的方式得到移位后的浮点数信号。
与现有技术相比,本发明实施例根据第一浮点数信号a的符号和第二浮点数信号b的符号对第一浮点数信号a和第二浮点数信号b进行取负操作,将两个浮点数信号中的一个浮点数信号的符号按照相反符号取负,将另一个浮点数信号的符号按照符号取负;对取负后的浮点数信号按照幂指数差进行移位操作;将经过移位的浮点数信号通过作差电路,获得第一差信号和第二差信号以及第一前导信号和第二前导信号,并使用符号选择电路选择出第一正值信号和第二正值信号;根据选择的所述第二正值信号和较大幂指数对所述第一正值信号进行规格化,对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后的输出结果。其中通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在作差电路的负分支路径上比正分支路径多出的一级CSA电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。
实施例三
本实施例提供一种浮点数加法电路实现方法,如图3所示,所述方法包括:
301、通过信号输入端获得第一浮点数信号和第二浮点数信号。
例如,获得的浮点数信号可以为浮点数信号a和浮点数信号b两个,输出的累加结果为Z,运算过程可以为:Z=a+b,其中b可以为多个浮点数信号的乘积,例如b=c×d,将这种加法形式推广到一般的浮点数运算中:
Figure BDA00001799592300101
其中ai、cj和dj均为浮点数信号,bj=cj×dj,i=0,1,…,n-1,j=0,1,…,m-1,只要从ai和bj中任意一组或两组中取两个及两个以上的浮点数信号组合即可,即n≥0,m≥0,n+m≥2。
302、对所述第一浮点数信号和所述第二浮点数信号进行取负操作。
例如,对浮点数信号a的符号根据相反符号取负,对浮点数信号b的符号根据符号取负。那么,若浮点数信号a的符号为正,则输出符号取负(即正号变为负号)后的浮点数信号a,若浮点数信号a的符号为负,则直接输出浮点数信号a;若浮点数信号b的符号为正,则直接输出浮点数信号b,若浮点数信号b的符号为负,则输出符号取负后的浮点数信号b。
可选的,还可以对浮点数信号b的符号根据相反符号取负,对浮点数信号a的符号根据符号取负,此步骤与上述步骤能够得到一样的输出结果,达到一样的技术效果。
需要说明的是,当对浮点数信号b进行取负操作时,需要根据取负方式的不同,对浮点数信号c和浮点数信号d执行不同的乘法操作,例如,当对浮点数信号b的符号根据相反符号取负时,则在进行乘法操作之前,将浮点数信号c或者浮点数信号d的符号取反(即正号变负号,负号变正号);当对浮点数信号b的符号根据符号取负时,直接对浮点数信号c和浮点数信号d执行有符号乘法。
需要说明的是,当浮点数信号a和浮点数信号b二者中的一个浮点数信号的符号根据相反符号取负时,另一个浮点数信号的符号根据符号取负,以保证在作差操作中进行计算时将加法变为减法,减少计算时延。例如,上述的取负操作可以使a和b两个浮点数信号在进行作差操作时,用-a代替a或者用-b代替b。以-a代替a为例,则作差操作的正分支用b-(-a)代替b+a,作差操作的负分支用(-a)-b代替-a-b,从而省去了一级加法操作,提高了运算速度,同样的,用-b代替b也能达到相同的效果。
303、根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差。
304、根据所述第一幂指数差对取负操作后的所述第一浮点数信号移位,根据所述第二幂指数差对取负操作后的所述第二浮点数信号移位。例如,将浮点数信号a和浮点数信号b中幂指数较小的浮点数信号的尾数向右移位,移位的位数与相应的幂指数差一致。
305、对移位操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号。例如,第一差信号对应加法正分支的结果,为Z0=~a+b+1,第二差信号对应加法负分支的结果,为Z1=a+~b+1,~表示位取反操作,即对于所有比特1,将其反转为0,对于所有比特0,将其反转为1;第一前导信号对应前导正分支的结果,第二前导信号对应前导负分支的结果。其中,在进行浮点数的加法运算时,浮点数加法运算结果的尾数是有范围限制的,例如1≤尾数<2,所以当出现尾数超过规定的数值范围时,就需要通过前导信号中的前导0的个数来指示尾数进行合理的移位操作,使得尾数处于合法的范围内。
306、选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号。
307、根据选择的所述第二正值信号和所述较大幂指数对所述第一正值信号进行规格化。例如,根据第二正值信号中包括的前导0个数,确定第二正值信号中尾数的移位位数,并且将较大幂指数作为尾数的幂指数。
308、对规格化后的累加结果进行溢出处理。例如,对规格化电路107输出的幂指数进行判断,若该幂指数大于等于规定的幂指数上限,则将输出饱和作为上溢出值;若该幂指数小于规定的幂指数下限,则将输出饱和作为下溢出值。
309、通过信号输出端输出溢出处理后的输出结果。
其中,浮点数信号a和浮点数信号b可以在相同的时钟周期内输入,也可以分批在不同的时钟周期内输入;输出的计算结果的信号在浮点数信号输入后的一个或多个时钟周期后输出;所述浮点数信号和输出的计算结果的信号的精度为半精度、单精度、双精度、扩展精度或自定义位宽精度。
需要说明的是,在对浮点数信号c和浮点数信号d进行乘法操作时,采用向下取整的方式得到二者的乘积;在对浮点数信号进行移位时,采用向下取整的方式得到移位后的浮点数信号。
与现有技术相比,本发明实施例根据第一浮点数信号的符号和第二浮点数信号的符号对第一浮点数信号和第二浮点数信号进行取负操作,将两个浮点数信号中的一个浮点数信号的符号按照相反符号取负,将另一个浮点数信号的符号按照符号取负;对取负后的浮点数信号按照幂指数差进行移位操作;将经过移位的浮点数信号通过作差电路,获得第一差信号和第二差信号以及第一前导信号和第二前导信号,并使用符号选择电路选择出第一正值信号和第二正值信号;根据选择的所述第二正值信号和较大幂指数对所述第一正值信号进行规格化,对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后的输出结果。其中通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在作差电路的负分支路径上比正分支路径多出的一级CSA电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。
本发明实施例提供的浮点数加法电路可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的浮点数加法电路及其实现方法可以适用于浮点数运算,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种浮点数加法电路,其特征在于,所述电路包括:信号输入端、取负电路、指数运算电路、移位电路、作差电路、符号选择电路、规格化电路、溢出处理电路和信号输出端,其中,
所述信号输入端用于获得第一浮点数信号和第二浮点数信号;
所述取负电路用于对所述第一浮点数信号和所述第二浮点数信号进行取负操作;
所述指数运算电路用于根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;
所述移位电路用于根据所述第一幂指数差对所述取负电路操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路操作后的所述第二浮点数信号移位;
所述作差电路用于对所述移位电路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;
所述符号选择电路用于选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;
所述规格化电路用于根据所述符号选择电路选择的所述第二正值信号和所述指数运算电路得到的所述较大幂指数对所述符号选择电路选择的所述第一正值信号进行规格化;
所述溢出处理电路用于对规格化后的累加结果进行溢出处理;
所述信号输出端用于输出所述溢出处理电路处理后输出。
2.根据权利要求1所述的电路,其特征在于,还包括:所述信号输入端还用于获得第三浮点数信号和第四浮点数信号,根据所述第三浮点数信号和所述第四浮点数信号的乘积得到所述第二浮点数信号。
3.根据权利要求1所述的电路,其特征在于,所述第一浮点数信号为一个浮点数信号或者至少两个浮点数信号相加的和。
4.根据权利要求1或2所述的电路,其特征在于,所述第二浮点数信号为至少两个浮点数信号相乘的积。
5.一种浮点数加法电路实现方法,其特征在于,包括:
通过信号输入端获得第一浮点数信号和第二浮点数信号;
对所述第一浮点数信号和所述第二浮点数信号进行取负操作;
根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;
根据所述第一幂指数差对取负操作后的所述第一浮点数信号移位,根据所述第二幂指数差对取负操作后的所述第二浮点数信号移位;
对移位操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;
选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;
根据选择的所述第二正值信号和所述较大幂指数对所述第一正值信号进行规格化;
对规格化后的累加结果进行溢出处理;
通过信号输出端输出溢出处理后的输出结果。
6.根据权利要求5所述的方法,其特征在于,还包括:当所述信号输入端获得第三浮点数信号和第四浮点数信号时,根据所述第三浮点数信号和所述第四浮点数信号的乘积得到所述第二浮点数信号。
7.根据权利要求5所述的方法,其特征在于,所述第一浮点数信号为一个浮点数信号或者至少两个浮点数信号相加的和。
8.根据权利要求5或6所述的方法,其特征在于,所述第二浮点数信号为至少两个浮点数信号相乘的积。
9.根据权利要求5所述的方法,其特征在于,所述对所述第一浮点数信号和所述第二浮点数信号进行取负操作包括:
将所述第一浮点数信号的符号根据相反符号取负,将所述第二浮点数信号的符号根据符号取负;或者,
将所述第二浮点数信号的符号根据相反符号取负,将所述第一浮点数信号的符号根据符号取负。
10.根据权利要求5-9任一项所述的方法,其特征在于,所述第一浮点数信号和第二浮点数信号在相同的时钟周期内输入,或者分批在不同的时钟周期内输入。
CN201210208463.8A 2012-06-21 2012-06-21 浮点数加法电路及其实现方法 Active CN102789376B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210208463.8A CN102789376B (zh) 2012-06-21 2012-06-21 浮点数加法电路及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210208463.8A CN102789376B (zh) 2012-06-21 2012-06-21 浮点数加法电路及其实现方法

Publications (2)

Publication Number Publication Date
CN102789376A true CN102789376A (zh) 2012-11-21
CN102789376B CN102789376B (zh) 2015-03-25

Family

ID=47154784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210208463.8A Active CN102789376B (zh) 2012-06-21 2012-06-21 浮点数加法电路及其实现方法

Country Status (1)

Country Link
CN (1) CN102789376B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866281A (zh) * 2014-02-21 2015-08-26 北京国睿中数科技股份有限公司 实现浮点数符号分析替换的装置及方法
CN104904124A (zh) * 2012-12-11 2015-09-09 华为技术有限公司 高效基带信号处理系统和方法
CN107305485A (zh) * 2016-04-25 2017-10-31 北京中科寒武纪科技有限公司 一种用于执行多个浮点数相加的装置及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247471A (en) * 1991-12-13 1993-09-21 International Business Machines Corporation Radix aligner for floating point addition and subtraction
US6067556A (en) * 1998-01-26 2000-05-23 Intel Corporation Method and apparatus for adding floating point numbers in a data processing system
CA2215719C (en) * 1996-09-19 2001-01-30 Nec Corporation Sticky bit determination in floating point arithmetic system
CN1410877A (zh) * 2001-09-27 2003-04-16 中国科学院计算技术研究所 不必计算指数差而直接对阶的高速浮点加减部件
JP2010218197A (ja) * 2009-03-17 2010-09-30 Nec Computertechno Ltd 浮動小数点積和演算装置、浮動小数点積和演算方法、及び浮動小数点積和演算用プログラム
CN102495714A (zh) * 2011-01-05 2012-06-13 威盛电子股份有限公司 执行浮点减法的装置与方法及预测符号数字的装置与方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247471A (en) * 1991-12-13 1993-09-21 International Business Machines Corporation Radix aligner for floating point addition and subtraction
CA2215719C (en) * 1996-09-19 2001-01-30 Nec Corporation Sticky bit determination in floating point arithmetic system
US6067556A (en) * 1998-01-26 2000-05-23 Intel Corporation Method and apparatus for adding floating point numbers in a data processing system
CN1410877A (zh) * 2001-09-27 2003-04-16 中国科学院计算技术研究所 不必计算指数差而直接对阶的高速浮点加减部件
JP2010218197A (ja) * 2009-03-17 2010-09-30 Nec Computertechno Ltd 浮動小数点積和演算装置、浮動小数点積和演算方法、及び浮動小数点積和演算用プログラム
CN102495714A (zh) * 2011-01-05 2012-06-13 威盛电子股份有限公司 执行浮点减法的装置与方法及预测符号数字的装置与方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104904124A (zh) * 2012-12-11 2015-09-09 华为技术有限公司 高效基带信号处理系统和方法
CN104866281A (zh) * 2014-02-21 2015-08-26 北京国睿中数科技股份有限公司 实现浮点数符号分析替换的装置及方法
CN107305485A (zh) * 2016-04-25 2017-10-31 北京中科寒武纪科技有限公司 一种用于执行多个浮点数相加的装置及方法
CN107305485B (zh) * 2016-04-25 2021-06-08 中科寒武纪科技股份有限公司 一种用于执行多个浮点数相加的装置及方法

Also Published As

Publication number Publication date
CN102789376B (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN102799411B (zh) 浮点数累加电路及其实现方法
CN102722352B (zh) 一种Booth乘法器
CN103348300B (zh) 计算函数的函数值的装置和方法
KR101603471B1 (ko) 디지털 신호 프로세서들에서의 신호 처리를 위한 시스템 및 방법
CN106951211B (zh) 一种可重构定浮点通用乘法器
CN107305484B (zh) 一种非线性函数运算装置及方法
KR20080055985A (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
CN102043760B (zh) 数据处理方法及系统
CN106708468B (zh) 一种除法运算装置
CN102789376A (zh) 浮点数加法电路及其实现方法
US12009948B2 (en) Data processing apparatus and method, base station, and storage medium
CN112347154A (zh) 一种渣皮脱落指数计算方法、终端设备及存储介质
Zhang et al. High performance and energy efficient single‐precision and double‐precision merged floating‐point adder on FPGA
CN117193707A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN111399803A (zh) 除法运算方法、装置、存储介质及电子设备
EP3208708A1 (en) Data extraction method and apparatus
CN111191779B (zh) 一种数据处理方法、装置、处理器及计算机可读存储介质
CN109992242B (zh) 基于乘法器的运算方法及装置
CN111313905B (zh) 一种浮点数转换方法及装置
CN112036607B (zh) 基于出力水平的风电出力波动预测方法、装置及存储介质
CN102135870B (zh) 浮点数幂运算处理方法、装置和计算机系统
CN116450086A (zh) 包括乘累加器的芯片、终端和控制方法
US20180287598A1 (en) Cross bar switch structure for highly congested environments
CN113408718B (zh) 设备处理器选择方法、系统、终端设备及存储介质
CN117130664B (zh) 用于芯片检测任务的人工智能芯片计算方法、装置及芯片

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
TR01 Transfer of patent right

Effective date of registration: 20201202

Address after: Building 2, No. 3, Fuqian Road, Hailing District, Taizhou City, Jiangsu Province

Patentee after: Taizhou Haitong Asset Management Co.,Ltd.

Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20201202

Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right