C6000的code generation工具会在循环代码中尽可能地利用硬件资源,以实现性能最优化。每个开发阶段的工作:
C6000定义的各种数据类型长度:
注意:
- 不要认为int和long类型的数据长度是一样的;
- 尽量使用short类型进行定点乘法运算,C6000对16bit的性能最高,1个cycle可执行一条short*short,而一条int*int需要5个cycle;
- 使用int或者unsigned int变量作为循环计数变量的类型,避免不必要的符号扩展指令;
- 在浮点DSP上使用浮点指令需要打开 -mv6700 (C6700DSP),以使得代码生成器利用硬件浮点资源,否则使用定点资源;
- C6400 DSP, C64+ DSP可使用 -mv6400 / -mv6400plus 让代码生成器使用额外的硬件和指令资源;