嵌入式系统的低能耗研究_第1页
嵌入式系统的低能耗研究_第2页
嵌入式系统的低能耗研究_第3页
嵌入式系统的低能耗研究_第4页
嵌入式系统的低能耗研究_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统的低能耗研究摘要:随着各种嵌入式高功能性和高效率移动设备的广泛应用,嵌入式系统的低功耗的重要性表现的越来越突出。高性能下的低功耗才能保证设备的长时间稳定高效运行,本文主要从硬件优化设计和软件优化设计两个方面来分析如何降低功耗,现今软件设计优化成为主流,硬件优化在当今制造工艺下已接近完善。关键字:低功耗、嵌入式系统、智能电源、操作系统、编译技术abstract:with a variety of embedded high functionality and high efficiency of mobile devices are widely used, the importanc

2、e of low power consumption of the embedded system is more and more outstanding.high performance under low power consumption ensure the efficient running stably for a long time. this article mainly from two aspects of hardware design and software optimization design to analyze how to reduce the power

3、 consumption.today software design optimization has became the mainstream, hardware optimization under the current manufacturing process is nearly perfect.keywords:low-power dissipation,embedded system,intelligent power, os,compilation technology1. 引言嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体

4、积、功耗有严格要求的专用计算机系统。随着嵌入式系统的不断发展,其概念也在不断延伸和扩展,也有人将嵌入式系统定义为:基于微处理器的,用以实现一项或多项任务,并且不能像个人电脑那样被最终用户所编程的系统。从20世纪70年代世界上第一个为嵌入式应用而设计的微处理器intel4004诞生以来,嵌入式系统已经发展了30多年。近几年,嵌入式系统(embedded system)已经成为电子信息产业中最具增长力的一个分支。随着手机、pda、gps、机顶盒等新兴产品的大量应用,嵌入式系统的市场正在以每年30%的速度递增,嵌入式系统的设计也成为软硬件工程师越来越关心的话题。现在的嵌入式装置的功能部件越来越多,通

5、用微处理器工艺水平和主频的不断提升,功耗日益成为信息系统设计者必须关心的问题,功耗问题业已成为处理器发展的一个重要瓶颈.尤其对于便携式电子设备,大多应用电池来进行供电,低功耗才能保证设备长时间稳定运行。降低嵌入式系统的功耗主要从优化硬件低功耗设计和软件低功耗两个方面开展,硬件方面主要论述低功耗微器件的选择、总线和接口电路低功耗设计、供电模式选择和智能电源设计,软件方面主要论述系统级动态电源管理技术和指令和编译过程优化。2. 嵌入式系统硬件低功耗设计2.1挑选低功耗的硬件器件低功耗的电子器件是降低硬件系统功耗的根本,是基础。目前的半导体工艺主要有ttl工艺和cmos工艺,cmos工艺具有很低的功

6、耗,在电路设计上应该尽量选用。嵌入式微处理器是嵌入式系统的耗能大户,消耗着大量的功率,所以选择合适的微处理器对于最后的系统功耗的大小有着重要的影响。微处理器的功率消耗分为两大部分:内核功率消耗pcore和外部接口控制器功率消耗pio,总的功率等于两者之和,即p = pcore + pio。对于pcore,关键在于其供电电压和时钟频率的高低;对于pio来讲,除了留意各个专门i/o 控制器的功耗外,还必须关注地址和数据总线宽度,因为当总线宽度越宽时,功耗就会越大。在数字集成电路设计中,cmos 电路的静态功耗很低,与其动态功耗相比基本可以忽略不计,故暂不考虑。其动态功耗计算公式为:p=cv2f其中

7、,p 代表cmos 芯片的动态功耗,c 是cmos 芯片的负载电容,v 和f 分别代表cmos 芯片的工作电压和工作频率。可知,cmos电路中的功率消耗是与电路的开关频率呈线性关系,与供电电压呈二次平方关系。对于微处理器来讲,v电压越高,时钟频率越快,则功率消耗越大。因此,要降低处理器的功耗,可以通过两种途径达到:降低处理器的工作电压和降低处理器时钟频率,其中,降低处理器的工作电压是最有效的途径。对于其他系统外围器件的选择也是必须要考虑的。对外围设备来说,低功耗cmos器件是较好的选择,也就是选择有较低工作电压、低晶振频率以及较低时钟速度的器件。2.2 关闭不需要的外设控制器cpu都提供各种各

