嵌入式系统低功耗软件技术研究

嵌入式系统低功耗软件技术研究


2024年4月17日发(作者:)

第2l卷第1期 

计算机技术与发展 

Vo1.21 No.1 

2011年1月 

COMPUTER TECHNOIDGY AND DEVEI OPMENq’ 

Jan. 2011 

嵌入式系统低功耗软件技术研究 

姚伟 

(北京工业大学计算机学院,北京100124) 

摘要:嵌入式系统低功耗设计中有硬件技术无法涉足的空间,可通过低功耗软件技术实现降低系统功耗的目的。针对 

液晶显示器(LCD)电气特性,从软件角度,综合运用动态电源管理技术和动态电压管理技术,根据处理器负载变化趋势和 

对空闲模式计时的思想,给出了降低液晶显示器功耗的算法和策略;利用优化编译技术中的操作替换和指令排序方法,分 

析和研究图形图像处理中常见的矩阵变换算法,给出了低功耗策略和验证节能73.9%。并就低功耗软件技术算法和策略 

给出了结论和提出了下一步研究的方向。 

关键词:低功耗;动态电源管理;动态电压调节 

中圈分类号:TP302 文献标识码:A 文章编号:1673—629X(2011)O1—0112一o4 

Study of Embedded System Low-Power Software Technology 

YA0 Wei 

(Dept.of Computer,Beijing University of Technology,Beijing 100124,China) 

Abstract:There is a research field for low power technology that can t be mentioned only by the hardware design,so then using low- 

power software technology call reduce system opwer consumption.From the software perspective,according to changes in processor load 

and idle mode,and taking full advantage of LCD electircal characteristics,the algorithm,using dynamic power management and dynamic 

voltage management combined,is put forward to reduce LCD power consumption.Furthermore,Operation Replacement and Optimiza— 

tion Instruction Sequence are used to analysis and research of mamx transformation algorithm frequently using in gap ̄cs and image pro— 

cessing and give the low power strategy decreasing 73.9%energy.According to low—power algorithms and‘strategies.it gives the con- 

clusion and further research direction. 

Key words:low-power;DPM;DVS 

O 引 言 

广。不管是在航天,航海,还是在工业,家庭,商业贸易 

伴随嵌入式设备广泛应用,低功耗技术愈显重要, 

上的应用,都是靠电池供电,然而电池技术的发展远远 

从软件角度研究低功耗问题也变得更加突出。用软件 

跟不上嵌人式技术的发展,所以降低功耗,延长电池更 

技术降低功耗,一般从优化编译、操作系统和应用程序 

换周期变成了迫切的问题。 

人手,文中以降低LCD和矩阵运算功耗为例,介绍低 

因此,嵌入式低功耗软件核心技术的研究意义深 

功耗软件技术的策略和方法。 

远: 

1)降低嵌入式设备制造成本,高功耗的设备肯定 

1研究意义与现状 

需要高成本部件来降低温度,以保持性能稳定。 

1.1研究意义 

2)提高系统的可靠性,功耗密度的增加会对系统 

近几年,嵌入式系统(embedded system)已经成为 

的可靠性和性能影响加剧,一般温度每增加10度,系 

电子信息产业中最具增长力的一个分支 。随着手 

统的失效率会增加一倍。反过来,功耗降低可靠性增 

机、PDA、GPS、机顶盒等新兴产品的大量应用,嵌入式 

加。 

系统的市场虽然正在以每年30%的速度递增,而功耗 

3)延长电池供电时间,一般的嵌入式设备都要靠 

问题严重制约嵌人式设备的进一步的发展、应用和推 

电池供电,设备的功耗降低,自然会使电池的工作时间 

延长。 

收稿日期:;OLO—o4—22;修回日期:2010一O7—13 

4)减轻嵌入式设备重量,方便消费者使用,电池 

基金项目:北京市优秀人才培养基金项目(20081130501500169) 

在嵌入式设备重量中占有很大比例,功耗降低使电池 

