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

引言

本文引用地址: http://www.21ic.com/embed/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时,不需要调整电压和频率。

换一批

延伸阅读

[新鲜事] 阿根廷队告别俄罗斯世界杯,罗永浩:梅西巅峰期已过

阿根廷队告别俄罗斯世界杯,罗永浩:梅西巅峰期已过

6月30日晚,俄罗斯世界杯的赛场上上演16强焦点之战,阿根廷对法国。面对拥有身高、年龄、速度等优势,并坚持打高吊、防反的法国队,阿根廷队显得没有什么办法。虽然两次被幸运女神眷顾并一度以2:1领先,但法国队最......

关键字:阿根廷 世界杯

[新鲜事] 世界卫生组织将“游戏成瘾”列入精神疾病,任天堂索尼激烈反对...

世界卫生组织将“游戏成瘾”列入精神疾病,任天堂索尼激烈反对...

北京时间6月20日早间消息,美国娱乐软件协会(ESA)就世界卫生组织将“游戏成瘾”列入精神疾病的做法提出激烈批评,认为他们列举的证据不够充分,而且可能引发误诊。ESA呼吁世界卫生组织在将游戏成瘾正式列入......

关键字:游戏 任天堂 索尼

[真心话] 资深硬件研发工程师:抄袭可耻!但产品抄袭可用,资料抄袭可笑

资深硬件研发工程师:抄袭可耻!但产品抄袭可用,资料抄袭可笑

硬件研发一般是指电子产品硬件研发,是一种看得见实物的电子产品研发,比如我们所说的手机、鼠标、键盘、音响都是硬件,硬件开发也就是在这些方面进行的一系列研究。本文分享一位资深工程师对硬件研发的一些看法,希望能对大家有所帮助。......

关键字:硬件研发 抄袭 生产体系

[趣科技] 可以为手机充电的牛仔裤

可以为手机充电的牛仔裤

但是如果有一条神奇的既可以容纳你的手机,同时还可以给你的手机充电,让你出门在外,从此无忧,你会去购买这款神奇的牛仔裤吗?......

关键字:充电

[新鲜事] Linux之父怒喷谷歌安全工程师为哪般?

Linux之父怒喷谷歌安全工程师为哪般?

上周五,Linux 之父 Linus Torvalds 在内核邮件列表上用很犀利的言辞抨击了 Google Pixel 安全团队的开发者 Kees Cook,引起了大家广泛地讨论。......

关键字:Linux 谷歌 安全工程师
条评论

我 要 评 论

网友评论

大家都爱看

  • 扇出型晶圆级封装的优势和挑战!

    我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…

    2018-03-29
  • Xilinx推出革命性的新型自适应计算产品

    自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…

    2018-03-20
  • 赛普拉斯为树莓派3 B+ IoT单板计算机提供强大稳定的无

    先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi&#174;和蓝牙&#174;combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…

    2018-03-20
  • 观看直播领红包,SEED-A10加速卡助力人工智能

    随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…

    2018-03-19
  • 特朗普:博通不得以任何形式收购高通

    白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。

    2018-03-14