欢迎来到天天文库
浏览记录
ID:56441211
大小:192.38 KB
页数:6页
时间:2020-06-24
《定点与浮点运算的比较.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、定点与浮点运算DSP的比较定点运算DSP在应用中已取得了极大的成功,而且仍然是DSP应用的主体。然而,随着对DSP处理速度与精度、存储器容量、编程的灵活性和方便性要求的不断提高、自80年代中后期以来,各DSP生产厂家陆续推出了各自的32bit浮点运算DSP。和定点运算DSP相比,浮点运算DSP具有许多优越性:浮点运算DSP比定点运算DSP的动态范围要大很多。定点DSP的字长每增加1bit,动态范围扩大6dB。16bit字长的动态范围为96dB。程序员必须时刻关注溢出的发生。例如,在作图像处理时,图像作旋转、
2、移动等,就很容易产生溢出。这时,要么不断地移位定标,要么作截尾。前者要耗费大量的程序空间和执行时间,后者则很快带来图像质量的劣化。总之,是使整个系统的性能下降。在处理低信噪比信号的场合,例如进行语音识别、雷达和声纳信号处理时,也会发生类似的问题。而32bit浮点运算DSP的动态范围可以作到1536dB,这不仅大大扩大了动态范围,提高了运算精度,还大大节省了运算时间和存储空间,因为大大减少了定标,移位和溢出检查。由于浮点DSP的浮点运算用硬件来实现,可以在单周期内完成,因而其处理速度大大高于定点DSP。这一优
3、点在实现高精度复杂算法时尤为突出,为复杂算法的实时处理提供了保证。32bit浮点DSP的总线宽度较定点DSP宽得多,因而寻址空间也要大得多。这一方面为大型复杂算法提供了可能、因为省的DSP目标子程序已使用到几十MB存储器或更多;另一方面也为高级语言编译器、DSP操作系统等高级工具软件的应用提供了条件。DSP的进一步发展,必然是多处理器的应用。新型的浮点DSP已开始在通信口的设置和强化、资源共享等方面有所响应。一:浮点与定点概述-----------------------------------------
4、---------------声明:此文为原创,欢迎转载,转载请保留如下信息作者:afreez北京-中关村联系方式:afreez.gan@gmail.com(欢迎与作者交流)初次发布时间:2006-12-09初次发布在:http://blog.csdn.net/ganxingming/不经本人同意,不得用语商业或赢利性质目的,否则,作者有权追究相关责任!---------------------------------------------------------1.1相关定义说明定点数:通俗的说,小数点
5、固定的数。以人民币为例,我们日常经常说到的如123.45¥,789.34¥等等,默认的情况下,小数点后面有两位小数,即角,分。如果小数点在最高有效位的前面,则这样的数称为纯小数的定点数,如0.12345,0.78934等。如果小数点在最低有效位的后面,则这样的数称为纯整数的定点数,如12345,78934等。浮点数:一般说来,小数点不固定的数。比较容易的理解方式是,考虑以下我们日常见到的科学记数法,拿我们上面的数字举例,如123.45,可以写成以下几种形式:112.345x1021.2345x1030.12
6、345x10……为了表示一个数,小数点的位置可以变化,即小数点不固定。1.2定点数与浮点数的对比为了简单的把问题描述清楚,这里都是十进制数字举例,详细的分析,大家可以在后面的文章中看到。(1)表示的精度与范围不同例如,我们用4个十进制数来表达一个数字。对于定点数(这里以定点整数为例),我们表示区间[0000,9999]中的任何一个数字,但是如果我们要想表示类似1234.3的数值就无0能为力了,因为此时的表示精度为1/10=1;如果采用浮点数来表示(以归整的科学记数法,即小数点前有一位有效位,为例),则可以表
7、示[0.000,9.999]之间的任何一个数字,表示的3精度为1/10=0.001,精度比上一种方式提高了很多,但是表示的范围却小了很多。也就是说,一般的,定点数表示的精度较低,但表示的数值范围较大;而浮点数恰恰相反。(2)计算机中运算的效率不同一般说来,定点数的运算在计算机中实现起来比较简单,效率较高;而浮点数的运算在计算机中实现起来比较复杂,效率相对较低。(3)硬件依赖性一般说来,只要有硬件提供运算部件,就会提供定点数运算的支持(不知道说的确切否,没有听说过不支持定点数运算的硬件),但不一定支持浮点数运
8、算,如有的很多嵌入式开发板就不提供浮点运算的支持。1.3与DSP的关系一般说来,DSP处理器可以分为两大类:定点与浮点。两者相比较而言,定点DSP处理器速度快,功耗低,价格也便宜;而浮点DSP则计算精度高,动态范围大。二:浮点数的存储格式2.1IEEEfloatingpointstandard上面我们说了,浮点数的小数点是不固定的,如果每个人都按照自己的爱好存储在电脑里,那不就乱套了吗?那么怎么在计算机中存储这种
此文档下载收益归作者所有