全部博文(436)
分类: LINUX
2012-12-03 21:42:51
在计算机系统中,能耗是器件在一段时间里消耗的电能。
系统耗能=整个计算机系统的能量消耗,可以通过微处理器、内存、外设等部件能耗总和
设计高性能、低能耗的总体方针:在硬件给定的情况下,开发低能耗软件
软件低能耗技术
从研究目标角度:能耗优化
能耗评估
从面向的系统生命周期阶段的角度:面向系统运行阶段(把软件当做系统能耗管理者。在系
统运行时监测、调节硬件的功耗状
态,降低系统能耗。)
—— 面临的问题:在满足系统功能和性能约
束的前提下,如何设置硬
件但愿在低功耗状态下工
作,达到降低系统能耗的
目的
面向系统开发阶段(把软件当做系统能耗的驱动者,在
系统开发阶段优化软件本身的指
令序列、算法和结构,降低系统能耗。
——面临的主要问题:评估软件如何影响系统能
耗;如何在满足系统功能和性能约
束的前提下优化软件,达到降低系
统能耗的目的
软件低能耗技术的特点(相比于硬件低功耗技术)
1系统性:同时考虑硬件功耗状态和上层应用的需求,以降低系统能耗为目的,对系统能耗的影响范围更大
2抽象性:系统能耗的抽象层次(具体指什么?)更高,更易于从系统和软件开发者的角度理解和评估系统能耗
3灵活性:软件在开发、部署和应用方面比硬件具有更大的灵活性
4互补性:软件低能耗技术和硬件低功耗技术互为补充,各有偏重,软件和硬件协同,发挥各自的优势,才能高效地发挥硬件特性,达到保证性能,降低系统能耗的目标。
低能耗软件优化技术
1.1指令级优化:主要在编译层面打开。优化指令序列,降低处理器和访存能耗,减少指令执行时间和降低硬件功能都能降低系统能耗。
低能耗编译优化:性能优化
降低硬件功耗(降低处理器、存储系统的动态功耗和静态功耗)
降低处理器动态功耗的编译优化方法:采用低功耗指令代替高功耗指令;
调节调度算法降低峰值功耗、调节
指令执行占用的部件;
编译制导的动态电压/频率调节等。
降低存储器动态功耗的基本方法: 采用传统的存储访问优化方法,减少对Cache和存储器的访问;改进寄存器文件分配算法,减少寄存器译码和指令总线信号翻转(??),优化数据和指令预存方法。
1.2软件算法优化(各种举例,不懂)
1.3软件体系结构优化
评估不同软件体系结构风格对系统能耗的影响,同时考虑硬件平台和应用的相关特性,导出硬件平台能耗与软件体系结构特征间的映射关系,结合特定应用软件场景实例,得到用于用于评估和优化软件体系结构的软件能耗模型(不懂)。
2软件能耗的估算
方法:实测方法、基于能耗模型的方法
实测方法:在世纪运行的系统上利用专用测量分析仪器获得程序运行时对系统或者某些部件的能耗。
基于能耗模型的评估方法:对软件能耗的估算,即利用能耗模型算出所关注的软件组成部分的能耗。
需计算软件执行期间涉及到的各硬件单元能耗的总和
关注范围扩大:内存、外围部件、及全系统。
被评估的软件范围扩大:操作系统及完整的软件系统
2.1面向处理器的软件能耗估算
基于指令级模型的能耗估算:把一个程序的能耗看作是该程序所有指令能耗之和
基于处理器体系结构的能耗估算:精确到始终周期。模拟指令执行过程中处理体系结构部件的行为,准确度较高,但速度较慢。
基于宏模型的能耗估算:完全脱离硬件功耗参数,直接检录高层软件特征和能耗的量化关系,根据感兴趣的软件特征(?)构造相应的宏模型
2.2面向全系统的软件能耗估算