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