DSP C6000代码优化

本文介绍了C6000 DSP的代码优化,包括手动汇编优化和项目经验。手动汇编优化涉及软件流水,权衡执行时间和代码空间。项目经验中提到了使用DEBUG TOOL评估代码运行时间,利用内联指令加速运算,循环拆分以及工程优化,如O(2)和O(3)优化等级的选择。通过这些方法,成功将代码运行时间从1500us降低到500us。

忙完项目的事情,对DSP的学习又近了一步。
在此介绍一下C6000代码优化的问题:
1.手动汇编优化
软件流水
1.1.更短的执行时间
1.2.更小的代码空间
两部分需要权衡
线性汇编比汇编更加简单
编译器把高级语言编译成汇编,汇编器是吧汇编编译成.obj的二进制代码,连接器把所有文件连接到一起生成可执行文件
在这里插入图片描述
1.31.先指令 后-O(n)选项,还不行就线性汇编,很少到手动汇编
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2. 项目经验
首先得评估 代码运行时间,这个在DSP DEBUG -TOOL -clock,利用该工具可以很好的评估到代码的运行时间,双击
在这里插入图片描述
即可重新计数,非常方便

其次考虑DSP的内联指令,在DSP的运算中,复数的加减乘除采用内联指令来做能够大大减少运行时间(感兴趣的我后需上传相关资料),其次就是循环拆分(这里有个C语言优化代码的资料(感兴趣的我后需上传相关资料)),由于本项目采用的是多核处理,这里并没有采用openMP多核架构,建议多核开发多采用openMP多核架构,这里采用标志位开发多核DSP,人工需要对算法进行拆分到多个核心进行运算,最后常见就是开工程优化,优化分多个等级,o(2)和o(3)是最为常见的,在两者没有多大区别下,采用等级较低的优化级别,o(3)优化等级高,调试过程中出现问题难以解决。
在这里插入图片描述
项目中能够实现DSP代码从1500us的运行时间优化到500us。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值