用定点DSP处理器实现浮点DSP仿真-Read.DOCVIP

  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处理器实现浮点DSP仿真 类型:转载 作者:珍花译自ECN 2003 Jan DSP处理器可以分为两大类:定点和浮点。一般说来,先进的定点DSP家族速度快,功耗低,价格也便宜;而浮点DSP则计算精确,动态范围大。 设计师在设计DSP时,如果对于设计的应用仅仅要求它具备很少的浮点功能时,则往往陷入了十分尴尬的困境,通常的解决办法是勉强采用价格高的浮点DSP设计。然而现在,由于定点处理器可以运行在相当高的时钟速度,因此可以仿真浮点的运算。这时设计师可以牺牲浮点的计算效率来换取较低的成本和较小的功耗。这样的设计,虽然并不能适应真正的浮点应用;但是却给设计师提供了一个难得的机会,使他们能够从尴尬的困境中解脱出来。 在表达固定小数点数字时,小数点位置的确定决定于究竟是准备采用分数运算,还是整数运算。如何选择小数点的位置,将直接影响数值运算是否简单,存储器需求的多寡;也表现为是在数值的动态范围与数值精度之间的一种折衷选择。如果所表达的数值既要求动态范围宽广,又要求数值的精度十分精确,最好选择小数点的位置可以根据数值的大小进行移动的表达方式。 浮点数由指数部分和尾数部分组成,既可以表达很大的数值,也可以表达数值很小的数。而浮点数的指数与尾数部分,则可以分别用定点数格式来表示。规格化了的浮点数不包含额外的符号位,也就是说所有的字符位都是有效位。规格化后的数字,对于一定的位数,可以实现最充分的利用。规格化以后还可以简化两个数值的比较运算。对于指数不同的数值,指数大的数,数值大;对于指数相同的数,才需要比较尾数的大小。绝大多数的运算程序都假定输入和输出都是规格化的数。 在应用定点DSP进行仿真浮点计算时,究竟是采用完整的IEEE-754格式,还是采用非IEEE兼容的格式,需要根据在计算时首先考虑数值的动态范围,还是首先考虑数值的精度来决定。有时还需要采用双精度浮点模式才能满足要求。 IEEE单精度浮点格式 浮点库。可以通过C/C++语言或者汇编语言来调用。这些程序库应用定点逻辑进行浮点的仿真运算。为了简化计算,有时使用修改后的IEEE-754更方便。这样可能降低运算周期达10倍之多。 应用定点DSP进行浮点计算的算法 Blackfin DSP的寄存器堆包(file)含有16个16-bit寄存器,也可以把它当作8个32-bit寄存器来使用。有两个计算单元,数据寄存器堆可以存放32-bit数据。整套的算术计算和逻辑运算指令集都支持仿真浮点计算,非IEEE格式;也支持可以显著简化计算要求的多重精度的定点表示方法。为了能够充分利用DSP的寄存器堆包资源,仿真浮点计算程序可以使用双字格式,即用一个16-bit字表示指数,另一个16-bit字表示尾数。两个字都使用带符号位的2的补码表示法。 DSP的体系结构,除了可以将16-bit与32-bit寄存器结合使用以外,还包括有可以简化浮点运算算法的特殊指令:SIGNBITS指令,是将数的符号位返还给该数值。实际是直接传给ASHIFT,而ASHIFT则可以移动小数点的位置,将尾数格式化。 可以将一个定点数变化为一个浮点数。变化的方法是:首先通过确定符号位数,再将小数点按照符号位数移动,然后再将尾数格式化。反之,一个浮点数也可以通过移动尾数的小数点位置,来变换成为定点数。小数点移动的位数就是符号位的位数。 可以采用下述方法,实现浮点数的加法: 以两个数中具有较大指数的指数作为和数的指数;向右移动比较小的数的尾数,移动的位数等于两个数的指数的差;将尾数相加,得到和数的分数部分;将和数格式化。 两个用浮点格式表示的数,进行乘法运算时,比进行加法运算更简单。因为不需要将两个数的小数点位对齐。乘法的运算算法如下所述:将两个数的指数相加;将两个数的尾数相乘,即为乘积数的分数部分;将乘积数格式化。 浮点的乘/累加过程则是先依次求两个操作数的积,累计求N次,再计算其总和。可以首先重复调用浮点乘法程序,再调用加法程序。但是如果使用乘/累加程序函数,则由于省去了内务开销而更有效率。乘/累加算法可以按以下的方式实现:先求第一组两个操作数的乘积,并对此积进行规格化;取第二组操作数,求乘积,再对其进行规格化;将求得的积,和累加的和进行比较,对其中的积,或累加的和进行移位,使小数点对齐;将这个乘积,和累加的和相加,并对求得的结果进行规格化;重复进行第2到第4过程,一直到将全部操作数都进行完毕为止。 双倍精度,定点表示方法 对于许多应用场合,16-bit定点数据的精度显得有些不够;而因此就采用浮点仿真运算则又感觉到计算量太大。在这种情况下,如果采用扩展精度的定点仿真运算则能满足系统的要求。使用高速定点DSP可以保证显著地节省所需要进行的处理过程。扩展精度的数值,可以使用

文档评论(0)

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

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

1亿VIP精品文档

相关文档