一种单精度浮点对数运算的硬件实现.docVIP

一种单精度浮点对数运算的硬件实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种单精度浮点对数运算的硬件实现   摘要:超越函数计算在高性能微处理器、DSP以及GPU的设计中均会涉及,对数是其中比较重要的一种运算。目前的做法一般是采用多项式展开或者查表法:采用多项式展开法达到要求的精度,需要计算的乘法和加法非常多;若采用直接查表法,所需要的ROM资源将非常多。该文提出了一种高效的单精度浮点对数运算的实现方法,采用展开式和查表相结合的方法,可以实现对任意底数的对数运算,同时在运算器数量和ROM资源数量间达到平衡。   关键词:单精度浮点;对数;查表   中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)01-0235-02   Abstract: Transcendental function computing is used in high-performance microprocessors, DSP and GPU, the logarithm is one of the important operations. Most implementation is generally used polynomial expansion or look-up table method: achieving high precision accuracy needs a lot of multiplication and addition operations while using polynomial expansion method; the ROM resources will be very much while using direct look-up table method. This paper presents an efficient single-precision floating-point logarithm algorithm, using the polynomial expansion and look-up table combination, which can achieve any base of the logarithm, while the resources of ALU and ROM are balanced.   Key words: single precision floating-point; logarithm; lookup   1 概述   单精度对数运算在高性能微处理器、DSP和GPU中经常使用到。硬件实现对数运算的方法一般是多项式展开法或者查表法,多项式展开法需要使用的运算器(浮点乘法、加法)数量非常多;查表法需要使用的ROM资源非常多,本文采用一种多项式展开和查表相结合的算法,实现了对任意底数的对数运算,同时在运算器数量和ROM资源数量间达到平衡。   2 IEEE 754单精度浮点数据格式   IEEE754标准[1]定义了单精度32位和双精度64位浮点数的格式。32位IEEE754单精度标准值中,第一位是符号位,其后8位用来存放指数,最后23位用来存放小数尾数,如图1所示。   在IEEE754单精度浮点标准中,最高位为符号位(0为正,1为负),阶码共8位,阶码=阶码的真值+7fH,尾数共23位,进行了归一化,以产生一个1.f格式的数,f是小数部分,占用分配的23位。因为规格化的数最左一位总是1,所以不需要存储该位,在该格式中它是隐式的。   3 单精度浮点对数运算算法   设,其中x为单精度浮点数且x0,n0且n≠1,求y。   根据对数的运算性质可以将y写成,n为外部输入的值,可以将输入常数n变为输入常数,那么问题就转变为计算,的计算采用多项式展开和查表相结合的算法。   对于单精度浮点数(其中),那么:   E为x的指数部分,容易提取,ln2为常数,所以问题变为计算。   根据泰勒展开公式[2]:设n是一个正整数,如果定义在一个包含a的区间上的函数f在a点处n+1次可导,那么对于这个区间上的任意x都有,其中的多项式称为函数在a处的泰勒展开式,是泰勒公式的余项且是的高阶无穷小。   若要使结果保证单精度浮点数的精度,即24位小数,那么需满足,不妨设,其中,,此时可保证(此处未考虑浮点乘法和加法的精度损失,实际结果的误差可能会超过),所以原计算可以转换成计算,下面的问题是计算和。   首先计算,由于a只有8位小数(二进制),拟采用查表法,预先计算好11自然对数值(单精度浮点数),将其存储在32×256的ROM中。   再计算,同样采用查表法,预先计算好11倒数值(单精度浮点数

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档