DSP原理及应用:TMS320F28335架构、功能模块及程序设计
上QQ阅读APP看书,第一时间看更新

1.5 定点DSP与浮点DSP比较

(1)定点DSP处理器具有速度快、功耗低、价格便宜的特点。浮点DSP处理器计算精确,动态范围大,速度快,易于编程,功耗大,价格高。

(2)动态范围的区别。定点数表示的数据动态范围不够大,因此,在对定点数进行DSP定点运算时就必须考虑定点数运算结果“溢出”问题。为了防止溢出,要么不断进行右移重定标,要么做截尾。前者耗费大量时间和空间,后者则带来精度的损失;相反,浮点数表示的数据动态范围非常大,在对浮点数进行DSP浮点运算时,不必考虑浮点数运算结果“溢出”问题,不仅减少了移位重新定标和溢出检查,而且运算没有精度损失。

(3)硬件上的区别。浮点DSP的地址总线比定点的宽,因而有较大的寻址空间。定点DSP的地址宽度一般为14位或16位,而浮点DSP可达24位或32位,这为大数据量的存储和处理提供了方便。浮点DSP的指令字为32位,而定点DSP的指令字为16位或24位。浮点DSP在单周期内可以完成更多的任务,浮点DSP的结构特点是一般都设计有DMA控制器或其他并行处理部件,在执行指令的同时可以完成数据传输工作。从内部结构上看,浮点DSP比定点DSP复杂。

(4)软件上的区别。主要是浮点DSP编程的特点以及注意事项,浮点数不能表示0,只能用很小的数去表示0。尽管C语言中有0的表示,但永远不要写这样的代码(x==0),而应该写成(fabs(x)<TINY),其中TINY定义为一个很小的正值,也就是处理器的浮点格式舍入误差。

(5)定点与浮点DSP处理器的选择。浮点DSP的长指令字以及宽的地址总线造成较大的功耗,而定点DSP的结构较为简单,典型的16位总线允许其装入很小的封装中,消耗更小的功率。尽管浮点DSP一般都有省电模式,但其功耗仍然比定点DSP高。

在移动电视和移动终端中,完全没有必要进行浮点数处理,用定点DSP运算就足够了,因为这些算法通常只精确到比特,如MPEG-2、MPEG-4、JPEG-2000和H.264等。但是,需要执行FFT等算法的电子产品,因为算法常系数均是小于1的数,用浮点数表示和运算能提高处理精度,应考虑选用浮点DSP。