首页> 中国专利> 除运算方法及除法器、除法装置、电子设备、存储介质

除运算方法及除法器、除法装置、电子设备、存储介质

摘要

本申请实施例公开了除运算方法及除法器、除法装置、电子设备、存储介质;其中,所述除法装置包括:选择单元、除运算单元和结果输出单元;其中,所述选择单元,用于根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值;所述除运算单元,包括:乘法器、加法器及移位器,用于根据所述一组目标参数值,对所述被除数进行运算,得到除法结果;所述结果输出单元,用于对所述除法结果处理后输出。

著录项

  • 公开/公告号CN112256235A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利权人 OPPO广东移动通信有限公司;

    申请/专利号CN202011173935.1

  • 发明设计人 刘君;

    申请日2020-10-28

  • 分类号G06F7/52(20060101);

  • 代理机构11270 北京派特恩知识产权代理有限公司;

  • 代理人吴薇薇;张颖玲

  • 地址 523860 广东省东莞市长安镇乌沙海滨路18号

  • 入库时间 2023-06-19 09:38:30

说明书

技术领域

本申请实施例涉及数字信号处理技术,涉及但不限于除运算方法及除法器、除法装置、电子设备、存储介质。

背景技术

在第四代移动通信(4th Generation,4G)和第五代移动通信(5th Generation,5G)系统的物理层编解码和调制解调过程的数学运算中,存在许多除数为常数的整数除法运算。由于这些除法运算结果的舍入方式包括向下取整、向上取整和四舍五入等,因此在基带芯片的这类除法器数字逻辑设计时,需要充分考虑到不同的情况,以支持不同的舍入方式。

在除数固定的除法器实现中,通常会采用以下几种方法:第一种是用被除数循环地减去除数,直到被除数小于除数为止,循环的次数即为除法结果;第二种是采用二进制除法竖式计算的方法,通过多次移位和减法实现除法运算。

然而,这两种方法都是采用迭代的方式,需要通过多个周期的运算才能够得到除法结果,如此就制约了运算效率,因此均不能满足高效快速运算的要求。

发明内容

有鉴于此,本申请实施例提供的除运算方法及除法器、除法装置、电子设备、存储介质,能够提高除法的运算效率,从而满足高效快速运算的要求。本申请实施例提供的除运算方法及除法器、装置、电子设备、存储介质是这样实现的:

本申请实施例提供的除法装置,包括:选择单元、除运算单元和结果输出单元;其中,所述选择单元,用于根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值;所述除运算单元,包括:乘法器、加法器及移位器,用于根据所述一组目标参数值,对所述被除数进行运算,得到除法结果;所述结果输出单元,用于对所述除法结果处理后输出。

本申请实施例提供的除法器,包括:乘法器,用于对被除数和输入的一组目标参数值中第二参数的值进行乘法运算,得到第一运算结果;加法器,用于对所述第一运算结果和所述一组目标参数值中第三参数的值进行加法运算,得到第二运算结果;移位器,用于对所述第二运算结果和所述一组目标参数值中第一参数的值进行移位运算,得到除法结果。

本申请实施例提供的除运算方法,包括:根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值;对所述被除数和所述一组目标参数值中第二参数的值进行乘法运算,得到第一运算结果;对所述第一运算结果和所述一组目标参数值中第三参数的值进行加法运算,得到第二运算结果;对所述第二运算结果和所述一组目标参数值中第一参数的值进行移位运算,得到除法结果。

本申请实施例提供的一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的方法。

本申请实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例所述的方法。

本申请实施例提供的电子设备,包括本申请实施例任一所述的除法装置。

在本申请实施例中,提供了一种除法装置,在该装置中,选择单元根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值;除运算单元,包括乘法器、加法器及移位器,用于根据所述一组目标参数值,对所述被除数进行运算,得到除法结果;如此,无需采用迭代的方式,即可获得除法结果,因此该除法装置能够更加快速地获得除法结果,从而满足高效快速运算的要求。

附图说明

图1为本申请实施例可能适用的一种网络架构示意图;

图2为本申请实施例提供的除法装置的结构示意图;

