首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > DSP应用中编译选项的智能选择

DSP应用中编译选项的智能选择

资料介绍
DSP应用中编译选项的智能选择
www.EETchina.com

DSP 应用中编译选项的智能选择
作者:CEVA 公司编译器项目经理 Eran Balaish


摘要
随着 DSP 处理器的能力越来越强大,可采用 C 编译器的代码部分在不断增加。不
过,没有编程人员的协助,编译器是无法生成最优化的代码。为了最大地提高性
能,编程人员必须利用各种编译选项功能来调节编译器。

不幸的是,在 DSP 应用里,没有充分利用编译器调节能力的现象相当普遍。整个
应用过程中,往往只利用一组相同的编译选项来进行编译。这种方法忽略了每一项
功能的特殊需求。

编译选项的智能选择可以大幅提高性能,例如可以大大减少代码量。在评估产品成
本时,代码量通常是主要考虑因素,因为这对所需存储量有直接的影响。本文将介
绍如何减少代码的使用量以及其它重要资源的消耗量。


在指令周期数和代码量之间进行权衡,满足功能级的特殊要求

为了更好地了解如何利用编译选项的智能选择来节省代码量,必须熟悉指令周期数
与代码量之间的权衡取舍,这方面的实例是循环展开 (loop-unrolling) 和软件流水
(SWP) 的常用编译器优化技术。

这种技术通过循环体的复制来进行循环展开,利用从循环语句内部到循环语句外部
的某些指令的拷贝来实现 SWP。当使用带有深度管线的多事件超长指令字 (VLIW)
处理器时,该技术显得非常有用。这时,SWP 可中断循环语句内部的许多依赖关
系,而循环展开能够大幅提高指令间并行性 (ILP)。

这里给出了简单的乘法与累加 (mac) 循环语句,以阐释循环展开和 SWP。

for (i = 0; i < 960; i++)
标签:TIDSP编译选项
DSP应用中编译选项的智能选择
本地下载

评论