学位论文 > 优秀研究生学位论文题录展示

指令Cache优化中代码重排技术的研究与实现

作 者: 张定飞
导 师: 赵克佳
学 校: 国防科学技术大学
专 业: 计算机科学与技术
关键词: 指令Cache 代码重排 过程重排 分支预测 profile
分类号: TP332
类 型: 硕士论文
年 份: 2005年
下 载: 87次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着计算机体系结构的发展,特别是现代多流出体系结构的出现,处理器对指令读取的要求越来越高。因此,如何提高指令Cache的性能,最大限度地发挥处理器性能成了人们所关心的一个焦点。 代码重排是一种通过软件实现的改变代码的排列次序的方法,它将彼此之间控制转移比较频繁的代码放置在一起,从而提高指令Cache的命中率,是指令Cache优化的一种常用的方法。本文主要研究了代码重排的相关技术,取得了以下一些成果: 1、探讨了代码重排技术中重排信息获取的两种方式,即基于程序profile的技术和基于程序分支预测的技术,并对每一种技术的基本思想与主要算法进行了分析和研究。 2、从过程重排和基本块重排以及过程分裂三个方面对当前的重排算法进行了剖析,比较了各种算法的特点。 3、分析了GCC中代码重排的实现方法,指出了其存在的不足。 4、根据GCC4.1的框架特点提出了在语法树级实现过程重排的方案。该方案使用静态分支预测的方法获取过程调用图的频率信息,并采用PH算法在文件内部对过程进行重排,试验结果表明该方案取得了一定的优化效果。

全文目录


图目录  7-8
表目录  8-9
摘要  9-10
ABSTRACT  10-11
第一章 绪论  11-18
  1.1 课题研究背景  11-13
    1.1.1 处理器与存储器的性能差异  11
    1.1.2 层次存储系统  11-12
    1.1.3 指令cache优化  12-13
  1.2 代码重排技术  13-16
    1.2.1 代码重排的概念  13
    1.2.2 代码重排对程序的影响  13-14
    1.2.3 代码重排技术的研究现状  14-16
  1.3 本文的主要工作  16
    1.3.1 代码重排技术的研究  16
    1.3.2 GCC编译器中代码重排的分析  16
    1.3.3 基于 GCC的过程重排的实现  16
  1.4 论文的结构  16-18
第二章 基本概念与关键技术研究  18-32
  2.1 过程调用图和程序控制流程图  18-19
    2.1.1 过程调用图  18
    2.1.2 程序控制流图  18-19
  2.2 代码重排信息的获取  19-25
    2.2.1 基于静态分支预测的重排信息  19-24
    2.2.2 基于程序插桩的profile重排信息  24-25
  2.3 过程重排  25-27
  2.4 基本块重排  27-29
  2.5 过程分裂  29-32
第三章 GCC中代码重排技术分析  32-45
  3.1 GCC编译器的简介  32
  3.2 GCC控制流程图相关的数据结构  32-34
  3.3 基于程序插桩的profile重排信息  34-35
  3.4 基于静态分支预测的重排信息  35-37
  3.5 GCC中的代码重排技术  37-42
    3.5.1 基本块重排  37-41
    3.5.2 过程分裂  41-42
  3.6 GCC中代码重排的评价  42-45
第四章 基于 GCC的过程重排优化的实现  45-63
  4.1 过程重排框架  45-47
    4.1.1 过程重排的时机的选择  45-46
    4.1.2 过程重排的频率信息获取的方式  46-47
    4.1.3 过程重排算法的选择  47
  4.2 过程调用图的相关数据结构  47-48
  4.3 过程调用频率的静态预测  48-54
    4.3.1 调用图频率预测的算法  48-50
    4.3.2 调用图频率预测的实现  50-54
  4.4 过程重排的算法  54-56
  4.5 过程重排的实现  56-59
    4.5.1 相关数据结构  56-57
    4.5.2 算法实现  57-59
  4.6 试验结果与分析  59-63
第五章 结束语  63-64
  5.1 工作总结  63
  5.2 研究展望  63-64
致谢  64-65
攻读硕士期间发表的论文  65-66
攻读硕士期间参加的科研项目  66-67
参考文献  67-68

相似论文

  1. 面向Seam框架的PIM到PSM转换研究,TP311.52
  2. 不同数据下半变系数模型的统计分析,O242.1
  3. 处理器性能分析模型研究,TP332
  4. 记录式分支预测器,TP332
  5. 嵌入式处理器中低功耗的BTB研究与设计,TP332
  6. 一种基于双模结构的分支预测器研究,TP332
  7. 基于MDA和工作流的构件化企业应用软件开发研究,TP311.52
  8. 面向Struts2框架的模型驱动开发方法研究,TP311.52
  9. 基于模型驱动架构的管理信息系统领域建模研究,TP311.52
  10. 模型驱动体系架构(MDA)的实现研究,TP311.52
  11. 基于神经网络的马铃薯蛋白质二级结构预测的研究,S532
  12. Characterization of Glossy1-Homologous Genes of Rice Involved in Leaf Wax Accumulation and Drought Resistance,S511
  13. 多路径Trace处理器,TP332
  14. 具有加权非局部源的非线性抛物型方程,O175.26
  15. 同时多线程处理器前端系统的研究,TP332
  16. 多重非线性抛物方程组同时与不同时Blow-up问题,O175.26
  17. 自动测试系统的面向对象框架开发方法研究,TP311.52
  18. 微处理器中Cache漏流功耗的体系结构级优化技术研究,TP332
  19. 多重非线性抛物方程(组)奇性解的渐近分析,O175.26
  20. 分散度量模型中的变量选择,O212.3

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 电子数字计算机(不连续作用电子计算机) > 运算器和控制器(CPU)
© 2012 www.xueweilunwen.com