目前,可用的电源管理技术很多,人们也在积极研究许多新技术。遗憾的是最有效的技术常常与操作系统及应用框架发生冲突。新技术往往相当复杂,并针对特定的专门应用进行优化,在多用途计算平台上的适用性也时常受限制。本文首先总结了普通的节电技术,然后介绍一些效果更好 (higher-payoff) 的技术(CPU 时钟闲置以及电压与频率缩放),并将介绍这些支持技术如何集成为辅助电源管理器模块,从而成为数字信号处理器 (DSP) 的实时操作系统。在此提供了一个音频应用实例,说明如何利用该架构大幅提高功效。本文是专门介绍低功率设计的上下两部分系列文章中的第一篇。第二篇文章将集中讨论外设及 I/O 电源管理技术,将节电扩展到 CPU 内核范畴之外。 节电技术 CMOS 电路的总功耗是活动功耗与静态功耗之和。电路工作或从一种逻辑状态转换到另一种逻辑状态时会产生活动功耗;电路未发生转换时会发生静态功耗,主要是由于晶体管漏电流造成的。活动功耗近似值的计算方程式如下: Pactive ~ Cpd x F x Vcc2 x Nsw 这里的 Cpd 为动态电容,F 为开关频率,Vcc 为电源电压,而 Nsw 为转换的比特数。从上述方程式中看到,最简单的节约活动功耗的方法就是停止电路计时,即设 F为零,让 Pactive 为零。许多 CPU 都有“闲置”或“停止”指令以实现此目的,在 CPU 等待中断时通过门控使内部 CPU 时钟关闭。此外,一些处理器还包括分立控件,可通过门控关闭非 CPU 时钟域,如高速缓存、DMA、外设、时钟脉冲发生器等。 回过头再来看上面的方程式,如果应用在降低 CPU 时钟速率时仍可满足处理要求,则就能相应成比例地节约活动功耗。如果 CPU 频率可安全降低,而且该频率与 CPU 可用的较低工作电压兼容,那么由于 Vcc 的二次关系,通过降低电压就可能额外大大降低功耗。不过,降低 CPU 时钟速率也会成比例延长执行任务的时间,这就要求认真分析应用,看看其能否仍能满足实时要求。 为 OS 添加电源管理支持 时钟闲置以及动态频率与电压的缩放对总体应用和操作系统本身都会产生巨大影响,这常常是实现上述技术的一个障碍,例如,如果 CPU 频率的缩放是动态的,就可能影响 OS时间基,而且会导致时钟与 CPU 时钟相关联的外设驱动程序的故障。同样,如果某项任务在等待 I/O 完成时任意使 CPU 闲置,那就很容易导致应用死锁。因此,为了积极采用上述技术,OS 功耗必须低 (power aware),某些操作责任(如 CPU 时钟闲置)必须由 OS 来承担。 德州仪器(TI)的 DSP/BIOS操作系统增加了电源管理器模块(PWRM)作为辅助模块,如图1所示。电源管理器与 OS 内核联系松散,位于该内核的旁边;它不是作为系统中的另一项任务,而是作为一组 API 存在,在应用控制线程与器件驱动器环境下执行。 图1 电源管理器分区 通过上述 API,电源管理器可支持电压及频率 (V/F) 缩放、仅频率缩放、时钟域闲置、OS 闲置时间内配置时钟的自动闲置,而最重要的则是整个应用中的用电事件之间得处理协调(如应用代码、驱动程序以及 OS 本身),从而通知注册的客户端 (client) 特定用电事件何时发生。用电事件的实例为:将要缩放频率,缩放频率完成,进入深度睡眠状态,从深度睡眠状态苏醒,电力不足等。电源管理活动是触发式应用;更改 DSP 操作模式或功能的主要决定由应用做出,并通过调用电源管理器提供帮助。 通过写入时钟闲置配置寄存器,以及控制着 CPU 时钟速率与稳压电路的平台专用功耗调整程序库 (PSL),PWRM 直接与 DSP 硬件相连。PSL 将 PWRM 及应用的其它部分与频率及电压控制硬件的低电平 (low-level) 实施细节相隔离,确保在所支持的电压与频率组合(设定点)间实现安全过渡。 音频实例 以简单的音频应用作测试工具 (vehicle)并作为测试电源管理器特性效率的基准。该应用经过修改可测量激活不同节电特性时的效果。电流感测电阻器主板电源以及 DSP 内核电源串联,并用伏特计测量电阻器上的压降以确定主板及 DSP 内核的电流。 结 语 采取分阶段的方法来实施电源管理可大大降低功耗。不必等目前正在进行的新技术研究取得成果;在某些情况下,将基本而实用的一些关键支持技术结合到操作系统或应用框架中就可实现 CPU 节电达 95% 以上。电源管理支持的设计方式可做到:方便易用,允许开发人员选取满足具体应用要求的特定技术,而且非常便于携带。该框架可作为跳板,为添加新出现的更先进的 (aggressive) 专用技术以及未来的电源管理技术作好准备
|