一种浮点倒数和/或平方根倒数运算方法及其装置制造方法及图纸

技术编号:11414373 阅读:168 留言:0更新日期:2015-05-06 13:57
本发明专利技术公开了一种浮点倒数和/或平方根倒数运算方法及装置。所述方法包括:根据输入的浮点数获取查找地址;根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找,得到所述浮点数的倒数或平方根倒数的尾数;计算得到所述浮点数的倒数或平方根倒数的指数;计算得到所述浮点数的倒数或平方根倒数的符号位;根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所述浮点数的倒数或平方根倒数的运算结果。本发明专利技术通过硬件查表获得尾数计算结果,该硬件查找表可配置可复用,根据不同精度要求获得不同位宽输出结果,通过计算获得指数部分结果,最终得到一个硬件计算结果供软件迭代使用。

【技术实现步骤摘要】
一种浮点倒数和/或平方根倒数运算方法及其装置
本专利技术属于集成电路中的运算部件设计
,具体涉及一种浮点倒数和/或平方根倒数运算方法及其装置。
技术介绍
浮点表示根据IEEE754标准,有单、双精度及其扩展精度等多种表示方法,其中单精度表示的精度最低,实现相对简单,硬件开销最少,双精度扩展精度的精度最高,实现相对复杂,硬件开销最多。浮点运算能够提供更高的精度,在当今应用越来越广,而浮点除法运算、倒数运算、平方根倒数运算使用频率低,采用硬件完全实现设计代价很大,采用定点运算配合软件迭代精度很难达到要求,采用硬件查表配合软件迭代共同实现能够达到很好的性能。
技术实现思路
(一)要解决的技术问题有鉴于此,本专利技术的主要目的在于提供一种高效的浮点倒数/平方根倒数部件的设计方法,在多精度环境或精度可配置环境下设计实现一种可配置浮点倒数/平方根倒数设计方法,尽最大程度复用硬件资源,实现对浮点多种运算的支持。(二)技术方案为此,本专利技术提出的一种浮点数的倒数和/或平方根倒数运算方法,包括:步骤1、根据输入的浮点数获取查找地址;步骤2、根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找,得到所述浮点数的倒数或平方根倒数的尾数;其中,所述浮点数的倒数尾数查找表根据以下公式构造:所述浮点数的平方根倒数尾数查找表根据以下公式构造:Ex=2N时,Ex=2N+1时,其中,my为所述浮点数的倒数或平方根倒数的尾数,mx为所述浮点数的尾数,a为mx的位数,b为my的位数;Ex为所述浮点数的指数,N为整数;步骤3、计算得到所述浮点数的倒数或平方根倒数的指数,其中,所述浮点数的倒数的指数如下计算:Ey=(W-1)-Ex所述浮点数的平方根倒数的指数如下计算:其中,Ey为所述浮点数的倒数或平方根倒数的指数,W为所述浮点数的倒数或平方根倒数的移码;步骤4、计算得到所述浮点数的倒数或平方根倒数的符号位,其中,所述浮点数的倒数的符号位与所述浮点数的符号位相同,所述浮点数的平方根倒数当所述浮点数为正数时才有效,且其符号位为0;步骤5、根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所述浮点数的倒数或平方根倒数的运算结果。本专利技术还提出了一种浮点数的倒数和/或平方根倒数运算装置,包括:查找地址获取模块,其根据输入的浮点数获取查找地址;尾数获取模块,其根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找,得到所述浮点数的倒数或平方根倒数的尾数;其中,所述浮点数的倒数尾数查找表根据以下公式构造:所述浮点数的平方根倒数尾数查找表根据以下公式构造:Ex=2N时,Ex=2N+1时,其中,my为所述浮点数的倒数或平方根倒数的尾数,mx为所述浮点数的尾数,a为mx的位数,b为my的位数;Ex为所述浮点数的指数,N为整数;指数获取模块,其计算得到所述浮点数的倒数或平方根倒数的指数,其中,所述浮点数的倒数的指数如下计算:Ey=(W-1)-Ex所述浮点数的平方根倒数的指数如下计算:其中,Ey为所述浮点数的倒数或平方根倒数的指数,W为所述浮点数的倒数或平方根倒数的移码;符号位获取模块,其计算得到所述浮点数的倒数或平方根倒数的符号位,其中,所述浮点数的倒数的符号位与所述浮点数的符号位相同,所述浮点数的平方根倒数当所述浮点数为正数时才有效,且其符号位为0;结果输出模块,其根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所述浮点数的倒数或平方根倒数的运算结果。(三)有益效果从上述技术方案可以看出,本专利技术具有以下有益效果:本专利技术提出了一种浮点倒数和/或平方根倒数的计算方法其通过硬件查表获得尾数计算结果,该硬件查找表可配置可复用,根据不同精度要求获得不同位宽输出结果,通过计算获得指数部分结果,最终得到一个硬件计算结果供软件迭代使用。本专利技术适用于硬件查表配合软件迭代实现高精度浮点倒数、平方根倒数及和其相关的浮点除法等运算,运算精度高,硬件资源消耗小。附图说明图1是本专利技术中浮点倒数/平方根倒数尾数查找表结构示意图;图2是本专利技术中可复用浮点倒数/平方根倒数尾数查找表结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术作进一步的详细说明。本专利技术提出了一种可复用硬件资源进行浮点倒数/平方根倒数运算的方法,以支持在不同精度标准下输出不同精度结果,且硬件资源高度复用,最大程度的降低硬件开销。本专利技术提出的一种浮点数的倒数/平方根倒数运算方法,包括:步骤1、根据输入的浮点数构造查找地址;步骤2、根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找,得到所述浮点数的倒数或平方根倒数的尾数;其中,所述浮点数的倒数尾数查找表根据以下公式构造:所述浮点数的平方根倒数尾数查找表根据以下公式构造:Ex=2N时,Ex=2N+1时,其中,my为所述浮点数的倒数或平方根倒数的尾数,mx为所述浮点数的尾数,a为mx的位数,b为my的位数;Ex为所述浮点数的指数,N为整数;步骤3、计算得到所述浮点数的倒数或平方根倒数的指数,其中,所述浮点数的倒数的指数如下计算:Ey=(W-1)-Ex所述浮点数的平方根倒数的指数如下计算:其中,Ey为所述浮点数的倒数或平方根倒数的指数,W为所述浮点数的倒数或平方根倒数的移码;步骤4、计算得到所述浮点数的倒数或平方根倒数的符号位,其中,所述浮点数的倒数的符号位与所述浮点数的符号位相同,所述浮点数的平方根倒数当所述浮点数为正数时才有效,且其符号位为0;步骤5、根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所述浮点数的倒数或平方根倒数的运算结果。下面详细介绍上述方法步骤。假如要计算浮点数Rm的倒数1/Rm,设x为输入Rm,y为其倒数,Mx为x的浮点表示法的尾数(不含隐含位),My为y的浮点表示法的尾数(不含隐含位);Ex为x的浮点表示法的指数,Ey为y的浮点表示法的指数,W为移码的数值。y=1/x,令x=(-1)s*(1+Mx)*2(Ex-W),其中,-W<Ex-W<(W+1)(式1)y的符号位与x的符号位相同;y=1/x=1/((1+Mx)×2(Ex-W))=1/(1+Mx)×2(W-Ex)=2/(1+Mx)×2((W-1)-Ex)=(1+My)×2Ey那么,尾数满足:1+My=2/(1+Mx)(式2)所以,My=2/(1+Mx)-1=(1-Mx)/(1+Mx)(式3)指数:Ey=(W-1)-Ex(式4)式2,式3,式4通用,不随计算精度的改变而变化。mx取x尾数的高a位,my为y尾数的高b位,则由式2可得:即(式5)。至此可建立mx的查找表。该查找表中查找数据的个数由x尾数取得位数a决定,即为2a,查找表每一项的大小由y尾数取得位数b决定,则查找表大小为:2a×b,可以看出查找表的大小和所取的x的尾数和y的尾数精度都有关,与a呈指数增长,与b呈倍数增长,原则上x的尾数所取位宽越大,y的尾数位宽也应越大,最终计算的结果x倒数的精度越高,查找表也就越大,查找时间和存储空间也就相应加大,实际应用中需权衡考虑。假如要计算浮点数Rm的平方根倒数设x为Rm,y为其平方根倒数,设W为移码的数值。设x为输入Rm,y为其平方根倒数,Mx为x的浮点表示法的尾数(不含隐含位),My为y的浮点本文档来自技高网...
一种浮点倒数和/或平方根倒数运算方法及其装置

