收藏本站
《西安电子科技大学》 2014年
收藏 | 手机打开
二维码
手机客户端打开本文

基于TMS320C6000的GCC编译器指令调度算法的设计与实现

王旭涛  
【摘要】:TI公司研发的TMS320C6000系列DSP是一款针对实时数字信号处理的DSP。此类DSP采用VLIW体系结构,每个时钟周期可以发射八条指令,对于指令级别并行处理有着很好的支持,并广泛的应用于军用和民用方面。但VLIW体系结构的DSP在指令并行的发挥方面严重依赖于编译器对于机器指令的静态调度。现有的GCC编译器是一款面向多种体系结构的通用型编译器。针对特定的C6000体系架构,GCC编译器在后端体系架构相关的优化方面存在着许多的不足之处。直接采用GCC编译器来编译生成对应的C6000可执行程序,不仅会造成C6000硬件资源的浪费,还将影响到C6000的实时响应能力。如果采用GCC编译器就需要在编译器前端的基础上,紧密结合相关C6000体系架构的特点使编译器后端针对具体的架构进行指令的调度。这样才能编译出针对于C6000VLIW体系架构的程序,保证硬件资源的利用率以及C6000的实时响应能力。论文通过深入研究GCC编译器在体系结构相关优化的技术应用,在分析GCC前端和后端现有的优化基础上,紧密结合C6000体系结构的特点,改进了 GCC编译器后端优化的指令调度技术。在原有指令调度优化算法基础之上,通过引入关键字,让编程人员标识出源程序分支结构的关键路径,并以此为依据,划分出新的调度区域。针对新的调度区域进行踪迹的划分和调度。对于分支中执行频率高的踪迹,首先忽略分支处判断的结果,优先执行此条频率高的踪迹,将执行频率高的基本块与分支前的基本块归并在一块调度。当分支判断判断执行完毕,并且结果为其它路径时,再对相应的踪迹进行相关的补偿,然后再进行相关的调度工作。论文采用这样的算法不仅扩大了调度区域,使得可并行指令发掘的范围和可能性都增大,而且超前调度了分支后最可能执行的代码。论文中针对C6000在指令调度优化过程中采用了新的区域划分和踪迹调度方法。在GCC编译器前端分析的基础上,针对GCC后端的中间语言对后端的指令调度方法进行改进。在新的调度区域内对指令进行了进一步的并行性发掘,增加了指令在VLIW体系结构上每周期的执行的数目。采用针对于划分出的区域进行踪迹调度不仅避免了由于全局性的踪迹调度引起的代码量过大在具体的嵌入式设备中难以容纳的问题,而且扩大了指令并行性发掘的区域,减少了指令分支处的延迟间隙,提高了程序中每周期指令的并行数目以及C6000的资源利用率和实时能力。
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP332;TP314

【相似文献】
中国期刊全文数据库 前10条
1 吴静;侯国照;顾国昌;;基于GCC的公共子表达式删除优化机理的研究[J];中国高新技术企业;2008年17期
2 黄春;孔凡金;;GCC中基于值剖视的代码特例化[J];计算机与数字工程;2012年02期
3 龚兵 ,杨艳红;TMS320C6000~(TM)扩展总线与MPC860微处理器的接口[J];电子技术应用;2002年02期
4 曹建民;做人·做生意·做大石油——本刊总编辑彭元正与美国GCC集团董事长孙更文谈话实录[J];石油企业管理;2002年07期
5 杨旸;顾国昌;;摆动模调度中的寄存器溢出技术及其在GCC中的实现[J];小型微型计算机系统;2007年10期
6 胡丽;;在GCC移植中如何加入新的寄存器[J];电脑知识与技术;2007年24期
7 杨灿群;王锋;彭林;杨学军;;用表驱动算法在GCC中优化实现指数函数[J];计算机工程与科学;2007年05期
8 李春江;杜云飞;倪晓强;王永文;杨灿群;;GCC后端中四路双精度短向量寄存器的实现[J];计算机科学;2012年09期
9 汪伦伟;;Gcc中的内嵌汇编语言[J];Internet信息世界;2001年04期
10 王发鸿;周会平;贾丽丽;何涛;;基于GCC的容错编译器的研究与实现[J];计算机工程与科学;2011年08期
中国重要报纸全文数据库 前3条
1 庞晓华 钱伯章;大项目带动GCC化肥产能快增[N];中国化工报;2014年
2 北京中建协认证中心副主任 董光;专业 诚信 创新——GCC发展的生命之源[N];建筑时报;2006年
3 通讯员 马杰;GCC国家钟情广东制造业[N];广东建设报;2004年
中国硕士学位论文全文数据库 前10条
1 王旭涛;基于TMS320C6000的GCC编译器指令调度算法的设计与实现[D];西安电子科技大学;2014年
2 罗旋;基于GCC的通信专用矢量处理器编译器的研究与开发[D];电子科技大学;2017年
3 龚芹;GCC4.8及以上版本ASan技术研究[D];北京邮电大学;2017年
4 曾臻;MXXXX DSP编译器关键技术设计与实现[D];国防科学技术大学;2016年
5 赵洪洲;Logo语言编译器与执行系统的设计[D];哈尔滨工程大学;2016年
6 王政操;基于JAVA的TCAM COMPLIER的设计与实现[D];大连理工大学;2017年
7 范帅;从Murphi到Ocaml语言的编译器及其在模型检测中的应用[D];北京交通大学;2017年
8 邹振威;基于GCC的细粒度的虚函数表劫持攻击防御方法[D];南京大学;2017年
9 杨川龙;基于GCC的嵌入式系统编译器的研究与开发[D];哈尔滨工程大学;2006年
10 沙岩;基于MIPS指令集的编译系统的设计与实现[D];中国石油大学(华东);2015年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026