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

文档序号:8269713阅读:458来源:国知局
一种浮点倒数和/或平方根倒数运算方法及其装置的制造方法
【技术领域】
[0001] 本发明属于集成电路中的运算部件设计技术领域,具体涉及一种浮点倒数和/或 平方根倒数运算方法及其装置。
【背景技术】
[0002] 浮点表示根据IEEE 754标准,有单、双精度及其扩展精度等多种表示方法,其中 单精度表示的精度最低,实现相对简单,硬件开销最少,双精度扩展精度的精度最高,实现 相对复杂,硬件开销最多。
[0003] 浮点运算能够提供更高的精度,在当今应用越来越广,而浮点除法运算、倒数运 算、平方根倒数运算使用频率低,采用硬件完全实现设计代价很大,采用定点运算配合软件 迭代精度很难达到要求,采用硬件查表配合软件迭代共同实现能够达到很好的性能。

【发明内容】

[0004] (一)要解决的技术问题
[0005] 有鉴于此,本发明的主要目的在于提供一种高效的浮点倒数/平方根倒数部件的 设计方法,在多精度环境或精度可配置环境下设计实现一种可配置浮点倒数/平方根倒数 设计方法,尽最大程度复用硬件资源,实现对浮点多种运算的支持。
[0006] (二)技术方案
[0007] 为此,本发明提出的一种浮点数的倒数和/或平方根倒数运算方法,包括:
[0008] 步骤1、根据输入的浮点数获取查找地址;
[0009] 步骤2、根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找, 得到所述浮点数的倒数或平方根倒数的尾数;其中,所述浮点数的倒数尾数查找表根据以 下公式构诰:
【主权项】
1. 一种浮点数的倒数和/或平方根倒数运算方法,包括: 步骤1、根据输入的浮点数获取查找地址; 步骤2、根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找,得到 所述浮点数的倒数或平方根倒数的尾数;其中,所述浮点数的倒数尾数查找表根据W下公 式构造:
所述浮点数的平方根倒数尾数查找表根据W下公式构造:
其中,niy为所述浮点数的倒数或平方根倒数的尾数,m为所述浮点数的尾数,a为m,的 位数,b为my的位数;E X为所述浮点数的指数,N为整数; 步骤3、计算得到所述浮点数的倒数或平方根倒数的指数,其中,所述浮点数的倒数的 指数如下计算: Ey= (W-l)-Ex 所述浮点数的平方根倒数的指数如下计算:
其中,Ey为所述浮点数的倒数或平方根倒数的指数,W为所述浮点数的倒数或平方根倒 数的移码; 步骤4、计算得到所述浮点数的倒数或平方根倒数的符号位,其中,所述浮点数的倒数 的符号位与所述浮点数的符号位相同,所述浮点数的平方根倒数当所述浮点数为正数时才 有效,且其符号位为0; 步骤5、根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所述浮点数的 倒数或平方根倒数的运算结果。
2. 如权利要求1所述的方法,其中,步骤1中,所述查找地址如下获取: 所述浮点数倒数运算时,所述查找地址为所述浮点数的高a位尾数;所述浮点数平方 根倒数运算时,所述查找地址为所述浮点数的指数最低位与所述浮点数的高a位尾数拼接 而成的a+1位数据。
3. 如权利要求1所述的方法,其中,步骤1中所述查找地址如下获取,令低精度计算和 高精度计算时所述查找地址为M和N位,M < N ; 计算所述浮点数的倒数时,低精度计算时所述查找地址为所述尾数niy的高M位,剩余 M-N位补0 ;高精度计算时所述查找地址为所述尾数my的高N位; 计算所述浮点数的平方根倒数时,低精度计算时所述查找地址的最高位为所述指数Ey

