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

面向嵌入式系统绿色需求的编译技术研究

作 者: 陈勇
导 师: 何炎祥
学 校: 武汉大学
专 业: 计算机软件与理论
关键词: 绿色编译器 绿色评估模型 指令调度 数据重分配 能耗错误检测
分类号: TP314
类 型: 博士论文
年 份: 2013年
下 载: 62次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着各种手持嵌入式智能设备的广泛普及和应用,人们的生活质量得到了大幅度提升,但由此而引起的资源和环境问题也越来越严重。以低能耗、低污染为主要目标的绿色需求已经成为现代社会可持续发展的必然选择。为降低嵌入式系统的能耗,提高嵌入式设备中各种资源的利用率,减少不必要的设备损耗,降低电子垃圾等有害物质的排放速度,一方面需要从材料的选取、设备的制造工艺等硬件部分进行改进,另一方面更需要对其上运行的软件进行相关优化,以充分发挥各种低能耗硬件设备的功效,适应不断增长的绿色需求。编译器作为软件开发和语言转换的工具,不但能够结合具体的嵌入式系统各部分硬件的特性进行针对性的优化,以指导生成的目标程序具有较高的绿色指标,而且能够利用其对源程序的分析结果,帮助程序员在程序开发过程中尽早的发现源程序中可能存在的能耗等绿色相关错误,提高软件的质量,减少其开发过程中因测试和调试而造成的资源和能源消耗。要系统化、自动化的对软件进行优化,必然离不开编译器的支持。但传统编译优化技术主要以性能优化为主,较少的考虑能耗、资源等绿色相关因素的影响。而性能优化与绿色优化并不总是一致的。通常情况下,性能优化是以资源和能源的消耗为代价的(如使用较多的寄存器资源,提高处理器运行速率),因而不能仅仅依靠传统编译优化来满足绿色优化的需求。其次,传统编译辅助信息主要集中于对程序语言语法错误以及可能的空指针、数组越界等功能性错误的检测。而能耗错误等绿色相关错误并非功能性错误,传统编译器给出的信息对于检测这类错误,提高软件开发效率以及质量几乎无能为力。为弥补传统编译器在绿色优化中的不足,本文将对嵌入式系统的绿色需求进行分析,通过在编译的过程中对嵌入式系统中的软件进行针对性优化,减少其运行时的能耗,均衡设备中各种资源的使用,提高系统整体资源的利用度,以满足日益增长的绿色需求。主要研究内容和创新点包括以下四个方面:1、结合了现有绿色需求的相关概念以及编译器本身的主要功能,给出了一种绿色编译器的定义,明确了该编译器优化的主要目标及其特点。同时,在该定义的指导下,对编译器指导的总体绿色评估模型进行了形式化描述,以有效的指导和评估绿色编译优化的顺利进行。2、为充分发挥时序推测处理器的低能耗特性,减少其因为流水线的数据向前推送机制而导致的时序错误,降低因此而消耗的无效能源,对形式化的绿色评估模型进行了具体化,构建了以数据依赖为主要指标的时序推测处理器的绿色评估指标,并在此基础上提出了一种基于图博弈模型的指令调度算法。通过提高数据之间“写后读”依赖的时钟周期,减少因此而产生的数据向前推送操作,获得时序推测处理器绿色指标的大幅度提升。此外,针对带有总线翻转编码的总线系统,分析了绿色评估模型中总线相关的绿色评估指标,并以此为标准,设计了一种反馈信息指导的绿色指令调度算法。利用程序执行的动态反馈信息,结合总线翻转编码的特点,充分减少相邻总线之间的翻转次数,均衡各根总线之间的翻转负载,以提高该系统的绿色指标。3、不同的数据分配方案对存储资源的使用、系统总的能源消耗等绿色相关指标将产生重要影响。为进一步提高系统的绿色指标,针对存储器层次存储单元的特点,分析了绿色评估模型中影响存储系统绿色指标的相关因子,设计了可交换类指令重排优化方法、基于扩展图着色的寄存器重分配优化方法和栈数据重分配方法,对编译器后端的寄存器以及栈数据进行重新调整,以获得较均衡的寄存器访问频度和栈存储单元访问频度,减少指令数据总线的动态翻转能耗。同时,为进一步提升系统的绿色指标,在前两种优化的基础上增加了迭代式优化,通过迭代优化使得寄存器使用更加均衡,相邻指令间的动态能耗更小。4、为提高软件开发的质量,减少能耗错误导致的无用能源损耗,总结了能耗相关错误的相关特征,并以该特征为基础,结合符号执行技术,设计了能耗错误检测和定位方法。该方法首先利用过程内分析,获得单个函数的符号执行信息,然后利用过程间分析对单个函数的符号执行信息进行全局分析,以获得较为准确的执行开销、锁变量匹配等相关信息,检测出对应的能耗相关错误。同时,符号执行记录了对应的分支路径信息,利用该信息不但能够较好的生成对应的测试用例,而且可以结合约束求解器快速定位错误位置,为开发出高绿色指标的软件提供保障。

