当前位置: 首页 > 专利查询>南京大学专利>正文

基于posit数据格式的浮点数乘法运算方法及装置制造方法及图纸

技术编号:24755335 阅读:121 留言:0更新日期:2020-07-04 08:59
本申请提供了一种基于posit数据格式的浮点数乘法运算方法及装置。所述方法包括:获取第一浮点数和第二浮点数之后,分别对第一浮点数和第二浮点数进行分析,根据分析后得到的值,确定目标浮点数。采用posit数据格式进行乘法运算,则可以在0附近保证精度的同时,又可以很大程度的减少数据位宽,从而减少神经网络的训练时间,也降低了对于存储,位宽等资源的需求。

Floating point multiplication method and device based on post data format

【技术实现步骤摘要】
基于posit数据格式的浮点数乘法运算方法及装置
本申请涉及数据处理
,特别涉及一种基于posit数据格式的浮点数乘法运算方法及装置。
技术介绍
随着大数据时代的到来,人工神经网络技术得到飞速发展。人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。人工神经网络的重点在于数据处理,即对浮点数进行运算、分析,从而建立神经网络模型。目前通常采用IEEE754规范的规格化单精度浮点数格式(简称为IEEE754数据格式)的浮点数执行数据处理的过程。这种数据格式的浮点数可以表示一个很大范围的数值,同时也能满足神经网络训练的要求。虽然上述IEEE754数据格式的浮点数在精度上能够满足神经网络训练的要求,但是由于其位宽较长,在处理这种数据时需要耗费一定的时间并且消耗一定的资源,进而影响神经网络的训练速度,使神经网络训练的效率降低。如果能够将posit数据格式的浮点数直接用于执行人工神经网络的数据处理过程,将大大缩短所需的时间。但是,目前还没有基于posit数据格式的浮点数的乘法运算方法。
技术实现思路
本申请提供了一种基于posit数据格式的浮点数乘法运算方法及装置,可用于实现基于posit数据格式的浮点数乘法运算。第一方面,本申请实施例提供一种基于posit数据格式的浮点数乘法运算方法,所述方法包括:获取posit数据格式的第一浮点数和posit数据格式的第二浮点数;对所述第一浮点数进行分析,确定所述第一浮点数中第一符号段的值、第一组织段的值、第一指数段的值和第一尾数段的值;对所述第二浮点数进行分析,确定所述第二浮点数中第二符号段的值、第二组织段的值、第二指数段的值和第二尾数段的值;根据所述第一符号段的值和所述第二符号段的值,确定目标符号段的值;根据所述第一尾数段的值和所述第二尾数段的值,确定目标尾数段的值和目标指数段的进位;根据所述第一组织段的值、所述第一指数段的值、所述第二组织段的值、所述第二指数段的值和所述目标指数段的进位,确定目标组织段的值和目标指数段的值;将所述目标符号段的值、所述目标组织段的值、所述目标指数段的值和所述目标尾数段的值以二进制码的形式按照预设总位宽组成目标浮点数。结合第一方面,在第一方面的一种可实现方式中,根据所述第一符号段的值和所述第二符号段的值,确定目标符号段的值,包括:按照预设的转换关系,将所述第一符号段的值转换成第一符号段的科学表示值;按照预设的转换关系,将所述第二符号段的值转换成第二符号段的科学表示值;根据所述第一符号段的科学表示值和所述第二符号段的科学表示值,确定目标符号段的科学表示值;按照预设的转换关系,将所述目标符号段的科学表示值转换成所述目标符号段的值。结合第一方面,在第一方面的一种可实现方式中,所述第一符号段的科学表示值按照下述公式确定:SA=sA其中,SA是所述第一符号段的科学表示值;sA是所述第一符号段的值;所述第二符号段的科学表示值按照下述公式确定:SB=sB其中,SB是所述第二符号段的科学表示值;sB是所述第二符号段的值。结合第一方面,在第一方面的一种可实现方式中,所述目标符号段的科学表示值按照下述公式确定:S=SA⊕SB其中,S是所述目标符号段的科学表示值;SA是所述第一符号段的科学表示值;SB是所述第二符号段的科学表示值。结合第一方面,在第一方面的一种可实现方式中,所述目标符号段的值按照下述公式确定:s=S其中,s是所述目标符号段的值;S是所述目标符号段的科学表示值。结合第一方面,在第一方面的一种可实现方式中,根据所述第一尾数段的值和所述第二尾数段的值,确定目标尾数段的值和目标指数段的进位,包括:按照预设的转换关系,将所述第一尾数段的值转换成第一尾数段的科学表示值;按照预设的转换关系,将所述第二尾数段的值转换成第二尾数段的科学表示值;根据所述第一尾数段的科学表示值与所述第二尾数段的科学表示值的乘积,确定所述目标尾数段的科学表示值和所述目标指数段的进位;按照预设的转换关系,将所述目标尾数段的科学表示值转换成所述目标尾数段的值。结合第一方面,在第一方面的一种可实现方式中,所述第一尾数段的科学表示值按照下述公式确定:FA=fA其中,FA是所述第一尾数段的科学表示值;fA是所述第一尾数段的值;所述第二尾数段的科学表示值按照下述公式确定:FB=fB其中,FB是所述第二尾数段的科学表示值;fB是所述第二尾数段的值。结合第一方面,在第一方面的一种可实现方式中,所述目标尾数段的科学表示值和所述目标指数段的进位按照下述步骤确定:计算下述公式中的X、Y和Z:1.FA*1.FB=XY.Z其中,FA是所述第一尾数段的科学表示值;FB是所述第二尾数段的科学表示值;X表示所述目标指数段的进位,取值为0或1;Y表示乘法结果的次高位,取值为0或1;Z表示乘法结果小数点后的所有尾数;如果X=0,所述目标尾数段的科学表示值根据下述公式确定:F=Z如果X=1,所述目标尾数段的科学表示值根据下述公式确定:F=YZ其中,F是所述目标尾数段的科学表示值。结合第一方面,在第一方面的一种可实现方式中,所述目标尾数段的值按照下述公式确定:f=F其中,f是所述目标尾数段的值;F是所述目标尾数段的科学表示值。结合第一方面,在第一方面的一种可实现方式中,根据所述第一组织段的值、所述第一指数段的值、所述第二组织段的值、所述第二指数段的值和所述目标指数段的进位,确定目标组织段的值和目标指数段的值,包括:按照预设的转换关系,根据所述第一组织段的值、所述第一指数段的值和预设指数段位宽,确定第一指数段的科学表示值;按照预设的转换关系,根据所述第二组织段的值、所述第二指数段的值和预设指数段位宽,确定第二指数段的科学表示值;根据所述第一指数段的科学表示值、所述第二指数段的科学表示值和所述目标指数段的进位,确定目标指数段的科学表示值;按照预设的转换关系,将所述目标指数段的科学表示值转换成所述目标组织段的值和所述目标指数段的值。结合第一方面,在第一方面的一种可实现方式中,所述第一指数段的科学表示值按照下述步骤确定:EA=rA×2es+eA其中,EA是所述第一指数段的科学表示值;rA是所述第一组织段的值;eA是所述第一指数段的值;es是所述预设指数段位宽;所述第二指数段的科学表示值按照下述步骤确定:EB=rB×2es+eB其中,EB是所述第二指数段的科学表示值;rB是所述第二组织段的值;eB是所述第二指数段的值;es是所述预设指数段位宽。结合第一方面,在第一方面的一种可实现方式中,所述目标指数段本文档来自技高网...

