资源描述:
《体系结构中低功耗优化策略.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、体系结构中低功耗优化策略陈一可ChenYike顾夏申GuXiashen陆浩远LuHaoyuanSchoolofsoftwareengineer,TongjiUniversity,Shanghai,China摘要随着嵌入式系统的广泛应用,低功耗问题摆在了设计人员面前.低功耗设计包括系统设计、硬件设计软件设计器件的工艺设计等诸多万面。其中器件的工艺设计主要由半导体器件的厂家来完成,嵌入式系统的应用设计人员只需要关心器件的功耗指标。更多的工作集中于系统的硬件、软件以及它们之间的配合方面。关键字:嵌入式设备低功耗优化引言功耗问题是近几年来人们在嵌入式系统的设计中普
2、遍关注的难点与热点,特别是对于电池供电系统,而且大多数嵌入式设备都有体积和质量的约束。(1)对于电池供电系统,延长电池的寿命,降低用户更换电池的周期,提高系统性能与降低系统开销,甚至能起到保护环境的作用;(2)安全的需要:例如工业现场总线设备的本安要求,实现本安要求的一个重要途径是降低系统的功耗;(3)降低电磁干扰:系统的功耗越低,电磁辐射的能量越小,对其它设备造成的干扰越小,如果所有的电子产品都设计成低功耗的,那么电磁兼容性设计会变得容易;(4)节能:特别是对电池供电系统来说,节能更为重要。降低系统的功耗具有下面的优点:功耗产生的原因P=V2(?)f(?
3、)C+Pstatic其中是静态功耗,是V工作电压,是f工作频率,是C负载电容。?表示式中V2与f功耗相关的因素越大,功耗越大,但不是线性的。由于目前大多数电路采用CMOS工艺,静态功耗很小,可以忽略。起主要作用的是动态功耗,因此降低功耗从降低动态功耗入手。体系结构层降低功耗技术系统中的动态能量消耗占主要部分,随着工艺的缩放,泄漏电流的比例逐渐增大.如果不使用任何泄漏控制机制,未来的工艺中动态能量消耗和静态能量消耗比例基本相当.计算机系统是由软件和硬件组成的系统,低功耗问题必须从软件和硬件两方面综合考虑.计算机系统包括中心处理器、主存和I/O设备.一般来说
4、,磁盘设备的能量消耗要比主存和处理器的功耗大几个量级,低功耗的系统往往不使用磁盘系统.内存系统DRAM的能量消耗是处理器能量消耗的几十倍到几百倍.处理器内部的动态能量消耗又由时钟系统、数据路径、存储系统和控制I/O等组成.一些重要的体系结构层降低功耗技术动态电压缩放(dynamicvoltagescaling,简称DVS)——降低电压时钟门(clockgating)——减少切换电容存储系统——减少切换电容编码和缓存——减少切换因子泄漏能量减少技术动态电压缩放(dynamicvoltagescaling,简称DVS)——降低电压系统的动态功耗和电压
5、成二次方关系,降低供应电压可以降低系统的动态功耗,动态电压缩放在系统运行时动态改变电压.一般可以设置几个离散电压值,软件可以根据需求在几个电压值之间进行动态调整.实用的处理器包括TransmetaCrusoe,IntelXscale和AMDK6III+.电压切换存在一定的能量开销和时间开销.时钟门(clockgating)——减少切换电容时钟系统的能量消耗占CPU总功耗的很大一部分,减少时钟系统的切换电容对总功耗有很大的作用.一种实际有效的方法是划分时钟网络,在每个周期只允许必要的部分进行切换.这通过时钟门来实现.使用时钟门关闭的部件一般不能及时恢复
6、正常状态,并且时钟系统可能产生小故障,这是使用时钟门存在的问题.如何有效地使用时钟门关闭功能部件,如何及时地将关闭的功能部件恢复到正常状态以降低性能损失是软件需要解决的问题.存储系统——减少切换电容CPU内部的cache,TLB*,分支缓存占能量消耗的很大部分,DRAM的功耗又是CPU的几十倍,磁盘设备更是重要的能量消耗源.低功耗的存储系统对降低系统功耗有很大作用.除了传统的多运行模式磁盘、内存系统以外,很多新的硬件技术用来解决存储系统的运行时功耗:新的cache技术.处理器的发展集成了越来越大的芯片内cache,大的cache造成了大量的能量消耗.在保持
7、程序性能的前提下,功耗最优的cache大小和结构随着负载的变化而变化.于是产生了可重配置的cache[1]和动态关闭cache行的cache,这些cache设计的主要目的是减少动态切换的电容量,降低功耗.多bank的内存结构.为了降低访存的切换电容量,将存储结构划分为多个bank,每次只访问部分部件,不使用的内存bank可以关闭.这些动态的存储系统部件为存储系统的能量优化提出了新问题,如动态cache结构下,如何有效利用cache,保证性能并提高能量效率?采用什么样的方法进行cache数据的映射?基于分页的操作系统如何有效利用多bank的内存系统?程序如何
8、有效地局部化,利用多个内存bank降低功耗?编码和缓存——减少切换