背景:
我们知道Blackfin系列相当于16位的定点DSP。而定点DSP无法直接进行浮点运算(
这种说法是否正确?)
网上的资料的说法是:我们用C语言定义float变量进行运算时,编译器会把这些浮点运算编译成定点数,完成运算,这样会大大的加大运算周期。所以在定点DSP上进行浮点运算的正确的办法是,将浮点数进行整数的小数定标,化为frac16变量,这样由于硬件支持定点小数运算,运算周期很短。
下面是问题:
1,用C语言在定点DSP上定义float变量进行计算,实际是如何处理的,是编译器自动编译成定点小数进行计算,还是其他方式?
自己做的验证,如附件图片所示,我在程序中进行了浮点运算,实际debug中的浮点运算对应的汇编只是一个store指令,就完成了浮点运算(经过那个指令后,局部变量获得了运算结果)。也就是说实际并没有所谓的大量运算周期什么的,是我的验证不科学还是什么,实际的定点DSP进行float运算到底是怎样处理的?
2,运用定点DSP进行小数的算法分析一般都要进行小数点的定标Q吗,运用的实际例子又哪些呢?
初次接触DSP,望各位前辈多多指教,不胜感激!!!