积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> DSP >> 应用论文
  相关分类: 应用论文 | TI DSP | 新产品 | 算法 | 下载 | DSP代码示例 | ADI DSP | freescale DSP |
C代码在TMS320C54X上的手工汇编优化
 
作者:钱俊 王芙蓉   来源:今日电子    点击数:373   更新时间:2008-6-5
您可以添加到网摘 让更多人关注此文章:

    

1 引言

       随着DSP技术的不断发展和完善,数字信号处理的应用范围越来越广泛。工控、计算机、通信和消费电子产品中,都会找到它的影子。近年来,随着多媒体通信的蓬勃发展,DSP也越来越多的应用在多媒体通信中,而在多媒体通信中DSP多用于语音压缩和图像处理等方面,而这些都需要巨大的计算量,在实时通信中一些低速DSP难以满足要求,而使用高速DSP会大大提高成本,所以对代码进行优化是现在DSP开发中常用的一种方法。由于DSP的特殊结构,编译器的编译效率都比较低,难以将DSP计算能力全部发挥出来,所以就必须根据DSP的特殊结构和指令集代码进行手工的汇编优化。

       本文结合笔者在TI公司的TMS320VC5402 DSP上的对G.729算法的优化经验,提出一些优化的方法和建议,而这些方法也适用其他54系列的DSP。 

       
2 芯片介绍

       TMS320C54X是TI公司于1996年推出的新一代定点数字处理器,它具有功耗小、高度并行等优点,可以满足电信等众多领域的实时处理要求。54系列有很多不同型号的芯片,它们的结构都是一样的,只是在接口和存储器空间上有些不同。在54系列众多DSP芯片中 TMS320VC5402是使用最广泛的一种芯片,接下来将以TMS320VC5402为例介绍54系列DSP的性能特点:

 ● 运算速度最高达100MIPS
● 具有先进的多总线结构,三条16 位数据存储器总线和一条程序存储器总线
● 40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器
● 一个17bit×17bit乘法器和40位专用加法器,允许16位带/不带符号乘法
● 8个辅助寄存器和一个软件栈
● 内部采用改进的哈佛结构,程序空间和数据空间分开,允许同时取指令和取操作数,并且允许在程序和数据空间相互传送数据
● 最大64K×16bit外部数据空间,最大1M×16bit外部程序空间,4K×16bit片内ROM,16K×16bit片内RAM
● 内置可编程等待状态发生器、锁相环(PLL)时钟发生器、两个多通道缓冲串口、一个8位并行与外部处理器通信的HPI口、两个16位定时器以及6通道DMA控制器
● 支持单指令循环和块循环,采用六级流水线,将一条指令执行所需要的取指、译码、取操作数并执行等几个步骤同时完成,是指令周期降到最小适合算法的优化

       3 代码优化

       对C代码进行手工汇编优化有三种方法:1.对照C代码写出汇编代码,这种方法优化的效率很高,但是开发难度很大特别是当代码量很大,结构很复杂时优化很容易出错;2.先用编译器产生汇编代码,然后改写汇编代码,这种方法优化的效率较低,因为框架被限定了,但是开发难度降低了,不容易出错。
由于现在常用的一些音频、图像处理算法都是结构很复杂的程序,所以建议使用第二种优化方法。

       3.1产生汇编代码

       TI公司为DSP开发者提供一套编译开发平台叫CCS (Code Composer Studio),该工具提供了编译器可以将C语言的程序编译为DSP的汇编语言程序,然后链接生成可以在DSP上执行的COFF格式的out文件。 

产生汇编代码
           
       而CCS自身也提供优化器可对C代码进行优化,并产生汇编语言程序,具体过程如图1所示。

       CCS提供了4级的文件优化方案,分别是O0、O1、O2、O3,以下具体说明

       (1) O0 寄存器级别

● 执行控制流程简化
● 用寄存器分配变量
● 执行交替循环
● 排除未用的代码
● 简化公式和表述
● 扩大对内连函数的调用 

       (2) O1 局部级别

      执行所有O0级别的优化,并且:

● 执行局部常量的传播
● 排除未用的赋值
● 排除局部共用表达式

       (3) O2 函数级别

       执行所有O1级别的优化,并且:

● 执行循环优化
● 排除全局共用子表达式
● 排除全局不用的赋值
● 执行打开循环

       (4) O3 文件级别

       执行所有O1级别的优化,并且:

● 排除未被调用的函数
● 简化返回值没被使用的函数
● 让小函数变成内联调用
● 保存函数说明,以便主函数被优化时知道被调用 函数的属性
● 识别文件级别的变量的特性

       在使用O3级别的优化时,还可以使用别的选项执行更细致的优化

● OLN 得到标准库函数的文件
● ONN 创造优化信息文件
● PM 执行程序级别优化,编译多个源文件

 
       而我们在做优化时,选的是O2级别的优化,因为使用O2级别优化后产生的汇编文件带有比较多的注释信息,比较容易看懂程序,建议对程序不太熟和对汇编语言不太熟练的人使用。


[1] [2]  下一页



相关文章
· DSP与PC机的无线交换调制模块设计[563]
· ARM CPU S3C44B0X与C54X DSP的接口设计[157]
· 利用双处理器延长电池使用寿命[272]
· 基于C语言设置TMS320 DSP中断向量表[196]
· 用FPGA构成液晶显示控制器[221]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
七零一所发布恶劣环境角度传感器
德州仪器推出四款最新配电开关
Altium设定全新三维PCB设计性
飞思卡尔进军上网本市场 推
08年11月实际芯片销售额创新低
节能环保备受关注 半导体照
半导体产业最终将存活并将再次蓬勃发展
电子元件业御寒过冬 静待行
台湾当局拨款60亿美元援助DRAM厂
Vishay Silico
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[推荐]ARM开发板,非常适合...
[推荐]DSP2812开发板+...
[推荐]DSP2812开发板+...
超低价专业PCB/电路板打样 ...
超低价专业PCB/电路板打样 ...
PCB/电路板打样...
[原创]北京金鼎旺提供 23...
[原创]北京金鼎旺提供:RS4...
[原创]北京金鼎旺提供:Mod...
北京金鼎旺:在某电线电缆厂交联...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网