DSP C6000代码优化

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

大家好,又见面了,我是你们的朋友全栈君。

忙完项目的事情,对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。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150759.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 2020最新-精选基础算法100题(面试必备)[通俗易懂]

    2020最新-精选基础算法100题(面试必备)[通俗易懂]0x01.概述作为一个程序员,算法能力必不可少,虽然不一定是算法工程师,但是算法还是彰显着个人的编码能力,面试中也经常会被问到,甚至会被要求临场做算法题,所以,还是好好积累吧。个人其实对算法挺有兴趣的,从3月份开始,陆陆续续刷了一些算法题,把一些有意义的记录下来了,也顺便写了一些题解,个人认为,还是挺有收获的。之前写了一篇算法文章的目录,不过后来就忘了实时去更新了,于是现在,想把之前做过的一些有意义的算法题分享出来,刚好整理了100篇比较有意义的。希望对大家有所帮助。0x02.说明关

  • AVC1与H264的差别

    AVC1与H264的差别

  • java之二维数组初始化

    java之二维数组初始化packagelibai;publicclassmeihua{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstubchara[][]=newchar[4][];//数组初始化a[0]=newchar[]{‘云’,’想’,’衣’…

  • JavaScript Array(数组)清空[通俗易懂]

    JavaScript Array(数组)清空[通俗易懂]JavaScriptArray(数组)清空可采用三种方式:假设有数组:vara=[1,2,3];1、将长度属性置0。该方式最快捷a.length=0;2、使用splice移除a.splice(0,a.length);3、新建一个数组a=[];该方法可能会导致内存泄漏,最好能显式删除对象。

  • 防抖(debounce) 和 节流(throttling)「建议收藏」

    防抖(debounce) 和 节流(throttling)「建议收藏」防抖和节流是针对响应跟不上触发频率这类问题的两种解决方案。在给DOM绑定事件时,有些事件我们是无法控制触发频率的。如鼠标移动事件onmousemove,滚动滚动条事件onscroll,窗口大小改变事件onresize,瞬间的操作都会导致这些事件会被高频触发。如果事件的回调函数较为复杂,就会导致响应跟不上触发,出现页面卡顿,假死现象。在实时检查输入时,如果我们绑定onkeyup事件发请求去…

  • mac电脑安装windows系统_windows怎么装mac系统

    mac电脑安装windows系统_windows怎么装mac系统Mac电脑安装Pycharm    Pycharm是python开发时的一款IDE(编辑器)。我们可以在Pycharm官网下载Mac最新版的Pycharm进行安装。http://www.jetbrains.com/pycharm/    激活成功教程Pycharm    下载完Pycharm后,我们需要对电脑中hosts文件进行修改。打开“访达”,按下shift+comm…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号