消费者对采用多媒体嵌入式处理器产品的需求迅速增长,这既要求提高性能又要求降低功耗。但是高性能处理必须增加计算复杂度并加快时钟速率,如果采用权宜之计的节省功耗设计方案,是很难实现的。我们需要的是一种具有战略意义的方法来管理功耗,以便在具体的嵌入式应用中优化性能与功耗的关系。利用Blackfin数字信号处理器(DSP)系列产品固有的动态电源管理能力,可以实现这样的方法。
Blackfin DSP是定点、双16位MAC或双40位ALU数字信号处理器。它们非常适合于对功耗敏感的多媒体应用,因为它们支持一种多级的电源管理方法,可以根据系统的需求调整性能。下面我们先来看看嵌入式系统中的几个关键的功耗问题考虑,再看看Blackfin处理器系列如何采样动态电源管理功能来解决这些问题。
1. 改变频率和电压
现代DSP通常适合用于采用CMOS 场效应管(FET)开关的一种处理过程,在稳定的状态期间要么完全导通,要么完全关断(漏电流除外)。静态功耗(处理器空闲时的静态功耗)通常要比动态功耗低得多,动态功耗是当器件频繁地开关并且电压摆动时由于FET负载电容以极高的开关频率充放电引起的。
在
器件的等效负载电容中存储的电荷量(Q)等于电容乘以其两端所存储的电压(也就是DSP的内核电源电压,Vcore),
Q = CVcore,
因为给此电容充电的器件电流定义为电荷对时间的变化率,即动态电流(Idyn),由下式给出
Idyn = dQ/dt = C(dVcore/dt)
电容器电压随时间的变化率dVcore/dt是电容充电速度或放电速度的一种度量。对于给定的时钟频率(F),因为最快完成一次充电或放电应发生在一个时钟周期内。因此
dVcore/dt = Vcore(F)
电感厂家 Idyn = C(dVcore/dt) = CVcoreF
最后,动态功耗与Vcore×Idyn成正比,或者
Pdyn ∝ CVcore2F
因此很显然,动态功耗与工作电压的平方成正比,与工作频率成正比。所以,如果降低F可以线性地降低动态功耗,而降低Vcore可以呈指数地降低功耗(见图1)。
考虑图1中的应用组合了三种不同的DSP功能,所以它们具有完全不同的性能需求:
F0(x)%201.5%20V%20300%20MHz
F1(y)%201.0%20V%20100%20MHz
F2(z)%201.3%20V%20225%20MHz
例如,F0(x)可能是一种视频处理算法,F1(y)可能是某种监视模式(其中DSP采集数据并进行很少的处理),而F2(z)可能是将压缩视频流送出串行端口的过程。
当DSP长时间处于监视活动中时,仅仅改变频率(不改变电压)对功耗敏感的应用中是很有用的。也就是说,如果DSP正在等待一个外部触发,它就不需要以最高频率运行。
但是,在某些电池供电应用中,简单地改变频率对于节省功耗可能还不够。例如,如果某应用运行了三部分的代码,降低其中任何一部分的工作频率都意味着这部分代码会花更长的时间去运行。但是如果DSP运行时间加长的话,当三部分代码都完成时,消耗的总功率是一样的。例如,如果频率降低二分之一,代码会执行两倍长的时间,所以就不能节省净功耗。
另一方面,通过降低电压和频率可以节省相当大的功耗。节省的功耗可以用下式来表征:
PR/PN=(FCR/FCN)(VDDR/VDDN)2(TFR/TFN)
其中:
*%20PR/PN表示降低功耗与标称功耗的比率
*%20FCN表示标称内核的时钟频率
*%20FCR表示降低内核的时钟频率
*%20VDDN表示标称内部电源电压
*%20VDDR表示降低内部电源电压
*%20TFR/表示以FCR频率运行的持续时间
*%20TFN表示以FCN频率运行的持续时间
例如,图2示出了具有如下特性的一种情况:
* FCN = 300 MHz
* FCR = 100 MHz
* VDDN = 1.5 V
* VDDR = 1.0 V 大功率电感厂家 |大电流电感工厂