的最低位,剩余高M-1位为所述尾数niy的高M-1位,剩余M-N位补0,高精度计算时所述查 找地址的最高位为所述指数Ey的最低位,剩余N-1位为所述尾数m y的高N-1位。
4. 如权利要求1所述的方法,其中,计算所述浮点数的倒数时,所述浮点数的倒数的符 号位与所述浮点数的符号位相同;计算所述浮点数的平方根倒数时,所述浮点数的平方根 倒数的符号位为0。
5. 如权利要求2所述的方法,其中,所述浮点数的倒数或所述浮点数平方根倒数运算 时,低精度计算和高精度计算复用一个查找表实现。
6. 如权利要求5所述的方法,其中,步骤1还包括获取查找地址宽度指示标识,并根据 所述查找地址和查找地址宽度指示标识更新所述查找地址,其中,所述查找地址宽度指示 标识用于指明当前查找地址为何种位宽。
7. 如权利要求6所述的方法,其中,步骤1中若所述查找地址宽度指示标识为低位宽标 识,则更新后的查找地址为原始查找地址中从高位截取相应位宽数据,与低位拼接0组成 的地址;若所述查找地址宽度指示标识为高位宽标识,则不对所述查找地址更新,而直接使 用所述查找地址进行查找。
8. 如权利要求6所述的方法,其中,步骤2中对查找得到的结果进行如下处理,获得所 述浮点数的倒数或平方根倒数的尾数: 如果所述查找地址宽度指示标识为低位宽标识,则对查找得到的结果从高位截取对应 精度位宽数据,低位补0; 如果所述查找地址宽度指示标识为高位宽标识,则不对查找得到的结果进行处理,直 接输出。
9. 如权利要求1-8任一项所述的方法,其中,所述浮点数的倒数和/或平方根倒数尾数 查找表为硬件查找表。
10. -种浮点数的倒数和/或平方根倒数运算装置,包括: 查找地址获取模块,其根据输入的浮点数获取查找地址; 尾数获取模块,其根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行 查找,得到所述浮点数的倒数或平方根倒数的尾数;其中,所述浮点数的倒数尾数查找表根 据W下公式构造:
所述浮点数的平方根倒数尾数查找表根据W下公式构造:
其中,niy为所述浮点数的倒数或平方根倒数的尾数,m为所述浮点数的尾数,a为m,的
位数,b为my的位数;E X为所述浮点数的指数,N为整数; 指数获取模块,其计算得到所述浮点数的倒数或平方根倒数的指数,其中,所述浮点数 的倒数的指数如下计算: Ey= (W-l)-Ex 所述浮点数的平方根倒数的指数如下计算:
其中,Ey为所述浮点数的倒数或平方根倒数的指数,W为所述浮点数的倒数或平方根倒 数的移码; 符号位获取模块,其计算得到所述浮点数的倒数或平方根倒数的符号位,其中,所述浮 点数的倒数的符号位与所述浮点数的符号位相同,所述浮点数的平方根倒数当所述浮点数 为正数时才有效,且其符号位为0 ; 结果输出模块,其根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所 述浮点数的倒数或平方根倒数的运算结果。
【专利摘要】本发明公开了一种浮点倒数和/或平方根倒数运算方法及装置。所述方法包括:根据输入的浮点数获取查找地址;根据所述查找地址从浮点数的倒数或平方根倒数尾数查找表中进行查找,得到所述浮点数的倒数或平方根倒数的尾数;计算得到所述浮点数的倒数或平方根倒数的指数;计算得到所述浮点数的倒数或平方根倒数的符号位;根据所述浮点数的倒数或平方根倒数的指数、尾数和符号位得到所述浮点数的倒数或平方根倒数的运算结果。本发明通过硬件查表获得尾数计算结果,该硬件查找表可配置可复用,根据不同精度要求获得不同位宽输出结果,通过计算获得指数部分结果,最终得到一个硬件计算结果供软件迭代使用。
【IPC分类】G06F7-57
【公开号】CN104598197
【申请号】CN201510037527
【发明人】王惠娟, 肖偌舟, 林玻, 刘檬, 张志伟
【申请人】中国科学院自动化研究所
【公开日】2015年5月6日
【申请日】2015年1月26日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1