全文目录


摘要  9-11
ABSTRACT  11-14
第1章 绪论  14-32
  1.1 研究背景  14-16
    1.1.1 绿色需求对现代嵌入式系统的重要性  14-15
    1.1.2 编译器对嵌入式软件绿色优化的重要性  15-16
  1.2 国内外研究现状  16-29
    1.2.1 面向总线系统的绿色优化技术研究  16-21
    1.2.2 面向存储系统的绿色优化技术研究  21-25
    1.2.3 面向处理器的绿色优化技术研究  25-27
    1.2.4 软件自动化测试及能耗调试相关研究  27-29
  1.3 主要创新点  29-30
  1.4 组织结构  30-32
第2章 绿色编译及绿色评估模型  32-37
  2.1 绿色编译器定义  32-33
  2.2 绿色评估模型  33-35
    2.2.1 绿色编译优化评估模型  34-35
    2.2.2 能耗错误检测评估模型  35
  2.3 本章小结  35-37
第3章 面向嵌入式系统的指令调度方法  37-71
  3.1 面向TS处理器绿色指标的指令调度方法  37-60
    3.1.1 TS处理器简介  37-39
    3.1.2 图博弈模型  39-40
    3.1.3 编译器可控的TS处理器绿色评估指标  40-42
    3.1.4 基于图博弈模型的指令调度方法  42-55
    3.1.5 实验与结果分析  55-60
  3.2 面向总线翻转编码的绿色指令调度方法  60-69
    3.2.1 总线绿色评估模型  60-61
    3.2.2 总线翻转编码  61-62
    3.2.3 反馈信息指导的面向总线的绿色指令调度算法  62-66
    3.2.4 实验与结果分析  66-69
  3.3 本章小结  69-71
第4章 多目标数据分配优化方法  71-94
  4.1 数据分配对系统绿色指标的影响  71-72
  4.2 绿色评估模型指导的多目标数据分配优化方法  72-89
    4.2.1 数据分配总体优化框架  72-74
    4.2.2 可交换类指令操作数重排优化  74-76
    4.2.3 面向绿色需求的寄存器重分配方法  76-85
    4.2.4 面向存储系统绿色指标的栈数据分配方法  85-89
  4.3 实验与结果分析  89-93
    4.3.1 实验构建  89-90
    4.3.2 实验结果与分析  90-93
  4.4 本章小结  93-94
第5章 基于符号执行的能耗错误检测及反例生成技术  94-113
  5.1 能耗错误简介  94-95
  5.2 符号执行技术  95-96
  5.3 基于符号执行技术的能耗错误分析方法  96-104
    5.3.1 能耗错误过程内分析  96-103
    5.3.2 能耗错误过程间分析  103-104
  5.4 应用举例  104-111
  5.5 实验结果与分析  111-112
    5.5.1 实验构建  111
    5.5.2 实验结果与分析  111-112
  5.6 本章小结  112-113
第6章 总结与展望  113-116
中英文参考文献  116-123
攻博期间发表的主要学术论文  123-124
攻博期间合作发表的主要学术论文  124-125
参与主要科研项目  125-126
致谢  126-128
报送博士学位简况表  128-129

相似论文

  1. 面向空间目标轨道预测的定制处理器及其编译器的关键技术研究,V556
  2. 可配置TTA处理器编译器的指令调度技术研究与实现,TP314
  3. Glibc库在龙芯2F上的优化,TP316.81
  4. 分片式处理器上指令调度器的设计及优化,TP332.3
  5. FT64-2核级汇编器的研究与实现,TP313
  6. ATLAS在龙芯2F上的访存优化,TP332
  7. 保证Java精确异常的指令调度技术,TP312.2
  8. IA-64指令调度研究,TP303
  9. 基于龙芯2号结构特征对GCC的分析与优化,TP332
  10. 龙芯Ⅰ编译器中的指令调度相关优化,TP332
  11. 可配置可扩展处理器关键问题研究,TP332
  12. 指令级并行编译的关键技术研究,TP314
  13. 全局无环指令调度研究,TP311.1
  14. 可配置可扩展处理器编译器设计,TP332
  15. EDGE体系结构指令静态映射算法研究,TP301.6
  16. 面向高性能DSP Matrix向量化编译器的设计与实现,TP314
  17. 嵌入式MSDCC异构多核编译器研究,TP314
  18. 可配置TTA处理器编译器的指令调度技术研究与实现,TP314
  19. 基于值剖视的编译优化研究,TP314
  20. 基于可扩展矩阵计算DSP(FT-Matrix)的汇编器与连接器研究与实现,TP314
  21. 面向异构细粒度可重构系统的循环流水编译技术研究,TP314

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 编译程序、解释程序
© 2012 www.xueweilunwen.com