数据处理方法、介质、电子设备和程序产品技术

技术编号:35654755 阅读:13 留言:0更新日期:2022-11-19 16:51
本申请涉及计算机技术领域,公开了一种数据处理方法、介质、电子设备和程序产品。本申请的数据处理方法包括:获取待进行除法运算的第一被除数与第一除数;确定第一被除数中先导1所处的位置,并将第一除数的先导1的位置设置为与第一被除数的先导1的位置对齐;依次对第一被除数和第一除数执行减法操作、差值与零的比较操作和移位操作,得到第一被除数和第一除数的除法运算结果。上述数据处理方法能够在保证除法运算正确性的同时,有效降低除法运算过程中的循环次数,即减少了循环过程中的减法、移位和比较操作,提高了计算效率。提高了计算效率。提高了计算效率。

【技术实现步骤摘要】
数据处理方法、介质、电子设备和程序产品


[0001]本申请涉及计算机
,特别涉及一种数据处理方法、介质、电子设备和程序产品。

技术介绍

[0002]整型除法是计算机最基本的运算功能,有着极其广泛的应用。整型除法运算可以通过硬件实现,例如可以通过除法器执行整型除法运算;整型除法运算也可以通过软件实现,例如可以通过深度学习模型中的Softmax,normalization等算子执行整型除法运算。
[0003]整型除法运算可以分为恢复余数除法和不恢复余数除法。但无论是恢复余数除法还是不恢复余数除法,在除法的运算过程中,商均是通过循环计算每位(bit)实现的,其中,循环次数取决于商的默认有效位数。例如,商的默认有效位数为32bit,则使用常规算法需要进行32次循环;且在每次循环中至少进行一次减法,移位和比较操作。因此,现有的除法运算过程存在运算周期较长的问题,较大地制约了除法器的运算性能,降低了计算效率。

技术实现思路

