电源管理方案

单电源、低电压供电

模拟电路的工作电压范围宽,电路正常工作的动态范围大。在允许牺牲电路增益的条件下,降低电源电压,压缩电路动态范围,可大大减小电路的工作电流,从而降低设备的功耗。

分区/分时供电

一个嵌入式系统的所有组成部分并非时刻在工作,可采用分区/分时供电技术。原理是利用开关控制电源供电单元,在某一部分电路处于休眠状态时,关闭其供电电源,仅保留工作部分电路的电源。

电源管理设计

系统根据不同的使用环境对CPU的运行速率进行合理调整。如过系统使用外接电源,CPU将按照正常的主频率及电压运行;当检测到系统为电池供电时,自动切换CPU的主频率及电压至较低状态运行。

动态电源管理

动态电源管理(Dynamic Power Management,DPM)技术有选择的把闲置的系统模块关闭或者置于低能耗状态,从而有效的利用电能。DPM基于下面的假设:

  • 系统各个部分的工作负载不同
  • 系统在每个工作时刻的负载不同
  • 工作负载可以预测

一个电源管理系统包含一个电源管理者,它能够基于对工作负载的观察来完成控制策略。例如,简单的策略可以是某一部分不工作时,关闭供电或置成省电状态。该策略可采用不同的方法来实现,如计时器、硬件控制或软件控制。

一个电源管理系统可以用一个电源状态机来模拟,电源状态机的每种状态都代表着电源消耗情况及相应的系统性能。状态之间的转换需要一定的能量及延迟。一般来说,如果在一种状态下耗能低,系统性能也较低,转换的延迟时间也较长。如硬盘系统可以表示为3种状态:活动态,此时硬盘可被读写;闲置态,可立即转换到活动态;睡眠态。

预测性策略利用以前的工作负载情况来预测将来的闲置周期。最简单的预测技术设定策略,其缺点在于当系统模块等待超时设定期满的过程也会消耗电能。有些预测性的停止策略对超时设定进行了改进,即当一个新闲置周期开始时就把系统模块转换到低耗能状态。为了处理非静态工作负载,一些适应性技术相继出现。这些技术主要通过启发式的方法来调整超时时间。预测性及适应性策略均是启发性的。基于随机性模型的策略可取得最佳结果,结果的质量取决于所做的假设。测量结果表明这种方法可大大降低电能的消耗量。

动态电压缩放

动态电压缩放(Dynamic Voltage Scale,DVS)基于器件工作电压越高则功耗越高的原理。系统的动态功耗和电压的平方成正比,降低供电电压可以降低系统的动态功耗。它允许在运行时改变CPU的工作电压,一般可以设置几个离散电压值,软件首先分析系统状态,然后可以根据需求在几个电压值之间进行动态调整。

动态电压缩放可以在系统不同层次上实现,在硬件上是针对处理器的设计;在操作系统中是在调度模块实现缩放电压的算法;还有是在编译器中和应用程序中实现。

动态电压缩放算法

操作系统级的动态电压缩放算法的基本原理是操作系统的调度模块根据工作负载的需求来给每个任务分配不同的电压值,同时调节处理器的电压和频率,以达到降低能耗的目的。针对操作系统的动态电压缩放算法可分为两大类:一类是基于间隔方法(Interval-Based approach)的算法,另一类是基于任务方法(Task-based approach)的算法。

基于间隔方法算法

这种方法的原理是系统将时间分割成固定长度的间隔,根据以前间隔中CPU的使用率对每个间隔的时钟速度进行调节。这类算法可分为两大流程,第一步是根据系统过去的行为来预测系统以后的工作负载;第二步就是根据预测的系统负载来缩放电压和时钟频率。这两步通常被称作预测和设置时钟速度。

比较经典的基于间隔的动态电压缩放算法主要有:FLAT,PEAK,PAST,AVGn。

基于任务方法算法

这种方法是考虑系统的工作由具有CPU需求和时限的任务组成,系统尽快的运行CPU以合理的概率来满足时限要求。它的基本原理就是以调度策略为基础,比如最早时限优先(EDF)或速率单调(RM)调度策略,根据每个任务的具体情况来决定供电电压。

比较有代表性的基于任务算法有:针对间发任务的动态电压缩放算法,间发任务调度STS算法和针对非周期任务的动态电压缩放算法。

任务内动态电压缩放方法算法

因为基于任务的动态电压缩放方法存在浪费松弛时间的问题,因此提出了针对编译级的任务内动态电压缩放方法。这种方法的基本原理是在编译时作出电压缩放的决定,确定缩放电压的代码插入哪个位置,这样就将一个任务划分成一个一个的时间片,在执行任务时电压就可以动态的在每个时间片中变化。

它可以分为两类:基于路径的任务内算法和随机任务内算法。这两者的差别在于怎样估计松弛时间和调节速度。

部分内容整理自百度百科:
动态电压调节