8、样的接口控制器,如iic、flash、timer、spi、usb、异步串行接口控制器、以太网控制器等等,这些控制器在一个设计里一般不会全部都用到,但即使它们没有处于工作状态,也仍然会消耗电流。所以我们为了节省功耗,应考虑彻底关闭这些没用到的模块。2.3 总线和接口电路的低功耗设计总线由于电容大,数据传输密度高,形成大量的功耗。总线的低功耗设计包括:减小总线上信号的电压变化幅度(通常小于1v)。这对降低具有特大电容总线的功耗非常有效,同时它也需要额外的总线和功能模块之间的信号电平的变换电路;对总线进行分段控制,根据总线和功能模块连接的物理结构,在信号传输时,隔断总线的无关部分,从而减小总线的实际

9、电容,以达到降低功耗的作用;通过对总线数据的编码(gray-code, invert-code),使数据在总线上传输时引起的电平反转减少(即减小了活动因子)。接口电路的低功耗设计,往往是容易被大家所忽略的一个环节,在这个环节里,我们除了考虑选用静态电流较低的外围芯片外,还应该考虑以下几个因素:上拉电阻/下拉电阻的选取;对悬空脚的处理;buffer(缓冲)的必要性。2.4电压供给电路在数字电路设计中,通常是通过电压转换来得到各种电压,进行电压转换的方式有以下几种:线性稳压(linear regulator )、dc to dc、ldo(low drop-out)。其中ldo 本质上还是一种线性稳

10、压,主要用于压差较小的场合,所以我们将其合并为线性稳压来谈。对于线性稳压来说,其特点是电路结构简单,所需元件数量少,输人和输出压差可以很大,但其致命弱点就是效率低,功耗高,其效率完全取决于输出电压大小。一般来说,压差越大,可提供的最大输出电流就越小。dc to dc 电路的特点是效率高,升降压灵活,但缺点是电路相对复杂,信号干扰较大,其工作原理是通过快速的开关来控制电感和电容间的能量转换,调节开关信号的占空比可以改变输出电压的高低。2.5分区/分时供电技术一个嵌入式系统的所有组成部分并非时刻在工作,基于此,可采用分时/分区供电技术。原理是利用“开关”控制电源供电单元,在某一部分电路处于休眠状态

11、时,关闭其供电电源,仅保留工作部分的电源。其原理如下图1所示。图1 分区分时技术原理图2.6i/o 引脚供电嵌入式处理器的输出引脚在输出高电平时,可以提供约20ma的电流,该引脚可以直接作为某些电路的供电电源使用,如图2所示,处理器的引脚输出高电平时,外部器件工作;输出低电平时,外部器件停止工作。需要注意,该电路需满足下列要求:外部器件的功耗较低,低于处理器i/o引脚的高电平输出电流;外部器件的供电电压范围较宽。图2 利用输入输出引脚作为供电电源2.7 智能电源设计既要保证系统具有良好的性能,又能兼顾功耗问题,一个最好的办法是采用智能电源。在系统中增加适当的智能预测、检测,根据需要对系统采取不

12、同的供电方式,以求系统的功耗最低。许多膝上型电脑的电源管理采用了智能电源,以笔记本电脑为例,在电源管理方面,intel公司采取了speed step技术;amd公司采取了power now技术;transmeta公司采取了long run技术。虽然三种技术涉及到的具体内容不同,但基本原理是一致的。以采用speedstep技术的笔记本电脑为例,系统可以根据不同的使用环境对cpu的运行速度进行合理调整。如果系统使用外接电源,cpu将按照正常的主频率及电压运行;当检测到系统为电池供电时,软件将自动切换cpu的主频率及电压至较低状态运行。3. 嵌入式系统软件优化设计3.1动态功耗管理策略在系统部件确定

13、的情况下,操作系统电源管理器决策面临的主要问题是对工作负载特征进行建模在性能约束条件下,对系统部件功耗状态转换时机和选择何种状态作出决策根据对工作负载特征抽象方法不同,把动态功耗管理策略分为3类:超时策略、基于预测的启发式策略和基于随机过程的优化策略3.1.1超时策略超时策略超时策略超时策略是最简单通用的dpm策略如果部件空闲时间超过预定的时间,则该策略认为未来的空闲时间将大于部件的能耗平衡时间,从而设置系统为低功耗状态该策略不关注应用的特征差异和需求,比较通用超时策略的主要缺陷是等待超时过程中增加能耗,唤醒部件时会造成系统部件响应延迟如果超时阈值选择不当会带来性能损失或者降低节能效率针对非平

