定点DSP比如C6000 系列 ,对于浮点数或者含有浮点运算的程序来说,处理过程是如何的?与处理定点数相比,会多出哪些处理过程?
为什么浮点运算在定点DSP上面跑会比较慢?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
定点DSP比如C6000 系列 ,对于浮点数或者含有浮点运算的程序来说,处理过程是如何的?与处理定点数相比,会多出哪些处理过程?
为什么浮点运算在定点DSP上面跑会比较慢?
看一下下面的white paper, 定点和浮点DSP的比较.
http://www.ti.com/lit/wp/spry061/spry061.pdf
定点DSP上执行浮点运算, 基本上先要将小数转成整数, 做好运算后, 再转成小数, 举个最简单的例子如0.1x0.2在定点上是这样实现的
(0.1x10)x(0.2x10)=2
2/100=0.02
这些都是通过软件实现, 所以在定点DSP上面跑会比较慢, 而且精度也没浮点DSP高.
TI有IQmath库, 你可以参考一下.
http://www.ti.com/tool/sprc542
Shine Zhang 说:看一下下面的white paper, 定点和浮点DSP的比较.
http://www.ti.com/lit/wp/spry061/spry061.pdf
定点DSP上执行浮点运算, 基本上先要将小数转成整数, 做好运算后, 再转成小数, 举个最简单的例子如0.1x0.2在定点上是这样实现的(0.1x10)x(0.2x10)=2
2/100=0.02
这些都是通过软件实现, 所以在定点DSP上面跑会比较慢, 而且精度也没浮点DSP高.
谢谢,你的意思是说,如果算法自己没有定点化的话,算法在执行时候,自己会将浮点转化为定点,然后运算,最后在转化为浮点?这个感觉有点不现实吧?
如果是在编译时候转化定点,那就和执行没关系了,求解释?