【技术保护点】
一种浮点数的倒数和/或平方根倒数运算方法,包括:步骤1、根据输入的浮点数获取查找地址;步骤2、根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找,得到所述浮点数的倒数或平方根倒数的尾数;其中,所述浮点数的倒数尾数查找表根据以下公式构造:所述浮点数的平方根倒数尾数查找表根据以下公式构造:Ex=2N时,Ex=2N+1时,其中,my为所述浮点数的倒数或平方根倒数的尾数,mx为所述浮点数的尾数,a为mx的位数,b为my的位数;Ex为所述浮点数的指数,N为整数;步骤3、计算得到所述浮点数的倒数或平方根倒数的指数,其中,所述浮点数的倒数的指数如下计算:Ey=(W‑1)‑Ex所述浮点数的平方根倒数的指数如下计算:其中,Ey为所述浮点数的倒数或平方根倒数的指数,W为所述浮点数的倒数或平方根倒数的移码;步骤4、计算得到所述浮点数的倒数或平方根倒数的符号位,其中,所述浮点数的倒数的符号位与所述浮点数的符号位相同,所述浮点数的平方根倒数当所述浮点数为正数时才有效,且其符号位为0;步骤5、根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所述浮点数的倒数或平方根倒数的运算结果。

【技术特征摘要】
1.一种浮点数的倒数和/或平方根倒数运算方法,包括:步骤1、根据输入的浮点数获取查找地址;其中,所述浮点数倒数运算时,所述查找地址为所述浮点数的高a位尾数;所述浮点数平方根倒数运算时,所述查找地址为所述浮点数的指数最低位与所述浮点数的高a位尾数拼接而成的a+1位数据;步骤2、根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找,得到所述浮点数的倒数或平方根倒数的尾数;其中,所述浮点数的倒数尾数查找表根据以下公式构造:所述浮点数的平方根倒数尾数查找表根据以下公式构造:Ex=2n时,Ex=2n+1时,其中,my为所述浮点数的倒数或平方根倒数的尾数,mx为所述浮点数的尾数,a为mx的位数,b为my的位数;Ex为所述浮点数的指数,n为整数;步骤3、计算得到所述浮点数的倒数或平方根倒数的指数,其中,所述浮点数的倒数的指数如下计算:Ey=(W-1)-Ex所述浮点数的平方根倒数的指数如下计算:其中,Ey为所述浮点数的倒数或平方根倒数的指数,W为所述浮点数的倒数或平方根倒数的移码;步骤4、计算得到所述浮点数的倒数或平方根倒数的符号位,其中,所述浮点数的倒数的符号位与所述浮点数的符号位相同,所述浮点数的平方根倒数当所述浮点数为正数时才有效,且其符号位为0;步骤5、根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所述浮点数的倒数或平方根倒数的运算结果。2.如权利要求1所述的方法,其中,步骤1中所述查找地址如下获取,令低精度计算和高精度计算时所述查找地址为M和N位,M<N:计算所述浮点数的倒数时,低精度计算时所述查找地址为所述尾数my的高M位,剩余N-M位补0;高精度计算时所述查找地址为所述尾数my的高N位;计算所述浮点数的平方根倒数时,低精度计算时所述查找地址的最高位为所述指数Ey的最低位,剩余高M-1位为所述尾数my的高M-1位,剩余N-M位补0,高精度计算时所述查找地址的最高位为所述指数Ey的最低位,剩余N-1位为所述尾数my的高N-1位。3.如权利要求1所述的方法,其中,所述浮点数的倒数或所述浮点数平方根倒数运算时,低精度计算和高精度计算复用一个查找表实现。4.如权利要求3所述的方法,其中,步骤1还包括获取查找地址宽度指示标识,并根据所述查找地址和查找地址宽度指示标识更新所述查找...

【专利技术属性】
技术研发人员:王惠娟肖偌舟林玻刘檬张志伟
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京;11

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

1