嵌入式处理器的低功耗的实现方案
扫描二维码
随时随地手机看文章
一直以来,嵌入式处理器的低功耗是通过使用一些低功耗的空闲或睡眠模式来实现的。现在,嵌入式处理器要承担更复杂的工作,需要更高的性能。新的应用程序(如音频和视频播放以及游戏等)一般运行时间都相当长,“运行时间”与“空闲时间”之比也上升得很快。传统的电源管理技术在空闲时间中是非常有效的,但要在运行中节省电池能量就无能为力了。
此外,电源管理芯片制造商仅仅把注意力集中在供电的管理方面。情况一般是这样的,嵌入式处理器供应商给出输入/输出功率要求,功率半导体供应商则争相开发出尽可能高效的满足要求的IC。然而,现在象开关稳压器这样的电源管理 IC 效率已经达到了 95% 的高峰。这迫使今天的电源 IC 供应商不仅要在价格上竞争,还要靠效率的每一点细微增长进行竞争。当前手机市场的发展趋势显示,这些传统的方法已无法满足业界对提升效率的需求。
尽管电池技术一直有稳定改进,如更长的寿命及更小的体积,但这种发展仍然无法赶上下一代设计快速增长的功率需求。要在新产品中将电池寿命延长到最终用户可以接受的水平,普通的电源管理方法已经不能胜任了。
工艺技术的发展趋势也加剧了电源管理的复杂性。过去,CMOS晶体管在静态时消耗功率很少,几乎可以忽略不计。然而,随着速度和密度的增加,工艺尺寸在不断缩小,静态功耗也在增长。根据估计,对于用 0.13 微米高速工艺实现的芯片,其静态功耗要占总功耗的 15-20%。而且,随着工艺技术进入 100 纳米以下,静态功耗将呈现指数式的增长,并将在处理器总功耗中占据主要部分。
有一种方法可以协调高性能与低功耗之间的矛盾,这就是让处理器根据当前的工作负载,运行在不同的性能等级上。举例来说,一个 MPEG 视频播放器需要的处理性能比MP3音频播放器高一个数量级。因此,当播放 MP3 时,处理器可以运行在较低频率上,而仍然能保证播放的高质量。当时钟频率降低时,可以同时降低处理器的供电电压,以达到节能的目的。
动态电压调整技术 (DVS) 就利用了这样一个事实,即 CMOS 工艺处理器的峰值频率与供电电压成正比。图 1 显示了频率与电压的关系,其中的测试使用了一个 ARM926EJ-S 处理器内核(0.18 微米工艺)。可以看到转折点在大约 90 MHz,这是调整技术适用电压范围的一个限额。
以下是一个 CMOS电路的近似功率方程:
P = CVDD 2fc + VDDIQ其中:
· P 为供电电压 VDD 消耗的功率。
· C(VDD)2fc 是源于切换的动态功耗部分(C 是电容,fc 为频率)。
· VDDIQ 是源于泄漏的静态功耗部分(IQ 为泄漏电流)显然,对一个给定负载,动态功率的量值与供电电压的平方成正比。
减少供电电压并同时降低处理器的时钟速度,功耗将会呈二次方的速度下降,代价是增加了运行时间。由于每次电池充电后其中储存的能量是有限的,所以能量管理技术是唯一一种可以扩展电池使用寿命的方法。图 2 显示的是当频率与电压都从最高值下调时,等效的节能情况。因为电压的下降不可能超过某一个最低限,所以即使把频率降低到曲度以下也不能产生更多的节能效果。因此,能量管理技术也存在一个适用频率范围,在这个范围内的电压升降才是有效的(本例中约为 90-170 MHz)。
图2计算出ARM926EJ-S处理器节能与频率关系图
电压控制和频率控制的要求图 3 比较了两种电源管理方法的效果,一种使用动态电压调整法(DVS),另一种是普通的门控电源管理方法。DVS 方法能显著降低整体功耗。
一般来说,处理器运行得都太快了。例如,从 QoS 观点来看,如果软件只需要在一秒钟内显示完 30 帧视频图像,则处理器在半秒内就完成所有解码是没有意义的。提前完成任务的做法使能量利用效率较低。
取得性能与节能平衡的关键在于使用智能软件,它可以把处理器的性能降低到正好满足应用软件需求底线的水平。这种软件应该包括“性能设定”算法,由该算法来确定处理器运行的最佳性能级别,并且管理象 DVS 这样的性能调整技术。
现有的 DVS 系统使用的是开环控制技术,CPU 的特性是通过给定时钟速度和电压下的工作量来确定的,并留有足够的余量来适应温度、供电和晶圆工艺的变化。
嵌入式处理器被设计成能在宽广的温度范围内工作和适应不同的硅工艺。因此,必须采用较高的安全裕度,才能在电源效率降低时确保足够的安全工作范围。随着供电电压逐步转向 1.2V 或更低,所需安全裕度的百分比也随之增加,以覆盖温度及硅片工艺的各种变化。
CMOS电路的速度会随温度的升高而减慢,这一效应必须算到供电电压安全裕度里,虽然一般的工作温度都是室温。由于工艺技术的变数很多,如不同内核、不同晶圆、不同批量甚至不同代工厂都各不相同。为了保证高的产量,这些保护带(guard-b ands)可以相当宽,从而对总体功耗有显着的影响。
可以用大量的特性来构建一个频率与电压对照表,以确保在所有工作条件下都能满足性能要求。然后把一个确定的电压/速度集合以硬编码方式写到芯片中。在实际工作中,SoC 上定制的软件驱动通过一个专门的硬件接口来设定所需电压级别。在改变时钟频率前,必须通过一个定时器或其它方法来检查稳定电压状态(VDD_OK)。
自适应电压调整(AVS)方法是一种闭环控制技术,它比 DVS 有明显的改进。AVS 采用固有的对工艺与温度变化的补偿,简化了电压调整的方法,不再需要频率/电压表。这种技术的实现需要与嵌入式处理器协同使用几个硬件性能监控器,由它们接收从性能设定算法送来的更改性能级别的请求。这些性能监控器可以准确地监控内核内外的工艺与温度变化情况,并且通过标准接口与外部的能量管理单元(EMU)进行通信。
ARM国家半导体能量管理解决方案ARM公司一直在研究一种对性能调整硬件进行智能控制的解决方案。美国国家半导体公司则一直在研究一种智能控制供电电压、简化 DVS 方法以及通过 AVS 减小安全裕度的解决方案。两家公司现在已经可以给电池供电设备的开发商提供一种端到端的方案。
ARM 公司的 Intelligent Energy Manager(智能能量管理器,IEM)解决方案以一个软件部件为中心,即 Intelligent Energy Management 软件。IEM 软件与运行在应用软件下的操作系统(OS)相互衔接,使用从 OS 内部架构获得的参数,通过正在运行的应用程序“指导” OS 的使用。可以用一些复杂的软件算法来评价不同类型的软件活动,然后产生一个对未来性能的预测。每个预测结果用一个评测栈来加总,以确定出一个总体的性能预测。
策略栈的工作情况显示在图 4 中。每个算法都把自己的预测作为一种性能级别 (PeRF.)送进栈中,每个预测都有一个相关的指令指出当前预测的权重,如果信任水平为低则 IGNORE(放弃该预测),如果为高则 SET(指定该预测),SET_IFGT 表示如果该预测的信任水平在栈中为最高,则应该使用该水平。当系统中发生某特殊事件时,例如一次任务切换,则要从栈底开始向上重新对不同的预测进行评估,以导出一个唯一的总体性能预测。
与 IEM 软件一起联合工作的是 Intelligent Energy Controller(智能能量控制器,IEC)部件。IEC 是一个 APB 外设,它可以快速地集成到任何基于 AMBA 规范的 SoC 设计中。IEC 使用精密计数器和定时器测出当前的系统性能水平,并将其送给软件,以确保处理器的性能永远能够满足软件工作负荷的最低要求。它还将大部分软件测量活动下载给硬件,从而减少了处理器上 IEM 软件的开销。
IEC 部件还提供一个对性能调整硬件的抽象。从软件的角度看,当工作负载变化而且预测被修改时,才向 IEC 提交一个新的性能级别请求。这种性能级别的实现则用抽象方法对软件进行隐藏。ARM 的 IEM 软件部件优化功耗的性能设定算法是基于工作负荷的差异,与之类似,国家半导体的 PowerWise 技术也根据当时的环境状况以及各器件间的工艺差异,通过调整运行参数来确保处理器不会在最差的情况下工作。
国家半导体用于自适应电压调整或动态电压调整的 PowerWise 技术的核心是一个低门数、综合的数字部件,名叫 Adaptive Power CONtroller(自适应功率控制器,APC)。APC 包括硬件性能监控器,它可以准确地监控处理器的功耗,跟踪温度以及不同器件工艺的变化。APC 与片外能量管理单元(EMU)的通信通过一个双线、双向总线进行,这个总线叫 PowerWise 接口(PWI)。
图 5 显示了完整的端到端参考解决方案,它使用了 ARM 公司的 IEM 和 IEC 部件,以及国家半导体公司的 APC 和 EMU 部件。
由 ARM 的 IEM 预测出的总体性能级别通过 IEM 硬件部分的抽象层传送给 APC。APC 自适应地调整供电电压,以覆盖内核工艺和当时的运行条件,满足特定的性能要求。
在设计时 IEC 可以配置为连接到片上特别设计的时钟管理单元(CMU)和 APC 部件。CMU 负责为处理器提供与