嵌入式系统动态电压调节设计技术
嵌入式系统的重要特点之一就是工作负载的不均匀性以及动态变化性,可以通过动态关闭设备或者动态调节处理器的工作电压来取得系统性能和功耗之间的平衡。目前已经在系统的多个层次提出了动态电源管理和动态电压调节技术,而且这两种技术已经成为动态低功耗设计过程中的主流技术。本论文则重点阐述动态电压调节设计技术的基本原理和策略模型。
关键词 嵌入式系统 低功耗设计 动态电源管理 动态电压调节
1 低功耗设计研究的必要性和可能性
嵌入式系统是多个设备或对象的组合,其在一定限制条件下相互作用可产生特定的功能。现在已经出现了许多测试标准来对嵌入式系统的整体设计质量进行评估,如系统性能、稳定性、能耗、设计和生产费用等,其中系统的能耗问题在最近几年已经逐渐成为一个重要的设计考虑因素。能量的高效使用除了能够降低系统操作代价(例如电能消耗)和减小环境影响(例如辐射干扰、噪声)外,对延长手持设备的电池寿命来说也非常有必要。为了在系统性能得到维护的同时降低系统能耗,需要同时对硬件和软件进行设计上的优化,而嵌入式系统的组成特点和应用特性也为能耗降低带来了可能性。
1.1 必要性
系统能耗已经逐渐成为嵌入式系统设计过程中的一个重要研究点,其重要性随着手持设备的普及而越来越突出。嵌入式系统设计者在以往设计过程中,将系统的稳定性、实时性、安全性等作为设计和考虑的重点。但是对系统设计者来说,现在又产生了一个新的挑战——降低系统的能量消耗,其必要性体现在以下6个方面:
① 现在越来越多的手持设备系统利用电池供电,而电池容量相对有限,因此有必要通过降低功耗来延长系统的可持续使用时间。
② 半导体工业的迅速发展使得系统集成度和时钟频率得到了显著提高,但IC器件运算能力爆发性增长的同时也导致系统的功耗急剧上升,这将带来热量释放的问题,而且也给设备的封装费用带来影响。可以通过系统功耗的降低来减小整个系统的设计和生产成本。
③ 电池技术的发展速度严重滞后于系统能耗需求的增长速度:在最近30年里电池容量只增长了4~8倍,但在相同的时间范围内数字IC运算能力的增长却超过了4个数量级。采用系统功耗降低技术可以弥补电池技术发展的不足。
④ 绿色电器理念越来越深入人心,低能耗高性能的嵌入式设备更容易得到用户的认可。
⑤ 人们对环境问题的关心程度越来越高。显然,系统功耗越大,外围环境所受到的辐射或者电磁干扰越严重。
⑥ 能量价格上浮等因素也从另外一个方面体现了降低系统功耗的必要性。
综合以上因素可以看出,嵌入式设备或者系统能耗的大小将会从多个方面影响系统的整体性能。因此,电子设计者在进行系统设计,尤其是针对手持设备类的嵌入式系统设计过程中,系统能耗将是一个越来越重要的设计因素。
1.2 可能性
现在的嵌入式系统设计是软硬件协同设计的过程,其系统组成和应用特性为动态的低功耗策略设计与应用提供了可能,这些可能性包括设备功耗模型、工作负载、系统嵌入三方面:
(1) 设备功耗模型
在嵌入式系统中,越来越多的设备除了正常功耗模式外,还支持一种或多种低功耗工作模式,这为动态的功耗管理提供了可能,即系统可以根据工作负载变化情况合理设置目标设备的工作模式。这就是动态电源管理(DPM)技术的应用。另外,商用CMOS芯片电源供给技术的发展,使得处理器内核的工作电压在运行期间根据应用任务的时间限制发生实时变化成为可能,即动态电压调节(DVS)技术应用;而高效DC—DC电压转换器的出现也为处理器工作电压的动态调节提供了硬件设计条件。
(2) 工作负载
嵌入式系统是多种本质上具有不同特征器件的集合。例如,某个便携式系统具有处理器单元、模拟单元(无线卡)、机械部分(硬盘驱动)以及光学器件(显示器)。显然,这4个单元在系统运行过程中实现的功能各不相同。系统通常是在作最坏打算的工作负载情况下为达到峰值性能而进行设计,但是系统通常处于欠负载工作状态,而且工作负载具有不均匀性。工作负载的变化性(或者不均匀性)为能耗的自适应降低提供了可能性。如果没有任务对某个目标设备产生服务请求,则该设备处于空闲状态,从而可以将其关闭,使之进入低功耗、低性能的睡眠模式;当某个运行的任务需要使用该设备时,则将其唤醒,使之进入高功耗、高性能的工作状态。
(3) 系统嵌入
当设计出节能效果显著的动态低功耗策略后,还必须将其嵌入到系统程序中才能得到实际应用。动态低功耗设计技术的重要性越来越突出,这除了从文献中的研究成果可以看出之外,还可以通过系统动态功耗管理工业标准的建立明显地看出。现在主流的操作系统,如Microsoft Windows、Linux都支持高级电源管理(Advanced Power Management,APM)、高级配置和电源接口(Advanced Configuration and Power Interface,ACPI)等模块。其中ACPI于1997年提出,被Intel、Microsoft、Toshiba等公司推荐为系统功耗管理中的标准软硬件接口。ACPI允许设备厂家、操作系统设计者、设备驱动编程人员使用同一个标准接口,而与ACPI兼容的设备也应该能够正确响应ACPI的调用,如参数设置、工作状态的查询等。通过对APM、ACPI机制的引用或改进,可以很容易地将低功耗设计策略嵌入到系统内核中,从而减轻了低功耗策略系统嵌入的工作量。
2 静态与动态低功耗设计
在系统级,有4种主要的能量消耗源: 处理单元、存储单元、显示单元、内部连接和通信单元。能量高效的系统层设计在保证各个单元交互效应达到平衡的同时,还必须使这4种类型单元的能耗最小化。
从总体上讲,功耗降低技术在嵌入式系统范畴内可以分为两大类:静态技术和动态技术。静态技术主要在系统初始设计过程中使用,其假设系统的功能定义和工作模式已知,而且将来也不会改变。在嵌入式系统软硬件设计的初期阶段,已经使用到了一些静态低功耗降低技术。例如,通过软件优化编译技术来优化所使用的指令代码,从而影响到运行程序的能耗;代码存储器和内存中的数据存取方式将影响到处理器和存储单元之间的能量平衡;数据表达方式也将影响到通信资源的功耗。另外,在参考文献[13]中也已经提出了一些静态功耗管理策略。在参考文献[1]中,针对采用EDF调度方法的实时系统提出了一种寻找最优电压调度的静态方法;在参考文献[2]中,作者研究了一个更为通用的处理器模型,该静态方法使得在某些非常特殊的情况下能够达到能耗的最优化;在参考文献[3]中,低能耗非抢占式调度问题被建模成一个整数线性问题,该系统包含一组具有相同到达时间和任务执行期限,但是上下文切换代价不同的任务。
与静态技术相对应,动态技术则是系统在运行阶段充分利用工作负载的变化性来动态改变设备工作模式,从而达到降低系统功耗的目的。动态技术本质上是一个系统级的设计方法,其最关键之处在于功耗管理(Power Management,PM)单元:PM单元监控整个系统的工作状态,当发现系统处于欠负载或者无负载状态时,就发送命令来控制目标设备的工作模式。而嵌入式系统的组成和应用特性也为动态的低功耗策略设计与应用提供了可能。
很明显,静态功耗降低技术只需在设计阶段使用一次,在运行过程中不能根据工作负载的变化而灵活处理;动态低功耗技术在运行过程中则能够很好地自适应于工作负载变化情况,更易于执行和应用。另外,随着系统功能增强和集成度的提高,静态技术已经不能完全满足系统对功耗的要求。尽管静态技术在一定程度上能够带来能量节省,但是最近的研究都着重于动态领域的低功耗设计技术,后者通常利用底层的硬件特性来获取有效的能量节省,现已成为嵌入式系统领域中降低功耗的重要手段。
3 DVS设计技术研究
3.1 DVS基本原理
随着商用CMOS芯片电源供给技术的发展,处理器内核的工作电压在运行期间进行实时调节成为可能;而高效DC—DC电压转换器的出现也为处理器内核工作电压的动态调节提供了条件。另外在软实时系统中,任务只需在规定的截止时间之前执行完毕就能达到系统的性能要求,不要求立即得到系统的响应。DVS技术就是根据任务的紧迫程度来动态调节处理器运行电压,以达到任务响应时间和系统低能耗之间的平衡。
DPM技术对非实时系统而言,能够显著节省能量。但是由于DPM内在的概率特性以及非确定性,不适用于实时系统。DVS技术却能够很好地解决嵌入式实时系统中的性能与功耗要求,根据当前运行任务的性能需求来实时调节处理器工作电压。DVS技术主要基于这样一个事实,即处理器的能量消耗与工作电压的平方成正比关系。如果只对处理器的频率进行调节,则所能节省的能量将很有限,这是因为功耗与周期时间成反比,而能耗又与执行时间和功耗成正比。早期DVS原理基于处理器的利用率来设置其速度,并没有考虑到运行任务的不同需求。现在已经针对实时系统提出了一些电压调节策略。例如,参考文献[4]针对电压可连续变化以及离散变化的处理器进行了讨论:为了降低电压可连续变化处理器的功耗,需要为每个任务找到一个具体的电压,从而将整个执行时间延长到对应的截止期限(deadline);对电压离散变化的处理器来说,则至少需要为每个任务找到两个执行电压。参考文献[5]则考虑了将周期性和非周期性任务进行联合在线调度的问题。该原理能够保证满足所有周期性任务的截止期限,并使得所接受的非周期性任务数目最大化。另外,在参考文献[6]中还针对分布式系统进行了讨论。
3.2 DVS策略模型
本文通过对一组任务的调度过程来阐述DVS策略模型。假设某个嵌入式处理器的工作电压能够在一定范围内连续调节,且内核程序需要处理5个相互独立的任务Ta、Tb、Tc、Td、Te,其中Ta、Tb是周期性的任务,另外3个任务则是间发性的,如表1所列,其中的时间均为相对时间。Ta、Tb的截止期限与它们的周期有关。每个任务在到达之后可以立即被执行或者延迟执行,但是都必须在各自的截止期限到来之前执行完毕。
假设系统最大的可供电压为3.3 V,在该电压下的功耗被标准化为1 W。由CMOS器件特性可知,供给电压的降低将会导致电路延迟的增加。电路延迟更精确的表达式为:
式中k是常数,Vdd为工作电压,Vt为门槛电压。
假设Vt的典型值为0.8 V。显然,当没有应用任何功耗降低技术时,系统的功耗为1 W。在对DVS调度技术进行说明的过程中,将其与DPM策略中的预测关闭技术进行了比较。当使用预测关闭技术时,假设系统完全预知工作负载的空闲时段,即处理器一旦进入空闲状态就立即将其关闭,从而使得该技术能够对系统功耗达到最大程度的优化。DVS策略应用的最终目的在于满足各个任务截止期限的同时使得系统功耗最小化。任务调度过程采用了EDF(Earliest Deadline First)调度机制。
图1显示了预测关闭技术和DVS方法的调度结果。
如图1(a)所示,在系统预测关闭技术下,系统的工作电压一直为3.3 V。所有任务在[0,4]、[5,13]时间段内执行完毕,而处理器在[4,5]、[13,20]时间段内将被关闭,然后再为下一个周期性任务提供服务。处理器占空比是60%,因此平均功耗为0.6 W。而在DVS应用过程中,如图1(b)所示,系统的平均功耗为0.38 W,该值比预测关闭技术又降低了(0.6-0.38)/0.6 =37%。
0.38 W只是在不知道间发性任务(即Tc、Td、Te)到达时间的情况下所能达到的最小功耗值。如果能够完全知道间发性任务的到达时间,则DVS最优策略就能够使处理器在所有时间内都维持在一个最低的电压水平,同时保证所有任务都满足截止期限的要求。在图1(b)中,如果系统能够预知Tc、Td、Te的到达时间,则[0,20]时间段内的最优电压为2.48 V,该电压值所对应的处理器速度为最大速度的60%(即[3.3/(3.3-0.8)2]/[ 2.48/(2.48-0.8)2]),该运行速度也导致系统的平均功耗降为0.34 W。显然,这个功耗平均值也对应着在不知道间发性任务到达时间的情况下系统功耗所能达到的最小边界值。
3.3 DVS与DPM的比较
通过对DVS、DPM的基本原理以及策略模型的阐述可以看出, DVS与DPM原理之间有着明显的区别,但同时也存在着一致性。
DVS与DPM的区别在于:
① DVS在运行过程中根据工作负载的应用需求(即任务完成时间)来动态调节设备(以处理器为主)的工作电压,而DPM原理则是根据工作负载的有无来设置设备工作模式。
② 在DVS中,设备的工作电压是可变的,因此需要稳定的DCDC电压转换电路;而在DPM中,设备的工作电压处于恒定状态。
③ DVS一般应用于对任务执行时间要求比较严格的实时应用系统中,它能够很好地解决嵌入式实时系统中性能与功耗的要求。而DPM由于内在的概率特性以及非确定性,不适用于实时系统,一般应用于非实时系统。
DVS与DPM之间的一致性体现在:如果将设备工作电压的连续变化(或者离散变化)也看成是工作模式的变换,那么就可以将DVS包含在DPM的范畴之内。从该意义上来说,DVS延伸了有效工作状态的定义,即包括多个连续或者分散电压值,这样在运行期间就出现了若干个能够在性能和功耗之间取得平衡的工作状态。通过这种方法,PM在系统有负载时就可以使用DVS,而系统处于空闲时则将器件转移到低功耗状态(DPM应用),这样就能同时控制性能和功耗水平,从而得到更大的功耗节省。
通过上述比较分析可以看出,DPM与DVS两者之间既存在着差异性,同时也保持着一致性,应该根据系统特点来合理选择应用DPM与DVS。但是,当DPM和DVS对某个系统都适用时,应优先考虑DVS,因为其能够带来更多的能耗节省。
结语
以往的嵌入式系统设计主要涉及功能、稳定性、设计和生产费用等,系统功耗相对来说是一个比较新的设计考虑因素。降低功耗主要是基于延长手持设备中电池的寿命、降低芯片封装和冷却费用、提高系统稳定性和减小环境影响等方面的考虑,其重要性随着手持设备的普及而越来越突出。
尽管DPM和DVS技术在过去十几年里都取得了很大的进步,但在系统低功耗设计领域中有关最优化设计和分析的研究空间仍然很大。例如,与电池相关的DVS策略还需要进一步的研究。众所周知,在电池供电系统中如果降低系统的工作电流或者工作电压,将会导致电池容量的增加,这种现象在电压调节的过程中应该加以利用。
评论
查看更多