当前,移动多媒体应用在消费类电子中正变得越来越重要,然而由于受电池寿命的限制,其功耗问题也越来越突出。如何找到能量效率和服务质量之间的平衡点,已成为当前SOC系统设计中的一个热点问题。
在SOC设计中,设计者大量重用现有经过验证的成熟IP核,对于设计一个复杂系统并保证其上市时间的意义重大。当前,很多专业的IP供应商提供了大量可供设计者选用的IP核,设计者们需要根据应用需求,选出合适的IP核,并确定每种IP核对应的配置。对于移动多媒体SOC的设计,为了实现系统级的优化,SOC系统设计者的核心目标之一即是在保证多媒体服务质量的同时使得系统代价(芯片面积和功耗)最小化。
本文对多媒体中视频应用的编码特征以及负载特性进行分析,从系统设计及优化的层次,将功率管理模块嵌入至多媒体SOC系统中。同时,将系统的运行状态按不同的IP配置情况组合成一系列微状态,在前人所做工作的基础上,利用F-ARIMA模型预测负载,同时利用多媒体应用中衡量服务质量的重要指标——最后期限缺失率(deadline miss rate,DMR)作为反馈控制信息,两者相结合的方式,实时调整多媒体SOC系统的运行状态,实现移动多媒体SOC设计过程中的功耗优化。
1 常用视频编码标准以及负载分析
在所有的视频压缩算法中,MPEG-x和H.26y标准正逐渐占据主导地位。这些视频压缩算法,带来更高传输效率的同时,也带来了终端更大的运算量。根据多媒体应用的特征及其编码标准,不难发现,并非所有多媒体视频帧所需要的解码时间都是一致的。以MPEG标准压缩的帧为例,其总共由三种类型的帧构成,分别为:内部帧(intra),双向帧(bidirectional)和可预测帧(predictive)。这三种不同类型的帧,具有不同的解码复杂度。即使是同一种类型的帧内部,其解码复杂度也有较大差异。显而易见,将所有的解码任务的实时性约束都设置为同一个标准将会导致系统始终工作于最差分支下,从而付出不必要的功耗开销。
目前,在多媒体SOC设计过程中,针对其重要的视频应用的负载特性进行功耗优化是一个非常热点的研究问题。常见的低功耗设计技巧主要有动态电压调整(dynamic voltage scale,DVS)和动态功率管理(dynamic power management,DPM)技术。在DVS技术中,在保证服务质量的同时,让不同计算量的任务运行在不同的工作电压和频率;而DPM技术则在运行过程中,动态关闭系统某些空闲模块。在众多针对多媒体应用进行低功耗设计的研究中,其主要思路可分为两类。一种是将多媒体应用的负载当作一个随机过程,然后采用马尔可夫或者半马尔可夫模型预测负载,再根据预测结果调整当前系统运行状态。如在文献中,提出了一种基于回归方程的方式,通过系统当前“工作”和“空闲”时间预测即将到来的“工作”和“空闲”时间。文献中分别利用离散马尔可夫时间序列和连续马尔可夫序列算法预测系统负载。以上这些方式都有效地降低了系统功耗开销,但是其最大不足之处在于多媒体应用的编码方式和内容多种多样,无法找到一种合适的模型来适应所有多媒体应用。另外一方面,也有研究利用实时反馈控制的方式,来调整当前系统运行状态的方式来降低多媒体系统的功耗。如文献,作者提出了一种根据显示缓存占用率作为反馈控制信息,来降低功耗的方法。
目前,使用最广泛的视频压缩标准为MPEG-x(x=1,2,4)系列和H.26y,(y=1,2,3,4)系列。一般地,视频编码器将连续的图像压缩成I,B,P三种不同的帧类型。I帧的压缩率大于P帧,P帧的压缩率大于B帧。连续的两个I帧之间的所有帧(不包括后一个I帧)构成一个图像分组(GOP)。一个GOP由I帧帧间间隔N,以及P帧帧间间隔M两个参数决定。与此对应,对于解码器的解码负载而言则有I>P>B这个规律。
即便采用同一种编码格式,面向不同的应用场景,多媒体应用的负载情况也有很大区别,下面以H.264.视频压缩标准为例,给出一些常见格式的视频应用的负载情况,见表1。
根据表1的实验结果,图l将更形象地描述解码器的工作过程。从图1中可以看出,解码器仅有两种状态,即高速工作状态和空闲状态。由于解码器运行状态下的能量消耗计算方式为
式中:T为工作时间;C是与系统负载电容相关的系数;Vdd和f分别为供电电压和运行频率。对于同样的负载,根据式(1),很容易推导出,当负载均匀分布于时间间隔T内时,能量效率是最优的。所以,对于面向多媒体应用的SOC低功耗系统级优化而言,其主要思想就是如何根据具体应用的需要,在当前可用的IP及其配置中,寻求一套最优化的组合,使得系统负载能均匀分布在给定的时间约束内。图2给出的则是设计者进行系统级功耗优化的理想状态,虽然在实际应用中该状态永远无法达到,但是可以在设计过程中无限逼近这一状态。
2 系统实现
在多媒体SOC中,为了保证服务质量,系统的设计目标必须是面向最高负载情况。然而在实际运行过程中,视频解码器、中央处理器以及一些外设经常处于不活动或者低负载状态,这无疑白白消耗了一些能量。为解决该问题,EDA公司对Multi-Vt以及Muhi-Vdd等低功耗威廉希尔官方网站 提供更有力的支持,IP供应商对同一IP核也提供了丰富配置以满足不同应用需求,同时Foundry也提供了更丰富的标准单元库以及工艺。在进行低功耗多媒体SOC设计的过程中,设计者所要做的就是充分利用这些技术优势,尽可能地去开发可利用的低功耗设计空间。
图3给出了一个多媒体SOC目标系统的基本架构图,该系统和当前多媒体SOC系统最大的差异在于增加了一个功率控制模块(PCM)。该模块的实现方式可以灵活多样,对于某些对实时性要求较高的功能块(如负载预测),可以采用硬件加速的方式实现。而对于实时性要求不高的功能块,则可以利用中央处理器的软件资源来实现。在设计过程中,先将构成系统的各个IP核按其配置和对应的性能,同时结合多媒体SOC的应用需求,组合成一系列的微状态,然后将这些状态构成一个查找表,存储于功率控制模块。系统在运行过程中,控制模块会根据当前负载情况,实时调整整个系统的运行状态,通过配置寄存器的方式,让系统在各个不同微状态之间切换,从而尽量使负载能均匀分布于整个运行过程中,达到降低功耗的目的。在功率控制模块的核心算法中,本文采用了反馈控制和负载预测相结合的方式,以此来弥补彼此的不足之处。对于负载预测而言,预测模型的准确性直接关系到多媒体的服务质量。研究表明,多媒体视频帧长的统计特征表现出了很强的长相关性(longterm dependency,IRD),而多媒体SOC的系统负载又和帧长有着直接关系,所以在功率控制模块中,采用F-ARIMA模型来进行负载预测。该模型是一种典型的自相似模型,能很好地反映时间序列的LRD特性,从而能比较准确地进行多媒体视频应用的负载预测。而对于反馈控制机制,本文采用了跟视频服务质量密切相关的最后期限缺失率(DMR)作为反馈标准。具体方法是:首先系统运行于缺省状态,通常是性能相应功耗都最高的状态。然后系统根据性能检测模块,并从预测模型库中选择预测模型对负载进行预测,然后根据预测结果实时调整当前系统的微状态。当系统性能检测模块监测到DMR高于某一预先设定的门限,则系统反馈控制模块负责调整预测模型的参数或者彻底更新预测模型,直至DMR值低于预先设定的门限值。
3 结论
本文针对移动多媒体SOC设计中的功耗问题,提出了一种系统级低功耗设计方法。该方法的核心是利用各种IP所提供的配置空间,将多媒体SOC系统细分为不同的微状态。同时结合传统的DVS以及DPM思想,利用反馈控制和负载预测相结合的方式,实时调整系统运行过程中的微状态,从而在保证多媒体服务质量的基础上,让系统负载尽可能均匀分布于整个运行期间,达到降低功耗的目的。通过系统级的仿真和*估,该算法相对传统方法而言,进一步有效地降低了系统功耗,平均约能降低40%左右。同时,由于该方法采用了与服务质量直接相关的DMR作为反馈控制信号,故在降低功耗的同时,能保证多媒体视频DMR在9%以下,均值在5%以下。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !