【技术实现步骤摘要】
浮点数乘法计算的方法、装置和算术逻辑单元
[0001]本申请涉及数据处理
,特别涉及一种浮点数乘法计算的方法、装置和算术逻辑单元。
技术介绍
[0002]浮点数是计算机中一种重要的数字格式,在计算机中浮点数由符号、阶码和尾数三部分组成。为了满足不同业务对数据精度的不同需求,在计算机的处理器中通常需要具有对不同精度浮点数的乘法运算能力。
[0003]目前,为了实现对不同精度浮点数的乘法需求,通常会对应精度需求设计多个独立的乘法器。例如,需要处理器同时支持半精度、单精度和双精度的乘法运算,则需要在处理器中独立的至少三个乘法器,使其分别满足半精度、单精度和双精度乘法。
[0004]在实现本申请的过程中,专利技术人发现相关技术至少存在以下问题:
[0005]在处理器中独立设计多个分别支持不同精度的乘法器,当系统只使用其中一种精度的乘法器计算时,其余精度的乘法器处于闲置状态,十分浪费计算资源。
技术实现思路
[0006]为了解决相关技术中计算资源浪费的问题,本申请实施例提供了一种浮点数乘法计算的方法、装置和算术逻辑单元。所述技术方案如下:
[0007]第一方面,提供了一种浮点数乘法计算的方法,该方法包括:
[0008]获取多个待计算的第一精度浮点数;
[0009]对每个待计算的第一精度浮点数进行分解,得到至少两个第二精度浮点数,其中,所述第二精度浮点数的精度低于所述第一精度浮点数的精度;
[0010]确定各种由分解自不同的第一精度浮点数的两个第二精度
【技术保护点】
【技术特征摘要】
1.一种处理器中的算术逻辑单元,其特征在于,所述算术逻辑单元包括浮点数分解电路、第二精度乘法器和累加器,其中:所述浮点数分解电路,用于将输入的每个待计算的第一精度浮点数分解为至少两个第二精度浮点数,其中,所述第二精度浮点数的精度低于所述第一精度浮点数的精度;所述第二精度乘法器,用于接收分解自不同的第一精度浮点数的两个第二精度浮点数组成的组合,将每种组合中的第二精度浮点数进行乘法运算,输出每种组合对应的中间计算结果;所述累加器,用于基于每种组合对应的中间计算结果,运算得到所述多个待计算的第一精度浮点数的计算结果。2.根据权利要求1所述的算术逻辑单元,其特征在于,所述运算为求和运算。3.根据权利要求1或2所述的算术逻辑单元,其特征在于,所述算术逻辑单元还包括阶码调整电路,其中:所述浮点数分解电路,还用于向所述阶码调整电路输出每个第二精度浮点数对应的阶码位移值;所述第二精度乘法器,还用于向所述阶码调整电路输出每种组合对应的中间计算结果;所述阶码调整调整电路,用于基于输入的每种组合中的第二精度浮点数对应的阶码位移值,调整输入的每种组合对应的中间计算结果的阶码,向所述累加器输出调整后的中间计算结果。4.根据权利要求3所述的算术逻辑单元,其特征在于,所述阶码调整调整电路,用于将输入的每种组合中的第二精度浮点数对应的阶码位移值,与输入的每种组合对应的中间计算结果的阶码相加,向所述累加器输出调整后的中间计算结果。5.根据权利要求3所述的算术逻辑单元,其特征在于,所述中间计算结果为第一精度中间计算结果,所述计算结果为第一精度计算结果。6.根据权利要求5所述的算术逻辑单元,其特征在于,所述第一精度浮点数为单精度浮点数,所述第二精度浮点数为半精度浮点数,所述第一精度中间计算结果为单精度中间计算结果,所述第一精度计算结果为单精度计算结果,所述第二精度乘法器为半精度乘法器;或者,所述第一精度浮点数为双精度浮点数,所述第二精度浮点数为单精度浮点数,所述第一精度中间计算结果为双精度中间计算结果,所述第一精度计算结果为双精度计算结果,所述第二精度乘法器为单精度乘法器。7.根据权利要求3所述的算术逻辑单元,其特征在于,所述算术逻辑单元还包括格式转换电路;所述第二精度乘法器,具体用于将每种组合中的第二精度浮点数进行乘法运算,向所述格式转换电路输出每种组合对应的第一精度中间计算结果;所述格式转换电路,用于将输入的每个第一精度中间计算结果进行格式转换,向所述阶码调整电路输出每种组合对应的第三精度中间计算结果,其中,所述第三精度中间计算结果的精度高于所述第一精度中间计算结果;所述阶码调整调整电路,用于基于输入的每种组合中的第二精度浮点数对应的阶码位
移值,调整输入的每种组合对应的第三精度中间计算结果的阶码,向所述累加器输出调整后的第三精度中间计算结果;所述累加器,用于将输入的每种组合对应的调整后的第三精度中间计算结果进行求和运算,输出所述多个第一精度浮点数的第三精度计算结果。8.根据权利要求7所述的算术逻辑单元,其特征在于,所述格式转换电路,用于:将输入的每个第一精度中间计算结果的阶码和尾数分别进行补零处理,向所述阶码调整电路输出每种组合对应的第三精度中间计算结果。9.根据权利要求7或8所述算术逻辑单元,其特征在于,所述第一精度浮点数为单精度浮点数,所述第二精度浮点数为半精度浮点数,所述第一精度中间计算结果为单精度中间计算结果,所述第三精度中间计算结果为双精度中间计算结果,所述第三精度计算结果为双精度计算结果,所述第二精度乘法器为半精度乘法器。10.根据权利要求3所述的算术逻辑单元,其特征在于,所述算术逻辑单元还包括格式转换电路;所述第二精度乘法器,用于将每种组合中的第二精度浮点数进行乘法运算,向所述格式转换电路输出每种组合对应的第三精度中间计算结果;所述格式转换电路,用于将输入的每个第三精度中间计算结果进行格式转换,向所述阶码调整电路输出每种组合对应的第一精度中间计算结果;所述阶码调整调整电路,用于基于输入的每种组合中的第二精度浮点数对应的阶码位移值,调整输入的每种组合对应的第一精度中间计算结果的阶码,向所述累加器输出调整后的第一精度中间计算结果;所述累加器,用于将输入的每种组合对应的调整后的第一精度中间计算结果进行求和运算,输出所述多个第一精度浮点数的第一精度计算结果。11.根据权利要求10所述的算术逻辑单元,其特征在于,所述第一精度浮点数为双精度浮点数,所述第二精度浮点数为半精度浮点数,所述第三精度中间计算结果为单精度中间计算结果,所述第一精度中间计算结果为双精度中间计算结果,所述第一精度计算结果为双精度计算结果,所述第二精度乘法器为半精度乘法器。12.根据权利要求1
‑
11中任一项所述的算术逻辑单元,其特征在于,所述算术逻辑单元还包括,计算模式切换电路,其中:所述计算模式切换电路,用于在设置为第二精度浮点数计算模式时,将所述浮点数分解电路和所述阶码调整电路置为无效;所述第二精度乘法器,用于接收所述算数逻辑单元外部的输入的多组待计算的第二精度浮点数,对每组第二精度浮点数进行乘法运算,输入每组待计算的第二精度浮点数对应的中间计算结果;所累加器,用于将输入的每组待计算的第二精度浮点数对应的中间计算结果进行求和运算,输出所述多组待计算的第二精度浮点数的计算结果。13.一种浮点数乘法计算的方法,其特征在于,所述方法包括:获取多个待计算的第一精度浮点数;对每个待计算的第一精度浮点数进行分解,得到至少两个第二精度浮点数,其中,所述第二精度浮点数的精度低于所述第一精度浮点数的精度;
确定各种由分解自不同的第一精度浮点数的两个第二精度浮点数组成的组合;将每种组合中的第二精度浮点数输入第二精度乘法器中,得到每种组合对应的中间计算结果;基于每种组合对应的中间计算结果,确定所述多个待计算的第一精度浮点数的计算结果。14.根据权利要求13所述的方法,其特征在于,所述对每个待计算的第一精度浮点数进行分解,得到至少两个第二精度浮点数,之后还包括:确定每个第二精度浮点数对应的阶码位移值;所述基于每种组合对应的中间计算结果,确定所述多个待计算的第一精度浮点数的计算结果,包括:分别基于每种组合中的...
【专利技术属性】
技术研发人员:林腾毅,潘秋萍,沈胜宇,徐晓忻,张伟,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。