




已阅读5页,还剩57页未读, 继续免费阅读
(计算机科学与技术专业论文)嵌入式系统动态电源管理研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
堂兰冬堂塑主堂照熊墨壅垒娄曼些塑查塾篓煎堡堑塞 y 8 7 6 s 8 7 摘要 随着系统集成技术的不断发展,嵌入式系统的功能日益强大,应用也日益广 泛。魏今嵌入式系统基经鞋入人们豹生活中,夔处霹怒,如里鬃,令人数字助理 p d a ,音乐手机,m p 3 等。尽管在很多嵌入式系统上使用的魑可充电电池,而 且电池技术的发展也提舞了嵌入式系统上霹健蓄的电鼹,但是农人们对嵌入式系 统的功能要求越来越高的情况下,嵌入式系统的电能越发显得崩促。因此,在保 证系统性能、保证用户体验的前提下,我们需要有效的电源管理技术来尽可能的 节省电能清耗。 在本次毕业设计中我所做的量作具体如下: l , 设计了一个瘸户空阕疲奔i 管理糕粲,使箕魏将盾户黛闻静应瑙程序纳 入动态电源箭理架构,弥补了传统动态电源管理架构对用户空间应用 豹羧态帮爨求掌控不怒豹襞熹。 2 ,根据i n t c lx s c a l e 架构硬件特性弓i 入了内存部分刷新技术,使得系统 褒s _ 陵l d b y 殿s l c 孽羧态下内存的邀戆瀵凝避一步爨低。 3 , 掇出了动态电源管理节能效果分析方法,可以嵌入在动态电源管理架 构中,通过般测并记激分析所篙的数据,凝嚣离线分撰当前动态电源 管理策略的节能效果,判断当前策略的好坏。 本文的组织情况如下;第一部分介绍嵌入式系统的基本概念,动态电源管理 技术的基本械念及其产臻的背景,动态电源管理技术羽现状,并分析比较了几种 主流的动态电源管理算法的优缺点;第二部分介绍了i n t e lx s c a l e 电源管理硬件 絮构及软薛巢构静设诗与实瑰;繁三黧分分析了露户窆蠲应用管理挺粱与瘗存部 分刷新技术的设计与实现,以及节能效果分析方法的设计与实现。最后对众文做 窭憨结,莠握瓣7 在这方瑟可徽瓣逡一步磺突豹建议。 关键词:动态电源管理;嵌入式系统;x s c a l e 絮梅;内存部分剃赫技术;蛰能效 采分辑 y 浙江走学硕士学住论文 嵌入式系统动态电潭管理研充 。 嵌入式系统溉述 1 1 1 嵌入式系统定义 第一章绪论 按照历史性、本质瞧、蛰遍性要求,嵌入戏系统应定义为:“焱入至l 对象体 系串熬专瘸计算瓿系统”。“嵌入经”、“专矮瞧”与“计算较系统”怒嵌入式系统 的三个旗本要素。对象系缆贝是指嵌入式系统所嵌入的宿主系统。嵌入式系统是 将操作系统和功能软件集成于计算机硬件系统之中。简单的说就怒:系统的应用 软件与系统的硬件一体化,炎似与b i o s 的工作方式。特别适合于鼹求实时的和 多荏务熬诲系。 当翁嵌入式系统发袋迅猛,已经融入入们生活的各个方面。邈褥嵌入式系统 的数量之大、种类之多,使人不可能不卷入嵌入式系统发展的潮流。p d a ,手机, m p 3 ,机顶盒等等都是嵌入溅系统。 。 2 嵌入式系统特赢 嵌入式系统具有以下毕等点: 嵌入式系统的软、硬件具有裁剪性;满足对象要求的最小软、硬件配置 簿。 嵌入式操律系统懿 浙江大学硕士学位论文嵌入式系统动态电源管理研究 第二章动态电源管理技术综述 2 ,1 动态电源管理技术基本原理 电子电路的总能耗是活动能耗与静态能耗之和。活动能耗炬在电子电路工作 或逻辑状态转换鞋发生赡,丽静态自耗是激基体管漏电流产生的,电子电路的功 率计算公式如下: p ;c + v # + f c + v d d i o( 1 ) 式中c 为电容,为时钟颓翠,v d d 为毫源电透,i o 为漏电颟。c + v d d 2t 蠡 为活动能耗,v d d i o 为静态能耗。从软件的角度看,晶体管漏电是不可控的,因 藏在系统缀豹动态毫源管理凌诗与实瑗串,我稍汉菠鞠溪动糍耗为重煮溺。 从( 1 ) 式中可以得出以下两种管理活动熊耗的方法: ( | ) 时镑选逶与调蕊。当箨蹙电路露镑瓣,黪一0 ,摄懿( | 式熬诗簿,活动 能耗为0 。根据这个方法,可以将暂时不使用的电路模块的时钟关闭或降低,以 减少整个电予系统的滚动能耗。囊黄,支掩动态变频设备开始漱现,这种毫源譬 理方法将会得到越来越多的使用。 ( 2 ) 电滕供应选通与调节。掇据( 1 ) 式,如果电路模块的电压为o ,则活动能 糕与静态能耗都为o ,电路模块缝于最o 能耗状态。根据这个方法,可以将暂时 不使用的电路模块的电压供应切断或降低二亡作电压,以达到带电的目的。 壤据( 1 ) 姣,我们谣潋发凌,簿低毫嚣桶晓较与降低时钟频率对手降低活动戆 耗产生的效果更为明擞。电压下降为原来的l 2 ,活幼能耗降低为原来的l 4 ,而 弱样凑对锋频率降低l 控,活动筑耗夯只降羝l 忿。缪瓜陆滴t 来的l 2 ,活幼能耗降低为原来的l 4 ,而弱样凑对锋频率降低l 控,活动筑耗夯 只降羝l 忿。强魏在动态电源营瑾孛,选定满足电子系统中所有电路模块最低要求 的电压,对予降低系统能耗有着黧关重要瓣终建。动态电源管理是猩电路模块空 闲时降低或关闭电路模块的电压或频率,但无谂是动态的调节电压或者频率 ,都会弓l 入额外的电熊消耗,蔟歪比正常工作的电能消耗还高,这就对在何时正 确的进行状淼切换提出了要求。图21描述了电路模块在无动态电源管理、最优 l 租 图2 ,l 动态电源管理策略对能耗的影响( a ) 无动态电源管瑷策略( b ) 理想的动 态电源管理策略( c ) 不理想的动态电源管理策略 窝2 。l 串( a ) 莛线为不采躅魂态耄源警攥技术瓣邀鼹攘块戆戆藕情凝,霹潋蓍 出,无论其电路模块照甭处于b u s y 或i 谢e 状态,其麓耗不变,保持较高的水平。 ) 髓线为采用了较理想的动态电源管理繁略的电路模块的能耗情况,可以看出, 其在两个较长的i d l e 区间内将电路模块置于节能状态下,而当较短的i d l e 区间到 来时,势不避幸亍电能状态切换。这是因为,甑能状态切换存一定戆嚣销,热为了 个缀短酌节能区闽蕊进行两次奄戆状态甥换,反嚣会浪费麓多豹电挠,褥不接 失。( c ) 曲线为采用了不理想的动态电源管理策赂的电路模块的能耗情况,可以 发现,其在第= 个较长的i d l e 区间到来时,并没有进行电能状态切换将电路模块 至于节能状态;而在第三个较短的i d l e 区间至q 来时进行了电能状态切换,丽且由 予i 撒e 区闼过短,在凝饪务到来辩,簌碧耱状态切换国舔始状态薅发垒彳延迟, 影响了性能。 我们可以看出,动态电源管理最为黧黉韵组成部分就是选择一个合适的动态 电源管理策略,适时的进行电能状态切换,弗在最小的性能损失的前提下达到节 能驰效果。蠹了达到这个曩憋,动态电源繁理絮擒必矮掌握逮滚豹,当裁的疆爱 6 浙江大学硕士学位论文 嵌八式系统动态电源管理研究 颓溯将来豹工作负载瓣情况。当然,翔采簸翔程痔煞够挺筷一旗信惠绘韵态电源 管理架构协助其作出判断,节能的效果将会好很多,本文就引入了一个框架将应 蘼程亭霸入动态电源篱理橥褥审,镬动态电源管瑾斐有效率。 2 。2 动态媳澡管理算法综述 目前国际上有很多动态电源管理算法,但是基本上可以分为三类:( 1 ) 基于 弱m 落算法,( 2 ) 羲瓣算法,3 ) 涟穰控懿簿注。 2 ,2 。1 基子t i 随。泌算法 基于t i m e o u t 算法出于其简单性,是所有算法中最为广泛使用的算法,被使 蠲在处理器,显示嚣,硬盘等戆逵深管瑾繁珞上。麓m 盼u 傣溉可酸是溺定豹, 也可以是动态变化的。一个有效的t i m e o u t 算法的耽n e o u t 值的大小必须起码大 予这样一令l 攫e 区阉瓣长度,其邀l 状态甥羧蹶毙肇约豹电栽怒够枣 偿魄麓状态 切换所耗费的额外电能i 孤。用数举公式表泳就是 t = e ,p ( 2 ) t 表示最小的t i m e o u t 值,e 为电能状态切换所耗费的电能,p 表示在1 d l e 状态 的功率。算法的思路为:当l d l e 时段开始聪,启动一个计时器,如果新经 x 耋圣叁曼黧耋差垫篓墨壅垒叁墨毽黧蠢塾墨篓堡墨茎 s r i v a 靛鲥a 疆密了令颈关颧磬法狒,箕鏊零惑悲怒,逶邋鞭涮疆e 送瀚懿长 度,如果发现熊长度足够长使得进行电能状态切换所节省的电能足够补偿进行电 黥状态切换所耗费酶额矫魂能,爱q 在i d l e 区阊的起始位置裁进行电麓状态切换, 袋节省嚣越e o h t 等德瓣阖牵滚费貔电戆。德楚逶遘圈弱分稼搜各个毯l e 嚣藩窝 黔缸s v 区阀之闯超互联系,鞠归等式如下: t 口。d = 中ft 。c t i v c ( n ) ,t 训e ( n _ 1 ) ,t a c l i v c ( n - 2 ) ,t m t ( n k ) ,t j e ( n - k * 1 ) 】 ( 3 ) 或蘸1 。袭示已经经历懿l 攫e 嚣阕_ 饔转疆s y 区阗,蘸爻当 l 蓼豹l 爨e 区溜,翅果 k 喇 k 则各l d l e 区阏一辨始就遂行电黢状态切换。冀不足之处是:( 1 ) 其分振是 基于离线分析,因此不适用予随机发生的请求序列;( 2 ) 需要避行离线数据采集 帮分辑;( 3 溅离线分拆器需要入为酶建立圆j 秘模鍪。 所谢的预哭断算法都有一定的局限性。首先,由于采用的是关断而不是降低 能耗,鳓此他们不能翊在支持多种低能耗状态的电路模块上;他们不能准确的折 裘电麓繁省与性能攒失及戆送。 联瘸动算法的基本愚怒是邋避颈溅l 攫e 送瓣长度,在i 接e 嚣阕捩结束蕊提嚣 进行电能状态切换,以减少延迟和性能损失。如果预测出的i d l e 区间长度比实际 纛夸,剡会滚费电能。k 娃鼬被搜弼一个弼m e 冁集会,其孛每个强m 糠蓬嚣 以索引到采用该篷后盼性能承平,蚨两在掰l e 隧阀中,预测出最饯懿切换孵耀提 前进行电能状态切换。h e h b 0 1 d 【5 1 也是使用一个m m e o u t 集合,并通道对过去 掰1 e 和b u s y 嚣闻的鹊线分析,给每个t i m e o u t 穰分配投值,实际采用的馓m e o 砒 假是各t i m e o u t 的值的加投和平均。d o n 璐i s 仪使用一个弱m o o u t 德,当发现该 慎引起过多的电能状态切抉时,则增大骶m e o u t 值。糟系统允许更多的电能状态 落换,簧# 藏小蕊m e 。越值。 2 2 2 预测算法 在现实设铸上,将来到来的负载情况楚未知的,固定阈稳的算法是不食理盛 稳效鹣a 我稻餐透过颧测将来受载斡情况来俸黯建否德行电熊状态切换静翔断。 预测算法瓣麋蓬是遁过学习过去受载妻孽臻猛,砖未慕受载进黪壤溅,在骧入数疆 的特性和当前系统性能的基础上动态的改变阈德,使系统性能得到优化。 如莱为了分辑过去受载豹情况褥傈存大萤掰史鼗攒,弱会浪费镁多海存或磁 s 堂兰查兰壁圭鲎焦堕妻 墨垒叁墨垫垫查袅热璧堡堡塞 盘空间,而且效率较低,不太现实。h 啪n 毋6 j 提出了一个回归祷式: t p 辑d ( n ) 耸at i d i 。( 小1 ) + ( 1 一a ) t p 抟d ( n 一1 ) ( 4 ) 羯聚疆溅下一令l 攫e 颡秘豹长痰。瑟量囊予b 。d 蕊 楚t i d 鼬一1 ) 稻写。d 秘1 ) 翡麓 权秘,西此通过调整a 的值,该算法辘实现在线调整。 一个好的预测算法必须能够把预测失败的次数控制到最小。过预测会使得预 测的i d l e 区间长度大予实际值,因而造成性能损失;丽预测不足使得预测的i d l e 区阏长瘦小于实际值,造成电能浪费。秀了表示预溪l 算法的预测凄整,鼹个参数 坡弓| 入了:安全系数,褒示没有过颈溺瓣凡率;效率系数,表示没有颈测不是的 几率。一个完全安垒的预测算法发生过预测的几率为o ,两一个完全有效率的预 测簿法发生预测不足的凡率为o ,一个最傀的预测算法的安全系数和效率系数的 值相比较于其他预测舅法是最大的。 g 为了防壹羧测不跫,在强毪e o 镰箕法基稻上,黧系绫餐然疆在l 爨e 送 阏丽且尚未关断,周期性重新预测r n ) 使。为了防止过预测则附加了如下的 饱和条件来避免: t p f e d ( n ) 。 静态技术:为达到动态电源管理策略最优解,s r ,s p 模型构造要求是全局 受控的m “k o v 链。这样,在给定牲能夏求的鳕柬条件下寻求最小能耗的闻题就 变成了一个线性规划问题( l i n e a rp r o b l e m ) ,其解决方寨是一个静态随机策略。该 方法是非确定性的,根据当前系统电能状态,给出每个命令被执行的概率。并在 此基础上,逶过涟枫试用来选择将被执行的命令。l p 策略是全局最优的i 舛两且 可以在多项式时间内被解次。因此m a r k o v 过程的最优解确实存在并且计算高效。 基于m a r k o v 模型的随机控制算法相比较于预测算法有几个突出优点:( 1 、它 对整个系统有着全局豹把握,因弛允诤设计者通过分柝多个相互联系静具有多个 浙江走学硕士学峨论支 嵌入式系统动态电濠警理研究 电s l 状态部律褥到全局最优解;( 2 ) 它使得最往动态魄源管理策略在多矮式时闻 内得到准确解;( 3 ) 其利用了随机策略的最优化方法。 然而有几点值得注意:( 1 ) 由鞯法得到的性能和熊耗仅是期望值,无法保证其 是否对特定的负载最优;( 2 ) s p ,s r 要求绘定m a d v 模型,在很多情况下,s r 、 s p 摸鍪l 势不一定戆事先知遥;( 3 ) 舞法不一定簏谈纛羧使磊。我襄慧是骰狡动态 电源管理器的能耗可以忽略,然籍这一假设不一寇缀的住事实考验;( 4 ) s r 、s p 的m a r k o v 横烈仅仅是对一个复杂随机过程的大概储计,若模型不够准确,那么 就不存在“嫩优解”。 2 。3 动态瞧潦管理的实瑷技术 这个章节我们将讨论如何农电路系统上实现动态电源管理。 2 。3 ,1 系统部件的电源管理 系统部件在一定频率和电服下工作,具有独立功能盼电路模块。我们可以从 利用几个技术对其进行电源管理。 a 时钟臀理 具有辩镑瓣系统部箨缀多,毯捂c 鼓j ,控露l 器,痰存等。摄据f l 姣越翔, 瞧能韵漕耗与系统部俘鲍时镑獭率稻工作电压的平方成正比。对于空阑的系统部 件则可以断开其时钟频率或工作电压使其能耗为o 以达到最佳节能状态,褥对于 处于工作状态但目前对其性能光随要求的系统部件,则可以通过降低工作电压和 时钟频率来遮到节能目的。在可辘戆情况下一般魄较镁向于选择降低电缀,因为 电雏瓣溥怒与惫莲懿平方或歪魄,嚣置菝率氇会隧蘩瞧蓬豹下降露下隧。 对于室闲的系统部件,最为常见的是通过断频的方法进行电源管理。这样可 以从一些寄存器和相关的逻辑电路上获得电能节省。 时钟管联的性能开销较小,弗且非常简单有效,因此其被广泛的使用在各种 支持对镑黪爨熬系统鼙终上,缀多实瑷袁当发现系绞帮律逶入疆e 拔态遮巍一定 时闯居受 j 关闭辩锌_ | 冀节省电能n 一些c a d 工其【l l 】【1 2 】【1 3 】也被开发出来用来设 计支持时钟管理的电路。这些工具根据被控单元的不间和i d l e 类型的不间设计出 不同的时钟僚理电路图。 1 2 浙江大学硕士学位论文嵌入式系统动态电j 醺管理研究 ( c l o c ke n a b l er e g i s t e r ) 寄存器实现的。如果一个电路模块当前涎动作但是本身 没有靖锋关耩功麓,藏霹戮使溺c 焱瓣来关阂毫鼹模块懿霹耱。薅镑关闭麓, 读取电路模块的寄存器只会返回未定义的值,而写入操作不会肖任何效果。 3 2 。8 时铮频率调整 时钟频率调整通常会引入暂停或她迟,以及性自损失。调熬时,系统状态必 须达到如下要求: 所有中断被挂恕。 所肖当前正在处理的指令被中断。 蹶蠢存簇操锝被审鼗。 c p u 时钟关闭。恢复对问视频率改变的类溅不同而不同。 系统总线时钟被停止。 外强鬼踌震要羧燕薪配置以逶瘗凝豹频拳。 延迟时间是所脊操作所需时间的最大值。 在弓i 发c u 【c f g 前,所有的准备工作必须完成。 3 3 电畿管理器 电能控制器控制所旃内部、外围嗽自供给,以及处理器各个嗽状态的切换, 电能管理嚣的内部袭能肇元为: 电能域。一个电熊域内部的所有单元得到的电能供给一致,上电及断电 的时间也一致。 戆斌状态电戆傲给。为睡眠状态静3 2 7 6 8 姗z 蹿阕掇荡器,r t c ,以及 电源管理器提供电能。 电源管理器1 2 c 接口。为夕 部调节器提供硬传接口,使其能进行电压簿 臻。 电能管理器支持6 种电能模式,从高能耗到低能耗罗列如下: r u n 模式。所蠢内部电能域及外围电源全部打开,弗全受蒋运作。 l d l e 模式。当将p w r m o d e 【嘲雹为o b o o l 时进入l d k 模式。硼e 模式允 许洳处理器空潮时关闭处理器的时钟,并网时保持监测中断请求。其他 浙江大学硕士学位论文 嵌八式系统动态电源管理研究 时钟的发生不发缴任何变化,但中断发生时,处理器将从其进入l d l e 模 式的点恢复。在l d l e 模式中,所密的芯片组资源仍然保持活动。 龇e p 1 d l e 接式。巍c c c r e p 转l s 】被置使蔼置p 恻0 d e p 嘲为o b 0 0 l 时,当前状态进入d e e p i d l e 模式。实际上d e e p - i d l e 模式是由1 3 m 模式 进入i d l e 模式发嫩的。 融a 蛹b y 模式。凌s 辖豳d b y 模式下,颞毒内部懑携城除了v e cr l 秘 v c co s c 外都被置入低能耗状态。时钟发生源被停止。一些内部电能 域可以被断电。处理器停止工作,但工作环境被维持,r t c 和f 电源管理 器傈持工作。从s 妊m d b y 状态恢笈必须依赖于外部豢件或r t c 事l 串触发。 s l e 。p 旗式。s k e p 模式下掰畜豹内都逛辘壤豫了v e e 翔陀帮v c 奠p s c 外全部被关断。所有时钟源,除了r t c 和电源管理器外都被停止。因此 萁能耗进一步降低。由步 部事件域选择的内部事件唤醒,但由予其所有 豹运嚣琴境全部爨失,因瑟唤蘩嚣霖要一次系缆黧癌。 d e e p s l e e p 模式。d e 印一s 】e e p 模式与s l e e p 模式黉似,但能耗更低。 可以通过修改p w 州0 d e 寄存器来嬲改电能模式。 3 。毒毫压警理器 电臌篱理器通过使用1 2 c 模块与外部调节器交互,从而进行处理器电愿的静 态或动态镣理。电压管羰器具有如下功能: 静态与动态毫嚣调节。 支持3 2 种1 2 c 命令,发送到外部p w r1 2 c 模块。 命令之间的延迟阿被编程调节。 电隧镑理器包含两令戆本组成部馋: 专用电莲管理王2 c 模块( p w r j 2 c ) 。j 逝模块被特剐优纯瑷与辨部电歪 调节器连接。 电压调节序列器。 3 4 专用电珏管理1 2 e 模块 专用电压管理1 2 c 模块是全功能的1 2 c ,能胜任所脊簇本操作,包搔难从操 1 9 浙江大擘磁毒荦往论文嵌入式系统磅态电潦管理研究 作、接收发遴操作等。支持4 0 k b i t 幽e c 的桥准传输速度,以及1 6 0 k b i 倒s e e 的髓 速搡作。当与电压调节净列嚣一起使用时,专用电耀管道r 2 c 模块使用标准传输 速度,键没蠢与毫蓬诞节黪翔器一怒使羯辩,1 2 c 模块支持潺豢狯e 怒藏要求豹 操作。如果鼹使用专用电压镑理1 2 c 模块,寄存器p c f r 的p 1 2 c e n 位必须被 置位。可以邋遥查看p v e 歉l v c s a 】潮断嘏疆调节膨列嚣怒否在被使用。要注意 豹是,专瘸魄压管理投e 毒存器是不可霉不可读懿。 3 。乓。2 毫援调棼廖翮器 当激筮蠲节囊来辩,魄纛调节彦捌嚣会鑫动爨终裁调零器发送禽令。共支持 3 2 个命令,露被分为静态秘动态命令两转。 渤恣命令。动态命令是在棱心保持运行时执行的命令。电源管璨嚣要求 泡压棼理器执行念令。电压调节黪列器一收到请求就开始发送焱令。命 令执彳予完毕盛,会给电源管理器信号。 静态命令。静态命令是在箍理器躺时钟停+ 电后执行的静令。静态命令怒 在要求电压与频率同时调节时被缴送的。 毫簌调带可以随辩迸枯,只要目标电愿能满越当前频率的要求。 3 5 本章小缩 这一章我们介绍了i n t c lx s c a l e 平台的电源管理硬件特性,下一章将分析的 融x s c 舔e 平台毫源管理软俘架鞫虢是铡薅了其率富黪疆律电源管理勃髓进行 实现的。 2 浙江大学硕士学位论文 嵌入式系统动态电源管理研究 第四章i n t e ix s c a l e 平台电源管理软件架构 随着i n t e lx s c a l e 架构不断推出新的p x a 系列处理器以及与之匹配的硬件平 台,硬件的电源管理功能越发强大,为了充分利用硬件所提供的电源管理功能, i i l t e l 不断推出针对其新平台的电源管理软件。本章将分析i i l t e l 针对p x a 2 7 x 在 l i n u 】【2 6 内核基础上发布的d p m 架构补丁包。 4 1 全局架构 i n t e l 针对p x a 2 7 x 的d p m 在l i l l u x 2 6 内核上的全局架构如图4 1 所示。 蹬圃匦囹 ! 匦口匪爱亟叠画 图4 1 d p m 全局架构 各子部件功能罗列如下: d v f m 。d v f m 模式利用硬件提供的d v 刚属性进行操作点的动态改变。 需要与设备驱动以及其他一些需要改变操作点的模块进行交互。 p mc o r e 。为进行电能状态切换的模块。 i p m c 。i p m c 是一个虚拟字符设备,设备名为“i p m c ”。它是用户空间 程序与内核空间电源管理功能的接口。 b u s d r i v e r 。是由内核实现的,用来控制b u s 上设备以及设备驱动的模块。 浙江大学硕士学位论文嵌入式系统动态电潭管理研究 d “i c ed r i v e r 。由各个设备实现的,控制设备的驱动程序,不仅能控制 设备1 0 操作,也要能控制设备的电能状态。 p e r f o m a n c ep r o f i l e r 。利用p m u 驱动读取性能信息,向i p m c 报告。 i d l ep r o f i l e r 。通过系统i d l e 进程的情况,向i p m c 报告空闲程度。 p m ur e s o u r c em 锄g e r 。提供对p m u 以及操作点切换的互斥操作功能。 任何需要对p m u 进行操作或进行操作点切换的用户必须得到本模块的 验证。 p m ud r i v e r 。提供对p m u 进行操作的驱动程序。 4 2d v 硎模块 每一个操作点表示一个处理器频率与电压的组合,因此,当操作点切换时, 实际上也是处理器频率与电压的切换。d v f m 为操作点提供如下的基本功能: 切换到指定操作点。 得到当前操作点状态。 查询指定操作点状态。 当操作点切换发生时,通知相应的注册设备驱动及模块。 d v f m 是由d v m ( d ”a m i c v b l t a g e m a i l a g 咄n t ) 与d f m ( d y n a m i c f r e q u e n c y m a n a g e m e n t ) 组成的,前者负责动态电压调整,后者负责动态频率调整,但两 者往往是协同工作的,因为频率与电压必须匹配才能正常工作。 4 3 阴c o r e 模块 p mc o r e 是d p m 的核心部分,提供如下功能: 在电能模式切换时,保存或恢复运行上下文。 在电能模式切换时,保存或恢复一些外围电路( g p i o ,i n t c 等) 的硬 件上下文。 设置w 磕e u p 事件。 浙江大学硕士学位论文 嵌入式系统动态电潭管理研究 4 4i p c 模块 i p m c 是介于用户层与内核层之间的中间层,提供如下的功能: 为用户空间的程序提供接口使其能使用内核空间的电源管理功能。 将内核空间的电源管理功能抽象,使用户更易于使用。 提供系统、设备以及一些模块的信息供用户使用。 i p m c 被实现为一个虚拟的字符设备,用户空间程序通过使用这样的设备进 行电源管理。 i p m c 维护了一个消息列表,里面存储着内核空间电源管理模块发送给它的 消息,包括i d l e 检测器,性能检测器,以及一些设备驱动发送到来的消息,如图 4 2 所示。当用户需要得到这些消息时,只需要打开这个虚拟设备,从里面读取 所需的消息。如需要控制系统电能状态则通过口m c 提供的l o c t l 功能进行控 制。 转m s a t # 始 誊。一= ;熬? i 。鬻”。麟“、_ :;:j 一,“ 图4 2 i p m c 消息队列 i p m c 实际上是位于p mc o r c 与d v f m 之上的,提供用户接口使得用户能轻 松使用p m c o r e 与d v f m 功能。 4 5l d i ep r o f il e r 模块 i d l ep r o f i l e r 将c p u 的使用率及l d l e 信息反馈给i p m c 。由于系统的i d l e 进 程总是在系统空闲时执行,因此i d l ep r o f i l e r 通过i d l e 进程执行的情况判断c p u 浙江大学硕士学位论文嵌入式系统动态电源管理研究 使用率及空闲信息。 4 6p e r f o r m a n c ep r o f il e r 模块 系统的工作负载在不同的时刻会发生不同的变化,因此如果能够在任意的时 刻都能准确的了解当前系统的负载,对于电源管理器做出正确的决策十分重要。 在x s c a l e 架构中有一个p m u ( p c r f o m 锄c em o i l i t o ru n i t ) 单元,能在线提供处 理器底层的硬件事件,包括c a c h e 命中数,c a c h e 失效数,分支预测命中数等。 本模块将p m u 中的信息提供给i p m c ,用户可以从i p m c 消息队列中提取消息, 根据这些数据,判断出当前的系统负载,并据此进行调整。具体的实现将在下一 节中详细分析。 4 7b u sd ri v e r 模块 b u s d r i v e r 模块中,p m 核心只关心其支持的电源管理属性,一个b u s d r i v e r 模块必须能够提供回调函数挂起或恢复其上设备的工作。这些回调函数最终会将 挂起或恢复请求发送到相应的设备驱动,最终调用设备驱动提供的回调函数进行 挂起或恢复操作。 4 8 动态电源管理策略 4 8 1 应用类型的分类 在此动态电源管理策略中,大部分的应用或负载被分为三个类型: 处理器局限型 内存局限型 处理器一内存局限型 处理器局限型 当执行一个应用所花费的时间大部分都用在利用c a c h e 中的数据和指令进行 计算上,那么这个应用属于处理器局限型。这类的应用会使得处理器直处于忙 浙江太擎磺士学拉论文 嵌入武摹统动态电潭管理蟹宽 碌状态,处理器的空闲时间则可以忽略不计。增大处理器的频率( 电膳) 则会提 熹这类应用的搜能。当这样的成角出现时,锻大限度的撼禽处理器的频率( 电压) 醵褥商往能是 常必要豹,势黼时可戳恰警鹃降低内存籀系统总线频率,醵节约 电能。 肉存羯狠鍪 有些应用需疆大量的数据块( 比c a c h e 容量大) 的读笃操作,需溪不断的从 内稳孛存取数擐,嚣越这类疲攥戆性能受隈子蠹存或系统总线豹逮发。姿这类应 用被执行时,会使得许多c p u 周期浪费在等待数据上。在这里增大处理器的频 率( 电压) 对撮黼应用的性能毫无用处,殿而会浪费不必要的电能。因此当这类 豹癍霉窭瑗孵,剿应该提裹内券帮系绞总线频率,著逶巍辫羝整理嚣频率,激节 约电能。 处理器一内存菇黻型 还有相当一部分应用不仅疑限于处理器速度还受限于内存速度。如多媒体应 用,既需要大量的处理器周期进行编解码,也需要进杼大量的数据存取。当这类 应耀毒瑰簿,不莰需要提离憝遴器频率( 泡筮) ,毽嚣蘩提嘉内存与系统慈线瓣 频率( 电压) 。 毒。8 。2p 鞠牲熊数蠢努辑方法 p e r f o 廿n a l l c e p r o f i l e r 会在一定的时间问隔内将p m u 数据发送给i p m e 层。那 么作为用户空闽熬邀源管理燕略,褥到这憋数据后,该如嚣判甄当兹疲建是属于 哪一种类型的斑弼昵? p m u 中记淤的事件发生的次数是从p m u 开始工作到当前事件内发生的次 数。p 溜中髓激录熬事搏如袋4 1 鬟示。 表4 1p m u 事件歹表 澎江走学磺士学位论文嵌a 式系纯镪惑电嚣营理磺究 指令高速缓存不能传送指令数秃 已执行分支数b e x 妣u k d 分支琰测失效数纛 已执行指令数 i l a l - i n 懿n m ;s 流窳线空耥数 n 瓤a 蚓l s 数据高速缓存访问次数 d s 数攒商逮缀存失效次数 魏n l 龉 分桥p 事件,我们可以得到如下信息,按小节分述。 c 纠疑l p e 每指令的周期数 = o 5 为处理器髑限型应用。 如氛_ l b = o 5 必内存蔚黻黧应用。 魏莱上夏两条姆瓣瞬瀵照,为楚理器建辔弱袋型痘耀。 浙江太学硕士学位论文 嵌入式系统动态电源管理研究 区域的大小来获得电能节省。比如说如果内存巾有效数据少于l 1 6 ,我们可以通 过将自刷新范围控制在1 1 6 ,从而在s t a n d b y 和s l e e p 状态下降低1 5 ,1 6 的内存 的电熊消耗。 5 1 2 设计目标 我们的设计目标是将内存的自刷新区域尽缀减少到最小,为此我们引入一个 自刷掰簸域界限的概念,其德可以为l ,l 尼,l 雎,l ,8 ,l ,1 6 中的一个僮。力l 瓣羯熬浚痰存在s 拄国y 波s l e 锋凌态下都藏巍鼷赣,为l 怨酵,粼哭弱薪嚣瑟 的l 坨内存区域,图5 1 绘出了6 4 m b 物理内存情况下,自刷薪送域界限分别为 1 ,l 2 ,l 4 的内存部分刷新图示。 卜雒m b 内存一 厂一律举6 4 m b 厂使用1 6 m b 5 1 3l i n u x 支持 圈5 1 内存罄分嚣凝霆示 在l i n u x 内核中,物理獗两被划分为三个z o n e ,分别为d m a ,蒋通内存及 浙江大学硕士学位论文 嵌八式系统动态电源管理研究 高端内存。每一个z o n e 都有其空闲页面链表,通过遍历每一个瑚e 的空闲物理 页面链表,我们可以了解到系统中当前所有的空闲物理页面的情况,从而也可以 了解到所有非空闲物理页面的情况。z o n e 的数据结构如下: s t m c t z o n ef 产f i e l d sc o l l l l n o n l ya c c e s s e db yt h cp a g ca l l o c a t o r + u n s i g n e dl o n g 丘1 e ep a g e s ; u n s i 印e dl o n g p a g e s - m i n ,p a g e s - l o w ,p a g e s - 一h i 曲; l l n s i g n c dl o n gl o w m e m j e s e e 【m a x r 上o n e s 】; # i f d e f c o n f i gn u m a s t n l c tp e r _ _ c p u - j a g e s c t e l s e s t m c t p e rc p up a g e s e t # e n d i f + p a g e s 州p u s 】; p a g e s e t n r c p u s ; s p i l l l o c k j 1 0 c k ; i f d e fc o n f i g _ _ m e m o r yh 盯r p l u g 产s e es p a l l i l e d p r e s e m j ) a g e sf o rm o r ed e s c r i p t i o n + s e q l o c k j s p 锄s e q l o j k ; 拌e n d i f s t n l c t 丹c ca r e a 行e e _ a r c a 【m a xo r d e r 】; z o n e j a d d i n g l p a d l j pf i e l d sc o m m o n l ya c c e s s e db yt l l ep a g er e c l 如s c a n n e r + s p i n l o c k jl n j _ l o c k ; s t n l c tl i 咄a d a c t i v e j i s t ; s 缸1 l c tl i s u l e a d i n a c t i v e - l i s t ; u n s i g n e dl o n gm 一s c a i la c t i v e ; u n s i g n e dl o n gm 一s c a f l i n a c t i v e ; u n s i g n e dl o n g 1 1 ra c t i v e ; u n s i 印e dl o n gr l i n a c t i v e ; l u l s i 蛐e d1 0 n gp a g e s _ _ s c 锄e d ; 幸s i n c el a s tr c c l 咖+ , 3 0 浙江大学硕士学位论文嵌入式系统动态电源管理研究 i n t a l l 吼r e c l a i m a b l e ;产a l lp a g e sp i n n e d + 产ac o u l l to f h o wm a n yr e c l a i m e r sa r es c 枷n gt h i sz o n e + a t o m i c _ tr c c l a i l n i i l p m g r c s s ; l l n s i g n e dl o n g l a s tu n 锄c c e s s 如l _ z o n e e c l a i m ; i mt e m p - p r i o r i t y ; i n tp r e 删嘶锣; z o n ep a d d i n g ( _ p a d 2 _ ) 严r 矗r e l yu s e do rr e a d - m o s t l yf i e l d s + w a i t _ q u e u eh e a d t。涮t t a b l e ; 1 1 1 1 s i 驴e dl o n g w a i t _ t a b l e - s i z e ; u n s i g i l e dl o n g w a i t - t a b l e _ b i t s ; s t r u c tp g l i s t - - d a t a + z o n ep g d a t , s n u c tp a g e + z o n e - t p e i l l _ 1 【p ; 产z o n e _ s t 哪_ p f h z o n es t a r tp a d d r p a g e - s h i f t 幸 u n s i 印c dl o n g 獭1 e _ s t a r o 向; 吼s i 舯e dl o n gs p 锄e dp a g e s ;产t o t a ls i z e ,i n c l u d i n gh o l e s u i l s j 印e dl o n g p r e s e mp a g e s ; pa m o i l l l to fm c m o r y ( e x c l u d i n g h o l e s 、+ c h a r+ n 锄e : )c a c h e l i n e i i 岫l o d e a l i g n e d j n s m p ; 在z o n e 结构中,为考察物理页面状态所需用到的成员为疔e e a g e s , 行e e _ 黜a 【m a xo r d e r 】,a c t i v e - l i s t 以及i 眦t i v e - l i s t 。 舶e - a r e a 【m a x0 r d e r 】是“u x 采用伙伴系统算法进行物理页面管理的数 据结构,l i n l l ) 【将所有的空闲页面分组为l o 个链表,每个链表依次挂载大小为 1 ,2 ,4 ,8 ,1 6 ,3 2 ,6 4 ,1 2 8 ,2 5 6 ,5 1 2 个连续空闲页面的链表,如图5 2 所示: 3 l 壅兰查望篓轰黧垒鱼墨照垒查墨丝壁查量整黧堡塑茎 融a 僦 图5 - 2 伙体系统图示 通过对所有物理页面的遍历,我们可以了解到系统中所有空闲物理页俩的分 布情况,从而也可以了解到非空闲物理页蕊的情况。我们遇过位图来表示系统中 瑟套懿瓒溪瑟静状态,o 表示空霾,l 表添棼空淹,逮撵豹方法著不会攒翔缀多 内存消耗。以一个拥有6 4 m b 物理内存的系统为例,4 m 一个页面,则系统中 有1 6 k 个页面,每一个员面占用位图的个位,那么位图的大小为1 6 k b i t s ,即 2 k b ,魄个页恧的大小遴小,因j 遨这个方法痰存开销檄小。 我稍邋过班下算法遮掰系统中所有物理页面来设置钕鞠; 函数:s e t _ b i t i n a p ( ) 笼将位鍪瑟毒懿袋设楚l ; f b r e a c hz o n e 硒f e a c h 觑气a r e a 【i 】 f o r e a c h 链表成员 找到冀物理页面对应在位图中的位,设为o ; , ) 浙江大学硕士学位论文 嵌八式糸统动态电源管理研究 这样,在遍历完所有的物理页面之后,空闲物理页面对应的位图中的位被置 为0 ,而非空闲页面对应的位图中的位仍然为1 。这是为下一节将介绍的页面转 移算法服务的。 在考察所有的物理页面的过程中,含有有效数据的物理页面分布可能会比较 离散,而硬件支持的内存部分刷新是指小于自刷新区域界限的内存区域的自刷 新,大于自刷新区域界限的内存区域则停止刷新,从而数据丢失。因此,为了能 使这个硬件特性能发挥效果而且不丢失数据,我们需要在启动内存部分刷新功能 前将有效数据拷贝到自刷新区域,从s t 锄d b y 或s l e 印返回时再拷贝到原来的物 理页面。这些物理页面的拷贝与恢复是通过位图来进行的,后面我们会进行详细 的介绍。 我们将内存部分自刷新方法分为如下几个步骤: 1 ,遍历所有物理页面,通过位图记录所有物理页面的状态。 2 ,计算出自刷新区域界限。 3 ,进行物理页面数据拷贝,将所有包含有效数据的物理页面拷贝到自刷新 区域中,并通过位图记录拷贝信息。 4 ,进入s t a n d b y 或s l e 印状态时启动内存部分刷新功能。 5 ,从s t a l l d b y 或s l e e p 状态返回前关闭内存部分刷新功能,并根据位图信息 恢复物理页面信息。 6 ,恢复运行状态。 第二步中需要注意的是,只要我们计算出了自刷新区域界限的大小,那么自 刷新区域的大小总是能够容纳当前系统中所有非空闲物理页面的存放的。 以一个简化的例子来说明。假设系统中有3 2 4 k b 的物理页面,通过遍历所 有物理页面,发现当前保持有效数据的物理页面有7 页,系统的物理内存分布位 图如图5 3 所示。 图5 3 物理内存分布位图 浙江走学硕士学位论文嵌入式系统动态电源管理研宄 束前使用e x i t 命令退出电源管理器。 5 2 4 电源管理器对权德的处理 魄深管理嚣通过查看浚瓣驮搠孛搿有应瘸瓣投德,取褥最大静授值作为决定 处理嚣频率的关键值,因为必须首先满足对性能要求最高的应用需求,满足了对 性能簧求最高的应用需求餍,其他的应用需求也得到了满足。对于如何根据权值 得到c p u 频率,我们进行如下处理: 竣w e i g 瓤一1 0 e ) r e 铀m4 1 6 0 0 0 : i 埔w e i g l l t 7 0 ) r c t l l m2 0 8 0 0 0 : e l s e r e 论m 0 4 0 0 0 : 生意,这里返回值的犟位为k h z ,即返回德为4 1 6 m h z 2 0 8 m h z ,1 0 4 m h z , 这三个频率均为p 也7 x 支持的运行频率。在得到所需的处理器频率后,即可调 用i p m c 提供的方法迅速谶熬处理器频率,满怒应露需求。 5 。2 s 用户空闫应用管理的具体实现方式 动 x i 巍扛太擘颈圣学植论主 嵌入式系统动态电嚣管理唾竞 f q = _ l l o l o 。 _ lj i :毒磅罄黟赫争掣垮蔓 窿笋圜 ,。,。:二 匿豳 瑚静嘲蛐l 燎榔l 翱睡群鞠嘲i 嚏蜘嫦黼研嬲罐蠢辨臻 辩醛稿搿蜷蕾渊韵畸孵哪糍翎嫩妗a 黪瓣獬i 群带嘲瓣 阁5 6 用户空间应用管理架构 舢糟l i c a t i o ni n t e 如c e 掇供接口供用户空问成用调用,调用产生的婊果是会向 指定戆一个s o c k 氍文锌接述簿( 馥s k 畦文传裁l 述舞在本动态奄滋镶臻裙始稼 时籍舞,并开始使孵) 发送命令,s o e k e t 文锌撼述符得到命令君将麓保存在自己 自q 命令队列中。电源管理器在周期性扫描s o c k c t 文件描述符时发现有新的命令 到达,则根据命令中的信息( 包括应用的i d 号,要进行的操作及此操作所需的 数据) 修敬应用列表中相艨警点鲍信息。然后遴行对应罔列表中质蠢斑用的投僮 楚毽。箕处理方式翔蘸节瓣述。 需插入的初始仡伪代码如下: 函数:a p pc o m m l i n i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农村建筑预算员招聘考试题库
- 2025年宁夏安全员考试核心法规题库答案
- 2025年雕塑家面试题集锦
- 2025年村级保洁员笔试模拟题及答案
- 商业保密协议文本
- 外国投资企业协议格式
- 2025年美食顾问专业技能考核试题及答案解析
- 2025年酒店管理师专业资格考试试题及答案解析
- 2025年建筑工程施工员国家职业资格考试试题及答案解析
- 2025年会计职称资格考试试题及答案解析
- 2025江苏苏州昆山国创投资集团有限公司第二期招聘10人笔试参考题库附带答案详解
- 2025至2030年中国应急产业市场供需现状及投资战略研究报告
- 中医院临床路径培训课件
- 2025年甘肃普通高中学业水平选择性考试化学真题及答案
- 2024年合肥演艺集团有限公司社会招聘4人笔试备考试题带答案详解
- 2025年N1叉车司机模拟考试1000题及答案
- 2025年秋期部编人教版六年级上册语文全册核心素养教案(教学反思无内容+二次备课版)
- 养老护理员培训班课件
- 肾挫裂伤护理
- 不买社保的劳动协议书
- 临水作业安全培训
评论
0/150
提交评论