【技术保护点】
1.一种基于posit数据格式的浮点数乘法运算方法,其特征在于,所述方法包括:/n获取posit数据格式的第一浮点数和posit数据格式的第二浮点数;/n对所述第一浮点数进行分析,确定所述第一浮点数中第一符号段的值、第一组织段的值、第一指数段的值和第一尾数段的值;/n对所述第二浮点数进行分析,确定所述第二浮点数中第二符号段的值、第二组织段的值、第二指数段的值和第二尾数段的值;/n根据所述第一符号段的值和所述第二符号段的值,确定目标符号段的值;/n根据所述第一尾数段的值和所述第二尾数段的值,确定目标尾数段的值和目标指数段的进位;/n根据所述第一组织段的值、所述第一指数段的值、所述第二组织段的值、所述第二指数段的值和所述目标指数段的进位,确定目标组织段的值和目标指数段的值;/n将所述目标符号段的值、所述目标组织段的值、所述目标指数段的值和所述目标尾数段的值以二进制码的形式按照预设总位宽组成目标浮点数。/n

【技术特征摘要】
1.一种基于posit数据格式的浮点数乘法运算方法,其特征在于,所述方法包括:
获取posit数据格式的第一浮点数和posit数据格式的第二浮点数;
对所述第一浮点数进行分析,确定所述第一浮点数中第一符号段的值、第一组织段的值、第一指数段的值和第一尾数段的值;
对所述第二浮点数进行分析,确定所述第二浮点数中第二符号段的值、第二组织段的值、第二指数段的值和第二尾数段的值;
根据所述第一符号段的值和所述第二符号段的值,确定目标符号段的值;
根据所述第一尾数段的值和所述第二尾数段的值,确定目标尾数段的值和目标指数段的进位;
根据所述第一组织段的值、所述第一指数段的值、所述第二组织段的值、所述第二指数段的值和所述目标指数段的进位,确定目标组织段的值和目标指数段的值;
将所述目标符号段的值、所述目标组织段的值、所述目标指数段的值和所述目标尾数段的值以二进制码的形式按照预设总位宽组成目标浮点数。


