几个简单DSP6000的优化技巧
1. 不要假设DSP6000上的int类型与long长度相同,在DSP6000上,int类型占32bits,而long类型占40bits,另有一种long long类型为64bit长度
2. 定点乘法最好使用short类型,这样只需要1个时钟周期,使用int类型需要5个时钟周期
3. 使用int或unsigned int作为循环计数变量的类型,这样可以避免无谓的符号扩展指令
4. 在C6700上使用浮点指优化mv6700编译优化选项
5. 在DSP6000上,各种存储类型及其长度分别是:
short 16 bits -32768~32767
int 32 bits −2147483648~2147483647
long 40 bits −549755813888~549755813887
指针 40 bits 0000:0000h~FFFF:FFFFh
long long 64 bits -9223372036854775808~9223372036854775807
float 32 bits 1.17549435e−38~3.40282347e+38
double 64 bits 2.2250738585072014e−308~1.7976931348623157e+308
注意:尽管float与int的单位存储长度一样,但由于内存存储的数据表达方式不同,float的存储数据范围要比int类型大得多 |