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

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:dygaalove4390
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
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的资源利用率和实时能力。
其他文献
电力系统中的直流系统担负着为各种保护装置、自动装置、测量及计量等装置供电的任务,以某电厂两路直流共用一个节点造成的机组全停事故,分析了其危害。
欧洲李(Prunus domestica)是重要的野生果树资源,其野生群落在我国仅见于新疆伊犁地区天山野果林区。采用群落取样方法对我国境内已知的唯一天然分布欧洲李群落物种组成、物
应用非平衡闭合场磁控溅射技术,在试样及滚动轴承零件接触表面制备出C掺杂CrN涂层,对C掺杂CrN涂层的摩擦学性能进行了测试和分析,对该涂层轴承的摩擦特性进行试验和对比分析
现如今,我国社会的经济得到了良好的发展,这也让人们的生活质量不断的提升,他们已经不再满足于物质生活的需要,其审美观以及艺术素养也得到了很大的提升。在新时代下,必须要
<正>一、教学目标1.使学生了解刷牙漱口的好处,掌握刷牙的正确方法。2.教育学生从小养成刷牙、漱口的良好习惯,保护口腔清洁和牙齿健康。二、教学重点、难点掌握刷牙的正确方
会议
本文通过对峨边县刺黑竹生态学特性及价值、资源状况等进行调查分析,阐述了刺黑竹种植技术要点。
在细胞和有机体的行使正常生理功能时,对于酶的活性的精准调控十分重要。利用光来调控蛋白质的行为,是一种从时间和空间上调控酶催化产物的生产和降解的重要方法。体外筛选得
随着各领域基础科学的飞速发展和信息采集应用领域的不断扩大,人们不再满足于通过二维数据来表达真实世界的三维信息。而且,二维空间数据不能真实还原三维空间信息,其中大量