您的位置 首页 方案

在μC/OS Ⅱ上完成动态电压调理技能

引言现代社会中,便携式系统(如手机和个人媒体播放器)正在演变成综合性多媒体和通信系统。新的应用程序,如游戏、数字电视、高速 Internet,已经成为

导言

现代社会中,便携式体系(如手机和个人媒体播放器)正在演变成综合性多媒体和通讯体系。新的运用程序,如游戏、数字电视、高速 Internet,已经成为终端用户产品中的一项一般功用。可是,杂乱的功用需求功用强大的处理器,如智能手机中已集成了模仿基带、数字基带、图画处理器和CPU等多个分处理器,但这些分处理器并不是任何时刻都是满负载作业的,它们在许多时分都处于搁置状况。因而,关于依托电池供电的便携式设备,怎么依据体系的作业状况调整各个处理器的功耗水平然后节约电能便成了一个遍及重视的问题。

μC/OS—II作为一个源码揭露的嵌入式实时操作体系,能够支撑64个使命,一起支撑信号量、音讯行列、邮箱等多种常用的进程间通讯方法。该操作体系用ANSI C言语书写,程序可读性强,移植性好,可削减,并已在通讯、电子、主动化等范畴的嵌入式设备中获得了广泛的运用,可是它的内核并不支撑 DVS(Dynamic Voltage Scaling)办理。本文在遵从可移植、可削减的条件下,对其进行了改善,使其能够支撑动态的离散电压办理,确保μC/OS—II在新要求下的运用,使嵌入式设备的电量能够得到充沛的运用。

1 DVS在μC/OS—II上运用的理论根底

1.1 DVS运用的硬件根底

动态电压调理技能(DVS)是这样一种技能:在确保体系使命完结的状况下,使处理器运转在尽可能低的电压上。它的基本思想是,当体系需求完结很多核算使命时,进步处理器的电压以添加其处理速度;而当体系使命较少或处于闲暇状况时,下降处理器的电压,这样既能够确保体系使命的准时完结,一起又可下降处理器的能量耗费。该节能技能的理论依据来自于对处理器功耗的界说:

其间:E为处理器的功耗,V为处理器的电压,fclk为处理器的频率,lLcak为漏电流;α和C为常数,别离表明门电路的电能转化功率和门电路在整个设备中所占的份额;tTask表明体系中使命的个数。依据式(1)可知,经过下降处理器的电压和频率,能够削减处理器对电能的耗费。因为在实践运用中,程序能够直接操控的是处理器的频率,处理器的电压会依据处理器频率的改变主动改变。一般来说,处理器的电压会跟着频率的下降而下降,因而,动态电压技能实践上是对频率的调整。本文中如不作特别声明,调整频率即意味调整电压。

1. 2 DVS运用的软件根底

因为μC/OS—II是一个依据优先级的抢占式使命调度内核,为了确保低优先级使命能够得到处理器的履行,本文假定体系中用户界说的一切使命都遵从如下的结构:

假定体系里有两个使命:一个使命的履行时刻为0.5 s,周期为10 s;另一个使命的履行时刻为1 s,周期为5 s。这两个使命的调度进程如图l所示,这时体系中存在很多的松懈时刻。

如果在程序运转进程中下降处理器的频率,处理器的运转电压也会因而变低。当处理器的频率改变为最高频率的 1/4时,其使命调度进程如图2所示。

由图2能够知道,当处理器的频率改变为正常的1/4时,体系使命依然能够正常运转。这时,处理器的电压下降了,依据式(1),处理器的功耗也下降了。

从上面的剖析能够看出,正是因为μC/OS—II采用了依据优先级抢占的调度战略,每个使命履行一段时刻之后,都会主动抛弃CPU的运用,然后使低优先级的使命能够得到履行。一起,因为使命抛弃CPU进行延时操作,使命间会因而而发生松懈时刻,而DVS功用便是使用这段松懈时问,下降处理器的履行速度而完结使命的。本文研讨的要点便是改善μC/OS—II,使它能够依据体系中使命运转发生的松懈时刻的状况,主动设置处理器的频率,下降电压,然后下降处理器的功耗。

2 DVS体系模型

2.1 DVS使命调度模型

由 1.2可知,当体系中使命之间存在松懈时刻的时分,下降处理器的频率能够缩短使命之间的松懈时刻,一起因为频率下降导致电压下降,从而能够削减处理器的能量开支。可是,什么时分进行DVS的调度,处理器最低运转在哪个频率上都需求进一步剖析,为此,需求了解每个使命的相关信息。本文用一个五元组表明一个使命,τi=(Si,PTi,ETi,LETi,NPTi)。其间,Si表明第i个使命的状况,是安排妥当仍是堵塞;PTi表明第i个使命的履行周期;ETi表明第i个使命的履行时刻,LETi表明第i个使命在当时周期内完结剩下指令所需求的时刻;NPTi表明第i个使命间隔下一个周期使命所需的时刻。

依据上述界说,体系处理器的使用率Uτ能够表明为:

当且仅当Uτ1时使命集可调度,使命间存在松懈时刻。这是启用DVS功用的条件。

2.2 判别是否需求进行DVS调度

为了核算松懈时刻存在时处理器最低能够运转在哪个频率上,引进“变压因子”这个概念。假定DVS模块被调用时一切安排妥当使命需求的履行时刻为TAllReady,间隔下一个等候使命康复的时刻为TleastWaiting,那么界说变压因子 FlexibleRatio为:

当FlexibleRatio>1时,表明当时安排妥当的使命能够鄙人一个使命从等候中康复之前履行结束,这时能够恰当下降CPU的电压和频率,减慢使命的履行速度;当FlexibleRatio1时,表明当时安排妥当的使命鄙人一个使命康复之前都不能履行结束,所以这个时分能够进步CPU的电压和频率,使当时安排妥当的使命赶快履行结束,然后使下一个康复的使命能够得到赶快的履行;当 FlexibleRatio=1时,不需求调整电压和频率。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/156006.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部