二进制融合乘加浮点计算制造技术

技术编号:15955910 阅读:35 留言:0更新日期:2017-08-08 09:55
本公开的各实施例总体上涉及二进制融合乘加浮点计算。具体地,涉及一种二进制融合乘加浮点单元,被配置成对加数、乘数和被乘数进行运算。该单元被配置成经由早期结果反馈路径接收在该单元中执行的在先运算的未舍入结果作为加数;以对未舍入指数和未舍入尾数执行未舍入加数的对准移位;以及响应于向上舍入信号与实际对准移位并行地执行加数的舍入校正。

【技术实现步骤摘要】
二进制融合乘加浮点计算
本专利技术的各个方面总体上涉及数据处理系统,并且具体地涉及执行二进制融合乘加浮点计算。
技术介绍
2008年出版的用于二进制浮点运算的IEEE-754-2008标准规定了通常在计算机硬件中实现的浮点数据架构,诸如具有乘法器的浮点处理器。格式包括符号、无符号偏置指数和有效位数。符号位是单个比特,并且用“S”表示。用“e”表示的无符号偏置指数例如对于单精度为8个比特长,对于双精度为11个比特长,对于四精度为15个比特长。有效位数例如对于单精度为24个比特长,对于双精度为53个比特长,对于四精度为113个比特长。如IEEE-754-2008标准所定义的,有效位数的最高有效位——即所谓的隐含位——是从指数位中解码的。为了改进浮点算术处理,大多数现代处理器使用被称为融合乘加(以下缩写为FMA)过程的过程来将浮点乘法运算(例如A*B)与浮点加法运算(例如+C)组合,用于作为单个指令(例如A*B+C)来执行,其中A、B、C是乘积A*B的操作数以及C和乘积的和的操作数。通过在单个指令中执行两个运算,FMA过程减少了整个执行时间。FMA过程还提供了改进的精度,因为仅需要在以全精度执行乘法和加法运算两者之后才执行舍入。例如,只有一个舍入误差,而不是两个。在浮点处理器中,一个中心区域是乘法器阵列。乘法器阵列用于执行两个数的乘法。通常,使用具有基数4的最先进的布思(Booth)编码,其是通常使用的快速乘法算法。这减少了需要求和直到n/2+1的乘积项的数量,其中n是每个操作数的位数。使用允许并行处理所有位的进位保存加法器电路来进行求和,而不是将较低位位置的进位输出链接到下一较高位置的常规相加,其通常通过进位传播加法器电路来执行。进行这种求和的电路在本领域中被称为约减树。在约减树的末端,剩余两个项,和项和进位项,它们分别表示信息的求和部分和信息的进位部分。这些项最终与对准的加数一起添加。再次,在这里执行进位保存加法。最后,只剩下两个项,也是和项和进位项,并且这两个项使用进位-传播-加法器相加以生成一个最终结果。分析应用、特别是在大数据量上运行时是非常计算密集的。它们的主要数据类型是二进制浮点。这包括商业可用的分析软件,如ILOG、SPSS、Cognos、Algo、以及很多专为保险和银行行业设计的分析软件包。很多移动应用需要位置检测例程,位置检测例程也是浮点密集型计算。这些例程的性能在新兴领域、例如远程信息处理中是关键的,其将移动输入与数据库查询和保险分析代码组合并且具有实时要求。对于这两个领域,浮点单元(FPU)的等待时间和吞吐量对于应用的性能非常重要。对于欺诈检测,例如,FPU性能是关于检测是否接近实时的关键。IEEE754-2008标准使得FMA(融合乘加,即A*B+C)对于现代浮点单元是强制的。自从引入IEEE754-2008标准以来,对于具有FMA支持的最快FPU存在巨大竞争。US2014/0188966A1和类似地US8,892,619B2(其每个通过引用整体并入本文)公开了在集成电路中实施的浮点融合乘加(FMA)单元。FMA单元包括具有浮点输入A和C以及浮点输出A*C的乘法器电路、以及连接到乘法器电路的输出的加法器电路。加法器电路将浮点输出A*C与浮点输入B相加,以产生结果A*C+B。加法器电路包括与乘法器电路并行实现的指数差分电路、在指数差分电路之后实现的近路径电路、在指数差分电路之后实现的远路径电路、连接到近路径电路和远路径电路的输出的2:1多路复用器(Mux)电路、以及连接到2:1多路复用器电路的输出的舍入电路。FMA单元还包括累积旁路电路,累积旁路电路将2:1多路复用器电路的未舍入输出转发给近路径电路和远路径电路的输入,并且以进位保存格式将指数结果转发给指数差分电路的输入。FMA单元中还包括将2:1多路复用器电路的未舍入输出转发给乘法器电路的浮点输入A和C的乘加旁路电路。根据US2014/0188966A1和US8,892,619B2的公开内容,需要用于B操作数(加数)的舍入校正在加数进入对准移位器之前发生。累积旁路电路相对于彼此交错,使得指数数据路径比尾数数据路径更早地开始,并且指数结果比进位保存格式的尾数结果更早地计算以转发用于下一从属计算。远路径电路将增量与移位和加法数据路径组合。在被馈送给移位器或加法器之前递增的情况下,未舍入输出被右边填充1,并且加法器电路中的电路使用进位传播,就好像未舍入结果在移位和加法之前已经递增。因此,US2014/0188966A1公开了一种在级联乘加管线上的融合乘加。FMA单元需要特殊的浮点加法器结构,用于将2:1多路复用器的未舍入输出转发给浮点输入A和乘法器电路。US8,671,129B2(其全部通过引用内容并入本文)公开了一种用于在乘加管线中执行乘法运算的处理单元。为了减少管线等待时间,乘加运算的未舍入结果被旁路到乘加管线的输入用于在后续运算中使用。如果确定在先运算需要舍入,则在后续运算期间发生舍入。在后续运算期间,未被乘法运算使用的布思(Booth)编码器输出舍入校正因子作为未被乘法运算利用的布思(Booth)多路复用器的选择输入。当布思多路复用器接收舍入校正因子时,布思多路复用器将舍入校正值输出给进位保存加法器(CSA)树,并且CSA树根据舍入校正值和其他部分乘积生产正确的和。US8,671,129B2中公开的处理单元使用融合乘加算法工作。US8,671,129B2描述了对乘法器输入执行校正以及对布思(Booth)结构的必要修改。然而,它没有描述如何对加数应用舍入校正。在2011年在第20届IEEE计算机算术研讨会上公开的SamehGalal、MarkHorowitz的“LatencySensitiveFMADesign”的出版物中还描述了需要由远近路径组成的特殊加法器结构的在US2014/0188966A1中公开的FMA单元设计(其通过引用整体并入本文),其应用于级联融合乘加管线。US8,990,282B2(其全部内容通过引用并入本文)公开了一种包括乘法电路和加法电路的融合乘加浮点单元。乘法电路将具有N位有效位数的操作数B和C相乘以生成未舍入乘积B*C。未舍入乘积B*C具有M位有效位数,其中M>N。加法电路接收操作数A,操作数A在比乘法电路4接收操作数B和C的处理周期更晚的处理周期输入。在由乘法电路4生成未舍入乘积B*C之后,加法电路8开始操作数A的处理。加法电路8将操作数A与未舍入乘积B*C相加,并且输出舍入结果A+B*C。因此,在US8,990,282B2中,在融合乘加运算的情况下,乘法器将未舍入乘积转发给加法器部分,这是级联乘法和加法设计的特色。此外,在第二种转发中,舍入结果被转发回A输入,即加数。由所公开的乘加单元提供的结果总是被完全舍入;这可以是乘法、加法、减法或乘加运算的结果。由所公开的单元接收的操作数也被完全舍入。不存在来自在先运算的结果到后续运算的操作数的未舍入转发。US8,977,670B2(其全部内容通过引用并入本文)公开了在融合乘加管线内实现未融合乘加指令。该系统包括具有用于接收加法项的输入的对准器、具有用于接收用于乘法的第一值和第二值的两个输入的乘法器树、和第一进位保存加法器(CSA),其中第一C本文档来自技高网...

