算数逻辑单元、浮点数乘法计算的方法及设备技术

技术编号:37221167 阅读:7 留言:0更新日期:2023-04-20 23:06
本申请公开了一种算数逻辑单元、浮点数乘法计算的方法及设备。本申请提供的算数逻辑单元用于计算机芯片,包括至少一个调整电路和至少一个乘加器。每个调整电路,用于获取输入浮点数,根据输入浮点数,调整得到输出浮点数,将输出浮点数输入至乘加器。每个乘加器,用于根据输出浮点数获得第一乘积结果,将第一乘积结果匹配为第一精度的浮点数的格式,输出第一匹配结果。因此,本申请通过调整电路将不同精度的输入浮点数转换为同一精度的输出浮点数,将不同精度的输入浮点数的乘法运算,转换为了同一精度的输出浮点数的乘法运算,这样,在计算设备中不必设计多种独立的不同精度乘法器,有效地节省了计算资源。效地节省了计算资源。效地节省了计算资源。

【技术实现步骤摘要】
算数逻辑单元、浮点数乘法计算的方法及设备


[0001]本申请涉及数据处理
,特别涉及一种算数逻辑单元、浮点数乘法计算的方法及设备。

技术介绍

[0002]浮点数是计算机中一种重要的数字格式,在计算机中浮点数由符号、阶码和尾数三部分组成。为了满足不同业务对数据精度的不同需求,计算机通常需要具有对不同精度的浮点数进行乘法运算的能力。
[0003]目前,为了实现对不同精度浮点数的乘法运算需求,通常会对应不同的精度设计多个独立的乘法器。例如,在需要处理器同时支持半精度、单精度和双精度的乘法运算时,则可以在处理器等芯片中设计独立的至少三个乘法器,使其分别满足半精度、单精度和双精度浮点数的乘法运算需求。
[0004]在实现本申请的过程中,专利技术人发现相关技术至少存在以下问题:
[0005]在芯片中独立设计多个分别支持不同精度的乘法器,当系统只使用其中一种精度的乘法器计算时,其余精度的乘法器处于闲置状态,十分浪费计算资源。

技术实现思路

