用于具有指数按比例缩放的浮点融合乘法加法的微架构的制作方法_5

文档序号:8207696阅读:来源:国知局
信装置,但DSP 1064及存储器1032也可以集成到机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、个人数字助理(PDA)、固定位置数据单元或者计算机中。处理器(例如,DSP 1064)还可集成到此类装置中。
[0078]因此,本发明的实施例可包含一种计算机可读媒体,其体现用于实施具有按比例缩放的浮点融合乘法及加法(FMASc)运算的方法。因此,本发明不限于所说明的实例,且用于执行本文中所描述的功能性的任何装置包含在本发明的实施例中。
[0079]虽然前述揭示内容展示本发明的说明性实施例,但应注意,在不脱离如所附权利要求书界定的本发明的范围的情况下,可在其中做出各种改变及修改。无需以任何特定次序来执行根据本文中所描述的本发明的实施例的方法权利要求的功能、步骤及/或动作。此外,尽管可能以单数形式描述或主张本发明的元件,但除非明确陈述限于单数形式,否则也预期复数形式。
【主权项】
1.一种实施浮点按比例缩放的融合乘法及累加FMASc运算的方法,所述方法包括: 将浮点乘数操作数与浮点被乘数操作数的尾数相乘以获得乘积的尾数; 确定浮点加数操作数的尾数的前导零数目计数LZC ; 基于所述LZC、比例因子操作数及所述浮点加数操作数、所述浮点乘数操作数及所述浮点被乘数操作数的指数确定所述浮点加数操作数的预先对准移位值; 将所述浮点加数操作数的所述尾数移位所述预先对准移位值以获得经预先对准的加数; 将所述乘积的所述尾数与所述经预先对准的加数累加以获得中间结果; 确定所述中间结果的前导零数目; 基于所述预先对准移位值及所述中间结果的所述前导零数目确定归一化移位值;以及基于所述归一化移位值将所述中间结果归一化以获得所述FMASc运算的经归一化的输出。
2.根据权利要求1所述的方法,其进一步包括基于所述归一化移位值用舍入值舍入所述经归一化的输出。
3.根据权利要求2所述的方法,其中所述归一化移位值为左移位或右移位中的一者。
4.根据权利要求3所述的方法,其中所述左移位是基于所述中间结果的所述前导零数目或所述浮点加数操作数、所述浮点乘数操作数及所述浮点被乘数操作数的指数的函数。
5.根据权利要求3所述的方法,其中所述右移位是基于所述比例因子操作数及所述浮点加数操作数、所述浮点乘数操作数及所述浮点被乘数操作数的指数的函数。
6.根据权利要求1所述的方法,其中所述累加为相加或相减中的一者,如通过所述FMASc运算指定。
7.一种执行浮点运算的方法,其包括: 接收乘数、被乘数、加数及比例因子操作数; 对所述乘数及被乘数操作数的尾数执行部分乘法运算以获得中间乘积; 基于所述比例因子及所述加数、乘数及被乘数的指数将所述加数的尾数与所述中间乘积预先对准;以及 将所述经预先对准的加数的所述尾数与所述中间乘积累加以获得所述浮点运算的结果O
8.根据权利要求7所述的方法,其进一步包括将所述结果归一化。
9.根据权利要求8所述的方法,其进一步包括对所述经归一化的结果执行舍入运算,其中在所述方法中在获得所述经归一化的结果之前避免了舍入。
10.根据权利要求7所述的方法,其中所述累加为相加或相减中的一者,如通过所述浮点运算指定。
11.一种浮点单元,其包括: 输入乘数、被乘数、加数及比例因子操作数; 乘法器块,其经配置以将所述乘数及被乘数的尾数相乘以产生中间乘积; 对准逻辑,其经配置以基于所述比例因子及所述加数、乘数及被乘数的指数将所述加数与所述中间乘积预先对准;以及 累加逻辑,其经配置以将所述经预先对准的加数的尾数与所述中间乘积相加或相减以获得所述浮点单元的结果。
12.根据权利要求11所述的浮点单元,其进一步包括经配置以将所述结果归一化的归一化块。
13.根据权利要求12所述的浮点单元,其进一步包括前导零预测器LZA块,所述前导零预测器LZA块经配置以基于来自所述累加逻辑的中间结果预测所述结果中的前导零数目,使得所述归一化是基于所述LZA块的输出。
14.根据权利要求12所述的浮点单元,其进一步包括舍入块,所述舍入块经配置以对所述经归一化的结果执行指定舍入。
15.根据权利要求11所述的浮点单元,其中所述加数的所述尾数划分成高部分及低部分,使得所述对准逻辑经配置以单独地预先对准所述低部分及所述高部分,其中所述经预先对准的低部分用于在所述加法逻辑中与所述中间乘积相加,且增量逻辑经配置以基于来自所述加法逻辑的输出的进位或借位值递增或递减所述高部分。
16.根据权利要求11所述的浮点单元,其中所述乘法器块经配置为布斯乘法器。
17.根据权利要求11所述的浮点单元,其中所述中间乘积是按包括总和部分及进位部分的冗余格式来表示。
18.根据权利要求11所述的浮点单元,其经配置以执行具有按比例缩放的浮点融合乘法及加法FMASc指令。
19.根据权利要求11所述的浮点单元,其集成在至少一个半导体裸片中。
20.根据权利要求11所述的浮点单元,其集成到选自由以下各者组成的群组的装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理PDA、固定位置数据单元及计算机。
21.一种处理系统,其包括: 用于接收浮点乘数、被乘数、加数及比例因子操作数的装置; 用于将所述乘数及被乘数的尾数相乘以产生中间乘积的乘数装置; 用于基于所述比例因子及所述加数、乘数及被乘数的指数将所述加数与所述中间乘积预先对准的对准装置;以及 用于将所述经预先对准的加数的尾数与所述中间乘积相加或相减以获得所述处理系统的浮点结果的累加装置。
22.根据权利要求21所述的处理系统,其进一步包括用于将所述浮点结果归一化的归一化装置。
23.根据权利要求21所述的处理系统,其进一步包括用于基于指定舍入模式舍入所述经归一化的浮点结果的装置。
24.根据权利要求21所述的处理系统,其经配置以执行具有按比例缩放的浮点融合乘法及加法FMASc指令。
25.—种非暂时性计算机可读存储媒体,其包括在由处理器执行时致使所述处理器执行用于执行浮点运算的运算的代码,所述非暂时性计算机可读存储媒体包括: 用于接收乘数、被乘数、加数及比例因子操作数的代码; 用于对所述乘数及被乘数操作数的尾数执行部分乘法运算以获得中间乘积的代码; 用于基于所述比例因子及所述加数、乘数及被乘数的指数将所述加数的尾数与所述中间乘积预先对准的代码;以及 用于将所述经预先对准的加数的所述尾数与所述中间乘积相加或相减以获得所述浮点运算的结果的代码。
26.根据权利要求25所述的非暂时性计算机可读存储媒体,其进一步包括用于将所述结果归一化的代码。
27.根据权利要求25所述的非暂时性计算机可读存储媒体,其进一步包括用于对所述经归一化的结果执行舍入运算的代码,其中在方法中在获得所述经归一化的结果之前避免了舍入。
28.一种执行具有按比例缩放的双重数据路径浮点融合乘法及累加运算FMASc运算的方法,所述方法包括: 接收乘数、被乘数、加数及比例因子操作数; 对所述乘数及被乘数操作数的尾数执行部分乘法运算以获得中间乘积; 将所述加数的尾数分成具有较高有效位的高加数部分及具有较低有效位的低加数部分; 将所述高加数部分对准以形成增量部分; 将所述低加数部分与所述中间乘积对准; 将所述低加数部分与所述中间乘积累加以形成相加部分; 基于分别来自所述相加部分的进位输出或借位值将所述增量部分递增或递减以形成最终的增量部分;以及 将所述最终增量部分与所述相加部分串接以形成所述浮点运算的结果。
29.根据权利要求28所述的方法,其中将所述高加数部分与低加数部分对准是基于所述比例因子的值,及所述加数操作数的指数与所述乘数及被乘数操作数的指数的总和之间的差。
30.根据权利要求29所述的方法,其中如果所述比例因子为零,那么基于所述加数操作数的指数与所述乘数及被乘数操作数的所述指数的所述总和之间的所述差为大于、等于或小于第一常数中的一者,确定用于将所述高加数部分及低加数部分对准的左移位及右移位值。
31.根据权利要求29所述的方法,其中如果所述比例因子不等于零,那么基于所述加数操作数的指数与所述乘数及被乘数操作数的所述指数的所述总和之间的所述差为大于、等于或小于第二常数中的一者,确定用于将所述高加数部分及低加数部分对准的左移位及右移位值。
32.根据权利要求29所述的方法,其中用于在所述FMASc运算中所指定的所述累加涉及从所述乘数及被乘数操作数的乘积进行的所述加数的减法的情况下将所述高加数部分及低加数部分对准的移位值不同于用于在所述FMASc运算中所指定的所述累加涉及所述加数与所述乘数及被乘数操作数的所述乘积的加法的情况下将所述高加数部分及低加数部分对准的移位值。
【专利摘要】本发明提供用于实施具有按比例缩放的浮点融合乘法及累加FMASc运算的系统及方法。一种浮点单元接收输入乘数、被乘数、加数及比例因子操作数。乘法器块经配置以将所述乘数及被乘数的尾数相乘以产生中间乘积。对准逻辑经配置以基于所述比例因子及所述加数、乘数及被乘数的指数将所述加数与所述中间乘积预先对准,且累加逻辑经配置以将所述经预先对准的加数的尾数与所述中间乘积相加或相减以获得所述浮点单元的结果。基于所述结果执行归一化及舍入,从而避免了中间阶段期间的舍入。
【IPC分类】G06F7-483
【公开号】CN104520807
【申请号】CN201280075155
【发明人】王亮凯
【申请人】高通股份有限公司
【公开日】2015年4月15日
【申请日】2012年10月30日
【公告号】EP2891056A1, US9110713, US20140067895, WO2014035449A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1