图3为本申请实施例提供的另一除法装置的结构示意图;

图4为本申请实施例提供的又一除法装置的结构示意图;

图5为本申请实施例提供的再一除法装置的结构示意图;

图6为本申请实施例提供的另一除法装置的结构示意图;

图7为本申请实施例除法器的结构示意图;

图8为本申请实施例除运算方法的实现流程示意图;

图9为本申请实施例逻辑电路的结构示意图;

图10为本申请实施例另一逻辑电路的结构示意图;

图11为本申请实施例又一逻辑电路的结构示意图;

图12为本申请实施例提供的又一除法装置的结构示意图;

图13为本申请实施例提供的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

需要指出,本申请实施例所涉及的术语“第一\第二\第三”是为了区别类似或不同的对象,不代表针对对象的特定排序。可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本申请实施例的技术方案可以应用第四代移动通信系统(the 4th generationmobile communication system,4G)、第五代移动通信技术(5th-Generation wirelesscommunication technology,5G)新空口(New Radio,NR)系统或未来的通信系统,也可以用于其他各种无线通信系统,例如:窄带物联网(Narrow Band-Internet of Things,NB-IoT)系统、全球移动通讯系统(Global System of Mobilecommunication,GSM)、增强型数据速率GSM演进(Enhanced Data rate for GSM Evolution,EDGE)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、码分多址2000(Code DivisionMultiple Access,CDMA2000)系统、时分同步码分多址(Time Division-SynchronizationCode Division Multiple Access,TD-SCDMA)系统、通用分组无线业务(General PacketRadio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)等。

图1示出了本申请实施例可能适用的一网络架构。如图1所示,本实施例提供的网络架构包括:网络设备101和终端102。本申请实施例提供的除法装置可以应用于图1所示的终端102中,例如应用于终端的编解码器或调制解调器。终端102可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户终端设备(terminal device)或移动台(Mobile Station,MS)等等。

本申请实施例提供的除法装置还可以应用于图1所示的网络设备101中,例如除法装置应用于网络设备101的编解码器或调制解调器中。网络设备101可以是一种部署在无线接入网中用以为终端102提供无线通信功能的设备。在本申请实施例中,该网络设备例如可以为图1所示的基站,该基站可以包括各种形式的宏基站、微基站、中继站或接入点等等。

本申请实施例提供一种除法装置,图2为本申请实施例提供的除法装置的结构示意图,如图2所示,该除法装置20包括选择单元201、除运算单元202和结果输出单元203;其中,

选择单元201,用于根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值。

在一些实施例中,所述映射关系集中的每组候选参数值在作为所述除运算单元的输入时,使得所述除运算单元在除数固定时对被除数所属取值范围内的每一被除数均能运算正确。例如,除运算单元基于该组目标参数值,对当前被除数所属取值范围内的每一被除数进行运算时,均能够得到正确的除法结果。

在一些实施例中,被除数的属性包括但不限于:有符号整数还是无符号整数、是有符号整数时是正数还是负数、应用场景中被除数所属取值范围。除数的属性包括但不限于:是有符号整数还是无符号整数、有符号整数时是否是2的整数次幂、与所述取值范围的上下界值的关系。除法结果的舍入方式可以是多种多样的,例如可以是向上取整、向下取整、四舍五入或向无穷大取整或向零取整等。

需要说明的是,被除数所属取值范围,可以理解为所在应用场景中被除数所属的最大取值范围。而不同的应用场景,该取值范围可能是不同的。例如,在5G NR物理上行控制信道(PUCCH)的分组跳频(Group Hopping)参数计算中,伪随机序列的初始化值为

在本申请实施例中,对于除数的类型不做限定,除数可以是无符号整数,也可以是有符号整数,还可以是无符号或者有符号的分数(该分数为有理数)。

在一些实施例中,选择单元201,可以用于当所述除数是分数且为有理数时,将所述被除数与所述除数的分母的乘积更新为所述被除数,将所述除数的分子更新为所述除数;根据更新后的所述被除数的属性、所述更新后的除数的属性和除法结果的舍入方式,选择对应的一组目标参数值。

