低功耗技术研究—体系结构和编译优化

低功耗技术研究—体系结构和编译优化

论文摘要

计算机系统的功耗问题是计算机技术进一步发展亟待解决的问题之一。功耗急剧增长提高了芯片的封装和制冷成本。高温环境下执行增加了芯片的失效率,导致计算机系统的可靠性下降。嵌入式移动计算技术是芯片行业最活跃的领域,嵌入式的移动设备往往依靠电池供电,电池的供电时间是系统的重要参数之一。与半导体技术的发展速度相比电池技术的发展缓慢,未来的移动设备必须在有限能量供应下发挥更大的效能,对系统能量消耗有很高的要求。信息行业的设备消耗了大量能量,并且能量消耗呈现逐年增长的趋势。大量的能量消耗要求系统采用有效的能量管理策略提高能量的使用效率。因此,不管是嵌入式移动设备还是高性能系统,都必须考虑功耗问题。从底层的电路技术,到逻辑技术、体系结构技术和高层的软件技术,出现了各种方法用于降低计算机系统的能量消耗。本文重点研究用体系结构设计和编译器指导的方法减少计算机系统的能量消耗。体系结构是软件和硬件的接口,对于低层的低功耗硬件设计和上层的软件低功耗优化都有重要的影响,本文分析了传统体系结构的能量效率变化趋势,提出今后的体系结构低功耗设计的思路之一是采用并行处理技术。当前新的硬件技术—动态电压调节(DVS)和部件动态关闭(TOSU)—为软件低功耗优化提供了手段,本文的工作基于编译器的静态分析或者profile技术,获得应用对系统资源的使用特性,使用DVS或者TOSU技术减少计算机系统的能量消耗。具体说来,本文包括三部分的研究工作:首先研究了微处理器体系结构的能量有效性;然后研究了实时系统的能量有效性优化方法;最后研究了并行系统的能量有效性优化方法。本文的主要创新如下:1、提出了微处理器的体系结构能量有效性模型,克服了传统的能量有效性模型受工艺参数和电压参数影响的问题,该模型能有效地评估体系结构设计对能量有效性的影响。通过对典型微处理器的分析,验证了该模型的合理性。通过该模型分析了体系结构设计的多种典型技术,得出了并行处理技术和部件使用局部化是提高能量有效性的主要方法。指导了本课题的研究。2、提出了面向程序的剩余最差时间分析方法,克服了过去动态电压调节技术的研究结果不能紧密结合时间估计技术的问题,给出了动态电压调节算法实现的总体框架,建立了性能/功耗模拟环境RTLPower,嵌入式程序集的测试证明该算法最大能够节省50%的能量。3、提出了等比例电压调节点的优化放置方法—OPOT和OPTO,OPOT给出了无开销情况下的最优调节点放置方法,并给出了证明,OPTO给出了存在开销情况下的调节点优化放置方法,嵌入式程序集的测试证明两种调节点优化放置方法有效的减少了能量消耗。4、提出了确定执行模式的最优频率设置指导的贪婪电压调节方法和最高频率限制情况下确定执行模式的最优频率设置指导的贪婪电压调节方法,克服了过去电压调节方法不能有效利用松弛时间的问题,能够最佳地设置每阶段的频率,模拟实验结果验证了两种电压调节方法的有效性。5、提出了编译器指导的DVS并行系统的能量和性能权衡技术,针对MPI消息传递应用使用编译器自动构造通信和计算区域,为这些区域分配最优的电压/频率,克服了过去的研究完全采用手工方法的问题,建立了性能/功耗的并行模拟环境MIPSpar,并行MPI程序集的测试证明该技术在性能损失不超过5%的情况下,能够节省20~40%的能量消耗。6、提出了编译器指导的并行系统通信链路的动态关闭技术,编译器将并行程序划分为通信区间和计算区间,使用链路打开/关闭指令动态改变通信链路的状态,克服了基于网络链路利用率的预测方式不可避免地引入的链路打开/关闭开销,模拟实验结果表明在小于1%的网络延迟和性能损失下,减少了20~70%的互连网络能量消耗。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 功耗问题
  • 1.1.1 限制芯片性能的改善
  • 1.1.2 提高芯片制造成本
  • 1.1.3 降低系统可靠性
  • 1.1.4 增加系统执行成本
  • 1.1.5 影响电池供电时间
  • 1.2 功耗基础
  • 1.2.1 CMOS 电路的功耗
  • 1.2.2 系统的功耗分布
  • 1.3 低功耗技术的相关研究工作
  • 1.3.1 低功耗硬件和体系结构技术
  • 1.3.2 低功耗软件技术
  • 1.3.3 体系结构级功耗建模
  • 1.4 课题研究内容
  • 1.4.1 微处理器的体系结构能量有效性模型研究
  • 1.4.2 实时系统的能量有效性优化方法研究
  • 1.4.3 并行系统的能量有效性优化方法研究
  • 1.5 本文的主要贡献与创新
  • 1.6 论文结构
  • 第一部分 微处理器的体系结构能量有效性模型研究
  • 第二章 微处理器的体系结构能量有效性
  • 2.1 能量有效性模型
  • 2.2 体系结构能量有效性模型
  • 2.3 微处理器的体系结构分析
  • 2.3.1 微处理器体系结构的能量有效性发展趋势
  • 2.3.2 几种典型的体系结构能量有效性比较
  • 2.3.3 体系结构能量有效性下降的原因分析
  • 2.4 小结
  • 第三章 并行处理:有效的改善能量效率的体系结构方法
  • 3.1 并行处理提高能量效率的原理
  • 3.2 能量效率模型
  • 3.2.1 时间开销
  • 3.2.2 能量开销
  • 3.2.3 能量效率模型
  • 3.3 并行处理的能量效率分析
  • 3.3.1 系统能量效率可扩展性分析
  • 3.3.2 应用能量效率可扩展性分析
  • 3.4 小结
  • 第四章 部件使用局部化:有效的低功耗编译优化方法
  • 4.1 硬件层为软件提供的低功耗优化手段
  • 4.1.1 动态电压调节—降低电压
  • 4.1.2 时钟门—减少切换电容
  • 4.1.3 存储系统—减少切换电容
  • 4.1.4 编码和缓存—减少切换因子
  • 4.1.5 泄漏电流减少技术
  • 4.2 功耗的分析模型
  • 4.3 开发部件使用的局部化
  • x 模型中固定时间t'>4.3.1 E ·tx模型中固定时间t
  • x 模型'>4.3.2 最小化E ·tx模型
  • 4.3.3 部件使用的局部化
  • 4.4 关于体系结构设计的探讨
  • 4.5 小结
  • 第二部分 实时系统的能量有效性优化方法研究
  • 第五章 基于语法树的实时动态电压调节低功耗算法
  • 5.1 实时动态电压调节基础
  • 5.1.1 基本动态电压调节算法
  • 5.1.2 最差时间分析概述
  • 5.2 动态电压调节算法的相关问题
  • 5.2.1 循环结构内的rwec 计算和估计
  • 5.2.2 函数调用的rwec 计算和估计
  • 5.2.3 电压调节点的放置方法
  • 5.3 算法实现与模拟
  • 5.3.1 RTLPower 实时低功耗模拟环境
  • 5.3.2 模拟实验
  • 5.4 小结
  • 第六章 等比例实时动态电压调节方法的调节点放置优化
  • 6.1 相关术语
  • 6.2 无开销情况下电压调节点的最优放置分析
  • 6.2.1 动态电压调节的分析模型
  • 6.2.2 最优放置方法OPOT 和证明
  • 6.2.3 模拟
  • 6.3 有电压调节开销情况下的调节点优化放置分析
  • w'>6.3.1 最优放置:OPTCw
  • 6.3.2 问题简化
  • d'>6.3.3 简化时间复杂性:HOPTCd
  • a'>6.3.4 简化时间复杂性:HOPTCa
  • 6.3.5 调节点放置优化方法OPTO
  • 6.3.6 模拟
  • 6.4 优化放置在RTLPower 上的实现
  • 6.4.1 实现技术
  • 6.4.2 实验测试
  • 6.5 小结
  • 第七章 实时动态电压调节方法研究
  • 7.1 最优频率设置指导的贪婪动态电压调节方法
  • 7.1.1 模型分析
  • 7.1.2 最优频率设置指导的贪婪电压调节方法
  • 7.1.3 模拟
  • 7.2 最高频率限制下最优频率设置指导的贪婪动态电压调节方法
  • 7.2.1 模型分析
  • 7.2.2 最高频率限制下最优频率设置指导的贪婪电压调节方法
  • 7.2.3 模拟
  • 7.3 实现方法
  • 7.4 小结
  • 第三部分 并行系统的能量有效性优化方法研究
  • 第八章 编译器指导的DVS 并行系统的能量性能权衡
  • 8.1 实验环境
  • 8.1.1 DVS 并行系统MIPSpar
  • 8.1.2 电压调节对通信和计算的影响
  • 8.2 编译器指导的DVS 并行系统的能量性能权衡
  • 8.2.1 选择区域的大小
  • 8.2.2 估计计算程序的执行时间
  • 8.2.3 在语法树上构造通信区域
  • 8.2.4 能量性能权衡
  • 8.3 实验
  • 8.3.1 能量性能权衡
  • 8.3.2 通信区域的比例实验
  • 8.4 小结
  • 第九章 编译器指导的并行系统链路的动态关闭技术
  • 9.1 相关知识
  • 9.1.1 高性能互连网络拓扑结构
  • 9.1.2 高性能并行系统中的交换技术
  • 9.1.3 高性能互连网络的功耗节省技术
  • 9.2 并行程序的编译器指导的链路动态关闭技术
  • 9.2.1 硬件机制
  • 9.2.2 软件机制
  • 9.2.3 编译器指导的链路的动态关闭技术
  • 9.3 编译器指导的链路打开/关闭指令的插入算法
  • 9.3.1 搜索通信相关函数调用和函数定义
  • 9.3.2 建立通信计算图
  • 9.3.3 查找所有相邻通信节点对
  • 9.3.4 估计相邻通信节点之间的计算区间的时间
  • 9.3.5 准备插入链路打开/关闭指令
  • 9.3.6 插入链路打开/关闭指令
  • 9.4 模拟和实验结果
  • 9.4.1 模拟环境的通信网络
  • 9.4.2 MIPSpar 上的模拟
  • 9.4.3 机群上NPB 程序测试
  • 9.5 小结
  • 第十章 结束语
  • 10.1 工作总结
  • 10.2 研究展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 附录A 第八章C 语言结构列表
  • 相关论文文献

    • [1].方舟编译器初探[J]. 科技与创新 2019(23)
    • [2].一种适用于可信编译器的源语言转换与检查框架[J]. 中国科技论文 2017(14)
    • [3].华为方舟编译器开源官网正式上线:源代码已开放下载[J]. 电脑知识与技术(经验技巧) 2019(10)
    • [4].快速掌握编译器设计方法[J]. 软件 2018(05)
    • [5].一种新的大容量SRAM编译器设计[J]. 微电子学 2015(04)
    • [6].可信编译器构造的翻译确认方法简述[J]. 计算机科学 2014(S1)
    • [7].计算智能技术在分布式多编译器中的应用分析[J]. 节水灌溉 2011(05)
    • [8].优化编译器的设计[J]. 群文天地 2011(14)
    • [9].关于C编译器对——运算编译的研究[J]. 电脑知识与技术 2010(18)
    • [10].基于编译器优化的嵌入式软件缺陷分析方法[J]. 航天控制 2016(05)
    • [11].一种农业设备嵌入式数据库预编译器设计与实现[J]. 农业网络信息 2012(03)
    • [12].编译器无关性编码在微控制器中的优势[J]. 单片机与嵌入式系统应用 2010(02)
    • [13].可信编译器关键技术研究[J]. 计算机工程与科学 2010(08)
    • [14].可视编译器的设计与实现[J]. 计算机与现代化 2010(10)
    • [15].类高级语言编译器的设计与实现[J]. 内蒙古科技与经济 2009(16)
    • [16].超强通用编译器优化工具 准确率是传统方法的5倍[J]. 计算机与网络 2020(02)
    • [17].一种静态的编译器重复缺陷报告识别方法[J]. 中国科学:信息科学 2019(10)
    • [18].魂芯DSP上复数类型的支持和优化[J]. 计算机系统应用 2017(09)
    • [19].软件/开发工具[J]. 今日电子 2014(02)
    • [20].出具证明编译器中代码优化与程序规范转换[J]. 小型微型计算机系统 2011(07)
    • [21].NI LabVIEW2010优化编译器,加速代码执行[J]. 电子测量技术 2010(08)
    • [22].运行速度大突破 华为《方舟编译器》详解[J]. 计算机与网络 2019(09)
    • [23].典型编译器自动向量化效果评估与分析[J]. 计算机科学 2013(04)
    • [24].一种支持软件演化过程描述语言的编译器的设计分析[J]. 绵阳师范学院学报 2013(02)
    • [25].基于C语言编译器的词法分析浅析[J]. 电脑知识与技术 2013(24)
    • [26].C-编译器的扫描程序与分析程序设计[J]. 信息与电脑(理论版) 2012(14)
    • [27].FANUC宏编译器的应用[J]. 精密制造与自动化 2008(04)
    • [28].高速SRAM编译器时序算法[J]. 电子与封装 2016(07)
    • [29].出具证明编译器中线性整数命题证明的自动生成[J]. 小型微型计算机系统 2011(06)
    • [30].即时编译器辅助的垃圾收集中的插桩算法研究[J]. 小型微型计算机系统 2010(04)

    标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

    低功耗技术研究—体系结构和编译优化
    下载Doc文档

    猜你喜欢