嵌入式系统能耗的动态管理方案
一般来说,处理器运行得都太快了。例如,从 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 表示如果该预测的信任水平在栈中为最高,则应该使用该水平。当系统中发生某特殊事件时,例如一次任务切换,则要从栈底开始向上重新对不同的预测进行评估,以导出一个唯一的总体性能预测。
评论