14、稳工作负载,可以通过保存阈值、加权平均以及动态自适应等方法。研究表明,对无线网络传输设备等具有非平稳自相似业务请求的设备,最优的动态功耗管理策略是超时策略(确定性markov策略)。3.1.2 基于预测的dpm策略动态预测策略分为预测关闭和预测唤醒策略预测关闭根据预测结果关闭系统部件;预测唤醒则根据预测的空闲时间提前唤醒部件预测方法属于启发式方法,假设系统部件访问在时间上存在关联性,未来的空闲时间可以通过历史信息进行估算,如何提高部件空闲时间预测的准确度是这类研究面临的主要问题一种采用离线的非线性回归方法可以较好地拟合系统部件空闲时间特征,但对应用依赖较严重,并需要离线计算,适用于事先确定的工

15、作负载指数滑动平均方法卯易于实现并具有较高的准确性,应用范围较广基于bp神经网络自适应学习来预测系统空闲时间的方法无需预先获得工作负载特性,具有传统回归算法不可比拟的优点3.1.3 基于随机过程的优化策略基于随机过程的优化策略是通过较高层次数学抽象建立系统的概率模型,解决启发式方法遇到的最优化问题基于随机过程的方法用markov链对部件能耗、状态转换时间和工作负载的不确定性建模,定义给定性能约束下的全局能耗优化问题,用线性规划方法求解需要得到系统工作负载的先验信息,但系统工作负载很难提前建模一种改进静态随机过程的方法在不同的工作负载下在线地学习,动态调节工作负载的markov模型参数用这种方法

16、得到的性能和能耗是期望值,不能保证对特定工作负载得到最优解构造的markov模型只是复杂随机过程的近似,如果模型不准确,优化策略也只是近似解与启发式方法相比,该方法求解复杂度和计算开销较大,实际中难以直接实现,但可以用于离线系统分析和dpm策略评估从前面的分析可以看到,动态功耗管理策略的安全性和效率很大程度上取决于所管理部件电源状态特性,以及系统中所运行的工作负载的特性3.2 动态电压调节策略dvs技术主要针对处理器等电压频率可调节的系统部件根据功耗和频率的递增凸函数关系,在完成同样的工作量情况下,当处理器稳定在尽可能低的频率上时能耗最低另一方面,应用程序并非总是需要以最快的速度执行,如果能以

17、较低处理器频率满足任务的性能要求,则可以降低系统能耗或者达到期望电池寿命问题关键在于正确预测工作负载对处理器的需求,合理分配处理器配额根据对工作负载特性抽象方法不同,有以下两种dvs策略3.2.1基于间隔处理器利用率的dvs策略在这类dvs策略中,处理器利用率被用来衡量工作负载对处理器的需求,从而根据过去一段时间的处理器利用率调节处理器频率后来有许多这种策略的变种,其目的是提高预测未来的处理器利用率准确度,包括aged-a,flat-u、指数滑动平均、概率分布模型等方法这种抽象方法简单有效,但处理器利用率只是对处理器需求的粗略抽象,不包含应用对系统性能需求的信息,不能很好保证系统的性能需求适合

18、应用特征确定或者不强调应用性能的系统3.2.2 基于任务处理器需求的dvs策略实时系统和交互式系统对系统性能和能耗都有较高要求,要保证实时任务可调度性或满足延迟时间约束,不应当造成用户的可感知性能下降为了满足性能需求,需要在dvs策略中引入表达性能约束的抽象,把处理器频率调节与任务调度结合起来,研究带有dvs目标的任务调度问题在硬实时嵌入式系统中,每个任务有明确的到达时间和截止时间通过用形式化方法描述实时任务调度条件下的处理器调频问题,可以给出离线的任务集调度算法这类问题进一步被扩展为离散电压和基于固定优先级调度算法的dvs问题、dvs下的任务同步问题和在线调度dvs调度问题与硬实时系统应用不

19、同,交互式应用和软实时流媒体应用的性能约束不严格,允许存在一定程度的延迟,性能评估单位可以是任务或交互事务同时,这类应用通常没有预知的处理器需求信息,任务截止时间和执行时间等参数通常不能预先确定因此,针对这类应用的频率设置与预测算法确定应用的性能约束,以及对工作负载处理器需求的自动监测机制等都是需要解决的问题一种dvs调节方法是从全局任务管理和局部的任务调度两个层次预测任务的处理器需求。监测工作负载的处理器需求有多种方法,一种是利用线程并行性分析方法来监测交互响应过程的执行时间,由操作系统内核自动监测任务执行m3;另一种是用监视gui事件的方法获得交互事件的发生时机和特征这类处理器需求监视及预

