导言
智能手机中包含了许多耗能设备, 比方MP3、MPEG- 4、Wi-Fi、数码相机、3D 游戏等等。在手机电池容量还没有完结质的腾跃的前提下, 咱们不得不考虑手机电源节能的问题。我首要经过了以下四个方面来论述在依据Linux 平台上的智能手机的解决方案。
CPU 的挑选
虽然现在有了各种在不过多加剧功耗担负的前提下进步功用的技能, 但用一个芯片来处理这么多各式各样的使命, 恐怕现已不是一个很好的挑选了。一是由于这些功用对芯片处理功用的要求或许各不相同, 二是由于一个担负着如此许多使命的芯片必定需求很高的速度, 下降功耗变得很困难。
在这种情况下, 多CPU 体系(MPCore)成为一个必定的趋势。多CPU 体系的一个显着的优势是: 针对不同的使命处理需求, 不同的CPU 能够各尽其职, 将本身的优势充分发挥, 由此带给手机最优化的功用表现。另一个优势明显仍是表现在对功耗的操控上: 假如用单CPU 来完结一切的功用, 不可避免地需求一个很高的CPU 速度, 然后形成很高的功耗。用一颗高速CPU 来完结这样的使命, 无疑是大牛拉小车, 一起糟蹋许多动力。多CPU 体系能够依据不同的使命需求合理地发动、中止相应的CPU 来完结使命,不需求的时分处于停歇状况, 完结最大极限地操控功耗。
已然咱们挑选了多CPU 的架构, 那么接下来CPU 的功用便是咱们要考虑的第二大问题。一般的情况下, 咱们是在CPU 的功用( Performance) 和功耗(Power Consumption) 方面进行比较和挑选。一般能够选用每履行1M次指令所耗费的能量来进行衡量, 即Watt/MIPS。
咱们把CPU 的功率耗费分为两大部分: 内核耗费功率PCORE和外部接口操控器耗费功率PI/O, 总的功率等于两者之和, 即PPCORE+PI/O。关于PCORE, 要害在于其供电电压和时钟频率的凹凸; 关于PI/O 来讲, 除了留心各个专门I/O 操控器的功耗外, 还必须重视地址和数据总线宽度。
在数字集成电路规划中, CMOS 电路的静态功耗很低, 与其动态功耗比较根本能够忽略不计。CMOS 电路动态功耗的计算公式如下:
Pd=CT*V2*f, 其间Pd 是CMOS 芯片的动态功耗, C是CMOS芯片的负载电容, V 是CMOS 芯片的作业电压, f 是CMOS 芯片的作业频率。
由上可见, 当CPU 确认后, 我能够经过下降频率和电压来削减体系的功耗。
在CPU 的挑选方面, 咱们引荐选用Intel 的Xscale 芯片, 以及IBM的PowerPC405G 芯片。
动态电源办理(DPM)
体系不或许一直处于满负荷状况, 由于体系的作业量随时都在改动。动态电源办理(DPM) 经过挑选性的将闲暇的体系组件置于低能耗状况完结了体系全体能耗的最优化。
咱们更为重视的是DPM在Linux 框架结构下的完结。图1 展现了电源办理和嵌入式Linux 仓库之间的联络。
电源办理和嵌入式Linux 仓库之间的联络
以下是一些于电源办理相关的接口以及API:
内核接口。在针对Linux 的DPM 架构中, 内核中的DPM 子体系担任保持体系的电源状况, 并把DPM 体系的各个电源得到办理的元件联络在一起。DPM 子体系经过多个API 直接与设备驱动程序通讯, 这些API 把驱动程序从彻底运转状况转为各种电源得到办理的状况。战略办理器( 或应用软件本身) 经过多个API向DPM 子体系供给辅导, 这些API 界说各种战略, 并在界说好的运转点之间搬运整个体系。
驱动程序接口。启用了DPM 的设备驱动程序比默许驱动程序具有更多“状况”: 由外部事情经过各种状况来驱动它们, 或经过来自内核DPM 子体系的回调来驱动它们, 然后反映并遵从运转战略。驱动程序API 还答应驱动程序挂号它们衔接和办理的各个设备的根本运转特征, 然后完结更精密的战略决议计划。
用户程序API, 用户程序( 应用软件) 分为三类:
(1)可感知电源办理的应用软件;
(2)可感知电源办理的“包装器”中的传统应用软件;
(3)不带电源办理的传统应用软件。
可感知电源办理的应用软件能够充分利用来自战略办理器的API, 然后树立各自的根底束缚, 并强制电源办理战略发生变化, 以便匹配各自的履行要求。不直接带有电源办理功用的传统应用软件能够“包装”到代码或补丁中, 然后完结适当的效果, 它们还能够依照默许行为来运转, 这取决于更宽规模的默许战略办理。
嵌入式Linux DPM 下的实践机制包含各种API, 比方dpm_set_os ()( 内核) 、assert_constraint ()、remove_constraint () 和set_operating_state () ( 内核和驱动程序) 、set_policy () 和set_task_state()( 经由体系调用的用户级接口) , 以及/proc 接口。
电源办理战略在体系电源办理中扮演了极为要害的人物。DPM的战略笼统模型的履行体系类似于状况机。在DPM中有2个概念很重要: 一个是履行点(operating points), 另一个是履行状况( operating states) 。DPM的履行点来自一些独立的体系参数, 包含履行电压, 频率, 以及总线带宽等等。跟着事情的改动, 体系的状况也不断的改动( 如图2 所示) 。在DPM中, 每个体系状况都是一个履行状况, 包含闲暇态、活动态和睡觉态。
体系的状况不断的改动
自适应电压调整(AVS)
在CPU 的挑选部分, 咱们知道了体系能耗是与电压和频率严密相关的。现在咱们来讨论一下调整电压在下降能耗方面的效果。在电压调整方面, 自适应电压调整是一种很有用的办法。自适应电压调整AVS(Adaptive Voltage Scaling)是经过反应机制将电源电压调整到给定作业负载(处理量)所需的最小值。这种闭环方法可进一步减小功耗, 但需求将部分电源办理电路置入主处理器。