定点DSP比如C6000 系列 ,对于浮点数或者含有浮点运算的程序来说,处理过程是如何的?与处理定点数相比,会多出哪些处理过程?
为什么浮点运算在定点DSP上面跑会比较慢?
Shine:
看一下下面的white paper, 定点和浮点DSP的比较.http://www.ti.com/lit/wp/spry061/spry061.pdf定点DSP上执行浮点运算, 基本上先要将小数转成整数, 做好运算后, 再转成小数, 举个最简单的例子如0.1×0.2在定点上是这样实现的
(0.1×10)x(0.2×10)=2
2/100=0.02
这些都是通过软件实现, 所以在定点DSP上面跑会比较慢, 而且精度也没浮点DSP高.
TI有IQmath库, 你可以参考一下.http://www.ti.com/tool/sprc542
steve_xiaop:
回复 Shine:
Shine Zhang
看一下下面的white paper, 定点和浮点DSP的比较.http://www.ti.com/lit/wp/spry061/spry061.pdf定点DSP上执行浮点运算, 基本上先要将小数转成整数, 做好运算后, 再转成小数, 举个最简单的例子如0.1×0.2在定点上是这样实现的
(0.1×10)x(0.2×10)=2
2/100=0.02
这些都是通过软件实现, 所以在定点DSP上面跑会比较慢, 而且精度也没浮点DSP高.
谢谢,你的意思是说,如果算法自己没有定点化的话,算法在执行时候,自己会将浮点转化为定点,然后运算,最后在转化为浮点?这个感觉有点不现实吧?
如果是在编译时候转化定点,那就和执行没关系了,求解释?
Shine:
回复 steve_xiaop:
DSP当然不会自己转了, 我说的这些都是通过你自己写代码实现.