对数逆运算装置、方法、电子设备及计算机可读存储介质与流程
未命名
08-18
阅读:99
评论:0
1.本发明涉及计算机技术领域,尤其涉及一种对数逆运算装置、方法、电子设备及计算机可读存储介质。
背景技术:
2.在计算设备的数学运算过程中,对数逆运算是比较常见的运算类型。
3.目前,针对输入的对数的逆运算公式在进行拆分后,可以拆分出对数对应的指数的小数部分的幂值运算,而计算设备的硬件计算电路中需要设置各种运算器来实现小数部分的幂值运算。
4.但是,目前需要设置较多种类和数量的运算器进行小数部分的幂值运算,导致电路中运算器的数量较多,使得电路的面积和整体功耗过大。
技术实现要素:
5.本发明实施例提供一种对数逆运算装置、方法、电子设备及计算机可读存储介质,以解决现有技术中电路的面积和整体功耗过大的问题。
6.第一方面,本发明实施例提供了一种对数逆运算装置,所述装置包括:
7.数值提取器、绝对值计算器、查找表存储器和计算单元;与输入的对数对应的真数具有幂值运算式,所述幂值运算式包含与所述真数对应的指数;
8.所述绝对值计算器用于计算所述指数的绝对值;
9.所述数值提取器用于:根据所述指数的符号位,提取所述绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节所述小数部分的位宽为目标位宽后,获得目标小数部分;
10.所述计算单元用于:根据所述目标小数部分,从预设的查找表中查找与所述目标小数部分对应的目标幂值;根据所述整数部分的幂值和所述目标幂值,获得对所述对数逆运算所得到的真数;
11.其中,所述查找表包括:小数与所述小数对应的幂值之间的对应关系。
12.第二方面,本发明实施例提供了一种对数逆运算方法,所述方法包括:
13.获取与输入的对数对应的真数的幂值运算式,所述幂值运算式包含与所述真数对应的指数;
14.计算所述指数的绝对值;
15.根据所述指数的符号位,提取所述绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节所述小数部分的位宽为目标位宽后,获得目标小数部分;
16.根据所述目标小数部分,从预设的查找表中查找与所述目标小数部分对应的目标幂值;所述查找表包括:小数与所述小数对应的幂值之间的对应关系;
17.根据所述整数部分的幂值和所述目标幂值,获得对所述对数逆运算所得到的所述真数。
18.第三方面,本发明实施例还提供了一种电子设备,包括处理器;
19.用于存储所述处理器可执行指令的存储器;
20.其中,所述处理器被配置为执行所述指令,以实现所述的方法。
21.第四方面,本发明实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述的方法。
22.本发明实施例在获取输入的对数后,确定与输入的对数对应的真数具有幂值运算式;且幂值运算式包含与真数对应的指数,通过绝对值计算器计算指数的绝对值,通过数值提取器根据指数的符号位,提取绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节小数部分的位宽为目标位宽后,获得目标小数部分,最后通过计算单元根据目标小数部分,从预设的查找表中查找与目标小数部分对应的目标幂值,并根据整数部分的幂值和目标幂值,获得对对数逆运算所得到的真数。本发明实施例基于小数部分的每种组合与对应幂值具有一一对应关系的特性,提前获得这种对应关系病将这种对应关系构建为查找表存储于电路,在具体计算时,可以通过查表来获得目标小数部分的目标幂值,从而省去了每次求解目标幂值的实际运算,也就省去了电路中用于实现求解目标小数部分的目标幂值的运算器,极大降低了电路的面积和整体功耗。
23.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
24.图1是本发明实施例提供的一种对数逆运算装置的结构框图;
25.图2是本发明实施例提供的一种对数逆运算装置的具体结构框图;
26.图3是本发明实施例提供的一种应用电路的具体结构框图;
27.图4是本发明实施例提供的一种对数逆运算方法的步骤流程图;
28.图5是本发明实施例提供的一种电子设备的逻辑框图;
29.图6是本发明实施例提供的一种另一种电子设备的逻辑框图。
具体实施方式
30.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
31.在计算领域,对数逆运算是一种场景运算类型,求幂值则是对数的逆运算,如果输入的对数d=20
×
log
10
(y),其中,10叫做对数的底,y叫做真数,通常可以将以10为底的对数叫做常用对数,对数d的逆运算旨在求出y的值。
32.在本发明实施例中,针对输入的对数d(假设d的数据位宽为16比特),若要计算输入的对数d的真数y,则先进行运算式转换:
33.d=20
×
log
10
(y)=(20
×
log2(y))/log2(10);
34.log2(y)=(d
×
log2(10))/20;
35.y=2
[(d
×
log2(10))/20]
;
[0036]
可见输入的对数d具有对应真数y的幂值运算式:y=2
[(d
×
log2(10))/20]
;若令幂值运算式中包含的与真数y对应的指数p=(d
×
log2(10))/20,则y=2
p
;因此只要求解出指数p,就可以得到对数逆运算的结果y。
[0037]
在p=(d
×
log2(10))/20的情况下,为了降低运算复杂度,假设将p保留四个小数位,则p≈(d
×
43)/24;在p大于或等于0的情况下(即输入数据d为正数),y=2
p
=2
n.m
=2n×20.m
;在p小于0的情况下(即输入数据d为负数),y=2
p
=2-n.m
=2
(-n-1)
×2(1-0.m)
,其中,n为指数p的整数部分,m为指数p的小数部分,0≤0.m<1,保留4位小数的m可表示为b0b1b2b3。
[0038]
可见,将对数d的求解运算式转换为求解真数y的幂值运算式,并将幂值运算式中的指数p进行拆解,可以使得求解真数y的过程包括:指数p的整数部分n的幂值运算,以及指数p的小数部分m的幂值运算,而小数部分由于位数繁多,即使取部分小数也会导致进行幂值运算时运算繁琐复杂,需要采用较多运算器来实现运算,使得电路的面积和整体功耗过大。
[0039]
为了解决上述问题,本发明基于对二进制的小数部分的组合形式的研究,得出小数部分的组合形式具有规律可循的特性(每一位为0或1),本发明基于对小数部分的幂值的研究,发现小数部分的每种组合与对应幂值具有一一对应关系的特性,则本发明实施例可以将小数与所述小数对应的幂值之间的对应关系进行统计,构建查找表,将查找表存储于电路中的查找表存储器,以及引入数值提取器、绝对值计算器和计算单元,并去除电路中用于计算小数部分的幂值的运算器。
[0040]
则本发明实施例在获取输入的对数后,确定与输入的对数对应的真数具有幂值运算式;且幂值运算式包含与真数对应的指数,通过绝对值计算器计算指数的绝对值,通过数值提取器根据指数的符号位,提取绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节小数部分的位宽为目标位宽后,获得目标小数部分,最后通过计算单元根据目标小数部分,从预设的查找表中查找与目标小数部分对应的目标幂值,并根据整数部分的幂值和目标幂值,获得对对数逆运算所得到的真数。本发明实施例基于小数部分的每种组合与对应幂值具有一一对应关系的特性,提前获得这种对应关系病将这种对应关系构建为查找表存储于电路,在具体计算时,可以通过查表来获得目标小数部分的目标幂值,从而省去了每次求解目标幂值的实际运算,也就省去了电路中用于实现求解目标小数部分的目标幂值的运算器,极大降低了电路的面积和整体功耗。
[0041]
图1,是本发明实施例提供的一种对数逆运算装置的结构框图,如图1所示,该装置可以包括:数值提取器、绝对值计算器和计算单元;与输入的对数d对应的真数y具有幂值运算式y=2
[(d
×
log2(10))/20]
,幂值运算式包含与真数对应的指数p=(d
×
log2(10))/20。绝对值计算器用于计算指数的绝对值;数值提取器用于:根据指数的符号位,提取绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节小数部分的位宽为目标位宽后,获得目标小数部分;计算单元用于:根据目标小数部分,从预设的查找表中查找与目标小数部分对应的目标幂值;根据整数部分的幂值和目标幂值,获得对数逆运算所得到的真数;查找表包括:小数与小数对应的幂值之间的对应关系。
[0042]
在本发明实施例中,输入的对数d=20
×
log
10
(y)的逆运算结果y需通过公式:y=2
p
=2
[(d
×
log2(10))/20]
求得对应的逆运算结果。在p大于或等于0的情况下(即输入数据d为正
数),y=2
p
=2
n.m
=2n×20.m
;在p小于0的情况下(即输入数据d为负数),y=2
p
=2-n.m
=2
(-n+1
×2(1-0.m)
,其中,n为指数p的整数部分,m为指数p的小数部分,0≤0.m《1。
[0043]
进一步的,参照上述实施例的推论可知,若要求得真数y,则求解真数y的过程包括:指数p的整数部分n的幂值运算,以及指数p的小数部分m的幂值运算。首先,绝对值计算器用于计算指数p的绝对值=abs(p)≈abs(d
×
43/24);将十进制的abs(p)转换为二进制后:
[0044]
abs(p)={abs(p)[17:4],abs(p)[3:0]};
[0045]
之后,数值提取器可以获取指数p的符号位:p[18],p[18]用于表征p的正负值,p[18]=1表示p《0,对数d为负数;p[18]=0表示p≥0,对数d为正数,获取p的符号位:p[18]之后,数值提取器可以按照p的符号位,提取p的绝对值的整数部分和小数部分:
[0046]
若p[18]=1,则整数部分的幂值运算integer=2-(abs(p)[17:4]+1)
=2-(abs(n+1)
;小数部分的幂值运算decimal=2
[1-0.(abs(p)[3:0])]
。
[0047]
若p[18]=0,则整数部分的幂值运算integer=2
(abs(p)[17:4]
=2
abs(n)
;小数部分的幂值运算decimal=2
[0.(abs(p)[3:0])]
。
[0048]
可见,无论p的符号位是怎样,对数逆运算可拆分为指数计算部分和小数计算部分。
[0049]
本发明实施例为了节省小数部分的硬件、软件资源占用,可以提前将小数与小数对应的幂值之间的对应关系进行求解和构建查找表。
[0050]
假设目标位宽为4位,则小数部分保留4位小数,目标小数部分m可表示为b0b1b2b3。
[0051]
以四位小数b0b1b2b3为例,二进制的四位小数b0b1b2b3具有16种组合形式,每种组合形式都具有对应的幂值,则查找表中对应四位小数b0b1b2b3的部分如下表1:
[0052][0053]
表1
[0054]
可选的,在目标位宽为4位的情况下,查找表中所述小数对应的幂值为:小数的幂值计算结果与16的乘积结果。在目标位宽为4位的情况下,小数的幂值计算结果与16的乘积结果是整数形式,通过整数形式进行幂值的存储,可有效降低查询表中的数据量,提升查询表的直观性。
[0055]
可见,表1示出了四位小数b0b1b2b3的16种组合形式,以及每种组合对应的整数幂值(实际幂值扩大16倍即为整数幂值),更多或更少位数的小数组合形式以及对应的对数值可以参照表1形式,对此不再赘述。
[0056]
进一步的,计算单元可以根据实际提取的目标小数部分,从查找表中查找与目标小数部分对应的目标幂值lut[index],之后计算获得整数部分的幂值,最后通过整数部分的幂值和目标幂值,获得对数逆运算所得到的真数y。例如,在针对表1,在目标小数部分的index=3时,查询获得对应的目标幂值为18。
[0057]
以p[18]=0(对数d为正数)为例,则整数部分的幂值运算integer=2
(abs(p)[17:4]
=2
abs(n)
=2
(abs(p)[17:4]
;
[0058]
小数部分的幂值运算decimal=lut[index],其中,index=abs(p)[3:0],lut[index]=2
[0.(abs(p)[3:0])]
×
16。
[0059]
y={2
(abs(p)[17:4]
×
lut[index]}/24。
[0060]
可见,针对输入的对数d的逆运算,被拆分为整数部分的幂值运算过程,以及基于目标小数部分对查询表查询获得目标幂值的查询过程,从查询表存储器的查询表查询获得目标小数部分对应的目标幂值后,再将目标幂值和整数部分的幂值相乘,即可得到对数的逆运算结果y(真数)的值。
[0061]
其中,由于目标小数部分对应的目标幂值可以直接通过查表获得,则省去了每次求解目标小数部分的目标幂值的实际运算,也就省去了电路中用于实现求解目标小数部分的目标幂值的运算器,使得电路在兼顾面积,功耗的情况下,即可实现复杂的对数逆运算,而精度可根据性能要求进行随意调节,提高了计算的灵活性。
[0062]
本发明实施例在获取输入的对数后,确定与输入的对数对应的真数具有幂值运算式;且幂值运算式包含与真数对应的指数,通过绝对值计算器计算指数的绝对值,通过数值提取器根据指数的符号位,提取绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节小数部分的位宽为目标位宽后,获得目标小数部分,最后通过计算单元根据目标小数部分,从预设的查找表中查找与目标小数部分对应的目标幂值,并根据整数部分的幂值和目标幂值,获得对对数逆运算所得到的真数。本发明实施例基于小数部分的每种组合与对应幂值具有一一对应关系的特性,提前获得这种对应关系病将这种对应关系构建为查找表存储于电路,在具体计算时,可以通过查表来获得目标小数部分的目标幂值,从而省去了每次求解目标幂值的实际运算,也就省去了电路中用于实现求解目标小数部分的目标幂值的运算器,极大降低了电路的面积和整体功耗。
[0063]
可选的,参照图2,其示出了一种对数逆运算装置的具体结构示意图,计算单元包括:第一加法器、第一移位器和第二移位器;调节位宽后的指数的求解式包括:与对数关联的乘法计算部分,以及与乘法计算部分、与目标位宽对应的除法计算部分;第一加法器和第一移位器用于计算乘法计算部分的结果;第二移位器用于计算除法计算部分的结果。
[0064]
在本发明实施例中,根据上述推论得出:指数p=(d
×
log2(10))/20,按照预设的精度调节指令,调节小数部分的位宽为目标位宽(假设将p保留四个小数位)后,则p≈(d
×
43)/24。计算单元为了实现p≈(d
×
43)/24的计算功能,首先可以包含第一加法器、第一移位器和第二移位器,移位器是一种使数据逐位移动的组合电路。
[0065]
具体的,(d
×
43)是指数p求解式中的乘法计算部分,(d
×
43)/24是指数p求解式中的除法计算部分,本发明实施例为了降低电路设计复杂度,可以利用第一加法器、第一移位器来实现乘法计算部分的运算,其具体实现如下:
[0066]d×
43=d(32+8+2+1)=d(25+23+21+20);
[0067]
其中,针对上述求解式示例,25的运算相当于利用第一移位器进行左移5位操作,23的运算相当于利用第一移位器进行左移3位操作,21的运算相当于利用第一移位器进行左移1位操作,之后再将各个移位结果通过第一加法器进行相加,并利用第一移位器实现与d的相乘,从而实现了上述乘法计算部分。
[0068]
另外,为了降低电路设计复杂度,本发明实施例还可以利用第二移位器来实现除法计算部分的运算,针对上述求解式示例,第二移位器具体进行右移4位的操作,其具体过程不做赘述。
[0069]
可选的,参照图2,数值提取器用于:提取指数的符号位为负数时绝对值的第一小
数部分和第一整数部分,调节第一小数部分的位宽为目标位宽后,获得目标第一小数部分;以及提取指数的符号位为正数时绝对值的第二小数部分和第二整数部分,调节第二小数部分的位宽为目标位宽后,获得目标第二小数部分。
[0070]
在本发明实施例中,在通过绝对值计算器计算指数的绝对值之后,可以利用数值提取器根据指数的符号位,提取绝对值的小数部分和整数部分,而根据上述推论,在指数的符号位不同时,提取的绝对值的小数部分和整数部分也不同:
[0071]
若p[18]=1(p<0,对数d为负数),则整数部分的幂值运算integer=2-(abs(p)[17:4]+1)
=2-(abs(n+1)
;小数部分的幂值运算decimal=2
[1-0.(abs(p)[3:0])]
。
[0072]
若p[18]=0(p≥0,对数d为正数),则整数部分的幂值运算integer=2
(abs(p)[17:4]
=2
abs(n)
;小数部分的幂值运算decimal=2
[0.(abs(p)[3:0])]
。
[0073]
因此,参照图2,数值提取器具体的实现包括:在指数的符号位为负数时,数值提取器提取绝对值的第一小数部分
①
和第一整数部分
②
;在指数的符号位为正数时,数值提取器提取绝对值的第二小数部分
③
和第二整数部分
④
,
[0074]
可选的,参照图2,计算单元还包括:第二加法器;装置还包括:第一选择器;查找表包括:小数的索引值与小数对应的幂值之间的对应关系;第二加法器用于:根据与目标位宽对应的最大表述数值,以及第一目标小数部分,计算第一目标小数部分的第一索引值;指数的符号位为正数时目标第二小数部分的第二索引值为目标第二小数部分;第一选择器用于:根据输入的指数的符号位,选择第一索引值或第二索引值输出至计算单元;计算单元具体用于:计算第一整数部分的幂值和第二整数部分的幂值,以及根据第一索引值或第二索引值,从查找表中查找目标幂值。
[0075]
在本发明实施例中,由于指数p的符号位分为两种情况:p[18]=1(p<0,对数d为负数)以及p[18]=0(p≥0,对数d为正数),因此p[18]=1的情况下具有对应的一个记录小数与幂值对应关系的查找表,p[18]=0的情况下具有对应的另一个记录小数与幂值对应关系的查找表,这就导致需要维护两个查找表,造成电路的设计难度提升,而本发明实施例可以仅维护一个查找表(上述表1),将查找表具体设计为记录小数的索引值与小数对应的幂值之间的对应关系,通过引入索引值来实现两个查找表的合并。
[0076]
具体的,查找表(上述表1)中,小数的索引值可以包括p[18]=0的情况下小数对应的16种二进制数值,此时查找表可以实现p[18]=0的情况下目标幂值的查询,即:指数的符号位为正数时目标第二小数部分的第二索引值为目标第二小数部分,第一选择器可以根据输入的指数的符号位为正数,选择第二索引值输出至计算单元,以供计算单元通过第二索引值进行查表。
[0077]
可选的,第二加法器具体用于:将与位宽对应的最大表述数值与第一目标小数部分的差值,作为第一目标小数部分的第一索引值。
[0078]
而针对p[18]=1的情况,本发明实施例可以利用第二加法器,根据与目标位宽对应的最大表述数值,以及第一目标小数部分,计算第一目标小数部分的第一索引值,具体计算过程如下:
[0079]
p[18]=1时,第一索引值index=15-abs(p)[3:0];
[0080]
其中,15是4比特(示例中的目标位宽)的最大表述数值(2
4-1),abs(p)[3:0]为p[18]=1时的第一目标小数部分。因此,在指数的符号位为负数时,通过第二加法器的运算
计算得到目标第一小数部分的第一索引值,第一选择器可以根据输入的指数的符号位为负数,选择第一索引值输出至计算单元,以供计算单元通过第一索引值进行查表,从而本发明实施例可以仅维护一个查找表,降低了电路设计难度。
[0081]
可选的,装置还包括:第二选择器;计算单元还包括:乘法器;第二选择器用于:根据输入的指数的符号位,选择第一整数部分的幂值或第二整数部分的幂值输出至乘法器;乘法器具体用于:获取第二选择器输入的第一整数部分的幂值或第二整数部分的幂值,并结合目标幂值,通过乘积运算获得对对数逆运算所得到的真数。
[0082]
在本发明实施例中,基于上述图2中的第一选择器可以根据输入的指数的符号位,选择第一索引值或第二索引值输出至计算单元,则计算单元可以根据第一索引值或第二索引值,从查找表中查询获得与第一索引值对应的目标幂值或与第二索引值对应的目标幂值,进一步的,第二选择器可以根据输入的指数的符号位,选择第一整数部分的幂值或第二整数部分的幂值输出至乘法器,乘法器根据第一整数部分的幂值或第二整数部分的幂值,并结合目标幂值,通过乘积运算获得对对数逆运算所得到的真数。
[0083]
以p[18]=0(对数d为正数)为例,此时指数y的运算式为:y={2
(abs(p)[17:4]
×
lut[index]}/24,则在获得了第二整数部分的幂值2
(abs(p)[17:4]
以及目标幂值lut[index]之后,通过乘法器将二者相乘,即可获得真数y,从而实现了对数逆运算。
[0084]
可选的,装置还包括:第三移位器;在目标位宽为4位的情况下,查找表中小数对应的幂值为:小数的幂值计算结果与16的乘积结果;第三移位器用于:对整数部分的幂值和目标幂值的乘积进行右移四位的移位操作,获得真数。
[0085]
在本发明实施例中,查找表(上述表1)中记录的小数对应的幂值为:小数的幂值计算结果与16的乘积结果,这是由于在目标位宽为4位的情况下,小数的幂值计算结果与16的乘积结果是整数形式,通过整数形式进行幂值的存储,可有效降低查询表中的数据量,提升查询表的直观性。因此,在计算最终结果真数y时,还需要通过第三移位器对整数部分的幂值和目标幂值的乘积进行右移四位的移位操作,获得真数y。
[0086]
以p[18]=0(对数d为正数)为例,此时指数y的运算式为:y={2
(abs(p)[17:4]
×
lut[index]}/24,则该运算式中除以24的运算,可以通过第三移位器右移四位的移位操作来实现。
[0087]
可选的,数值提取器具体用于:将绝对值表示为二进制数据,根据指数的符号位,提取二进制数据的小数部分和整数部分,以及按照预设的精度调节指令,调节小数部分的位宽为目标位宽后,获得目标小数部分。
[0088]
在本发明实施例中,数值提取器具体可以将绝对值表示为二进制数据,并根据指数的符号位,提取二进制数据的小数部分和整数部分,二进制数据的处理更加符合机器运算逻辑,能够大幅提升运算效率。
[0089]
可选的,数值提取器具体用于:采用多路选择器按照预设的精度调节指令,调节所述小数部分的位宽为目标位宽后,获得目标小数部分。
[0090]
在本发明实施例中,在不同的计算场景下,对计算精度有着不同的需求,若对输入数据保留的小数位越多,计算精度就越大,计算量也就越高;对输入数据保留的小数位越少,计算精度就越小,计算量也就越低。则数值提取器可以基于实际计算精度和计算量的需求,采用多路选择器按照精度调节指令,调节所述小数部分的位宽为目标位宽后,获得目标
小数部分,如,目标位宽为4时,可以采用多路选择器仅保留小数部分的前4位;目标位宽为8时,可以采用多路选择器仅保留小数部分的前8位。
[0091]
综上,参照图3,其示出了一种应用电路的具体结构示意图,在计算得到对数逆运算获得的真数y之后,常见的后续应用场景是将真数y与变量x进行相乘:
[0092]
则在p[18]=1(即输入的对数d为负数)时:
[0093]
x
×
y={x
×
[2-(abs(p)[17:4]
+1)]
×2[1-0.(abs(p)[3:0]
)]
×
16}/24;
[0094]
=[(x》》(n+1))
×
lut(index)]》》4;
[0095]
其中,》》(n+1)表示通过移位器进行右移n+1位的操作,》》4表示通过移位器进行右移4位的操作;
[0096]
在p[18]=0(即输入的对数d为正数)时:
[0097]
x
×
y={x
×
[2
(abs(p)[17:4])
+1)]
×2[0.(abs(p)[3:0]
)]
×
16}/24;
[0098]
=[(x《《n)
×
lut(index)]》》4;
[0099]
其中,《《n)表示通过移位器进行左移n位的操作,》》4表示通过移位器进行右移4位的操作。
[0100]
通过第四选择器,则可以根据指数p的符号位p[18],选择移位器进行右移n+1位的操作结果或移位器进行左移n位的操作结果,之后将移位器进行右移n+1位的操作结果或移位器进行左移n位的操作结果,结合查表获得的目标幂值,通过乘法器进行乘积运算获得乘积结果,最后将乘积结果通过移位器进行右移4位的操作,获得真数y与变量x的乘积结果。
[0101]
图4是本发明实施例提供的一种对数逆运算方法的步骤流程图,上述对数逆运算装置可以用于实现对数逆运算方法,该方法包括:
[0102]
步骤201、获取与输入的对数对应的真数的幂值运算式,所述幂值运算式包含与所述真数对应的指数。
[0103]
步骤202、计算所述指数的绝对值。
[0104]
步骤203、根据所述指数的符号位,提取所述绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节所述小数部分的位宽为目标位宽后,获得目标小数部分。
[0105]
步骤204、根据所述目标小数部分,从预设的查找表中查找与所述目标小数部分对应的目标幂值;所述查找表包括:小数与所述小数对应的幂值之间的对应关系。
[0106]
步骤205、根据所述整数部分的幂值和所述目标幂值,获得对所述对数逆运算所得到的所述真数。
[0107]
本发明实施例的步骤201-205具体可以参照上述实施例的对应描述,此处不做赘述。
[0108]
综上,本发明实施例在获取输入的对数后,确定与输入的对数对应的真数具有幂值运算式;且幂值运算式包含与真数对应的指数,通过绝对值计算器计算指数的绝对值,通过数值提取器根据指数的符号位,提取绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节小数部分的位宽为目标位宽后,获得目标小数部分,最后通过计算单元根据目标小数部分,从预设的查找表中查找与目标小数部分对应的目标幂值,并根据整数部分的幂值和目标幂值,获得对对数逆运算所得到的真数。本发明实施例基于小数部分的每种组合与对应幂值具有一一对应关系的特性,提前获得这种对应关系病将这种对应关系构建为查找表存储于电路,在具体计算时,可以通过查表来获得目标小数部分的目标幂值,从
而省去了每次求解目标幂值的实际运算,也就省去了电路中用于实现求解目标小数部分的目标幂值的运算器,极大降低了电路的面积和整体功耗。
[0109]
图5是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0110]
参照图5,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(i/o)的接口612,传感器组件614,以及通信组件616。
[0111]
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
[0112]
存储器604用于存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,多媒体等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0113]
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
[0114]
多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的分界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或多媒体模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0115]
音频组件610用于输出和/或输入音频信号。例如,音频组件610包括一个麦克风(mic),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
[0116]
i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0117]
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或
电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0118]
通信组件616用于便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0119]
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于实现本发明实施例提供的一种对数逆运算方法。
[0120]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0121]
图6是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图6,电子设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行本发明实施例提供的一种对数逆运算方法。
[0122]
电子设备700还可以包括一个电源组件726被配置为执行电子设备700的电源管理,一个有线或无线网络接口750被配置为将电子设备700连接到网络,和一个输入输出(i/o)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
[0123]
本发明实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述对数逆运算方法。
[0124]
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的对数逆运算方法。
[0125]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0126]
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并
且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
技术特征:
1.一种对数逆运算装置,其特征在于,所述装置包括:数值提取器、绝对值计算器和计算单元;与输入的对数对应的真数具有幂值运算式,所述幂值运算式包含与所述真数对应的指数;所述绝对值计算器用于计算所述指数的绝对值;所述数值提取器用于:根据所述指数的符号位,提取所述绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节所述小数部分的位宽为目标位宽后,获得目标小数部分;所述计算单元用于:根据所述目标小数部分,从预设的查找表中查找与所述目标小数部分对应的目标幂值;根据所述整数部分的幂值和所述目标幂值,获得对所述对数逆运算所得到的真数;其中,所述查找表包括:小数与所述小数对应的幂值之间的对应关系。2.根据权利要求1所述的对数逆运算装置,其特征在于,所述计算单元包括:第一加法器、第一移位器和第二移位器;调节所述位宽后的指数的求解式包括:与所述对数关联的乘法计算部分,以及与所述乘法计算部分、与所述目标位宽对应的除法计算部分;所述第一加法器和所述第一移位器用于计算所述乘法计算部分的结果;所述第二移位器用于计算所述除法计算部分的结果。3.根据权利要求1所述的对数逆运算装置,其特征在于,所述数值提取器用于:提取所述指数的符号位为负数时所述绝对值的第一小数部分和第一整数部分,调节所述第一小数部分的位宽为目标位宽后,获得目标第一小数部分;以及提取所述指数的符号位为正数时所述绝对值的第二小数部分和第二整数部分,调节所述第二小数部分的位宽为目标位宽后,获得目标第二小数部分。4.根据权利要求3所述的对数逆运算装置,其特征在于,所述计算单元还包括:第二加法器;所述装置还包括:第一选择器;所述查找表包括:小数的索引值与所述小数对应的幂值之间的对应关系;所述第二加法器用于:根据与所述目标位宽对应的最大表述数值,以及所述第一目标小数部分,计算所述第一目标小数部分的第一索引值;所述指数的符号位为正数时所述目标第二小数部分的第二索引值为所述目标第二小数部分;所述第一选择器用于:根据输入的指数的符号位,选择所述第一索引值或所述第二索引值输出至所述计算单元;所述计算单元具体用于:计算所述第一整数部分的幂值和所述第二整数部分的幂值,以及根据所述第一索引值或所述第二索引值,从所述查找表中查找所述目标幂值。5.根据权利要求4所述的对数逆运算装置,其特征在于,所述第二加法器具体用于:将与所述位宽对应的最大表述数值与所述第一目标小数部分的差值,作为所述第一目标小数部分的第一索引值。6.根据权利要求4所述的对数逆运算装置,其特征在于,所述装置还包括:第二选择器;所述计算单元还包括:乘法器;所述第二选择器用于:根据输入的指数的符号位,选择所述第一整数部分的幂值或所述第二整数部分的幂值输出至所述乘法器;
所述乘法器具体用于:获取所述第二选择器输入的所述第一整数部分的幂值或所述第二整数部分的幂值,并结合所述目标幂值,通过乘积运算获得对所述对数逆运算所得到的真数。7.根据权利要求1所述的对数逆运算装置,其特征在于,所述装置还包括:第三移位器;在所述目标位宽为4位的情况下,所述查找表中所述小数对应的幂值为:所述小数的幂值计算结果与16的乘积结果;所述第三移位器用于:对所述整数部分的幂值和所述目标幂值的乘积进行右移四位的移位操作,获得所述真数。8.根据权利要求1所述的对数逆运算装置,其特征在于,所述数值提取器具体用于:将所述绝对值表示为二进制数据;根据所述指数的符号位,提取所述二进制数据的小数部分和整数部分,以及按照预设的精度调节指令,调节所述小数部分的位宽为目标位宽后,获得所述目标小数部分。9.一种对数逆运算方法,应用于如权利要求1-8任一项所述的对数逆运算装置,其特征在于,所述方法包括:获取与输入的对数对应的真数的幂值运算式,所述幂值运算式包含与所述真数对应的指数;计算所述指数的绝对值;根据所述指数的符号位,提取所述绝对值的小数部分和整数部分,以及按照预设的精度调节指令,调节所述小数部分的位宽为目标位宽后,获得目标小数部分;根据所述目标小数部分,从预设的查找表中查找与所述目标小数部分对应的目标幂值;所述查找表包括:小数与所述小数对应的幂值之间的对应关系;根据所述整数部分的幂值和所述目标幂值,获得对所述对数逆运算所得到的所述真数。10.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求9所述的方法。11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求9所述的方法。
技术总结
本发明提供了一种对数逆运算装置、方法、电子设备及计算机可读存储介质,包括:数值提取器、绝对值计算器和计算单元;与输入的对数对应的真数具有幂值运算式,幂值运算式包含与真数对应的指数;绝对值计算器用于计算指数的绝对值;数值提取器用于:根据指数的符号位,提取绝对值的小数部分和整数部分,以及调节小数部分的位宽后获得目标小数部分;计算单元用于:根据目标小数部分,从预设的查找表中查找与目标小数部分对应的目标幂值;根据整数部分的幂值和目标幂值,获得对对数逆运算所得到的真数。本发明省去了每次求解目标小数部分的幂值的实际运算,也就省去了电路中用于实现求解目标幂值的运算器,极大降低了电路的面积和整体功耗。体功耗。体功耗。
技术研发人员:徐川
受保护的技术使用者:北京奕斯伟计算技术股份有限公司
技术研发日:2023.04.26
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