20、测等功能增大了操作系统的开销,但同时也为操作系统自适应管理系统能耗提供了支持3.3 编译优化编译器的作用是将由高级语言编写的程序,如c/c+等,翻译成能够在目标机上执行的程序。换句话说,编译器为高级语言程序员提供了一个抽象层,使得程序员能够通过编写与实际问题相近的高级语言代码(而不用汇编或者机器语言),方便地解决实际问题;同时,也使得程序的可读性和可维护性得到保证,提高软件开发的效率。另外,将程序移植到新的目标机,也只要用相应的编译器对程序进行重新编译,而不必重新编写程序。但是某些情况下,这样的做法是以牺牲程序的执行性能为代价的。编译器的有效性以及它所生成的代码效率,可以与专家级的汇编/机器语

21、言程序员所编写的代码相比较得出,因此可以通过对编译器的优化,生成效率更高的代码。通过优化编译器可以有效地降低嵌入式设备的功耗。在一个程序中,每一条指令都将激活微处理器中的某些硬件部件,因此,正确选择指令可降低处理器的功耗。通过建立特定处理器架构下指令集的功耗信息,利用“减少跳转的指令重排序”等方法,可以进行有效的软件低功率优化。这里作两点假设: 每一条指令都有一个固定量的功率; 每条指令的散热与它的操作数及其他指令无关。从图3可以看到,通过对指令的重新排序,可以把一段程序的初始功率状况,如图3(a)所示,转换成图3(b)所示的那样。可以得出这样的结论:尽管两种情况中局部区域的散热状况不一样,但

22、是它们所消耗的总电能是一致的。换句话说,可以在不影响总耗电的情况下,对程序的局部散热情况作出某些调整,以符合实际的需要。下面通过将指令进行重新排序来实现系统功耗的降低2。图3程序内局部区域功率的两种可能性3.4 指令排序我们知道,运行某一特定程序的处理器的功率pivdd(i为平均电流,vdd为给定的电压),则程序的功耗ept(t为程序的执行时间);同时,tnt(t为指令周期),即为主频的倒数,n为程序执行的周期数)。在嵌入式系统,尤其是在移动设备中,一般都通过电池供电,故系统的功耗是一个非常重要的指标。现在,vdd和t都是已知量,因此程序消耗的电能e与电流i和程序周期数n的乘积成正比。这里通过

23、引用参考文献7中所建立的模型来进行阐述。该模型中通过示波器等设备,测量并估计执行每条指令所需要的电流i。综上所述,可以利用嵌入式处理器中的多数据存储区域的特性,实现数据的并行处理,通过对指令的排序,减少指令的执行周期,从而达到降低功耗的目的。当前存在问题及发展方向低功耗编译作为一个新兴的研究领域,对于编译器开发人员提出了更高的要求. 主要表现在三个方面:第一,传统的编译器开发人员通常只要了解目标硬件的指令集和体系结构就足矣. 然而要开发低功耗编译,开发人员不但要了解硬件的指令集和体系结构,还要了解硬件在rtl 级、逻辑级甚至门级的构造;不仅要有编译方面的知识,还要有较深的硬件知识.第二,进行软

24、件功耗分析的工作量非常巨大. 从功耗模型的建立,模型参数的获取及验证,到构造功耗模拟器,需要有团队的支持才可以完成. 第三,低功耗编译方面的基础设施缺乏. 对传统编译技术的研究,目前有许多工具、平台可资利用,而用于低功耗编译方面的基础设施还比较少. 以上三点的存在,一定程度上提高了进行低功耗编译研究的门槛,使得研究效率难以提高.就低功耗编译技术本身而言,尚存在以下方面的缺憾:一是普遍缺乏对提出的低功耗编译技术的系统评价. 通常,验证了编译技术对降低某部件功耗的有效性,但没有考虑对对其它部件乃至整个系统的影响. 二是有些采用的功耗模型为理想的理论模型或实际硬件的简化抽象,与实际情况有所偏差,一定

25、程度上影响了实验验证的可信度. 三是现有的低功耗编译技术大多就某种程序结构进行优化,对一个应用程序而言,如何将其划分为各种结构,分别使用合适的优化技术,以及各种优化之间的相互作用和对整体的影响,都还没有深入探讨.随着研究的发展,我们认为低功耗编译的研究今后将呈现出如下趋势:a. 对软件功耗模型的改进与完善,功耗模型有不同的粒度,指令级功耗模型较精确,但又太复杂,体系结构级和功能级功耗模型虽快捷但又过简略.为适应不同的低功耗编译技术构造简洁高效的功耗模型,始终是验证和指导低功耗编译发展所必须的。b. 针对不同的体系结构的低功耗编译实现的研究,即针对单线程与多线程、嵌入式与非嵌入式、实时与非实时、恒有电源与电池电源等不同的体系结构的特点,来实现低功耗编译,比如对使用电池的硬件(主要用在手持设备中),其编译优

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论