半精度浮点数除法器数据处理方法及系统技术方案

技术编号:28294957 阅读:21 留言:0更新日期:2021-04-30 16:18
本发明专利技术提供了一种半精度浮点数除法器数据处理方法,包括对第一数据和第二数据分别进行位分离处理,以分别得到第一位分离数据和第二位分离数据,对所述第二位分离数据进行数据调整,以得到调整数据,对所述调整数据进行迭代计算处理,以得到迭代数据,对所述第一位分离数据和所述迭代数据进行混合运算,以得到混合位分离数据,对所述混合位分离数据进行数据复位调整,以得到计算结果数据。所述半精度浮点数除法器数据处理方法通过迭代计算处理,减少了运算周期,提高运算效率。本发明专利技术还提供了一种实现半精度浮点数除法器数据处理方法的半精度浮点数除法器数据处理系统。

【技术实现步骤摘要】
半精度浮点数除法器数据处理方法及系统
本专利技术涉及半精度浮点数除法器领域,尤其涉及一种半精度浮点数除法器数据处理方法及系统。
技术介绍
在卷积神经网络(ConvolutionalNeuralNetworks,CNN)的设计中,随着被处理的图像像素数量的增加和判别种类的增多,网络模型的层数也在逐渐增加。从易设计的角度出发,大部分的卷积神经网络设计采用定点数的方式处理数据,其数学运算速度快,算法电路设计成熟,其中的定点除法电路也成功的应用到CNN神经网络设计中,但其越界误差会随着层数的增加而不断的增大,易影像最终的分类判断,而实用浮点数方式,因其表示范围大,产生越界误差的可能性小,因此浮点数方式进行计算已经成为业界的方向。目前浮点数的计算电路已经成熟,但在除法器上还存在运算周期过多,运算时间过长的问题,例如XilinxFPGA的除法器中,FP16的除法需要17个时钟周期,其周期长,运算效率低。因此,有必要提供一种新型的半精度浮点数除法器数据处理方法及系统以解决现有技术中存在的上述问题。
技术实现思路
本专利技术的目的在于提供一种半精度浮点数除法器数据处理方法及系统,减少了运算周期,提高运算效率。为实现上述目的,本专利技术的所述半精度浮点数除法器数据处理方法,包括以下步骤:S1:对第一数据和第二数据分别进行位分离处理,以分别得到第一位分离数据和第二位分离数据:S2:对所述第二位分离数据进行数据调整,以得到调整数据;S3:对所述调整数据进行迭代计算处理,以得到迭代数据;S4:对所述第一位分离数据和所述迭代数据进行混合运算,以得到混合位分离数据;S5:对所述混合位分离数据进行数据复位调整,以得到计算结果数据。所述半精度浮点数除法器数据处理方法的有益效果在于:对所述调整数据进行迭代计算处理,以得到迭代数据,对所述第一位分离数据和所述迭代数据进行混合运算,以得到混合位分离数据,对所述混合位分离数据进行数据复位调整,以得到计算结果数据,通过迭代计算处理,减少了运算周期,提高运算效率。优选地,所述第二位分离数据包括第一位分离子数据、第二位分离子数据和第三位分离子数据,调整数据包括所述第一位分离子数据、第二位分离移位数据和第三位分离运算数据,所述数据调整包括以下步骤:S21:对所述第三位分离子数据还原处理,以得到还原数据;S22:对所述还原数据进行移位处理,以得到所述第二位分离移位数据,且使所述第二位分离移位数据位于阈值区间内;S23:根据所述移位处理的类型对所述第二位分离子数据和所述移位处理的位数进行加处理或减处理,以得到所述第三位分离运算数据。进一步优选地,所述阈值区间包括第一端值和第二端值,所述第一端值与所述还原数据差值的绝对值小于所述第二端值与所述还原数据差值的绝对值,所述第二位分离移位数据为最接近所述第一端值的移位数据。进一步优选地,所述迭代数据包括所述第一位分离子数据、所述第二位分离移位数据和迭代运算结果数据,所述迭代计算处理包括以下步骤:S31:根据第一迭代阈值、第二迭代阈值、第三迭代阈值和第四迭代阈值对所述第三位分离运算数据进行迭代运算,以得到运算结果数据;S32:判断第一迭代阈值与所述运算结果数据的差值是否大于1;S33:若所述差值大于1,则将所述运算结果数据作为新的第一迭代阈值,重新执行所述步骤S31和所述步骤S32,直至所述差值小于或等于1,然后将最后一次执行所述步骤S31得到的运算结果数据作为所述迭代运算结果数据输出。其有益效果在于:便于控制迭代次数,进而减少运算周期。进一步优选地,所述第一位分离数据包括第四位分离子数据、第五位分离子数据和第六位分离子数据,所述混合位分离数据包括第一位分离整合数据、第二位分离整合数据和第三位分离整合数据,所述混合运算包括以下步骤:对所述第四位分离子数据和所述第一位分离子数据进行幂运算,以得到所述第一位分离整合数据;对所述第五位分离子数据、所述第二位分离移位数据和加减阈值进行加减处理,以得到所述第二位分离整合数据;对所述第六位分离子数据、所述迭代运算结果数据和乘除阈值进行乘除运算,以得到所述第三位分离整合数据。其有益效果在于:便于计算得到混合位分离数据。进一步优选地,所述计算结果数据包括第一位分离整合数据、第二位移位数据和第三位数据,所述数据复位调整包括以下步骤:S51:判断所述第三位分离整合数据是否小于第一复位调整阈值;S52:若所述第三位分离整合数据小于所述第一复位调整阈值,则将所述第三位分离整合数据向左移动最少位数,使所述第三位分离整合数据大于或等于所述第一复位调整阈值;S53:对所述第三位分离整合数据和所述第三位分离整合数据向左移动的最少位数进行减处理,以得到所述第三位数据。其有益效果在于:便于得到半精度浮点数。进一步优选地,所述数据复位调整还包括以下步骤:S51a:判断所述第三位分离整合数据是否大于第二复位调整阈值;S52a:若所述第三位分离整合数据大于所述第二复位调整阈值,则将所述第三位分离整合数据向右移动最少位数,使所述第三位分离整合数据小于或等于所述第一复位调整阈值;S53a:对所述第三位分离整合数据和所述第三位分离整合数据向右移动的最少位数进行加处理,以得到所述第三位数据。其有益效果在于:便于得到半精度浮点数。本专利技术还提供了一种半精度浮点数除法器数据处理系统,包括第一位分离模块、第二位分离模块、调整模块、迭代模块、混合运算模块和复位调整模块,所述第一位分离模块与所述混合运算模块连接,所述第二位分离模块与所述调整模块和所述混合运算模块连接,所述调整模块和所述混合运算模块连接,所述混合运算模块和所述复位调整模块连接,其中,所述第一位分离模块用于对第一数据进行位分离处理,以得到第一位分离数据,所述第二位分离模块用于对第二数据进行位分离处理,以得到第二位分离数据,所述调整模块用于对所述第二位分离数据进行数据调整,以得到调整数据,所述迭代模块用于对所述调整数据进行迭代计算处理,以得到迭代数据,所述混合运算模块用于对所述第一位分离数据和所述迭代数据进行混合运算,以得到混合位分离数据,所述复位调整模块用于对所述混合位分离数据进行数据复位调整,以得到计算结果数据。所述半精度浮点数除法器数据处理系统的有益效果在于:所述迭代模块用于对所述调整数据进行迭代计算处理,以得到迭代数据,所述混合运算模块用于对所述第一位分离数据和所述迭代数据进行混合运算,以得到混合位分离数据,所述复位调整模块用于对所述混合位分离数据进行数据复位调整,以得到计算结果数据,通过迭代计算处理,减少了运算周期,提高运算效率。优选地,所述调整模块包括数据还原单元、数据移位单元和第一数据运算单元,所述数据还原单元的输入端与所述第二位分离模块的第二输出端连接,所述数据还原单元的输出端与所述数据移位单元连接,所述数据移位单元的第一输出端与所述第一数据运算单元的第一输入端连接,所述本文档来自技高网...