[0006]本申请提供了一种逻辑计算单元、浮点数乘法计算的方法及设备,可以解决相关技术中浪费计算资源的技术问题。所述技术方案如下:
[0007]第一方面,本申请提供了一种算数逻辑单元,该算数逻辑单元,用于计算机芯片,算数逻辑单元包括至少一个调整电路和至少一个乘加器。其中,每个调整电路,用于获取输入浮点数,根据所述输入浮点数,调整得到输出浮点数,其中,所述输入浮点数为第一精度的浮点数,所述输出浮点数为第二精度的浮点数,将所述输出浮点数输入至所述乘加器。每个乘加器,用于根据所述输出浮点数获得第一乘积结果,将第一乘积结果匹配为第一精度的浮点数的格式,输出第一匹配结果。
[0008]通过调整电路将不同精度的输入浮点数转换为同一精度的输出浮点数,将不同精度的输入浮点数的乘法运算,转换为了同一精度的输出浮点数的乘法运算,这样,在计算设备中不必设计多种独立的不同精度乘法器,有效地节省了计算资源。
[0009]上述计算机芯片可以为中央处理器(Central Processing Unit,CPU)芯片、图形处理器(Graphics Processing Unit,GPU)芯片、现场可编程门阵列(Field

Programmable Gate Array,FPGA)芯片、专用集成电路(Application Specific Intergrated Circuits,ASIC)芯片或其他人工智能(Artificial Intelligence,AI)芯片等,本申请不对计算机芯片的具体类型进行限制。
[0010]算数逻辑单元(arithmetic and logic unit,ALU)是指在运算器中执行算数运算(包括加减乘除等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)的实体电路。本申请的算数逻辑单元可以是专门用于进行浮点数运算的算数逻辑单元,可
以称为浮点数ALU。
[0011]调整电路和乘加器是算数逻辑单元中的实体电路,调整电路与乘加器电性连接。乘加器用于对某一精度(如第一精度)的浮点数进行运算,而调整电路的作用是将非第二精度的浮点数转换为第二精度的浮点数,并输出给乘加器。从而,使得一种精度的乘加器,就可以支持多种精度浮点数的运算。
[0012]上述所示的方案,在算数逻辑单元进行运算时,调整电路获取第一精度的输入浮点数,然后,根据输入浮点数调整得到第二精度的输出浮点数。然后,将这输出浮点数输入至乘加器中。乘加器对第二精度浮点数进行乘加运算,得到第一乘积结果,然后,将第一乘积结果匹配为第一精度的浮点数的格式,并输出第一匹配结果。该第一匹配结果即为第一精度的输入浮点数的乘积结果。
[0013]需要说明的是,调整电路在将输出浮点数输入至乘加器时,可以是按照乘数组合的形式输入,即将多个输出浮点数划分成多组输出浮点数的组合,并依次输入至乘加器中。该输出浮点数的组合中可以包括分别来自两个输入浮点数的两个输出浮点数,也可以包括分别来自多个输入浮点数的多个输出浮点数,本申请对此不做限定。
[0014]例如,算数逻辑单元需要进行输入浮点数C和D的乘法计算,而调整电路将C拆分为c1和c2,将D拆分为d1和d2,则C
×
D=(c1+c2)
×
(d1+d2)=c1
×
d1+c1
×
d2+c2
×
d1+c2
×
d2。可见,将输入浮点数C和D的乘法计算,转换为4组输出浮点数的乘法计算。则调整电路可以确定4组输出浮点数组合,即c1和d1、c1和d2、c2和d1以及c2和d2,并将4组输出浮点数组合依次输入到乘加器中。则乘加器可以对4组输出浮点数的乘积进行累加,得到第一乘积结果。
[0015]为了便于说明,第一精度浮点数的精度可以表示为FP(1+E+M),第二精度浮点数的精度可以表示为FP(1+e+m),其中,1表示符号位宽,E表示输入浮点数的阶码位宽,e表示输出浮点数的阶码位宽,M表示输入浮点数的尾数位宽,m表示输出浮点数的尾数位宽。另外,对于输入浮点数和输出浮点数来说,其尾数部分均还包括一位隐藏的整数位。E、M、e、m均为正整数。
[0016]下面介绍几种典型的第一精度浮点数和第二精度浮点数:
[0017]如果第二精度浮点数的阶码位宽为9bit,例如,FP(1+9+10)和FP(1+9+11)。则第一精度浮点数可以为阶码位宽小于9bit的任何浮点数,例如,FP(1+5+10)、FP(1+8+7)和FP(1+8+23)。
[0018]如果第二精度浮点数的阶码位宽为12bit,例如,FP(1+12+10)、FP(1+12+11)和FP(1+12+13)。则第一精度浮点数可以为阶码位宽小于12bit的任何浮点数,例如,FP(1+5+10)、FP(1+8+7)、FP(1+8+23)和FP(1+11+52)。
[0019]需要说明的是,第一精度浮点数FP(1+5+10)、FP(1+8+7)、FP(1+8+23)和FP(1+11+52)还可以分别表示为半精度浮点数(half

precision floating

point format,FP16)、bfloat16、单精度浮点数(single

precision floating

point format,FP32)和双精度浮点数(double

precision floating

point format,FP64)。第二精度浮点数FP(1+9+10)、FP(1+9+11)、FP(1+12+10)、FP(1+12+11)和FP(1+12+13)还可以分别表示为FP20、FP21、FP23、FP24和FP26。
[0020]在一种可能的实现方式中,所述每个调整电路接收的输入浮点数的精度不同,所
述每本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器芯片,包括:控制器,用于处理N类浮点数,每类浮点数对应一个第一精度,所述N类浮点数所对应的N个第一精度不同,所述N为大于等于2的整数;算数逻辑单元ALU,包括:N个调整电路,每个调整电路用于:从所述控制器获取输入浮点数,所述输入浮点数为所述N类浮点数中的其中一类;将所述输入浮点数从第一精度转换为第二精度,得到输出浮点数,其中所述N个调整电路所输出的N个输出浮点数的精度都为第二精度;乘加器,所述乘加器连接至所述N个调整电路,用于:从所述N个调整电路接收转换后的输出浮点数;对所述输出浮点数进行运算生成第一运算结果;将所述第一运算结果转换为所述输入浮点数的第一精度。2.根据权利要求1所述的处理器芯片,其特征在于,所述输出浮点数的阶码位宽大于所述输入浮点数的阶码位宽。3.根据权利要求1或2所述的处理器芯片,其特征在于,所述每个乘加器包括运算子电路和格式处理子电路;所述运算子电路,用于接收所述输出浮点数,根据所述输出浮点数获得所述第一运算结果;所述格式处理子电路,用于:接收模式信号和所述第一运算结果,根据所述模式信号将所述第一运算结果由第二精度转换为为第一精度,所述模式信号用于指示所述格式处理子电路的输出精度;输出所述第一运算结果。4.根据权利要求1

3任一项所述的处理器芯片,其特征在于,所述输入浮点数的尾数位宽小于或等于所述输出浮点数的尾数位宽,则所述N个调整电路中的每个调整电路用于:将所述输入浮点数调整为一个输出浮点数,所述输入浮点数表示的数值与所述输出浮点数表示的数值相同。5.根据权利要求1

3任一项所述的处理器芯片,其特征在于,所述输入浮点数的尾数位宽大于所述输出浮点数的尾数位宽,则所述每个调整电路用于将所述输入浮点数转换为多个输出浮点数,每个输入浮点数表示的数值与所述多个输出浮点数之和所表示的数值相同。6.根据权利要求5所述的处理器芯片,其特征在于,所述每个输入浮点数对应的输出浮点数的个数根据所述输入浮点数的尾数位宽以及所述输出浮点数的尾数位宽确定。7.根据权利要求1

6任一项所述的处理器芯片,其特征在于,所述输入浮点数的格式满足电气与电子工程师协会IEEE二进制浮点数算术标准,所述输出浮点数的格式不满足所述IEEE二进制浮点数算术标准。8.一种计算设备,其特征在于,所述计算设备包括主板以及如权利要求1

7任意一项所述的芯片;所述芯片设置在所述主板上。9.一种浮点数乘法计算的方法,其特征在于,由处理器芯...

【专利技术属性】
技术研发人员:潘秋萍林腾毅沈胜宇
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1