引 言
现在对系统设计者来说,在系统设计过程中除了考虑系统性能外,又面临一个新的挑战——降低系统的能量消耗。该挑战来自于以下几个因素:第一,越来越多的手持设备系统利用电池供电,必须通过降低功耗来延长电池的寿命;第二,半导体工业的迅速发展在使系统集成度和时钟频率显著提高的同时也导致系统的功耗急剧上升,不仅产生了热量释放的问题,而且也给系统的封装费用和稳定性带来了巨大的影响;第三,能量价格的上浮、绿色电器的深人人心以及人们对环境问题的关心程度越来越高,也进一步说明了系统低功耗设计的重要性。
DPM 是一种应用非常广泛的低功耗设计策略,其首要目的就是当系统处于欠载状态时使得功耗最低。经过多年的研究与发展,现在已经提出了许多DPM策略,诸如TimeOut技术、预测技术、随机技术、会话聚合预测技术等。DPM策略的性能主要取决于对用户行为的认识程度。也就是说,越熟悉用户行为的规律,PM(Power Man—agement,功耗管理)的质量就越高;反之,PM质量就越低。然而在实际生活中,工作负载的变化是随机的。如果在设计DPM的过程中不考虑这些因素,通常很难得到一个稳健和高质量的DPM。
DPM技术的应用将在系统的能耗与性能之间引入一种新的平衡。或者说,任何一种动态低功耗技术都是省电性能和系统性能之间的折衷。
1 DPM基本原理
DPM应用的基本前提条件是,系统或者系统单元在正常的运行时间段内处于非均匀的工作负载中。而工作负载的非均匀性在 嵌入式 系统和大多数交互式系统中是非常普遍的现象。
DPM技术的本质就是,根据系统工作负载的变化情况,有选择地将系统资源设置为低功耗模式,从而达到降低系统能耗的目的。系统资源可利用丁作状态抽象图来构建对应的模型,该模型中每个状态都是性能和功耗之间的折衷。例如,一个系统资源可能包含Normal、Sleep两种工作模式。其中S1eep状态具有较低的功耗,但是也要花费一些时间和能耗代价才能返回到Normal状态。状态之间的切换行为由功耗管理单元所发送的命令来控制,其通过对丁作负载的观察来决定何时以及如何进行工作模式的转移。性能限制条件下的功耗最小化(或者功耗限制条件下的性能最大化)策略模型是一个受限的最优化问题。
图1显示了DPM的基本思想。我们可以将工作负载看成是多个任务请求的集合体。例如对硬盘来说,任务请求就是读和写的命令;对网卡来说,任务请求则包含数据包的收发两个部分。当有任务请求(Request)时,设备处于工作(Busy)状态,否则就处于空闲状态(Idle)。从该概念出发,在图1中的T1~T4时间段内,设备处于Idle状态,而在Idle状态下则有可能进入到Sleep低功耗工作模式。该设备在T2点被关闭,并在T4点接收到任务请求而被唤醒;在这一状态转变过程中需要消耗一定的时间,图1中的Tsd和Twu分别代表关闭和唤醒延时。就硬盘或显示器而言,唤醒这些设备需要花费几秒钟的时间,而且唤醒一个处于Sleep工作模式下的设备还需要消耗额外的能量。也就是说,设备工作模式的转变会带来不可避免的额外开销。如果没有这些额外的开销(包括时间和能量),那么DPM本身就没有任何必要了,因为任何设备只要一进入Idle状态就立即将其关闭。因此,一个设备只有在所节省的能量能够抵消这些额外开销时才应该进入Sleep工作模式。决定一个设备是否值得关闭的规则就叫做“策略(polICy)”。功耗管理过程中,一般只考虑设备在Idle状态下的功耗,而不考虑处于Busy状态时的功耗。
点击看原图
由于设备在状态转换过程中会产生额外的时间和能量消耗,从而给DPM理论带来了一个平衡时间的概念:TBE,S。TBE,S表示设备在S状态下的省电平衡时间点(break—even time)。在具体讨论之前,首先定义如下变量(假设设备具有Normal、Sleep两种工作模式):
从时域角度看,TBE,S包括两个部分:一是状态转换时间,即Ton,off+Toff,on;二是最小平衡时间Ttrade-off。通过图2能更直观地理解TBE,S。如果设备处于Sleep工作模式下的时间小于某个极限值,则该模式之间的转换除了带来性能的损失外,还会产生能量的额外消耗。图2中隐含了DPM策略的一个前提条件,即
点击看原图
点击看原图
点击看原图
式(1)成立的前提条件是在(Ton,off+Toff,on)时间段内所消耗的能量大于Normal工作模式下的能量消耗;如果该前提条件不成立,就不会存在Ttarde-off,则TBE,S=Ton,off+Toff,on。
假设设备处于Idle状态下的空闲时间为Tidle(Tidle>TBE,S),则进入Sleep工作模式后所能节省的能量,记为 ES(Tidle),可表示成:
点击看原图
其中,F代表Tidle的概率分布,Tavgidle〉TBE,S表示大于TBE.S的空闲时段平均长度。通过式(7)可以看出,功耗节省值Psaved,S与TBE,S一直成反比的关系:当TBE,S=O时,Psaved,s具有最大值;当TBE,S越来越大时,Psaved,S则渐近于O。
2 DPM 策略模型
在DPM策略范畴内,系统模型由两个部分组成:一组相互作用的功耗可管理器件(Power Manageable Com—ponent,PMC)和功耗管理(Power Management,PM)。其中,PMC的工作模式由PM来控制。对于PMC,我们并不需要关心其内部实现细节,而是将它们看作黑箱,这样就可以更专注于研究PMC和周围环境的相互关系——即为了实现高效的动态低功耗管理策略,PMC与PM之间需要传递什么类型的信息以及信息量的大小。
2.1 PMC模型
在DPM中,PMC定义为完整系统中的一个原子模块。该定义具有一般性及抽象性,设备可以简单到芯片内部的一个功能模块,或者复杂到一个开发板。PMC的基本特征是具有多个工作模式,而且这些工作模式都对应不同的功耗和性能水平。一般情况下,功耗不可管理器件的性能和功耗存系统设计以及应用过程中都是不变的;相应地,基于PMC就可以在高性能、高功耗的工作模式与低功耗、低性能的工作模式之间进行动态切换。
PMC的另外一个重要特点是,工作模式之间的切换需要付出代价。在大多数情况下,代价指延迟或者性能损失。如果工作模式切换是非瞬态的,而且设备在切换过程中不能提供任何功能,那么无论何时开始一个模式切换都将会带来性能的损失。工作模式之间的切换过程还可能带来功耗代价,其经常出现在切换过程非瞬态的情况下。这里需要强调的足,在设计PMC的过程中不能忽略切换代价。
在大多数应用实例中,可以利用功耗状态机(Power State Machine,PSM)来对PMC建模。其中,“状态”是指各种不同的工作模式。由PMC的特点可知,工作模式之间的切换过程将会产生功耗和延迟代价。一般来说,工作模式的功耗越低,性能将会越低,而且切换延迟也将越长。这个简单的抽象模型适用于多个单芯片设备,例如处理器、存储器,以及硬盘驱动、无线网络接口、显示器等设备。
以Motorola公司的龙珠系列 MC68VZ328 处理器作为PMC为例,其具有三种工作模式:RUN、DOZE、SLEEP。RUN是正常工作模式,其在正常上电以及复位的情况下进入;在该状态下,所有的功能模块都处于有效状态。DOZE模式使得处理器在不使用的情况下能够通过软件控制来将其停止运行,但仍然会继续监听片上或片外中断源,即在DOZE模式下,当产生某个中断时,CPU能够快速地返回到RUN模式。SLEEP模式能够带来最大化的功耗节省,但同时具有最低层次的功能。从RUN到DOZE的切换,MC68VZ328依次关闭片上功能;而从SLEEP切换到其他任何一种状态,则都将会经历一个相当复杂的唤醒过程。