除运算单元202,包括乘法器2021、加法器2022和移位器2023,用于根据所述一组目标参数值,对所述被除数进行运算,得到除法结果。

结果输出单元203,用于对所述除法结果处理后输出。

处理除法结果的方式与应用场景有关。例如,在无符号整数除法(即被除数和除数均为无符号整数)、除数和每一被除数均为正数或者均为负数的应用场景中,结果输出单元203将除法结果直接输出即可。

再如,在每一被除数均为非负整数且除数为非正整数、或者每一被除数均为非正整数且除数为非负整数的应用场景中,结果输出单元203对除法结果取反后输出,当然前提是除运算单元输出给该输出单元203的除法结果是基于被除数的绝对值得到的。

又如,在取值范围的部分被除数为非负整数、另一部分被除数为非正整数、且除数为非负整数的应用场景中,结果输出单元203根据被除数的符号,决定是直接输出除法结果还是对除法结果取反后再输出,当然前提也是除运算单元202输出给该输出单元203的除法结果是基于被除数的绝对值得到的。

在本申请实施例中,提供了一种除法装置,在该装置中,选择单元根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值;除运算单元,包括乘法器、加法器及移位器,用于根据所述一组目标参数值,对所述被除数进行运算,得到除法结果;如此,无需采用迭代的方式,即可获得除法结果,因此该除法装置能够更加快速地获得除法结果,从而满足高效快速运算的要求,进而缩短通信时延。

在一些实施例中,映射关系集中的每组候选参数值在作为所述除运算单元的输入时,使得所述除运算单元在除数固定时对被除数所属取值范围内的每一被除数均能运算正确。

可以理解地,由于映射关系集中的每组候选参数值在作为除运算单元的输入时,使得除运算单元在对应除数固定时对对应被除数所属取值范围内的每一被除数均能运算正确。这样,就无需预先存储每一被除数的除法结果,从而大大节约了存储资源。

举例来说,在5G NR物理上行控制信道(PUCCH)的分组跳频(GroupHopping)参数计算中,伪随机序列的初始化值为

再如,在4G LTE的码块分割(Code block segmentation)单元中,分割后的码块个数是

在一些实施例中,所述映射关系集包括在所述被除数和所述除数均为无符号整数、且所述舍入方式为向下取整的情况下对应的第一关系子集。所述第一关系子集包括第一条目、第二条目、第三条目和/或第四条目。这样,第一关系子集中存储这4个第一条目,即可满足无符号整除除法中向下取整的不同除数的除法运算需求。

