【技术实现步骤摘要】
【国外来华专利技术】在128位宽的操作数上的融合乘加浮点运算
本专利技术一般涉及数据处理系统,尤其涉及用于在128位宽的操作数上执行融合乘加浮点运算的单元、方法、系统和计算机程序产品。
技术介绍
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过程还提供了改进的精度,因为在以全精度执行了乘法和加法运算之后只需执行舍入。例如,只有一个舍入误差而不是两个。分析应用程序(尤其是在大数据量上运行时)是非常计算密集型的。它们的主要数据类型是二进制浮点数。这包括商业上可用的分析软件,如ILOG、SPSS、Cognos、Algo以及许多针对保险和银行业的专业分析软件包。许多移动应用需要位置检测例程,这也是浮点密集型计算。这些例程的性能是远程信息处理等新兴领域的关键, ...
【技术保护点】
1.一种浮点单元(10),被配置为在三个128位宽的操作数(100,102,104)上实现融合乘加运算,包括:(i)113×113位乘法器(14),其连接到用于乘法操作数(100,102)的数据流,并被配置为迭代地计算226位进位保存乘积(70),其中,和项(71)和进位项(74)被分成所述乘积(70)的高部分(72,75)和低部分(73,76);(ii)左移位器(18),其连接到用于加数操作数(104)的高部分(78)和低部分(79)的数据流,并被配置为传递所述加数(77)的对齐部分;(iii)右移位器(20),其连接到用于所述加数操作数(104)的所述高部分(78)和所述低部分(79)的所述数据流,并被配置为传递所述加数(77)的所述对齐部分;(iv)选择电路(24),其连接到所述移位器(18,20)的输出并包括3到2压缩器(25)以将所述和项(71)和所述进位项(74)与所述加数(77)合并;(v)加法器(26),其连接到来自所述选择电路(24)的数据流;(vi)第一反馈路径(36),其将所述加法器(26)的进位输出(91)连接到所述选择电路(24),用于在两个后续加法中,针对所 ...
【技术特征摘要】
【国外来华专利技术】2017.01.16 US 15/406,9101.一种浮点单元(10),被配置为在三个128位宽的操作数(100,102,104)上实现融合乘加运算,包括:(i)113×113位乘法器(14),其连接到用于乘法操作数(100,102)的数据流,并被配置为迭代地计算226位进位保存乘积(70),其中,和项(71)和进位项(74)被分成所述乘积(70)的高部分(72,75)和低部分(73,76);(ii)左移位器(18),其连接到用于加数操作数(104)的高部分(78)和低部分(79)的数据流,并被配置为传递所述加数(77)的对齐部分;(iii)右移位器(20),其连接到用于所述加数操作数(104)的所述高部分(78)和所述低部分(79)的所述数据流,并被配置为传递所述加数(77)的所述对齐部分;(iv)选择电路(24),其连接到所述移位器(18,20)的输出并包括3到2压缩器(25)以将所述和项(71)和所述进位项(74)与所述加数(77)合并;(v)加法器(26),其连接到来自所述选择电路(24)的数据流;(vi)第一反馈路径(36),其将所述加法器(26)的进位输出(91)连接到所述选择电路(24),用于在两个后续加法中,针对所述高部分(72,75,78)和所述低部分(73,76,79)执行中间乘积(70)和对齐的加数(77)的宽加法运算;(vii)第二反馈路径(38),其将所述加法器(26)的输出连接到所述移位器(18,20),用于使中间宽结果(86)通过所述移位器(18,20)以进行规格化以及第二次通过所述加法器(26)以进行舍入。2.根据权利要求1所述的单元,其中,所述左移位器(18)被实现为具有位旋转功能的右移位器。3.根据权利要求1所述的单元,其中,所述乘法器(14)被配置为顺序地计算所述乘积(70)的所述高部分(72,75)和所述低部分(73,76)。4.根据权利要求1所述的单元,还包括前导零计数器(22),其连接到所述加数操作数(104)的解包电路(12)。5.根据权利要求1所述的单元,还包括用于如果所述加数(77)的阶码减去所述加数(77)的前导零数量大于所述乘积(70)的阶码加上常数,则将所述乘积(70)与所述加数(77)对齐的装置,其中,所述常数至少为2。6.根据权利要求5所述的单元,还包括用于在非正规加数(77)的情况下对所述加数(77)进行规格化的装置。7.根据权利要求5所述的单元,还包括用于将所述乘积(70)的所述高部分(72,75)和所述低部分(73,76)与所述加数(77)对齐并合并到单个数据部分的装置。8.根据权利要求1所述的单元,还包括用于如果所述加数(77)的阶码减去所述加数(77)的前导零数量小于或等于所述乘积(70)的阶码加上常数,则通过所述左移位器和/或所述右移位器(18,20)将所述加数(77)与所述乘积(70)对齐的装置,其中,所述常数至少为2。9.根据权利要求8所述的单元,还包括用于通过所述左移位器和/或所述右移位器(18,20)将所述加数(77)的所述高部分(78)和所述低部分(79)分别与所述乘积(70)对齐的装置。10.根据权利要求8所述的单元,还包括用于在有效加法运算的情况下,通过所述选择电路(70)和所述3到2压缩器将所述乘积(70)的所述高部分(72,75,78)和所述低部分(73,76,79)与所述加数(77)相加的装置。11.根据权利要求8所述的单元,还包括用于在有效减法运算的情况下,如果循环进位运算的结果等于零,则计算所述乘积(70)与负加数(77)的负和作为结果(86),否则计算所述乘积(70)与所述负加数(77)之和加1作为结果(86)的装置。12.一种用于在浮点单元(10)中执行二进制浮点算术计算的方法,所述浮点单元被配置为在三个128位宽的操作数(100,102,104)上实现融合乘加运算,所述方法包括:(i)由113×113位乘法器(14)迭代地计算乘法操作数(100,102)的226位进位保存乘积(70),其中,和项(71)和进位项(74)被分成所述乘积(70)的高部分(72,75)和低部分(73,76);(ii)通过连接到数据流的左移位器(18)至少对齐加数操作数(104)的高部分(78)和低部分(79),所述左移位器(18)被配置为传递所述加数(77)的对齐部分;(iii)通过连接到所述数据流的右移位器(20)对齐所述加数操作数(104)的所述高部分(78)和所述低部分(79),所述右移位器(20)被配置为传递所述加数(77)的所述对齐部分;(iv)通过连接到所述移位器(18,20)的输出的选择电路(24)将两个乘积项(71,74)与所述...
【专利技术属性】
技术研发人员:M·K·克罗纳,U·克劳兹,T·巴宾斯基,S·M·穆勒,A·瓦格纳,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。