【技术实现步骤摘要】
支持包级运算的浮点乘加单元及其应用方法
[0001]本专利技术属于微处理器设计
,具体涉及一种支持包级运算的浮点乘加单元及其应用方法。
技术介绍
[0002]随着高性能计算与人工智能技术的不断融合,高性能计算系统的算力形态也发生了相应的改变。传统的高性能计算通常使用双精度浮点数进行计算,它可以提供更高的精度和更大的取值范围以避免计算过程中的累积误差。相比之下,人工智能算法具有良好的鲁棒性,往往可以采用低精度浮点计算以降低计算和存储开销。为同时满足高性能计算和人工智能负载的多元化算力需求,当前主流的高性能计算系统往往支持多种数据格式计算,比如双精度浮点(Double
‑
Precision,DP,64位),单精度浮点(Single
‑
Precision,SP,32位),半精度浮点(Half
‑
Precision,HP,16位)和脑精度浮点(BrainFloat,BF16,16位)等多种数据格式。设计支持多精度浮点运算的功能单元是实现高性能计算系统多元化算力的有效手段。多精度浮点运算单元通常复用尾数乘法器以降低硬件开销,即将多个尺寸较小的适用于低精度计算的乘法器单元组织成乘法器阵列以实现高精度乘法运算。尾数乘法器的规模与数据位宽的平方成正比,比如支持64位双精度浮点计算的乘法器能够同时支持4个32位的单精度乘法或16个16位的半精度乘法。但是,在多精度浮点运算单元中,每种精度的性能与其位宽成反比,这意味着即使支持双精度浮点的乘法器规模减半,依然不会影响单精度和半精 ...
【技术保护点】
【技术特征摘要】
1.一种支持包级运算的浮点乘加单元,其特征在于,包括:数据预处理模块,用于对输入的浮点操作数进行预处理,根据操作类型指定的数据格式,提取输入的浮点操作数的符号位,指数位域和尾数位域,并补上尾数的隐藏位,同时进行对输入数据进行异常检测;尾数乘法模块,用于对补上隐藏位后得到的无符号尾数进行相乘得到乘法结果,所述尾数乘法模块为由2个支持单精度乘法的乘法器组成且采用迭代的方式实现的乘法器阵列;指数差值模块,用于在尾数乘法模块迭代计算的前后两拍需要对不同的操作数计算指数差值;加数对阶移位模块,用于根据指数差值模块得到的指数差值对加数进行移位;加法模块,用于将尾数乘法模块、加数对阶移位模块两则输出的结果执行支持包级运算的加法运算;前导零计算模块,用于计算加法模块合并输出的尾数中前导零的个数,以用于控制后续的尾数规格化移位和指数调整;规格化移位模块,用于对加法模块合并输出的尾数进行向左的逻辑移位,具体左移的数据量为前一步中计算得到的前导零个数;尾数舍入模块,用于根据输出数据格式的尾数位宽,对移位后的尾数进行舍入得到最终的尾数;指数调整模块,用于结合前导零的数量和尾数舍入的进位对指数进行调整,得到最终的指数;输出处理模块,用于根据输出数据格式,将符号位,最终的尾数和最终的指数进行组合,形成最终输出结果,同时对输出数据进行异常检测。2.根据权利要求1所述的支持包级运算的浮点乘加单元,其特征在于,所述由2个支持单精度乘法的乘法器组成且采用迭代的方式实现的乘法器阵列包括:两个数据选择模块、乘法器、4
‑
2压缩树、进位寄存器以及和寄存器,所述乘法器包括乘法器1和乘法器0共两个尺寸为27
×
27的乘法器,两个乘法器和两个数据选择模块一一对应,所述数据选择模块用于选择乘数0和乘数1送入对应的一个乘法器,对于单精度计算,两个乘法器每个时钟周期完成2次乘法运算;对于双精度运算,则通过迭代的方式实现53
×
53的乘法;前一个时钟周期通过两个乘法器完成53
×
27运算,得到加法Sum和进位Carry结果,锁存到进位寄存器以及和寄存器;后一时钟周期完成53
×
26的计算并与前一时钟周期锁存的结果相加得到最终结果。3.根据权利要求2所述的支持包级运算的浮点乘加单元,其特征在于,所述指数差值模块包括数据选择器、指数差计算模块和加数对阶移位模块,所述数据选择器用于选择加数1和乘积指数和作为指数差计算模块的一路输入,所述指数差计算模块的另一路输入为加数2,所述指数差计算模块与加数对阶移位模块的输入端相连;在进行双精度浮点运算时,采用迭代实现的方式,前后两个周期对指数的操作并不相同,第一个时钟周期完成加法,通过数据选择器选择加数1以通过指数差计算模块计算加数1和加数2两个加数的指数差值,后一个时钟周期与传统的乘加单元相同,通过数据选择器选择乘积指数和以通过指数差计算模块计算乘积和加数的指数差值,且前后两次计算需要通过数据选择器复用指数差计算模
块;单精度浮点数计算时和双精度浮点数计算的后一...
【专利技术属性】
技术研发人员:黄立波,谭弘兵,王永文,郭辉,郑重,雷国庆,王俊辉,郭维,邓全,隋兵才,孙彩霞,常俊胜,沈俊忠,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。