首页> 中文学位 >龙芯Ⅰ编译器中的指令调度相关优化
【6h】

龙芯Ⅰ编译器中的指令调度相关优化

代理获取

目录

文摘

英文文摘

声明和关于论文使用授权的说明

第一章引言

1.1龙芯Ⅰ编译器框架简介

1.2机器模型

1.3静态指令调度

1.4全局延迟槽调度

1.5论文的组织

第二章机器模型

2.1现有几种机器模型简介

2.1.1GCC的机器模型

2.1.2Pro64的机器模型

2.2龙芯Ⅰ编译器机器模型

2.2.1龙芯Ⅰ体系结构简介

2.2.2ORC编译器机器模型简介

2.2.3机器模型的移植

2.3结论与展望

第三章静态指令调度

3.1背景简介

3.2超标量机的指令调度

3.2.1龙芯Ⅰ处理器中的动态调度介绍

3.2.2龙芯Ⅰ中静态指令调度的重要性

3.3指令调度实现

3.3.1region的构造

3.3.2调度区域当中基本块顺序的确定

3.3.3SrcBB的选取

3.3.4候选指令的选择

3.3.5选择最佳候选指令

3.3.6资源相关检测和被发射指令的确定

3.3.7局部指令调度

3.4实验结果和分析

3.5展望

第四章全局延迟槽调度

4.1背景介绍

4.2延迟槽调度:问题的提出和策略的选择

4.2.1延迟槽调度的范围

4.2.2延迟槽调度阶段的选择。

4.2.3被填充指令相关问题的分析和改进

4.3全局延迟槽调度算法

4.4实验结果和结论

4.5结论及未来工作展望

致谢

参考文献

作者简介

发表文章目录

展开▼

摘要

指令调度相关的优化是现代编译器后端的重要组成部分.该文就通用处理器龙芯Ⅰ的编译器中机器模型、静态指令调度、和全局延迟槽调度等与指令调度相关的问题进行了研究.机器模型有助于提高编译器的灵活性和可移植性,它把后端优化所需要的机器信息集中在一起并转换为后端可用的形式.该文首先介绍了现有的几种主流编译器的机器模型,包括GCC,Pro64等.然后详细的分析了ORC(Open Research Compiler)的机器模型,并通过龙芯Ⅰ编译器机器模型的实际移植过程探讨了机器模型移植的一般过程和原则.静态指令调度决定指令执行顺序,屏蔽指令间由于依赖关系而产生的延迟,从而提高了指令的并行度.该文首先分析了硬件动态调度和静态指令调度之间的关系,说明了静态指令调度的必要性,然后介绍了指令调度在龙芯Ⅰ编译器中的具体实现,最后给出了实验结果以说明指令调度的实际效果.由于龙芯Ⅰ处理器中采用了延迟槽来减少由于分支而造成的延迟,因此优化编译器如何高效的利用延迟槽对于性能来说十分重要.该文对延迟槽调度中调度范围,所处编译阶段等问题进行了分析,对全局延迟槽调度可能出现的冲突及候选指令的区域进行了研究,提出了一种全局延迟槽调度算法,并用实验结果证明它有较好的性能和健壮性.

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号