资料介绍
1 DSP系统的软件优化流程
DSP系统的软件优化流程如图1所示。整个工作流程分为3个阶段:
![TMS320C6000系列DSP的软件优化](/uploads/allimg/171024/2362486-1G024150603596.png)
第1阶段,直接根据需要用高级C语言实现DSP功能,测试代码的正确性。然后,移植到C6X平台,利用C6X开发环境Profile测试程序的运行时间。若不满足要求,则进入下一阶段。
第2阶段,利用C6X提供的优化方式和其他各种优化技巧,如使用不同的编译器选项使能软件流水,循环展开,字存取代替半字存取等,优化C语言代码。如果还不能满足要求,则进入第3阶段。
第3阶段,将C语言代码中耗时最长的部分抽取出来,用线性汇编语言重写,用汇编优化器进行优化。使用profile确定这段代码是否需要进一步优化。
2 优化过程
首先,用C语言编写程序,并通过编译验证其正确性。然后,使用内联函数和合适的优化选项进行优化,并通过CCS中的profiler确定是否有函数需要被进一步优化,使用线性汇编语言重写需要被优化的函数。最后,使用汇编优化编程技巧和汇编优化器优化汇编代码。
2.1 编译器
当优化器被激活时,将完成图2所示的过程。C/C++语言源代码首先通过一个完成预处理的解析器(Parser),生成一个中间文件(.if)作为优化器(Optimizer)的输入。优化器生成一个优化文件(.opt),这个文件作为完成进一步优化的代码生成器(Code generator)的输入,最终生成汇编文件(.asm)。当选择编译选项时,-o2和-o3将尽可能地优化软件。
![TMS320C6000系列DSP的软件优化](/uploads/allimg/171024/2362486-1G024150612531.png)
2.2 编译器内联函数
TMS320C6X提供了很多内联函数,它们直接映射为内嵌C6X汇编指令的特殊函数,这样可迅速优化C语言代码。C编译器以内联函数的形式支持所有C语言代码不易表达的指令。内联函数用下划线“_”开头,如例2,使用时如同调用普通函数一样。下面结合实例,研究一下完成200点点积经过上述各种优化技术优化后的代码效率。完成200点的点积运算C语言代码程序dotp.c如下:
![TMS320C6000系列DSP的软件优化](/uploads/allimg/171024/2362486-1G024150620500.png)
3 线性汇编代码的优化
优化线性汇编代码,首先是尽可能地使指令并行,使得同一时间内多个功能单元同时被使用,然后是调整代码顺序,缩减等待时延(NOPS),如例5。接下来使用字访问short型数据,如例6,最后使用软件流水技术。当进行实际操作时,并不是要按顺序地完成上面的每一步。只要达到要求,就可以结束。
DSP系统的软件优化流程如图1所示。整个工作流程分为3个阶段:
![TMS320C6000系列DSP的软件优化](/uploads/allimg/171024/2362486-1G024150603596.png)
第1阶段,直接根据需要用高级C语言实现DSP功能,测试代码的正确性。然后,移植到C6X平台,利用C6X开发环境Profile测试程序的运行时间。若不满足要求,则进入下一阶段。
第2阶段,利用C6X提供的优化方式和其他各种优化技巧,如使用不同的编译器选项使能软件流水,循环展开,字存取代替半字存取等,优化C语言代码。如果还不能满足要求,则进入第3阶段。
第3阶段,将C语言代码中耗时最长的部分抽取出来,用线性汇编语言重写,用汇编优化器进行优化。使用profile确定这段代码是否需要进一步优化。
2 优化过程
首先,用C语言编写程序,并通过编译验证其正确性。然后,使用内联函数和合适的优化选项进行优化,并通过CCS中的profiler确定是否有函数需要被进一步优化,使用线性汇编语言重写需要被优化的函数。最后,使用汇编优化编程技巧和汇编优化器优化汇编代码。
2.1 编译器
当优化器被激活时,将完成图2所示的过程。C/C++语言源代码首先通过一个完成预处理的解析器(Parser),生成一个中间文件(.if)作为优化器(Optimizer)的输入。优化器生成一个优化文件(.opt),这个文件作为完成进一步优化的代码生成器(Code generator)的输入,最终生成汇编文件(.asm)。当选择编译选项时,-o2和-o3将尽可能地优化软件。
![TMS320C6000系列DSP的软件优化](/uploads/allimg/171024/2362486-1G024150612531.png)
2.2 编译器内联函数
TMS320C6X提供了很多内联函数,它们直接映射为内嵌C6X汇编指令的特殊函数,这样可迅速优化C语言代码。C编译器以内联函数的形式支持所有C语言代码不易表达的指令。内联函数用下划线“_”开头,如例2,使用时如同调用普通函数一样。下面结合实例,研究一下完成200点点积经过上述各种优化技术优化后的代码效率。完成200点的点积运算C语言代码程序dotp.c如下:
![TMS320C6000系列DSP的软件优化](/uploads/allimg/171024/2362486-1G024150620500.png)
3 线性汇编代码的优化
优化线性汇编代码,首先是尽可能地使指令并行,使得同一时间内多个功能单元同时被使用,然后是调整代码顺序,缩减等待时延(NOPS),如例5。接下来使用字访问short型数据,如例6,最后使用软件流水技术。当进行实际操作时,并不是要按顺序地完成上面的每一步。只要达到要求,就可以结束。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- TMS320C6000 DSP EMAC/MDIO模块参考指南
- TMS320C6000 DSP关断逻辑和模式参考指南
- TMS320C6000 DSP的复位电路
- TMS320C6000 EMIF到TMS320C6000主机端口接口
- 关于TMS320C6000 DSP的复位电路 24次下载
- TMS320C6000 DSP 优化应用报告 4次下载
- TMS320C6000系列DSP优化介绍 6次下载
- TMS320C64x+ DSP 大字节DSP库 程序员参考 7次下载
- 基于TMS320C6000的优化策略分享 2次下载
- TMS320C6000系列DSP主机引导方式的实现 16次下载
- 基于TMS320C6000系列DSP的Flash编程方法 7次下载
- TMs320C6000系列DSPs原理与应用 48次下载
- TMS320C6000 系列DSP 的C 代码优化方法
- TMS320C6000系列DSP的C代码优化方法
- TMS320C6000资料
- 基于TMS320C6203 DSP芯片实现G.729ab声码器的应用方案 3114次阅读
- 基于TMS320DM642多媒体芯片实现视频监控系统的应用方案 3432次阅读
- 基于TMS320C6000高性能DSP实现I2C总线接口的软硬件设计 1718次阅读
- 通过采用PCI9052接口实现TMS320C6713芯片与PC机间的高速数据传输 3689次阅读
- 基于TI TMS320C6748定点/浮点DSP C674x处理器 3209次阅读
- tms320c6000系列dsp的flash启动设计 5906次阅读
- TMS320C6748和TMS320C6747芯片对比 1.7w次阅读
- dsp tms320c6000基本作用的认识 9889次阅读
- 浅谈TMS320C6000系列中断设置问题 8420次阅读
- DSP320C6000的指令列表汇集 1.1w次阅读
- tms320c6000系列dsp编程工具与指南 浅谈dsp编程 5643次阅读
- TMS320C6000扩展总线与MPC860的HPI接口设计 2097次阅读
- 基于DSP TMS320C6416的数字下变频技术 2881次阅读
- 基于DSP芯片TMS320LF2407的天然气发动机控制系统 1570次阅读
- TMS320C54xx与TLV320AIC24型编解码器接口 1844次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1489次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 91次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 9次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30319次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论