【技术保护点】
一种被配置成对加数、乘数和被乘数进行运算并且被配置成执行一种方法的单元,所述方法包括:经由早期结果反馈路径接收在所述单元中执行的在先运算的未舍入结果作为所述加数;对未舍入指数和未舍入尾数执行所述加数的对准移位;以及与所述对准移位并行地执行所述加数的舍入校正,所述舍入校正通过向上舍入信号被启用。

【技术特征摘要】
2016.02.01 US 15/011,735;2016.06.29 US 15/197,2901.一种被配置成对加数、乘数和被乘数进行运算并且被配置成执行一种方法的单元,所述方法包括:经由早期结果反馈路径接收在所述单元中执行的在先运算的未舍入结果作为所述加数;对未舍入指数和未舍入尾数执行所述加数的对准移位;以及与所述对准移位并行地执行所述加数的舍入校正,所述舍入校正通过向上舍入信号被启用。2.根据权利要求1所述的单元,其中所述执行所述舍入校正还包括通过向所述单元的乘数约减树施加的校正项来执行所述加数的所述舍入校正。3.根据权利要求2所述的单元,还包括执行以下中的至少一项:通过基于有效加法向移位量应用解码函数来获取所述校正项;或者通过基于有效减法向所述移位量应用半解码函数来获取所述校正项。4.根据权利要求2所述的单元,其中支持多个浮点精度,并且其中所述校正项的值被适配成支持所支持的多个浮点精度中的一个或多个浮点精度的结果的未舍入转发。5.根据权利要求2所述的单元,其中所述方法还包括基于递增所述在先运算的未舍入中间结果来生成所述校正项。6.根据权利要求1所述的单元,其中所述执行所述对准移位还包括通过总和寻址移位器来执行所述对准移位。7.根据权利要求1所述的单元,其中所述在先运算是以下中的至少一项:加法、乘法、或乘加运算。8.根据权利要求1所述的单元,其中计算所述加数与所述乘数和所述被乘数的乘积之间的和或绝对差,所述和或所述绝对差包括粘滞位。9.根据权利要求8所述的单元,其中所述方法还包括基于所述和或所述绝对差的所述粘滞位来计算由所述执行所述舍入校正使用的校正项。10.根据权利要求1所述的单元,其中所述执行所述对准移位包括计算移位量并且对操作数移位。11.根据权利要求10所述的单元,其中所述方法还包括基于所述移位量来生成由所述执行所述舍...

【专利技术属性】
技术研发人员:M·克莱恩K·M·克罗伊纳C·利希特瑙S·M·穆勒
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1