EDN China > 技术文章 > 微处理器与DSP > 多媒体处理器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

C6000软件优化经验总结(4)

来源:无忧电子开发网?? 2006年07月06日 ?? 收藏0

?????? 十一、copy程序的优化

????????1、源代码:

??? Word16 i;

??? for (i = 0; i < L; i++)

??? {

??????? y[i] = x[i];

??? }

????????2、改编代码:

(1)要求数组长度能被2整除

??? Word32 i;

??? Word32?? temp;

??? int *p1 = (int *)&x[0];

???

int *q1 = (int *)&y[0];

??? for (i = 0; i < L/2; i++)

??? {

??????? temp = *p1++;

??????? *q1++ = temp;

??? }

(2)要求数组长度能被4整除

??? Word32 i;

??? Word32?? temp1, temp2;

??? Word32? *pin1, *pin2, *pout1, *pout2;

??? pin1 = (Word32 *)&x[0];

??? pin2 = (Word32 *)&x[2];

??? pout1= (Word32 *)&y[0];

??? pout2= (Word32 *)&y[2];

??? for (i = 0; i < L/4; i++)

??? {

??????? temp1 = *pin1;

??????? temp2 = *pin2;

??????? pin1+=2;

??????? pin2+=2;

??????? *pout1= temp1;

??????? *pout2= temp2;

??????? pout1+=2;

??????? pout2+=2;

??? }

?????? 3、优化方法说明:

?????? 把一次循环拷贝一个word16的数改为一次循环拷贝2个word16或4个word16的数。

?????? 4、技巧:

?????? 充分利用c6xx一次读取32位数的特性,并利用一个指令周期能读取两个数据的特点。


上一页1234567下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

软件优化? C6000? 总结?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