作者简介:姚伟(1984一),男,山东人,硕士研究生,研究方向为嵌 

的重量降下来,嵌入式设备重量相应的就会降下来,消 

人土c软硬件设计。 

费者使用就会更轻捷方便。 

第l期 姚伟:嵌入式系统低功耗软件技术研究 ‘113・ 

5)扩大嵌入式设备市场规模,随着电池寿命延 

均衡优化和降低执行频率就有可能节省50%的功 

长,设备重量降低和性能稳定,给消费者带来更多的便 

耗 引。 

利和满足,势必会扩大使用范围,增大市场规模和占有 

2.1减少冗余代码 

率。 

研究发现,应用程序即使经过性能优化,也仍存在 

6)节能环保天地广阔,全球变暖,冰川融化,煤炭 95.6%的load指令和42%的store指令的冗余。片上 

石油消耗严重,而且不久的将来面临枯竭的危机,这些 

存储器占处理器能耗的30%,显然减少冗余对降低功 

都迫切要求我们节约能源,保护环境,低功耗技术恰恰 

耗影响重大。 

能够发挥重要的作用,而且随着大功耗电子设备突飞 

2.2降低I/o次数 

猛进的增长将会产生更为深远的影响力。 

处理器能耗中,驱动1/0也占用重要部分,因此, 

1.2国内外研究现状 

利用编码方法对I/0数据进行压缩优化来减少I/0频 

鉴于低功耗技术的意义深远和重要性日趋明显, 

度,可以有效降低功耗。 

低功耗技术研究(Low—Power Design)变成了首当其冲 

2.3操作替换 

的关键问题,开始主要研究工作是硬件工程师注重通 

处理器工作电路中指令翻转引起电路变化产生功 

过底层的电路设计来降低功耗,例如低功耗器件逻辑, 

耗,因此会出现一些操作花费的功耗多于其他操作。 

互连功耗优化、漏流电流控制、布局封装,后来系统工 

如乘法操作比加法和移位更耗电;操作寄存器比操作 

程师又从体系结构考虑降低功耗,直到最近嵌入式工 内存要节省25%的功耗。选择合适的操作方式对降 

程师发现由于工艺等多方面因素的限制,仅仅从前两 低功耗发挥着不可忽视的作用。将计算 +A +曰经 

个方面考虑,已经没太多可以挖掘的潜力,由此开始转 

操作替换变成(A+X)×X+曰,减少了操作次数,如图 

向软件低功耗核心技术的研究、开发和应用 引o

x 

尤其是近十年来软件的低功耗技术已经 x 

: 

开始升温,

兰卜 ± 

实现低功耗是完全可行的,值得深入研究。目 

大量的研究和实用说明,利用软件 : 

前最受欢迎的软件低功耗手段是操作系统,编译器,应 

1所不。 

用软件四个方面实现。 

图1操作替换 

世界各地的著名科研院所和有影响力的高科技公 

2.4指令排序 

司都投入了巨大的人力、物力和财力,对低功耗技术进 

优化指令排序能降低处理器运行功耗,处理器功 

行研究和推广,例如:国外许多大学成立了低功耗技术 

耗公式: 

小组、PARAPET研究组,以及有关嵌入式移动计算方 

P=,×V X N×T (1) 

面的低功耗研究;国内有中科院的从事多线程低功耗 

其中,是平均电流, 和 在电池供电的设备中已 

编译优化技术研究的许多专家,及其他大学的一些教 

知,Ⅳ是程序运行周期数。显然,充分利用嵌入式处理 

授和博士等都在致力于低功耗软件技术的研究和推 

器的并行处理能力,通过优化指令排序,减少指令执行 

广。然而,总的讲国内在低功耗技术研究方面无论是 

周期,能够实现降低系统功耗。 

在开发人员的认知,还是投人的物力或人力都明显满 

2.5举例 

足不了市场的需求。因此,对我们来说努力加快研究 

运用处理器的并行处理能力,通过优化指令排序, 

和积极的推广应用,无论对国家的经济、社会、军事、教 

