CN111913686B - 一种定点cpu的快速开平方计算的方法 - Google Patents

一种定点cpu的快速开平方计算的方法 Download PDF

Info

Publication number
CN111913686B
CN111913686B CN202010471703.8A CN202010471703A CN111913686B CN 111913686 B CN111913686 B CN 111913686B CN 202010471703 A CN202010471703 A CN 202010471703A CN 111913686 B CN111913686 B CN 111913686B
Authority
CN
China
Prior art keywords
value
shift
bit
register
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010471703.8A
Other languages
English (en)
Other versions
CN111913686A (zh
Inventor
王培林
刘伯钊
李铁党
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yolico Electric Wuxi Co ltd
Original Assignee
Yolico Electric Wuxi Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yolico Electric Wuxi Co ltd filed Critical Yolico Electric Wuxi Co ltd
Priority to CN202010471703.8A priority Critical patent/CN111913686B/zh
Publication of CN111913686A publication Critical patent/CN111913686A/zh
Application granted granted Critical
Publication of CN111913686B publication Critical patent/CN111913686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种定点CPU的快速开平方计算的方法,其可以基于较小的CPU存储空间,提高运算性能,实现快速的开平方计算,在保持交底的成本的基础上满足实时性计算需求。本发明的技术方案中,首先将待开方的输入值分段为高N/2位、低N/2位,分段处理后使用数值比较代替移位运算与循环判断;对输入值分段处理后,将输入数值的N位,以4的倍数循环处理,直到无法被4整除,记录被4整除的次数,最终根据被4整除的次数以及处理后的新值计算开方值。

Description

一种定点CPU的快速开平方计算的方法
技术领域
本发明电机控制技术领域,具体为一种定点 CPU的快速开平方计算的方法。
背景技术
在汽车等工业领域,经常使用定点处理器进行数字信号处理。根据不同的需求,技术人员将计算用算法写在处理器中,运行的时候CPU会调用相应算法完成计算任务。在实际生产工作中,实时嵌入式控制需求里经常会使用到开平方运算,例如:电机的的实时控制、电源质量分析实时控制等需求。现有的嵌入式应用大多基于C语言实现的编译环境,C语言标准库中提供了开平方运算的标准实现方法。但是,现有的标准C语言开平方运算的运算时间过长,无法满足计算的实时性的需求。为了解决这个问题,有的技术人员通过采用更高性能的CPU来实现实时性需求,但是这会导致产品的总成本提高。
发明内容
为了解决现有的C语言开平发运算方法无法满足定点CPU运算中的实时性要求的问题,本发明提供一种定点 CPU的快速开平方计算的方法,其可以基于较小的CPU存储空间,提高运算性能,实现快速的开平方计算,在保持交底的成本的基础上满足实时性计算需求。
本发明的技术方案是这样的:一种定点 CPU的快速开平方计算的方法,其特征在于,其包括以下步骤:
S1:在CPU的Flash空间内存储平方根表格,作为查询表格;
S2:获取CPU可以处理的最大位数,设置为最大处理单位N;
初始化一个N位的寄存器作为输入值寄存器;
设置一个移位指示器,记为shift_cnt;
S3:获取待开方计算的输入值;
将所述输入值放入所述输入值寄存器,判断所述输入值是否大于1;
如果所述输入值大于1,则执行步骤S4;
否则,直接返回输入值作为输出值;运算结束;
S4:预设一个分段阈值,比较所述输入值和所述分段阈值的大小;
如果所述输入值大于所述分段阈值,则初始化所述移位指示器的值shift_cnt为0;
否则,设置所述移位指示器的值shift_cnt= N/2,且将所述输入值在所述输入值寄存器中左移,左移位数为:N/2;
S5:获取所述输入值寄存器的N位值,记做输入值寄存器分段值;
S6:设置一个左移寄存器,将所述输入值寄存器分段值存入所述左移寄存器;
S7: 所述左移寄存器中的值存入中间值寄存器,记作:中间值;
S8:获取所述左移寄存器的前两位数值,记做:左移判断值;
S9:确认2位的所述左移判断值的每一位是否都为0;
如果两位的所述左移判断值的有一位的值不为0,则将所述中间值赋值给待开平方新值uXin_shift;
否则,如果两位的所述左移判断值的每一位都为0,将所述左移寄存器的值左移2位,并将移位后的新值存入所述中间值寄存器,所述移位指示器的值shift_cnt加2,循环执行步骤S8~S9;
S10:将所述待开平方新值uXin_shift向右移位3*N/4位,获得查表索引;在所述查询表格中取得所述查表索引的值对应的表格的值,记为:第一查询值;
将所述查表索引的值加1,获得第二查表索引的值;在所述查询表格中取得所述第二查表索引对应的表格的值,记为:第二查询值;
S11:根据CPU最大处理位数设置一个MASK值,将所述待开平方新值uXin_shift与MASK做逻辑与运算后,将获得的数值再向右移N/4位获得余数值;
S12:将所述第一查询值、所述第二查询值、所述余数值,进行插值运算,将插值运算的结果进行16位定点数四舍五入处理,将获得的记做:结果值uin_Temp;
S13:获得所述移位指示器的值shift_cnt;
将所述结果值uin_Temp向右移动shift_cnt/2位,即获得所述输入值开平方之后的结果:开平方结果值。
其进一步特征在于:
步骤S3中,所述输入值的数据类型包括:8位数值u8in、16位数值u16in、32位数值u32in;
步骤S12中,所述插值运算利过程基于CPU乘法器和位移运算完成;
步骤S12中,所述插值运算为直线插值运算,运算的公式为:
Y2=Y1+(Y2-Y1)/(X2-X1)*(X-X1)
式中:Y1为所述第一查询值,X1为所述查表索引,X2为所述第二查表索引,X-X1为所述余数值;
步骤S9中,基于32位CPU实现算法时,判断所述左移判断值的值是否都为0的方法:
将所述左移寄存器中的数值与二进制数1100 0000 0000 0000 0000 0000 00000000b做逻辑与运算;
步骤S11中, N为32时, MASK值为0000 0000 1111 1111 1111 1111 1111 1111b;N为16时, MASK值为0000 1111 1111 1111 b;N为8时,MASK值为0011 1111b;
步骤S1中,N为32时,所述查询表格的大小为可以放置256个16位数值的大小;N为16时,表格大小为16个8位数据,N为8位时,表格大小为4个8位数大小;
步骤S4中,基于32位CPU实现算法时所述分段阈值设置为65536;基于16位CPU实现算法时,所述分段阈值设置为256,基于8位CPU实现时分段阈值设置为16。
本发明提供的一种定点 CPU的快速开平方计算的方法,首先将待开方的输入值分段为高N/2位、低N/2位,分段处理后使用数值比较代替移位运算与循环判断,节省了CPU执行时间,提高了计算效率;对输入值分段处理后,将输入数值的N位,以4的倍数循环处理,直到无法被4整除,记录被4整除的次数,最终根据被4整除的次数以及处理后的新值计算开方值,本方法缩小了数值范围,进一步的提高了数值的处理精度;插值运算基于利用CPU乘法器和位移运算完成,提高了运算速度,进一步的确保而来计算的实时性;通过直线插值运算补充了在分段处理输入值时损失的精度,使本发明的技术方案的计算结果更为精确;建立查询表格时,32位CPU对应的查询表格只需要256个16位数据的大小即可,本发明的技术方案基于较小的查询表格即可实现32位数据的实时开方运算,不但大大节省了CPU的存储空间,降低了产品的成本,且加快了数据的读写速度,进一步提高了计算的实时性。
附图说明
图1为待开方数值与结果的关系曲线示意图。
具体实施方式
如图1所示,本发明一种定点 CPU的快速开平方计算的方法,其包括以下步骤。其中的实施例是基于瑞萨SH2A内核32位定点 CPU进行实现的,即N=32。
S1:基于以存储空间换执行速度的策略,预先在CPU的Flash空间内存储平方根表格,作为查询表格;
基于瑞萨SH2A内核定点 CPU实现技术方案时,查询表格中,每个数值的开平方值用定点形式存储;如:8的开平方值为2.82842712,2.82842712的定点表示为11585即:2.82842712*2^12;即,在查询表格中,8对应的数值即为:11585;
查询表格的大小为放置256个16位数值的大小;本发明技术方案中是将输入值分段处理,通过高16位求取查表索引,因此查表索引的数值范围被限制在0~65535范围内,开方后数值范围为0~256,因此表格大小为256个数据即可;
表格索引是一个从0逐渐增大的有序序列,最大值为255。
S2:获取CPU可以处理的最大位数,设置为最大处理单位N ;N=32时,初始化一个32位寄存器作为输入值寄存器;
设置一个移位指示器,记为shift_cnt。
S3:获取待开方计算的输入值;输入值的数据类型包括:8位数值u8in、16位数值u16in、32位数值u32in;
设输入值282作为实施例,来说明实际运算中的CPU的运行方法;
将输入值放入输入值寄存器,判断输入值是否大于1;
如果输入值大于1,则执行步骤S4;
否则,直接返回输入值作为输出值;运算结束;
实施例中输入值282大于1,则执行步骤S4。
S4:比较输入值和65536的大小;
如果输入值大于65536,则初始化移位指示器的值shift_cnt为0;
否则,设置移位指示器的值shift_cnt为16,且将输入值在输入值寄存器中左移16位;
数值282小于65536,因此移位指示器shift_cnt初始化为16。
S5:获取输入值寄存器的32位的值,记做输入值寄存器分段值;
实施例中,282被移到输入值寄存器的32位值如下:
(0000 0001 0001 1010 0000 0000 0000 0000b);
本发明技术方案中,将输入值分为两段,通过对高16位的数值进行运算,获取输入值在查询表格对应的查表索引;如果输入值大于65535,即位数大于16位,将shift_cnt值设置为0;输入值寄存器的低16位值在后面步骤中,部分左移入高16位后,仍然遗留在低16位寄存器的数值用来计算插值提高计算结果的精度。如果输入值位数低于16位,那么,将shift_cnt值设置为16;在步骤S4中,通过左移16位,将输入值全部左移到输入值寄存器的高16位,进行后续计算获得查索引,后续无需再对输入值寄存器的低16位值进行计算。通过这种分段式的计算方法,用数值比较与移位操作代替逻辑查表与循环判断,节省了CPU的执行时间,提高计算效率。
S6:设置一个左移寄存器,将输入值寄存器分段值存入左移寄存器。
S7: 将左移寄存器中存放的数值存入中间值寄存器,记做:中间值。
S8:获取左移寄存器的前两位数值,记做:左移判断值。
S9:确认2位的左移判断值的每一位是否都为0;
实际应用中,通过将左移寄存器中的数值与二进制数1100 0000 0000 0000 00000000 0000 0000b做逻辑与运算,判断左移判断值的值是否都为0;
如果两位的左移判断值的有一位的值不为0,则将中间值赋值给待开平方新值u32in_shift;
否则,如果两位的所述左移判断值的每一位都为0,将所述左移寄存器的值左移2位,并将移位后的新值存入所述中间值寄存器,所述位移指示器的值shift_cnt加2,循环执行步骤S8~S9;
通过分段判断的方式获得shift_cnt的初始值,最多可以一次移动16位,最后通过左移的方式,将放入32为寄存器的输入值的最高位两个连续的0清除。
实施例中,以2位为单位往左移动,输入值282需要移动3次,移位指示器shift_cnt= 16+6 = 22;
此时获得的待开平方新值u32in_shift为:
(0100 0110 1000 0000 0000 0000 0000 0000b)。
S10:将待开平方新值u32in_shift向右移位24位,获得查表索引;在查询表格中取得查表索引的值对应的表格的值,记为:第一查询值;
将查表索引的值加1,获得第二查表索引的值;在查询表格中取得第二查表索引对应的表格的值,记为:第二查询值;
将32位的待开平方新值u32in_shift右移24位,获得8位的查表索引;实际的实施例中,将待开平方新值u32in_shift放入32位寄存器中进行右移操作,每一次开方的索引取得都是取u32in_shift的高8位做为查表索引;第二查表索引为:查表索引+1;
例如:查表索引的值是70,在查询表格中索引70对应的数值是34270,即:sqrt(70)*2^12=34270;
则第二查表索引为71,在查询表格中索引71对应的数值是34514。
S11:将待开平方新值u32in_shift与数值000000001111 1111 1111 1111 11111111b做逻辑与运算后,将获得的数值再向右移8位获得余数值;
实施例中,右移8位后获得余数值为24位(1000 0000 0000 0000 0000 0000b),即,余数值为:8388608。
S12:将第一查询值、第二查询值、余数值,进行插值运算,将插值运算的结果进行16位定点数四舍五入处理,将获得的记做:结果值u32in_Temp;
插值运算为直线插值运算,利用CPU乘法器和位移运算完成;
插值运算为直线插值运算,运算的公式为:
Y2=Y1+(Y2-Y1)/(X2-X1)*(X-X1)
式中:Y1为第一查询值,Y2为第二查询值,X1为查表索引,X2为第二查表索引;
在实际的算法实现中, Y1的值为第一查询值,Y2-Y1的值就是两次查表值的差;X2-X1=1,所以除法不需要计算;而X-X1的值为u32in_shift将高8位清零后余下的24位数值(余数值),由于余数值是24位值,和Y2-Y1差值做一次乘法后,还是24位结果,因为表格是8位的,24位右移16为才会得到8位数值,所以24位数值需要右移16位才能得到正确插值;在这里右移16位相当于除法,处理四舍五入需要将这个数值加上32768再移位;
实施例中的插值计算:
34270 + (( 34514 - 34270 )*8388608 +32768 )>>24 ,计算后得到结果值u32in_Temp:
u32in_Temp = 34392;
因为开方结果与待开方值的关系为二次曲线关系,近似处理为直线(参照说明书附图的图1,图1的X轴为待开方值,Y轴为开方结果);所以,通过直线插值运算,利用待开方新值u32in_shift的低24位值来补充在前面分段处理时损失的计算精度;利用CPU乘法器和移位运算来实现进行直线插值运算,提高执行速度,进一步的确保了技术方案的实时性。
S13:获得移位指示器的值shift_cnt;
实施例中,shift_cnt =22;
将结果值u32in_Temp向右移动shift_cnt/2位,即获得输入值开平方之后的结果:开平方结果值;
将结果值34392,向右移动11位,获得开平方结果值:16.79296875;
而通过计算器可得282近似的开方结果为:16.79285562,数值精度可按实际需求进行取舍,例如要保持最高精度,可以直接取定点数34392作为开方结果,也可以向右移动11为,保存数值16作为开方结果;可知通过本发明计算方案可以获得准确的结果。由于SH2A内核具有32位乘法器,在2个时钟周期即可执行一次乘法运算,其他的计算基本上都为逻辑运算,因此开平方运算可以在有限周期内完成,满足实时性要求。
因为0~255数值开方只占用8位,因此对于一个32位数据,只取高8位即可,余下24位,经过开方后为12位结果,因此查询表格只需要256个16位数据即可,查表后的值即为结果;本发明技术方案基于基于以存储空间换执行速度的策略,输入的待开方的数值进行分段处理,实现了以较小查询表格即可实现32位数据的实时开方运算,不但大大节省了存储空间,且加快了数据的读写速度,本发明的技术方案使用性能较低的CPU就可以实时计算32位的数据的开方运算,极大的降低了产品的成本。
虽然实施例中以32位数值开方为例进行说明,但本发明技术方案不限于利用此算法在16位单片机8位单片机实现类似的实现;使用16位、8位单片机时,数值为16位宽度和8位宽度;且本专利的技术方案的不限于通用单片机或DSP实现,也包括在硬件上以Verlog硬件实现语言进行实现。

Claims (8)

1.一种定点 CPU的快速开平方计算的方法,其特征在于,其包括以下步骤:
S1:在CPU的Flash空间内存储平方根表格,作为查询表格;
S2:获取CPU可以处理的最大位数,设置为最大处理单位N;
初始化一个N位的寄存器作为输入值寄存器;
设置一个移位指示器,记为shift_cnt;
S3:获取待开方计算的输入值;
将所述输入值放入所述输入值寄存器,判断所述输入值是否大于1;
如果所述输入值大于1,则执行步骤S4;
否则,直接返回输入值作为输出值;运算结束;
S4:预设一个分段阈值,比较所述输入值和所述分段阈值的大小;
如果所述输入值大于所述分段阈值,则初始化所述移位指示器的值shift_cnt为0;
否则,设置所述移位指示器的值shift_cnt= N/2,且将所述输入值在所述输入值寄存器中左移,左移位数为:N/2;
S5:获取所述输入值寄存器的N位值,记做输入值寄存器分段值;
S6:设置一个左移寄存器,将所述输入值寄存器分段值存入所述左移寄存器;
S7: 所述左移寄存器中的值存入中间值寄存器,记作:中间值;
S8:获取所述左移寄存器的前两位数值,记做:左移判断值;
S9:确认2位的所述左移判断值的每一位是否都为0;
如果两位的所述左移判断值的有一位的值不为0,则将所述中间值赋值给待开平方新值uXin_shift;
否则,如果两位的所述左移判断值的每一位都为0,将所述左移寄存器的值左移2位,并将移位后的新值存入所述中间值寄存器,所述移位指示器的值shift_cnt加2,循环执行步骤S8~S9;
S10:将所述待开平方新值uXin_shift向右移位3*N/4位,获得查表索引;在所述查询表格中取得所述查表索引的值对应的表格的值,记为:第一查询值;
将所述查表索引的值加1,获得第二查表索引的值;在所述查询表格中取得所述第二查表索引对应的表格的值,记为:第二查询值;
S11:根据CPU最大处理位数设置一个MASK值,将所述待开平方新值uXin_shift与MASK做逻辑与运算后,将获得的数值再向右移N/4位获得余数值;
S12:将所述第一查询值、所述第二查询值、所述余数值,进行插值运算,将插值运算的结果进行16位定点数四舍五入处理,将获得的记做:结果值uin_Temp;
S13:获得所述移位指示器的值shift_cnt;
将所述结果值uin_Temp向右移动shift_cnt/2位,即获得所述输入值开平方之后的结果:开平方结果值。
2.根据权利要求1所述一种定点 CPU的快速开平方计算的方法,其特征在于:步骤S3中,所述输入值的数据类型包括:8位数值u8in、16位数值u16in、32位数值u32in。
3.根据权利要求1所述一种定点 CPU的快速开平方计算的方法,其特征在于:步骤S12中,所述插值运算利过程基于CPU乘法器和位移运算完成。
4.根据权利要求1所述一种定点 CPU的快速开平方计算的方法,其特征在于:步骤S12中,所述插值运算为直线插值运算,运算的公式为:
Y2=Y1+(Y2-Y1)/(X2-X1)*(X-X1)
式中:Y1为所述第一查询值,X1为所述查表索引,X2为所述第二查表索引,X-X1为所述余数值。
5.根据权利要求1所述一种定点 CPU的快速开平方计算的方法,其特征在于:步骤S9中,基于32位CPU实现算法时,判断所述左移判断值的值是否都为0的方法:
将所述左移寄存器中的数值与二进制数1100 0000 0000 0000 0000 0000 00000000b做逻辑与运算。
6.根据权利要求1所述一种定点 CPU的快速开平方计算的方法,其特征在于:步骤S11中, N为32时, MASK值为0000 0000 1111 1111 1111 1111 1111 1111b;N为16时, MASK值为0000 1111 1111 1111 b;N为8时,MASK值为0011 1111b。
7.根据权利要求1所述一种定点 CPU的快速开平方计算的方法,其特征在于:步骤S1中,N为32时,所述查询表格的大小为可以放置256个16位数值的大小;N为16时,表格大小为16个8位数据,N为8位时,表格大小为4个8位数大小。
8.根据权利要求1所述一种定点 CPU的快速开平方计算的方法,其特征在于:步骤S4中,基于32位CPU实现算法时所述分段阈值设置为65536;基于16位CPU实现算法时,所述分段阈值设置为256,基于8位CPU实现时分段阈值设置为16。
CN202010471703.8A 2020-05-29 2020-05-29 一种定点cpu的快速开平方计算的方法 Active CN111913686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010471703.8A CN111913686B (zh) 2020-05-29 2020-05-29 一种定点cpu的快速开平方计算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010471703.8A CN111913686B (zh) 2020-05-29 2020-05-29 一种定点cpu的快速开平方计算的方法

Publications (2)

Publication Number Publication Date
CN111913686A CN111913686A (zh) 2020-11-10
CN111913686B true CN111913686B (zh) 2021-12-07

Family

ID=73238047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010471703.8A Active CN111913686B (zh) 2020-05-29 2020-05-29 一种定点cpu的快速开平方计算的方法

Country Status (1)

Country Link
CN (1) CN111913686B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1178588A (zh) * 1995-03-10 1998-04-08 摩托罗拉公司 使用移位装置的求幂电路及其使用方法
CN101326486A (zh) * 2005-12-02 2008-12-17 富士通株式会社 进行浮点数的除法运算或平方根运算的运算装置和运算方法
US8346831B1 (en) * 2006-07-25 2013-01-01 Vivante Corporation Systems and methods for computing mathematical functions
CN107003839A (zh) * 2014-12-22 2017-08-01 英特尔公司 用于移位和乘法器的指令和逻辑
CN107977587A (zh) * 2017-11-27 2018-05-01 中国航空无线电电子研究所 一种平方根功能实现方法
CN108319447A (zh) * 2018-01-22 2018-07-24 成都锐成芯微科技股份有限公司 便于硬件实现的开平方算法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403966B2 (en) * 2003-12-08 2008-07-22 Freescale Semiconductor, Inc. Hardware for performing an arithmetic function

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1178588A (zh) * 1995-03-10 1998-04-08 摩托罗拉公司 使用移位装置的求幂电路及其使用方法
CN101326486A (zh) * 2005-12-02 2008-12-17 富士通株式会社 进行浮点数的除法运算或平方根运算的运算装置和运算方法
US8346831B1 (en) * 2006-07-25 2013-01-01 Vivante Corporation Systems and methods for computing mathematical functions
CN107003839A (zh) * 2014-12-22 2017-08-01 英特尔公司 用于移位和乘法器的指令和逻辑
CN107977587A (zh) * 2017-11-27 2018-05-01 中国航空无线电电子研究所 一种平方根功能实现方法
CN108319447A (zh) * 2018-01-22 2018-07-24 成都锐成芯微科技股份有限公司 便于硬件实现的开平方算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
插值开平方的优化及实现;陈锡华,陈磊;《西昌学院学报·自然科学版》;20121220;第26卷(第4期);全文 *
电量变送器中一种快速高精度的开平方算法;磨少清等;《继电器》;20021215;第30卷(第12期);全文 *

Also Published As

Publication number Publication date
CN111913686A (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN107273090B (zh) 面向神经网络处理器的近似浮点乘法器及浮点数乘法
US10574260B2 (en) Techniques for floating-point number conversion
CN111581593B (zh) 可配置重用的分段式查找表激活函数实现装置
CN107305485B (zh) 一种用于执行多个浮点数相加的装置及方法
CN107305484B (zh) 一种非线性函数运算装置及方法
JPH01125626A (ja) 逆数計算方法
JP5307202B2 (ja) 精度制御反復算術論理演算ユニット
CN116028013B (zh) 一种fpga除法运算的优化方法、装置、除法器和介质
JP3736741B2 (ja) データ演算処理装置
CN111813371B (zh) 数字信号处理的浮点除法运算方法、系统及可读介质
US7143126B2 (en) Method and apparatus for implementing power of two floating point estimation
CN112651497A (zh) 一种基于硬件芯片的激活函数处理方法、装置及集成电路
US6182100B1 (en) Method and system for performing a logarithmic estimation within a data processing system
CN111913686B (zh) 一种定点cpu的快速开平方计算的方法
CN113296732B (zh) 数据处理方法和装置,处理器及数据搜索方法和装置
CN111104092B (zh) 一种快速除法器和除法运算方法
CN112836170B (zh) 一种数据坐标转换方法及装置
CN110597483B (zh) 一种用于fpga比较器的全二进制数据高速比较方法及系统
US20200192633A1 (en) Arithmetic processing device and method of controlling arithmetic processing device
CN115483934A (zh) 用于多方安全计算的数据转换方法和装置
US20100023569A1 (en) Method for computerized arithmetic operations
JPH0744354A (ja) 信号処理プロセッサ
CN104572018A (zh) 一种用于浮点常数生成的装置及方法
JP3613466B2 (ja) データ演算処理装置及びデータ演算処理プログラム
CN111475135A (zh) 一种乘法器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant