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。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 多线程与多进程

    多线程与多进程

    2021年5月24日
    109
  • 迭代器Python_python迭代器使用

    迭代器Python_python迭代器使用迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。可迭代对象我们已经知道可以对l

    2022年7月31日
    9
  • iptables命令 高级网络

    iptables命令 高级网络

    2021年10月14日
    45
  • cdr9导出对话框遮挡怎么办_sldprt文件ug怎么打开

    cdr9导出对话框遮挡怎么办_sldprt文件ug怎么打开说明因为之前旧项目采用的是MFC+BCG界面库的方法实现的。维护旧项目过程中,遇到选择文件对话框没有从默认位置选择的问题,学习和思考后,问题得到解决,特此记录。原来的BCG中配置选择的方法是这样的: lpszDefExt=_T(“DAT”); lpszFilter=_T(“文件|*.dat|\ 文件|*.bln|\ 文件|*.xyz|\ 文件|*.txt||”); m_editDataName.EnableFileBrowseButton(

    2022年10月8日
    2
  • 编写测试用例及一个例子

    编写测试用例及一个例子一.概念1.什么是测试用例?在测试过程中很重要的一类文档,它是测试工作的核心、是一组在测试时输入输出的标准、是软件需求的具体对照。2.测试用例的作用:检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路3.测试用例所包含的内容:用例编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。4.测试用例的编写流…

    2022年7月17日
    10
  • 国外android逆向的论坛,初探android逆向

    国外android逆向的论坛,初探android逆向好久没有更新博客了。一直在想要更新点什么样子的干货。最近看了一点有关于逆向的文章,感觉还不错。对于“安卓开发没人要了”这种话,我也很无奈,最近的RN,包括kotlin的出现,还有Flutter框架的出现。这些东西的出现感觉都像是意味着,往后的移动端开发不需要双倍的人员了。最近突然对逆向萌生了一点点兴趣,关于逆向的东西依旧有很多,很多apk对进行加固,加壳等等,这里的入门仅仅是对于没有加密等操作的…

    2025年6月3日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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