【技术保护点】
1.一种半精度浮点数除法器数据处理方法,其特征在于,包括以下步骤:/nS1:对第一数据和第二数据分别进行位分离处理,以分别得到第一位分离数据和第二位分离数据:/nS2:对所述第二位分离数据进行数据调整,以得到调整数据;/nS3:对所述调整数据进行迭代计算处理,以得到迭代数据;/nS4:对所述第一位分离数据和所述迭代数据进行混合运算,以得到混合位分离数据;/nS5:对所述混合位分离数据进行数据复位调整,以得到计算结果数据。/n

【技术特征摘要】
1.一种半精度浮点数除法器数据处理方法,其特征在于,包括以下步骤:
S1:对第一数据和第二数据分别进行位分离处理,以分别得到第一位分离数据和第二位分离数据:
S2:对所述第二位分离数据进行数据调整,以得到调整数据;
S3:对所述调整数据进行迭代计算处理,以得到迭代数据;
S4:对所述第一位分离数据和所述迭代数据进行混合运算,以得到混合位分离数据;
S5:对所述混合位分离数据进行数据复位调整,以得到计算结果数据。


2.根据权利要求1所述的半精度浮点数除法器数据处理方法,其特征在于,所述第二位分离数据包括第一位分离子数据、第二位分离子数据和第三位分离子数据,调整数据包括所述第一位分离子数据、第二位分离移位数据和第三位分离运算数据,所述数据调整包括以下步骤:
S21:对所述第三位分离子数据还原处理,以得到还原数据;
S22:对所述还原数据进行移位处理,以得到所述第二位分离移位数据,且使所述第二位分离移位数据位于阈值区间内;
S23:根据所述移位处理的类型对所述第二位分离子数据和所述移位处理的位数进行加处理或减处理,以得到所述第三位分离运算数据。