2.根据权利要求1所述的方法,其特征在于,根据所述第一符号段的值和所述第二符号段的值,确定目标符号段的值,包括:
按照预设的转换关系,将所述第一符号段的值转换成第一符号段的科学表示值;
按照预设的转换关系,将所述第二符号段的值转换成第二符号段的科学表示值;
根据所述第一符号段的科学表示值和所述第二符号段的科学表示值,确定目标符号段的科学表示值;
按照预设的转换关系,将所述目标符号段的科学表示值转换成所述目标符号段的值。


3.根据权利要求2所述的方法,其特征在于,所述第一符号段的科学表示值按照下述公式确定:
SA=sA
其中,SA是所述第一符号段的科学表示值;sA是所述第一符号段的值;
所述第二符号段的科学表示值按照下述公式确定:
SB=sB
其中,SB是所述第二符号段的科学表示值;sB是所述第二符号段的值。


4.根据权利要求3所述的方法,其特征在于,所述目标符号段的科学表示值按照下述公式确定:
S=SA⊕SB
其中,S是所述目标符号段的科学表示值;SA是所述第一符号段的科学表示值;SB是所述第二符号段的科学表示值。


5.根据权利要求4所述的方法,其特征在于,所述目标符号段的值按照下述公式确定:
s=S
其中,s是所述目标符号段的值;S是所述目标符号段的科学表示值。


6.根据权利要求1所述的方法,其特征在于,根据所述第一尾数段的值和所述第二尾数段的值,确定目标尾数段的值和目标指数段的进位,包括:
按照预设的转换关系,将所述第一尾数段的值转换成第一尾数段的科学表示值;
按照预设的转换关系,将所述第二尾数段的值转换成第二尾数段的科学表示值;
根据所述第一尾数段的科学表示值与所述第二尾数段的科学表示值的乘积,确定所述目标尾数段的科学表示值和所述目标指数段的进位;
按照预设的转换关系,将所述目标尾数段的科学表示值转换成所述目标尾数段的值。


7.根据权利要求6所述的方法,其特征在于,所述第一尾数段的科学表示值按照下述公式确定:
FA=fA
其中,FA是所述第一尾数段的科学表示值;fA是所述第一尾数段的值;
所述第二尾数段的科学表示值按照下述公式确定:
FB=fB
其中,FB是所述第二尾数段的科学表示值;fB是所述第二尾数段的值。


