论文部分内容阅读
在近年来微处理器发展的过程中,随着系统频率和复杂度的提升以及移动应用的深入,功耗已成为系统软硬件设计所关心的关键问题。编译技术研究除了追求应用程序运行效率的最优化之外,通过编译对应用程序行为的充分分析,对不显著响程序运行性能的条件下最小化系统或处理器的运行功耗的研究,在近期很受关注。这是电路级设计很难涉足的一个有效降低功耗的潜在领域。虽然,从编译级来研究低功耗优化技术是新近发展的崭新方向,但它却含有丰富的研究内容。本博士论文重点研究基于多线程体系结构频率/电压动态调整的低功耗编译优化方法和技术。主要的研究工作体现在以下几个方面:(1)首次从多线程低功耗编译优化技术实现的角度,将目前硬件支持多线程的体系结构进行了归类划分,并根据它们的结构特性提出分为两类:CMP(Chip MultiProcessor or MultiProcessor on Chip)和SMT(Simultaneous MultiThread)来研究基于动态频率/电压调整的低功耗编译优化技术。(2)针对CMP类多线程的体系结构,研究并提出了一种基于频率动态调整的结合细粒度多线程划分的低功耗优化模型,设计了相关的算法和编译实现策略,旨在不影响充分开发应用程序ILP(Instruction Level Parallelism)和TLP(Thread Level Parallelism)的同时,尽可能有效地减少处理器的运行功耗。(3)提出了针对SMT多线程体系结构的多线程低功耗编译优化的理论模型,研究如何在编译时识别具有可使处理部件降低电压/频率执行的期望区间,在这些区间可以得到显著的功耗节省而不明显降低程序的执行性能。并设计了能量分析模型、相关算法和编译实现策略。(4)基于全局调度的循环依赖关系,使用整数线性规划(Integer Linear Programming)的形式化框架,提出了一种对给定循环进行合理有效的低功耗最优化软件流水调度的方法,使其在运行时保持性能不变而消耗的功耗/能量最小。(5)在SimWattch模拟平台上,对IXP2400网络处理器中的XScale结构进行了频率调整的低功耗模拟和分析,发现并分析了程序设计语言成分