第一条目,包括在所述除数是2的整数次幂的情况下,对应的一组候选参数(N,M,L)的值为(N

可以理解地,在实际应用中,无论被除数和除数具体是什么值,只要满足无符号整数、除数是2的整数次幂、且舍入方式为向下取整这些条件,选择电路即可根据这些条件从映射关系集中选择对应的这组候选参数值(N

需要说明的是,映射关系集存储的是已经预先计算好的(N

第二条目,包括在所述除数不是2的整数次幂、且

在一些实施例中,映射关系集中可以存储选择条件为被除数和除数均为无符号整数、舍入方式为向下取整、除数不是2的整数次幂、且

第三条目,包括在所述除数不是2的整数次幂、且

第四条目,包括在除数不是2的整数次幂、且

其中,N

基于上述第一关系子集,在一些实施例中,映射关系集还可以包括在所述被除数和所述除数均为无符号整数、且所述舍入方式为向上取整的情况下对应的第二关系子集;其中,所述被除数的下界值更新为

举例来说,第二关系子集中的第五条目包括在被除数是2的整数次幂的情况下,对应的一组候选参数值为

同样地,在一些实施例中,第二关系子集中存储的是预先计算好的候选参数值

可以理解地,在实际应用中,无论被除数和除数具体是什么值,只要满足无符号整数、除数是2的整数次幂、且舍入方式为向上取整这些条件,选择电路即可选择映射关系集中与这些条件对应的这组候选参数值

同理,对于第二关系子集中的第六条目包括在所述除数不是2的整数次幂、且

当然,第二关系子集中还可以包括第七条目,该条目包括在所述除数不是2的整数次幂、且

在一些实施例中,第二关系子集中还可以包括第八条目,该表项包括在所述除数不是2的整数次幂、且

需要说明的是,第二关系子集中可以包括以上第四条目至第八条目中的至少一项。

基于上述第一关系子集,在一些实施例中,所述映射关系集还可以包括在所述被除数和所述除数均为无符号整数、且所述舍入方式为四舍五入的情况下对应的第三关系子集;其中,所述被除数的下界值更新为

综上所述,映射关系集可以包括如下表1所示的至少一项表项内容。如此,在映射关系集中包括以下每一表项的内容时,能够在节约大量存储资源的同时,在不改变除法装置的结构的情况下,使得该除法装置能够支持多种舍入方式和多种除数的除法运算场景。

表1

可以理解地,不同的应用场景中,除法装置20中选择单元201的功能可能是不同的。例如,在无符号整数除法的应用场景中,选择单元201,用于根据除数是否是2的整数次幂、除数与所述取值范围的上下界值的关系和除法结果的舍入方式,从所述映射关系集中选择对应的一组目标参数值。

再如,在有符号整数除法的应用场景中,选择单元路201,用于当所述被除数和所述除数均为正数或者均为负数时,根据所述被除数和所述除数均为无符号整数、所述除数是否是2的整数次幂、所述除数与所述取值范围的上下界值的关系和除法结果的舍入方式,从预先存储的所述映射关系集中,选择对应的一组目标参数值。

可以理解地,所谓有符号整数除法,是指应用场景中每一被除数为有符号整数,除数可以是有符号整数或无符号整数。通常情况下,在应用场景中,除数都是固定的,即为一常数。

和/或,选择单元201,用于当除法结果的舍入方式为向无穷大取整时,或者,当所述被除数与所述除数中一个为正数另一为负数、且除法结果的舍入方式为向下取整时,根据所述被除数和所述除数均为无符号整数、除法结果的舍入方式为向上取整、所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值。

和/或,选择单元201,用于当除法结果的舍入方式为向零取整时,或者,当所述被除数与所述除数中一个为正数另一为负数、且除法结果的舍入方式为向上取整时,根据所述被除数和所述除数均为无符号整数、除法结果为向下取整、所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值。

和/或,选择单元201,用于当除法结果的舍入方式为四舍五入时,根据所述被除数和所述除数均为无符号整数、除法结果的舍入方式为四舍五入、所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值。

在一些实施例中,在取值范围的上下界值均大于等于零时,除数与取值范围的上下界值的关系包括

在一些实施例中,在取值范围的上界值大于等于零和下界值小于等于零时,取值范围可以更新为:

在一些实施例中,在取值范围的上下界值均小于等于零时,取值范围的上界值更新为

需要说明的是,对于除数是分数且为有理数的应用场景,取值范围也要更新。即更新后的被除数的取值范围的上界值为更新前的被除数的取值范围的上界值与除数的分母的乘积,更新后的被除数的取值范围的下界值为更新前的被除数的取值范围的下界值与除数的分母的乘积。

可以理解地,在有符号整数除法的应用场景中,除数可能是正数也可能是负数,被除数所属取值范围的每一被除数可能均为非负数或者均为非正数,也可能部分被除数为正数,部分被除数为负数,而这些情况与具体的应用场景有关。而具体的应用场景对应的除法装置的结构可能是不同的。例如,在被除数所属取值范围的上界值和下界值均小于等于零、且除数也小于等于零的应用场景中,即该取值范围内的每一被除数均不是正数,除数也不是正数,在该应用场景中,如图3所示,除法装置30可以包括选择单元301、除运算单元302、结果输出单元303和求绝对值单元304;其中,

选择单元301,用于根据所述被除数和所述除数均为无符号整数、所述除数是否是2的整数次幂、所述除数与所述取值范围的上下界值的关系和除法结果的舍入方式,从预先存储的所述映射关系集中,选择对应的一组目标参数值。

求绝对值单元304,用于对所述被除数求绝对值,并将所述绝对值输出给除运算单元302。

需要说明的是,在一些应用场景中,比如,所述上界值大于等于零和下界值大于等于零,且除数为正数,即该取值范围内的每一被除数均不是负数,在这些应用场景中,除法装置30可以包括求绝对值单元304,当然也可以不包括求绝对值单元304。不包括时,除运算单元302用于根据一组目标参数值,对被除数进行运算,将得到的除法结果通过结果输出单元303直接输出即可。

除运算单元302,用于根据所述一组目标参数值,对所述绝对值进行运算,得到除法结果;

结果输出单元303,用于输出所述除法结果。

在有符号整数除法、所述取值范围的上界值小于等于零、所述取值范围的下界值小于等于零、且所述除数为非负整数的应用场景中,如图4所示,除法装置40包括选择单元401、求绝对值单元402、除运算单元403和取相反数单元404;其中,

选择单元401,用于当除法结果的舍入方式为向下取整或向无穷大取整时,根据所述被除数和所述除数均为无符号整数、除法结果的舍入方式为向上取整所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值;

和/或,选择单元401,用于当除法结果的舍入方式为向上取整或向零取整时,根据所述被除数和所述除数均为无符号整数、除法结果为向下取整、所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值;

和/或,选择单元401,用于当除法结果的舍入方式为四舍五入时,根据所述被除数和所述除数均为无符号整数、除法结果的舍入方式为四舍五入、所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值;

求绝对值单元402,用于确定被除数的绝对值后,将所述绝对值输出给除运算单元403;

除运算单元403,用于根据所述一组目标参数值,对所述绝对值进行运算,得到除法结果;

取相反数单元404,用于将所述除法结果取反后输出。

这里,取相反数单元404为结果输出单元的一种实现方式。在一些实施例中,结果输出单元可以包括一输出接口,该输出接口用于直接将除法结果输出。在另一些实施例中,结果输出单元可以包括取相反数子单元和输出子单元,这两个子单元的功能可以参见如下实施例的描述。

在一些实施例中,在取值范围的上下界值均大于等于零时,除数与取值范围的上下界值的关系包括

在一些实施例中,在取值范围的上界值大于等于零和下界值小于等于零时,取值范围可以更新为:

在一些实施例中,在取值范围的上下界值均小于等于零时,取值范围的上界值更新为

在有符号整数除法、所述除数为非负整数的应用场景中,如图5所示,除法装置50包括输入单元501、选择单元502、除运算单元503和结果输出单元504;其中,输入单元501包括求绝对值子单元5011和求符号子单元5012;结果输出单元504包括取相反数子单元5041和输出子单元5042;

求绝对值子单元5011,用于确定被除数的绝对值后,将所述绝对值输出给除运算单元503,以使除运算单元503对所述绝对值进行运算后,将得到的除法结果输出给输出子单元5042;

求符号子单元5012,用于确定被除数的符号后,将被除数的符号输出给输出子单元5042;

选择单元502,用于当除法结果的舍入方式为向下取整或向无穷大取整时,根据所述被除数和所述除数均为无符号整数、除法结果的舍入方式为向上取整所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值;

和/或,选择单元502,用于当除法结果的舍入方式为向上取整或向零取整时,根据所述被除数和所述除数均为无符号整数、除法结果为向下取整、所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值;

和/或,选择单元502,用于当除法结果的舍入方式为四舍五入时,根据所述被除数和所述除数均为无符号整数、除法结果的舍入方式为四舍五入、所述除数与所述取值范围的上下界值的关系和所述除数是否是2的整数次幂,从预先存储的所述映射关系集中,选择对应的一组目标参数值;

除运算单元503,用于根据所述一组目标参数值,对所述绝对值进行运算,得到除法结果;

取相反数子单元5041,用于确定所述除法结果的相反数后,将所述相反数输出给所述输出子单元;

所述输出子单元5042,用于从所述除法结果和所述相反数中,选择输出与所述被除数的符号相同的除法结果。

在实际应用中,除法装置50多适用于这种应用场景,即被除数所属取值范围的上界值大于等于零、下界值小于等于零、除数为非负整数。也就是说,在该应用场景中,被除数可能大于等于零,也可能小于等于零,该取值范围内的部分被除数为非正数,部分被除数为非负数。

需要说明的是,在一些实施例中,在取值范围的上下界值均大于等于零时,除数与取值范围的上下界值的关系包括

在一些实施例中,在取值范围的上界值大于等于零和下界值小于等于零时,取值范围可以更新为:

在一些实施例中,在取值范围的上下界值均小于等于零时,取值范围的上界值更新为

本申请实施例再提供一种除法装置,图6为本申请实施例提供的除法装置的再一结构示意图,如图6所示,除法装置60包括选择单元601、除运算单元602和结果输出单元603;其中,

选择单元601,用于根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值;

在一些实施例中,所述映射关系集中的每组候选参数值在作为除运算单元602的输入时,使得除运算单元602在对应除数固定时对对应被除数所属取值范围内的每一被除数均能运算正确;

如图6所示,除运算单元602包括:乘法器6021,用于对所述被除数和所述一组目标参数值中第二参数的值进行乘法运算,得到第一运算结果;加法器6022,用于对所述第一运算结果和所述一组目标参数值中第三参数的值进行加法运算,得到第二运算结果;移位器6023,用于对所述第二运算结果和所述一组目标参数值中第一参数的值进行移位运算,得到所述除法结果。

在本申请实施例中,所述除运算单元的功能可以通过软件实现,例如通过处理器实现,即乘法器、加法器和移位器通过相应的程序代码实现。

所述除运算单元的功能也可以通过硬件实现,即乘法器、加法器和移位器通过相应的逻辑电路实现。通过硬件实现时,如表2所示,在一些应用场景中,例如,输入的目标参数值中的第二参数的值不为1、第三参数的值不为0、第一参数的值不为0,除运算单元602可以包括乘法器6021、加法器6022和移位器6023。在一些应用场景中,例如,输入的目标参数值中的第二参数的值为1、第三参数的值不为0、第一参数的值不为0,则除运算单元602可以不包括乘法器,从而节约除运算单元602的硬件空间和生产成本,还可以节约除运算单元602的功率消耗。在一些应用场景中,例如,输入的目标参数值中的第二参数的值不为1、第三参数的值为0、第一参数的值不为0,则除运算单元602可以不包括加法器。在一些应用场景中,输入的目标参数值中的第二参数的值不为1、第三参数的值不为0、第一参数的值为0,则除运算单元602可以不包括移位器。在此对于表2所示的其他目标参数值的情况,对应的除运算单元602所包括的器件不再赘述,可以参考上述说明来理解。

表2

结果输出单元603,用于对所述除法结果处理后输出。

在一些实施例中,结果输出单元603可以直接将除法结果输出,这样的除法装置多适用于无符号整数除法的应用场景中,即除数和每一被除数均为无符号整数,这样的除法装置还可以适用于有符号整数除法的每一被除数和除数均为非负整数的应用场景中。

需要说明的是,本申请实施例所述的除法装置所包括的各单元,以及各个单元所包括的子单元可以通过处理器来实现,当然也可以通过具体的逻辑电路实现;另外,还可以通过软件和硬件结合的方式来实现。在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。

本申请实施例还提供一种除法器,图7为本申请实施例除法器的结构示意图,如图7所示,除法器70包括:乘法器701、加法器702和移位器703;其中,

乘法器701,用于对被除数和输入的一组目标参数值中第二参数的值进行乘法运算,得到第一运算结果;

在一些实施例中,所述一组目标参数值使得除法器70在除数固定时对所述被除数所属取值范围内的每一被除数均能运算正确;

加法器702,用于对所述第一运算结果和所述一组目标参数值中第三参数的值进行加法运算,得到第二运算结果;

移位器703,用于对所述第二运算结果和所述一组目标参数值中第一参数的值进行移位运算,得到除法结果。

在一些实施例中,除法器70还包括选择电路,,用于根据所述被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值

以上除法器实施例的描述,与上述除法装置实施例的描述是类似的,具有同除法装置实施例相似的有益效果。对于本申请除法器实施例中未披露的内容,请参照本申请除法装置实施例的描述而理解。

本申请实施例提供一种除运算方法,图8为本申请实施例除运算方法的实现流程示意图,如图8所示,该方法可以包括以下步骤801至步骤805:

步骤801,根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值;

在一些实施例中,所述映射关系集中的每组候选参数值在作为所述除运算单元的输入时,使得所述除运算单元在对应除数固定时对对应被除数所属取值范围内的每一被除数均能运算正确;除运算单元可以实现以下步骤802至步骤804。

步骤802,对所述被除数和所述一组目标参数值中第二参数的值进行乘法运算,得到第一运算结果;

步骤803,对所述第一运算结果和所述一组目标参数值中第三参数的值进行加法运算,得到第二运算结果;

步骤804,对所述第二运算结果和所述一组目标参数值中第一参数的值进行移位运算,得到除法结果。

步骤805,对所述除法结果处理后输出。

以上方法实施例的描述,与上述除法装置实施例的描述是类似的,具有同除法装置实施例相似的有益效果。对于本申请方法实施例中未披露的内容,请参照本申请除法装置实施例的描述而理解。

发明人在研究的过程中发现,在相关的除数固定的除法器实现中,通常会有以下几种方法:

第一种是基于查找表的方法,预先计算所有可能的除法结果并将其存储在查找表中,计算时只需要将被除数映射到查找表的索引,再根据索引查表取值即可得到对应的除法结果。如果将所有可能的被除数对应的结果都存入查找表中,则被除数和查找表索引是一对一的映射关系;

第二种是用被除数循环地减去除数,直到被除数小于除数为止,循环的次数即为除法结果;

第三种是采用二进制除法竖式计算的方法,通过多次移位和减法实现除法运算。例如在n位无符号除法中,被除数a除以除数b。首先将a转换成高n位为0,低n位为a的

而上述这三种方法,发明人通过分析发现以下缺陷:

第一种基于查找表的方法,当被除数所属取值范围较大时,查找表需要存储的除法结果很多,这是非常耗费存储器的存储资源的。例如,在上述5G NR物理上行控制信道PUCCH的分组跳频所用伪随机序列的初始化值计算中,需要预先存储1024个可能的n

第二种方法和第三种方法都是采用迭代的方式,需要通过多个周期的运算才能够得到除法结果,如此就制约了运算效率,因此这两种方法不能满足高效快速运算的要求。

下面将说明本申请实施例在一个实际的应用场景中的示例性应用。

在本申请实施例中,提供了一种灵活支持不同舍入方式的除数固定的整数除法计算方法。其中,关于无符号整数除法,说明如下:

首先,考虑无符号整数除法的情况。令被除数a是无符号整数,通常被除数受取值范围或位宽的限制,存在上下界,其取值范围满足a

至此,可以得到计算向下取整的除法结果

(1)若b是2的整数次幂,(N,M,L)=(log

(2)若b不是2的整数次幂:

(a)若

(b)若

(c)若

对于计算向上取整的除法结果

对于计算四舍五入的除法结果

所以,上述三种舍入方式的除法结果计算都可以表示为

在实际应用中,开发者可以将预先计算好的参数组(N,M,L)的值固化在逻辑设计中,并根据具体参数值对电路作进一步优化,例如M为1时,设计的逻辑电路可以省略乘法器,又如L为0时,设计的逻辑电路可以省略加法器;开发者也可以通过寄存器配置这些参数值,从而使得设计的逻辑电路能够实现对多个除数值和多种舍入方式的计算支持。

另外,关于有符号整数除法,说明如下:

扩展到被除数是有符号整数的情况。令被除数a是有符号整数,其取值范围满足

表3

表4

综上,不同舍入方式的有符号整数除法可以利用最多两组参数值来实现,其逻辑电路如图10所示,求绝对值电路101对有符号的被除数a求绝对值后,将该绝对值输入至乘法器102,乘法器102根据选择器103依据求符号电路104获取被除数a的符号从参数值M1和M2选择的参数值,对该绝对值进行乘法运算,并将得到的第一运算结果输入至加法器105中,加法器105根据选择器110依据求符号电路104获取被除数a的符号从参数值L1和L2中选择的参数值,对第一运算结果进行加法运算,并将得到的第二运算结果输入至移位器107;移位器107根据选择器111依据求符号电路104获取被除数a的符号从参数值N1和N2中选择的参数值,对第二运算结果进行移位运算,并将得到的除法结果分别输入至选择器109和取相反数电路108中,取相反数电路108将除法结果取反后输入至选择器109中;另外,求符号电路104将获取的被除数a的符号,输出给选择器109;这样,选择器109可以根据该符号,从除法结果和取反后的除法结果中选择与该符号一致的结果输出。

其中,(N1,M1,L1)和(N2,M2,L2)分别是a≥0和a<0对应舍入方式的参数值。

如果a≥0和a<0对应舍入方式相同,即两组参数值相同,图10所示的逻辑电路可以简化为图11所示的逻辑电路。

同样地,预先计算好的两组参数值(N1,M1,L1)和(N2,M2,L2),将这两组参数值固化在逻辑设计中,并根据具体取值对电路作进一步优化;也可以通过寄存器配置,实现对多个除数值和多种舍入方式的计算支持。

本申请实施例提供的上述技术方案,具有以下优势:(1)可以在一个时钟周期内快速计算除法,避免了查找表存储器的使用;(2)支持各种不同的舍入方式,适应性强;(3)通过寄存器配置参数的方式,还可以在不改变电路结构的情况下实现多个除数值和多种舍入方式的除法计算;(4)支持无符号整数除法和有符号整数除法。

在一些实施例中,可以扩展到除数是有理数的情况。令被除数a是整数,除数b是有理数且可以表示为

需要说明的是,本申请实施例中所述的除法装置对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。例如,图12为本申请实施例提供的除法装置的结构示意图,如图12所示,除法装置120可以包括:处理器121和除法器122;其中,

处理器121,用于根据被除数的属性、除数的属性和除法结果的舍入方式,从预先存储的映射关系集中,选择对应的一组目标参数值;

在一些实施例中,所述映射关系集中的每组候选参数值在作为所述除法器的输入时,使得所述除法器在对应除数固定时对对应被除数所属取值范围内的每一被除数均能运算正确;

除法器122,用于根据所述一组目标参数值,对所述被除数进行运算,得到除法结果;

处理器121,用于对所述除法结果处理后输出。

在一些实施例中,除法器122包括:乘法器,用于对所述被除数和所述一组目标参数值中第二参数的值进行乘法运算,得到第一运算结果;加法器,用于对所述第一运算结果和所述一组目标参数值中第三参数的值进行加法运算,得到第二运算结果;移位器,用于对所述第二运算结果和所述一组目标参数值中第一参数的值进行移位运算,得到所述除法结果。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的除法装置或除运算方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得接收设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的除运算方法中的步骤。该计算机程序被处理器执行时也可以实现上述除运算方法实施例未披露的技术细节,请参照本申请电子设备实施例的描述而理解。

当上述实施例提供的除运算方法中的部分或全部通过软件来实现时,如图13所示,电子设备130包括:存储器131,用于存储程序;处理器132,用于执行存储器131存储的程序,当程序被执行时,使得电子设备130可以实现上述实施例提供的除运算方法。

本申请实施例提供的任一种电子设备还可以是一种芯片。

本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的除运算方法,还可以执行上述除运算方法实施例未披露的技术细节,请参照本申请除法装置实施例的描述而理解。

这里需要指出的是:以上存储介质、芯片和计算机程序实施例的描述,与上述除法装置实施例的描述是类似的,具有同上述除法装置实施例相似的有益效果。对于本申请存储介质、芯片和计算机程序实施例中未披露的技术细节,请参照本申请除法装置实施例的描述而理解。

应理解,说明书中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、设备、存储介质、芯片、计算机程序产品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、设备、存储介质、芯片、计算机程序产品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、设备、存储介质、芯片、计算机程序产品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备、方法和装置等,可以通过其它的方式实现。以上所描述的装置等实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个模块,也可以两个或两个以上单元集成在一个模块中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(执行本申请各个实施例所述方法的全部或部分)。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的几个装置实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的装置实施例。

本申请所提供的几个电子设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的电子设备实施例。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号