减少指令执行周期,能实现降低系统功耗。图形图像 

育、文体医疗,还是对人们的日常生活都显的尤为重要 

处理中矩阵』4[ ][Ⅳ]常有转换运算: 

和迫切。 

k×A[i]+2×A[i]x A[-『] (2) 

以加运算代替乘运算式(2)转换: 

2优化编译 

( [i]+A[iI)×(R+ [J]) (3) 

优化编译降低系统功耗的原则是在不降低或不明 

其中k为实数, √是行和列(1≤i≤M,1≤ ≤ 

显降低程序执行效率的条件下,尽可能降低峰值功率、 

Ⅳ)。式(3)比式(2)中减少2个乘运算,增加一个加 

总能量消耗及保持功耗与性能之间的良好性价比,最 

运算(R=k/2),显然更节省功耗。式(3)分解为o= 

终达到嵌入式设备运行良好和功耗最低的双赢目标。 

A[i]+A[ ],b=R+A[ ],C=0×b,以A[i]、A[J]f 

优化编译技术包括:均衡优化指令功能均、降低执行频 

表矩阵中第ij行元素参与运算。 

率、提高执行速度、缩短执行时间、减少数据传输和片 

分解后对其优化指令排列前后汇编代码和功耗如 

外总线的驱动次数等。仅通过对应用程序的指令功能 

表1所示。 

l】4・ 计算机技术与发展 第21卷 

表l 优化指令排序前后汇编代码及功耗对比 

优化排序前代码 功耗mA 优化排序后代码 功耗mA 

Move A[i],Io 90 mA Move A[i],r0 A[i],rl l2O HIA 

Move A[i],rl 90 mA AddIo,rl R,r2 A[j],r3 150 mA 

Add rO,rl 1oo TnA Add r2,r3 1oo mA 

Move rl,a 9O fnA Mpy rl,r3,I4 l60 mA 

MOVeR,r2 90 mA Move r4,c 90 mA 

Move A[j],r3 90 mA 

Add r2.r3 100 mA 

Move r3,r4 90 mA 

More a. 90 mA 

Mpy r4,r5,r6 160 mA 

Move l6.c 90 mA 

由表1可知优化后执行周期少6个、寄存器少2 

个,内存和寄存器操作次数分别由7次减至5次和11 

次减至8次。 

由式(1)和参考文献[7]中所建立的模型,优化前 

后功耗比: 

P. 

Il X V×Nt×T,1×Nl 

P 

I2 X V x N2 X T l2 x N2 

l080×1l 

=~ 

(120+150+100+160+90)X 5 

11880 

=一 

3100 

可见功耗降低了73.9%。算法实现可先建立数 

据依赖图(Data Dependence Graph,DDG),再采用以串 

列为基础的排序机制 ],程序中要兼顾减少程序执行 

周期、少用寄存器和少操作内存。因此优化指令排序 

和操作替换可以减少执行周期和对寄存器与内存的操 

作次数,从而既提高了系统系能,又大大降低系统功 

耗。 

3操作系统 

3.1动态电源管理(DPM) 

动态电源管理在降低嵌入式系统功耗发挥着不可 

替代的作用,属于操作系统级别的管理方式。动态电 

源管理的本质是一一种电源管理的机制或策略,能够在 

系统运行时,动态地管理电源。嵌入式系统一般都有 

几种工作模式如:工作模式,空闲模式,睡眠模式,不同 

的系统对应的模式划分会有差异,但本质不变。针对 

不同模式问的转换,产生出不同转换策略,如超时策 

略、预测策略和随机策略 。 

3.2动态电压调节(DVS) 

根据CMOS电路电气特性,分析系统功耗有三部 

分:动态功耗、静态功耗和短路功耗,其中动态功耗比 

重占70%一90%,随着发展静态功耗正在成指数增 

长,逐渐成为仅次于动态功耗,而短路功耗所占较小。 

重点研究系统的动态功耗和静态功耗,根据公式:P= 