[0004]本申请实施例提供了一种数据处理方法、介质、电子设备和程序产品。
[0005]第一方面,本申请实施例提供一种数据处理方法,应用于电子设备,包括:获取待进行除法运算的第一被除数与第一除数;确定第一被除数中先导1所处的位置,并将第一除数的先导1的位置设置为与第一被除数的先导1的位置对齐;依次对第一被除数和第一除数执行减法操作、差值与零的比较操作和移位操作,得到第一被除数和第一除数的除法运算结果。
[0006]在本申请实施例中,先导1是指二进制数中第一个“1”所处的位置。
[0007]例如,第一被除数为1010,则第一被除数的先导1在第一位,第一除数为0011,则第一除数的先导1在第三位。
[0008]在本申请实施例中,通过将第一除数的先导1的位置设置为与第一被除数的先导1的位置对齐,能够在保证除法运算正确性的同时,有效降低除法运算过程中的循环次数,即减少了循环过程中的减法、移位和比较操作,提高了计算效率。
[0009]在一种可能的实现中,确定第一被除数中先导1所处的位置,并将第一除数的先导1的位置设置为与第一被除数的先导1的位置对齐包括:计算第一被除数的第一有效位数、第一除数的第二有效位数;根据第一有效位数、第二有效位数,确定移动位数;将第一除数的数值位左移移动位数位,以使第一除数的先导1的位置设置为与第一被除数的先导1的位置对齐。
[0010]在一种可能的实现中,根据第一有效位数、第二有效位数,确定移动位数包括:确定第一有效位数与第二有效位数的差值,得到第一差值;将第一差值加1得到预估有效位数;确定商的默认有效位数;基于默认有效位数、预估有效位数中较小的数值,确定移动位数。
[0011]本申请实施例的数据处理方法中的循环次数一般会小于商的默认有效位数,而现有技术中是将商的默认有效位数作为除法运算过程中的循环次数,因此,本申请实施例提供的数据处理方法,能够有效降低除法运算过程中的循环次数,即减少循环过程中的减法、移位和比较操作。
[0012]在一种可能的实现中,将移动位数作为第一被除数和第一除数的除法运算的总循环次数。
[0013]本申请实施例的数据处理方法中的总循环次数一般会小于商的默认有效位数,因此,本申请实施例提供的数据处理方法,能够有效降低除法运算过程中的循环次数。
[0014]在一种可能的实现中,依次对第一被除数和第一除数执行减法操作、差值与零的比较操作和移位操作,得到运算结果包括:计算第一被除数与第一除数的差值,得到第二差值,并将第二差值作为第二被除数;基于第二被除数为商的第总循环次数位赋值,并获取第三被除数;将总循环次数减1,获取剩余循环次数,并将第一除数的数值位右移一位,得到第二除数;在剩余循环次数小于0的情况下,将第二被除数作为余数;基于商的第总循环次数位的赋值确定商的数值。
[0015]在一种可能的实现中,在剩余循环次数大于等于0的情况下,将第三被除数作为第一被除数,将第二除数作为第一除数;计算第一被除数与第一除数的差值,得到第二差值,并将第二差值作为第二被除数。
[0016]在一种可能的实现中,基于第二被除数为商的第总循环次数位赋值,并获取第三被除数包括:对应于第二被除数大于等于0的情况,将商的第总循环次数位赋值1;将第二被除数作为第三被除数;对应于第二被除数小于0的情况,将商的第总循环次数位赋值0;计算第二被除数与第二除数的和,得到第二数值,将第二数值作为第三被除数。
[0017]可以理解,当第二被除数大于等于0时,即第一被除数够除第一除数,因此不需要借位或移位,所以为商q的第总循环次数位赋值1。
[0018]可以理解,当第二被除数小于0时,即第一被除数不够除第一除数,因此需要借位或移位,所以为商q的第总循环次数位赋值0,将第二被除数加上第二除数是为了得到原被除数,以供下一个循环的计算。
[0019]第二方面,本申请实施例提供一种除法器,其特征在于,包括除法控制逻辑器;除法控制逻辑器用于获取待进行除法运算的第一被除数与第一除数;确定第一被除数先导1所处的位置,并将第一除数的先导1的位置设置为与第一被除数的先导1的位置对齐;依次对第一被除数和第一除数执行减法操作、差值与零的比较操作和移位操作,得到运算结果。
[0020]在本申请实施例中,先导1是指二进制数中第一个“1”所处的位置。
[0021]例如,第一被除数为1010,则第一被除数的先导1在第一位,第一除数为0011,则第一除数的先导1在第三位。
[0022]在本申请实施例中,通过将第一除数的先导1的位置设置为与第一被除数的先导1的位置对齐,能够在保证除法运算正确性的同时,有效降低除法运算过程中的循环次数,即减少了循环过程中的减法、移位和比较操作,提高了计算效率。
[0023]在一种可能的实现中,还包括第一被除数寄存器、第一除数寄存器、算数逻辑单元、余数寄存器、商寄存器,第一被除数寄存器用于存储除法运算过程中的第一被除数;第一除数寄存器用于存储除法运算过程中的第一除数;商寄存器用于存储除法运算过程中的
商;余数寄存器用于存储除法运算过程中的余数;算数逻辑单元用于从第一被除数寄存器获取第一被除数;从第一除数寄存器获取第一除数;除法控制逻辑器用于控制除法运算开始和结束,以及第一除数寄存器、第一被除数寄存器、余数寄存器和商寄存器的初始化、移位和更新。
[0024]第三方面,本申请实施例提供了一种可读介质,可读介质上存储有指令,指令在电子设备上执行时使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任一种数据处理方法。
[0025]第四方面,本申请实施例提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的一个或多个处理器之一,用于实现上述第一方面及上述第一方面的各种可能实现提供的任一种数据处理方法。
[0026]第五方面,本申请实施例提供了一种电子设备,用于实现上述第二方面及上述第二方面的各种可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,应用于电子设备,其特征在于,包括:获取待进行除法运算的第一被除数与第一除数;确定所述第一被除数中先导1所处的位置,并将所述第一除数的先导1的位置设置为与所述第一被除数的先导1的位置对齐;依次对所述第一被除数和第一除数执行减法操作、差值与零的比较操作和移位操作,得到所述第一被除数和第一除数的除法运算结果。2.根据权利要求1所述的数据处理方法,其特征在于,所述确定所述第一被除数中先导1所处的位置,并将所述第一除数的先导1的位置设置为与所述第一被除数的先导1的位置对齐包括:计算所述第一被除数的第一有效位数、所述第一除数的第二有效位数;根据所述第一有效位数、所述第二有效位数,确定移动位数;将所述第一除数的数值位左移所述移动位数位,以使所述第一除数的先导1的位置设置为与所述第一被除数的先导1的位置对齐。3.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述第一有效位数、所述第二有效位数,确定移动位数包括:确定所述第一有效位数与所述第二有效位数的差值,得到第一差值;将所述第一差值加1得到预估有效位数;确定商的默认有效位数;基于所述默认有效位数、所述预估有效位数中较小的数值,确定所述移动位数。4.根据权利要求2所述的数据处理方法,其特征在于,将所述移动位数作为所述第一被除数和第一除数的除法运算的总循环次数。5.根据权利要求4所述的数据处理方法,其特征在于,所述依次对所述第一被除数和第一除数执行减法操作、差值与零的比较操作和移位操作,得到运算结果包括:计算所述第一被除数与所述第一除数的差值,得到第二差值,并将所述第二差值作为第二被除数;基于所述第二被除数为商的第所述总循环次数位赋值,并获取第三被除数;将所述总循环次数减1,获取剩余循环次数,并将所述第一除数的数值位右移一位,得到第二除数;在所述剩余循环次数小于0的情况下,将所述第二被除数作为余数;基于所述商的第所述总循环次数位的赋值确定所述商的数值。6.根据权利要求5所述的数据处理方法,其特征在于,在所述剩余循环次数大于等于0的情况下,将所述第三被除数作为所述第一被除数,将所述第二除数作为所述第一除数;计算所述第一被除数与所述第一除数的差值,得到第二差值,并将所述第二差值作为第二被除数。7.根据权利要求5...

【专利技术属性】
技术研发人员:杨宇周发
申请(专利权)人:安谋科技中国有限公司
类型:发明
国别省市:

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

1