3.根据权利要求2所述的半精度浮点数除法器数据处理方法,其特征在于,所述阈值区间包括第一端值和第二端值,所述第一端值与所述还原数据差值的绝对值小于所述第二端值与所述还原数据差值的绝对值,所述第二位分离移位数据为最接近所述第一端值的移位数据。


4.根据权利要求3所述的半精度浮点数除法器数据处理方法,其特征在于,所述迭代数据包括所述第一位分离子数据、所述第二位分离移位数据和迭代运算结果数据,所述迭代计算处理包括以下步骤:
S31:根据第一迭代阈值、第二迭代阈值、第三迭代阈值和第四迭代阈值对所述第三位分离运算数据进行迭代运算,以得到运算结果数据;
S32:判断第一迭代阈值与所述运算结果数据的差值是否大于1;
S33:若所述差值大于1,则将所述运算结果数据作为新的第一迭代阈值,重新执行所述步骤S31和所述步骤S32,直至所述差值小于或等于1,然后将最后一次执行所述步骤S31得到的运算结果数据作为所述迭代运算结果数据输出。


5.根据权利要求4所述的半精度浮点数除法器数据处理方法,其特征在于,所述第一位分离数据包括第四位分离子数据、第五位分离子数据和第六位分离子数据,所述混合位分离数据包括第一位分离整合数据、第二位分离整合数据和第三位分离整合数据,所述混合运算包括以下步骤:
对所述第四位分离子数据和所述第一位分离子数据进行幂运算,以得到所述第一位分离整合数据;
对所述第五位分离子数据、所述第二位分离移位数据和加减阈值进行加减处理,以得到所述第二位分离整合数据;
对所述第六位分离子数据、所述迭代运算结果数据和乘除阈值进行乘除运算,以得到所述第三位分离整合数据。


6.根据权利要求5所述的半精度浮点数除法器数据处理方法,其特征在于,所述计算结果数据包括第一位分离整合数据、第二位移位数据和第三位数据,所述数据复位调整包括以下步骤:
S51:判断所述第三位分离整合数据是否小于第一复位调整阈值;
S52:若所述第三位分离整合数据小于所述第一复位调整阈值,则将所述第三位分离整合数据向左移动最少位数,使所述第三位分离整合数据大于或等于所述第一复位调整阈值;
S53:对所述第三位分离整合数据和所述第三位分离整合数据向左移动的最少位数进行减处理,以得到所述第三位数据。


7.根据权利要求6所述的半精度浮点数除法器数据处理方法,其特征在于,所述数据复位调整还包括以下步骤:
S51a:判断所述第三位分离整合数据是否大于第二复位调整阈值;
S52a:若所述第三位分离整合数据大于所述第二复位调整阈值,则将所述第三位分离整合数据向右移动最少位数,使所述第三位分离整合数据小于或等于所述第一复位调整阈值;
S53a:对所述第三...

【专利技术属性】
技术研发人员:马向华边立剑叶梦琦
申请(专利权)人:上海安路信息科技股份有限公司
类型:发明
国别省市:上海;31

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

1