fx C×俨×N+,×V,其中-厂为频率、G为电容、 为电 

压、Ⅳ为程序运行引起状态门平均转变数,,为电流。 

由此可知,DVS的实质是因系统功率正比于频率、与电 

压成二次方关系,所以根据当前运行任务的需求,在保 

证性能前提下,动态的调整处理器工作电压和频率,以 

此来降低系统功耗。DVS又分实时DVS任务调度和 

非实时DVS任务调度 。 

3.3举例 

据统计,一般嵌入式系统功耗比是CPU占12%、 

LCD占68%,其他占12%,现以便携式LCD为例,综 

合运用DPM和DVS技术,选用Lunix操作系统,实现 

LCD低功耗算法,达到实低功耗管理LCD的目标。 

Lunix包括四种工作模式:Turbo模式、运行模式、空闲 

模式和睡眠模式,其中Turbo和Run模式都是系统正 

常工作模式,在此统称正常模式。 

3.3.1 LCD功耗特性 

LCD功耗:P=厂×C X X N+,×V (4) 

人眼感知亮度:H=P X L×Y (5) 

其中厂:频率、c:电容、 :电压、 :背光亮度、y:图 

像信号亮度、P:液晶屏的亮度传输率(常数)。背光亮 

度和逆变器功耗占据显示器功耗的大部分。电池供电 

设备 不变,又 正比 于,所以P是 的三次方关系。 

因此了解这些,由式(4)和式(5)找到了降低功耗的 

切入点。 

3.3.2 LCD电源管理模式 

如图2所示,LCD电源管理模块包括二个单元监 

视单元和控制单元,监视单元负责监视处理器负载变 

化,传递指令给控制单元;控制单元控制LCD工作状 

态。 

探测 指令 控制 

图2 LCD电源管理模式 

3.3.3程序实现 

Linux内核有全局变量kstat中记录了CPU启动后 

运行在用户态和系统态的时钟滴答数ticks,容易计算 

采样周期lOOms(经验值)内处理器处于负载工作的时 

间,二者相减得空闲时间,除去lOOms得采样周期空闲 

比Idle—Time。参考文献[8,9]中负载统计方法,根据 

三个连续采样周期内的空闲比的数据趋势和空闲模式 

计时器idle是否超时,判断处理器工作状态,做出控制 

第1期 姚伟:嵌人式系统低功耗软件技术研究 ・1 15・ 

LCD的决策。 

求的条件下,尽量使用低精度的数据可以有效减少处 

int GetIdle

Time(int time){返回采样周期空闲比} 

理器指令翻转带来的功耗…・ 。 

void Task

