电源优化

让我们回想一下功率方程:

(62) Totalpower=leakagepower+A Cdyn V2 f(6-2) \ Total power = leakage power + A \ C_{dyn} \ V^2 \ f

此处,AA是活动常数(处理器是否处于活动睡眠状态,或者在时钟门控条件下有关的活动常数),CdynC_{dyn}是动态电容,VV是电压,ff是工作频率。从这个方程式可以很容易地看出,为了降低功耗,可以采用以下方法:

  • 降低电压和频率

  • 减少活动量和CdynC_{dyn}

    当电压在电压定标范围内随频率近似线性增加时,术语V2f表​​示功率相对于频率的三次方关系(见图6-5)。因此,降低电压和/或频率导致功率的显着降低。可以将以这种方式节省的功率提供给系统的其他部分,以使整个系统的运行受益。

但是,频率降低不能帮助在Vmin处低于Fmax(低于该电压不能降低电压,因为存在电路工作所需的最小电压)。在Vmin区域中,电压保持恒定,因此降低频率可以节省很少的功率。

在这一点上,只有活动和减少Cdyn才能提供进一步的功耗优化。这需要更有效的算法和微体系结构设计,以及动态关闭电路中未使用的部分。 上述降低功耗的考虑催生了功耗优化的新思想和方法,包括各种门控优化和特殊用途的异构硬件组件的使用,例如集成了能够进行多媒体处理的GPU,相机图像处理等。上。总的来说,这不是硬件问题。它也需要在软件微体系结构级别进行仔细考虑。

通常,良好的电源优化需要结合许多方法,所有这些方法都在朝着节省功率和延长电池寿命的目标协调工作。从系统工程的角度来看,可以通过有选择地关闭系统某些空闲部分的电源,在系统内的各个单独电源域中进行优化。 可以在系统的各个级别上进行功耗优化。通常,功率优化是在以下级别完成的:

  • 架构优化

  • 算法优化

  • 系统集成优化

  • 应用程序级别优化

通常,功率优化结合了所有这些方法。架构优化在处理器硬件级别处理优化机会,并尝试获得合适的硬件-软件分区。算法优化在系统和应用算法中寻找节电机会。例如,在硬件和硬件抽象层之上,图形执行堆栈包括应用程序,中间件,操作系统和图形驱动程序的分层层。节省功耗的机会存在于每个层中,并且可以通过算法优化加以利用。

但是,层间优化机会更加复杂,并且通过在系统集成级别采用优化来解决效率低下的问题。例如,可以通过选择使用较少的层并重新定义层的边界以找到最省电的优化位置来提高效率。此外,在应用程序级别,可以通过在最节能的设备上运行任务来考虑在CPU和集成GPU之间进行负载分担,以便在一个单元中节省功率,而另一个单元又可以节省功率。这些优化技术的讨论将在后面详细介绍。

Last updated