8.根据权利要求7所述的方法,其特征在于,所述目标尾数段的科学表示值和所述目标指数段的进位按照下述步骤确定:
计算下述公式中的X、Y和Z:
1.FA*1.FB=XY.Z
其中,FA是所述第一尾数段的科学表示值;FB是所述第二尾数段的科学表示值;X表示所述目标指数段的进位,取值为0或1;Y表示乘法结果的次高位,取值为0或1;Z表示乘法结果小数点后的所有尾数;
如果X=0,所述目标尾数段的科学表示值根据下述公式确定:
F=Z
如果X=1,所述目标尾数段的科学表示值根据下述公式确定:
F=YZ
其中,F是所述目标尾数段的科学表示值。


9.根据权利要求8所述的方法,其特征在于,所述目标尾数段的值按照下述公式确定:
f=F
其中,f是所述目标尾数段的值;F是所述目标尾数段的科学表示值。


10.根据权利要求8所述的方法,其特征在于,根据所述第一组织段的值、所述第一指数段的值、所述第二组织段的值、所述第二指数段的值和所述目标指数段的进位,确定目标组织段的值和目标指数段的值,包括:
按照预设的转换关系,根据所述第一组织段的值、所述第一指数段的值和预设指数段位宽,确定第一指数段的科学表示值;
按照预设的转换关系,根据所述第二组织段的值、所述第二指数段的值和预设指数段位宽,确定第二指数段的科学表示值;
根据所述第一指数段的科学表示值、所述第二指数段的科学表示值和所述目标指数段的进位,确定目标指数段的科学表示值;
按照预设的转换关系,将所述目标指数段的科学表示值转换成所述目标组织段的值和所述目标指数段的值。


11.根据权利要求10所述的方法,其特征在于,所述第一指数段的科学表示值按照下述步骤确定:
EA=rA×2es+eA
其中,EA是所述第一指数段的科学表示值;rA是所述第一组织段的值;eA是所述第一指数段的值;es是所述预设指数段位宽;
所述第二指数段的科学表示值按照下述步骤确定:
EB=rB×2es+eB
其中,EB是所述第二指数段的科学表示值;rB是所述第二组织段的值;eB是所述第二指数段的值;es是所述预设指数段位宽。


12.根据权利要求11所述的方法,其特征在于,所述目标指数段的科学表示值按照下述步骤确定:
计算下述公式中的E0:
E0=EA+EB
其中,EA是所述第一指数段的科学表示值;EB是所述第二指数段的科学表示值;
如果X=0,所述目标指数段的科学表示值根据下述公式确定:
E=E0
如果X=1,所述目标指数段的科学表示值根据下述公式确定:
E=E0+1
其中,E是所述目标指数段的科学表示值。


13.根据权利要求12所述的方法,其特征在于,所述目标组织段的值按照下述公式确定:



其中,r是所述目标组织段的值,并且,当r为非整数时,r值向下取整;E是所述目标指数段的科学表示值,es是所述预设指数段位宽。


14.根据权利要求13所述的方法,其特征在于,所述目标指数段的值按照下述公式确定:
e=E-2es*r
其中,e是所述目标指数段的值;E是所述目标指数段的科学表示值,es是所述预设指数段位宽;r是所述目标组织段的值。


15.根据权利要求1所述的方法,其特征在于,将所述目标符号段的值、所述目标组织段的值、所述目标指数段的值和所述目标尾数段的值以二进制码的形式按照预设总位宽组成目标浮点数,包括:
按先后顺序将所述目标符号段的值对应的二进制码、所述目标组织段的值对应的二进制码、所述目标指数段的值对应的二进制码和所述目标尾数段的值对应的二进制码进行拼接;
判断拼接后的二进制码的位宽是否大于预设总位宽,如果拼接后的二进制...

【专利技术属性】
技术研发人员:王中风徐铭阳方超林军
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

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

1