关闭
关闭
首页 > 嵌入式软件 > Uc/os II

引言

本文引用地址: http://embed.21ic.com/software/ucos/201801/50068.html

现代社会中,便携式系统(如手机和个人媒体播放器)正在演变成综合性多媒体和通信系统。新的应用程序,如游戏、数字电视、高速 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的电压和频率,减慢任务的执行速度;当FlexibleRatio<1时,表示当前就绪的任务在下一个任务恢复之前都不能执行完毕,所以这个时候可以提高CPU的电压和频率,使当前就绪的任务尽快执行完毕,从而使下一个恢复的任务可以得到尽快的执行;当 FlexibleRatio=1时,不需要调整电压和频率。

换一批

延伸阅读

[趣科技] 全球超算PK:欧洲最强电脑性能只是中国2.5%

全球超算PK:欧洲最强电脑性能只是中国2.5%

超级计算机目前已经成为各国科技“军备竞赛”当中最热的领域之一。因此,每次全球Top 500计算机榜单发布的时候都会引来媒体的关注。其中,中国近些年在超级计算机领域所取得的成绩有目共睹。而全球范围内,超级计算机又发展到了怎样一种地步呢?......

关键字:超级计算机
条评论

我 要 评 论

网友评论

大家都爱看

  • 兆易创新研发14nm嵌入式异构AI芯片

    昨日,兆易创新发表公告,重申了收购上海思立微的目的。兆易创新表示,这次产业并购,旨在整合境内优质的芯片设计领域资产,获取智能人机交互领域的核心技术,拓展并丰富公司产品线,在整体上形…

    2018-01-31
  • 华为的优势,就是自家的各种自研芯片

    CPU即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

    2017-08-16
  • 你不知道Ryzen芯片有多火?来看看AMD的股票吧

    据外媒报道,美银美林认为,AMD最新的Ryzen芯片可能会引发一波销售浪潮,进而推动该股继续上涨。它认为AMD股票还有40%以上的上涨空间。

    2017-08-16
  • 国产芯片:厚积薄发,强势崛起

    关于国产芯片,是近几年才有崛起的势头,可是在几年之前,国产芯片还处于“沉睡”的状态,尤其是手机芯片,几乎大部分都依赖进口,而且国外的市场几乎被高通和联发科所垄断,也就展讯还在市场边…

    2017-08-16
  • 为了数据安全 大疆无人机增加隐私飞行功能

    大疆周一表示,在美国陆军因为“网络缺陷”而要求其成员停用大疆无人机后,这家中国无人机制造商将加强无人机的数据安全性。 大疆政策和法务副总裁布伦丹&middot…

    2017-08-15