Detect(){Idle—Time[0~2]=Get—Idle—Time(int 

time); 

If(Ilde—Time[0]<Idle—Time[1]<Idle—Time[2]){Contor—LCD 

5 结束语 

(1);}//空闲时间是增趋势 

运用了处理器负载变化、动态电源管理、动态电压 

else{Contor—LCD(O);}//空闲时间是减趋势} 

管理等技术,就降低嵌入式外围设备功耗具有一定的 

void Contor

LCD(int data){if(ilde超时且data==1){LCD—In— 

代表性。利用优化编译技术降低矩阵运算的功耗对具 

Sleep();} 

体应用很有意义。 

else if(data==i){LCD—In—Ilde();l 

下一步研究则针对具体的处理器和LCD,由应用 

eles{void LCD—Down—Light();}} 

场景分析负载变化和LCD需求,实现一套更优的降低 

void LCD In

Sleep()//LCD进睡眠状态 

{if(LCD一>State不是睡眠){关闭背光灯、逆变器,降低显示通 

功耗的技术。 

道时钟工作频率}} 

Void LCD

参考文献: 

Down

Light()//LCD工作状态 

{控制脉冲占空比动态减小L、增大Y} 

[1]WolfW.嵌入式计算系统设计原理[M].孙玉芳,等译.北 

void LCD

In

京:机械工业出版社,2002:126—152. 

Idle()//LCD进空闲状态 

{降低LCD f和L、使模数转换、锁相环电路等进入空闲状态} 

[2] Borkar S.Low Power design challenges for the decade(invited 

监视单元函数Task—Detect()判断空闲比数增减, 

talk)[C]//In Proceedings of the 2001 conference on Asia 

向控制单元Contor—LCD()传递1或0。睡眠状态时关 

South Paciifc design automation.Yokohama,Japan:ACM 

闭背光灯、逆变器,降低显示通道时钟工作频率;空闲 

Press,2001:293-296. 

状态时降低厂和 ,使模数转换、锁相环电路等进入空 

[3] 赵荣彩,唐志敏,张兆庆,等.编译指导的多线程低功耗技 

闲状态。工作状态主要通过适度调整背光亮度三和图 

术研究[J].计算机研究与发展,2002,39(12):1572—1579. 

像信号亮度y实现降低功耗。 

[4]Jung S,Kim K,Kang S.Low—Swing Clock Domino Logic In— 

eorporafing Dual Supply and Dual Threshold Voltages[C]//In 

注意, 太小会带来眼疲劳,l,增大也不应使饱和 

Proceedings of the 39th conference on Design automation. 

点像素的个数高于5%。可以通过程序控制LCD微处 

New Orleans,Louisiana,USA:ACM Press,2002:467—472. 

理器I c或I/0口关闭相应部件或降低频率。程序控 

[5] Amelifard B,Fallah F,Pedram M.Low-Power Fanout Optimi— 

制图像处理器,应使输入信号场频略高于40Hz,从而 

zation Using Multiple Tlireshold Voltage Inverters[C]//In 

既不使图像闪烁,又降低LCD存储电容的刷新次数, 

Proceedings of the 2005 International Symposium on Low Pow— 

减缓帧缓冲内存的读写率及其总线的时钟频率,达到 

er Electronics and Design.San Diego,Caliofrnia,USA:ACM 

降低功耗的目标。 

Press,2005:95-98. 

[6]赵荣彩,唐志敏,张兆庆,等.低功耗多线程编译优化技术 

4应用软件低功耗技术 

[J].软件学报,2002,13(6):1123—1129. 

不同于系统软件,应用软件低功耗问题是常常被 

[7] Gibbons P B,Muehnie S S.Efifcient Instruction Scheduling ofr 

忽视。且至今,没有一个严格的标准来判断应用软件 

a Pipelined architecture[J]+SIGPLANNotices,2004,39(4): 

169-174. 

的低功耗技术优劣,但仍有一些被验证的能有效降低 

[8]王力生,夏志江.嵌入式系统中软件优化的低功耗研究 

应用软件的功耗技术。 

[J].单片机与嵌入式系统应用,2006(4):12一l4. 

程序员很清楚对RAM的操作比对Flash的操作 

[9]吴业进,刘锋.嵌入式系统面向低功耗的协同设计[J]. 

消耗更多功耗。应用程序中对子程序调用时会为了保 

单片机及嵌入式系统应用,2003(7):14—16. 

存现场,二次对RAM实现进堆栈(RAM)和退堆栈操 

[1O]杨雪金,南余荣,俞立.一种减少嵌入式处理器功耗的综 

作(RAM),宏只是在编译时展开,处理器顺序执行,所 

合DVS方法[J].计算机工程与应用,2005,41(2):42—50. 

以适度扩大Flash用宏代替子程序能明显降低功耗。 

[11]李允,熊光泽,程红蓉.嵌入式系统的功耗管理技术研究 

相对于中断可以直接进入低功耗模式,查询需要不停 

[J].单片机与嵌人式系统应用,2001(12):21—25. 

地访问I/O寄存器而消耗更多功耗,用中断替换查询 

[12]王力生,郭振轲.基于DVS的实时多核嵌人式系统低功耗 

也是很好的低功耗策略。另外,应用程序中在满足需 

算法[J].计算机应用研究,2009(1):127—131. 


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713292249a2220148.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信