嵌入式系统中软件优化的低功耗研究.docx

上传人:安*** 文档编号:17788446 上传时间:2022-05-26 格式:DOCX 页数:8 大小:19.76KB
返回 下载 相关 举报
嵌入式系统中软件优化的低功耗研究.docx_第1页
第1页 / 共8页
嵌入式系统中软件优化的低功耗研究.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《嵌入式系统中软件优化的低功耗研究.docx》由会员分享,可在线阅读,更多相关《嵌入式系统中软件优化的低功耗研究.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式系统中软件优化的低功耗研究摘要:各种嵌入式处理器及SoC应用于传感器、手机、PDA等各种设备。每种设备都有其对执行性能、体积、本钱、功耗、散热等的要求。其中,功耗、散热问题十分重要。本文基于对嵌入式系统中软件的优化,提出一种对指令进展重新排序的算法,以降低系统功耗。从20世纪70年代世界上第一个为嵌入式应用而设计的微处理器Intel4004诞生以来,嵌入式系统已经开展了30多年。近几年,嵌入式系统embeddedsystem已经成为电子信息产业中最具增长力的一个分支。随着手机、PDA、GPS、机顶盒等新兴产品的大量应用,嵌入式系统的市场正在以每年30%的速度递增,嵌入式系统的设计也成为软

2、硬件工程师越来越关心的话题。嵌入式系统是以应用为中心、以计算机技术为根底,并且软硬件可裁减,适用于应用系统对功能、可靠性、本钱、体积、功耗等有严格要求的专用计算机系统1。在嵌入式系统的设计中,低功耗设计Low-PowerDesign是必须面对的问题。其原因在于嵌入式系统被广泛应用于便携式和挪动性较强的产品中,而这些产品不是一直都有充足的电源供给,往往靠电池来供电,所以应从每一个细节来考虑降低功率消耗,尽可能地延长电池的使用时间。事实上,从全局来考虑低功耗设计已经成为了一个越来越迫切的问题。低功耗是便携式电子设备必须具备的一个关键特性。过去几年的研究主要针对硬件局部,而如今人们那么更注重通过优化

3、软件局部来降低系统功耗。要想对软件进展优化,必须理解每条指令所产生的功耗,并选择正确的编译方法,以降低程序执行的功耗。由于各种微处理器架构不同,指令集和功耗也不一样。因此,适用于某一处理器的优化方式并不一定适用于其他处理器。这样,选择与可降低功耗的软件相匹配的微处理器便特别重要。1、编译优化编译器的作用是将由高级语言编写的程序,如C/C+等,翻译成可以在目的机上执行的程序。换句话讲,编译器为高级语言程序员提供了一个抽象层,使得程序员可以通过编写与实际问题相近的高级语言代码而不用汇编或机器语言,方便地解决实际问题;同时,也使得程序的可读性和可维护性得到保证,进步软件开发的效率。另外,将程序移植到

4、新的目的机,也只要用相应的编译器对程序进展重新编译,而不必重新编写程序。但是某些情况下,这样的做法是以牺牲程序的执行性能为代价的。编译器的有效性以及它所生成的代码效率,可以与专家级的汇编/机器语言程序员所编写的代码相比拟得出,因此可以通过对编译器的优化,生成效率更高的代码。通过优化编译器可以有效地降低嵌入式设备的功耗。在一个程序中,每一条指令都将激活微处理器中的某些硬件部件,因此,正确选择指令可降低处理器的功耗。通过建立特定处理器架构下指令集的功耗信息,利用“减少跳转的指令重排序等方法,可以进展有效的软件低功率优化。这里作两点假设:每一条指令都有一个固定量的功率;每条指令的散热与它的操纵数及其

5、他指令无关。从图1可以看到,通过对指令的重新排序,可以把一段程序的初始功率状况,如图1a所示,转换成图1b所示的那样。可以得出这样的结论:尽管两种情况中部分区域的散热状况不一样,但是它们所消耗的总电能是一致的。换句话讲,可以在不影响总耗电的情况下,对程序的部分散热情况作出某些调整,以符合实际的需要。下面通过将指令进展重新排序来实现系统功耗的降低2。align=centerimg=303,142e-images/127973501637812500.GIF/img图1程序内部分区域功率的两种可能性/align2、指令排序我们知道,运行某一特定程序的处理器的功率PIVddI为平均电流,Vdd为给定

6、的电压,那么程序的功耗EPtt为程序的执行时间;同时,tNTT为指令周期,即为主频的倒数,N为程序执行的周期数。在嵌入式系统,尤其是在挪动设备中,一般都通过电池供电,故系统的功耗是一个非常重要的指标。如今,Vdd和T都是已知量,因此程序消耗的电能E与电流I和程序周期数N的乘积成正比。这里通过引用参考文献3中所建立的模型来进展阐述。该模型中通过示波器等设备,测量并估计执行每条指令所需要的电流I4。综上所述,可以利用嵌入式处理器中的多数据存储区域的特性,实现数据的并行处理,通过对指令的排序,减少指令的执行周期,进而到达降低功耗的目的。2.1举例假设有一段C语言程序,如图2a所示。图2b是其相应的汇

7、编代码,图2c表示每个结点带有两个权值的数据依靠图DataDependenceGraph,DDG。第一个权值表示结点在DDG中的深度,如V10的第一个权值为1,V0的第一个权值为6。假设这个权值越大,表示其优先级越高,如图2c中V0和V1具有最高的优先级。align=centerimg=375,265e-images/127973502079531250.GIF/img图2C语言代码、汇编代码与数据依靠图/align图3为未使用文中的算法前指令的执行顺序。留意,图中的黑体字,即V2、V6以及V9,与其他指令不同。它们是ADD或MPY指令,需要用到系统的ALU部件。在同一指令周期中,可以同时执行

8、ALU运算以及MOVE操纵,但是不可以同时执行两个ALU操纵。align=centerimg=177,148e-images/127973502751562500.GIF/img图3指令排序前结点的执行顺序/align节点的第二个权值,表示相关存放器的生命周期。如图4所示,V0所依靠的存放器是r0,它的生命周期为1到3,即为2。从图中可以得出以下结论:此段程序总共需要11个指令周期和最少同时使用2个存放器。align=centerimg=357,237e-images/127973502926562500.GIF/img图4指令排序前的状况/align图5为基于本文的算法,将指令重新排序后的情

9、况。程序总的执行周期变为6,但是所占用的存放器个数增加到3。由此也可以看到,程序的执行周期与存放器的个数之间也是一个折衷权衡的结果。align=centerimg=347,380e-images/127973503075625000.GIF/img图5基于排序算法后的情况/align文中借用了参考文献3中所建立的模型,用以计算程序的耗电量。在图5中,程序执行时所需要的总电流I=780mA,总的执行周期数为N=6,因此消耗电路E=NI=6780mA=4680mA。不使用任何算法的情况,即图2所示,E=NI=108011=11880mA。通过使用文中的算法,将程序执行周期减少了,同时程序的功耗也降

10、低了。也就是讲,通过使用文中的算法,程序的执行性能得到进步,系统的功耗也最大程度地得到了优化。由此可见,在这一层面上,采用何种算法是非常重要的。2.2算法描绘文中的算法是基于文献5中提出的以串列为根底的排序机制,主要是以减少程序的执行周期为目的,同时考虑到使用尽量少的存放器。程序的描绘如下:构造数据依靠图DDG。构造带权的元组,其中第一个权值为结点在DDG中的深度,设为P;第二个权值为生命周期,设为L。查找停当表R如图3所示。while停当表R不为空doP值为最高结点所具有的最高优先级if当前指令周期中的结点的深度3、结论近年来,功耗成为嵌入式应用领域的一个越来越令人关注的问题。尤其是在挪动设

11、备中,由于通过电池供电,功耗显得尤为重要。当前的编译器很少可以充分利用途理器的各种特性,因此编译生成的代码不能与那些专家级汇编程序员写出的代码相提并论。本文从软件角度出发,提出了一个优化编译器,对指令进展重新排序的算法,通过优化编译器来实现降低系统的功耗。下一步工作那么要选择和研究某种特定的微处理器,然后创立相关工具,产生这种微处理器的指令集功耗信息,再进一步运用该算法实现编译优化,最终实现功耗的优化。参考文献1WayneWolf.嵌入式计算系统设计原理.孙玉芳等译.北京:机械工业出版社,20022SathishkumarUdayanarayanan.Energyefficientcodege

12、nerationforDSP56000family,MS.ThesisinArizonaStateUniversityAug.20003GibbonsPA,MuchnickSS.EfficientInstructionSchedulingforaPipelinedProcessor,inProc.oftheSIGPLANSymposiumonCompilerConstructionJuly1986,pp.11-164UlrichKremer.LowPower/EnergyCompilerOptimizations5WenTsongShiue.RetargetableCompilationforLowPower王力生,硕士生导师。夏志江,硕士:主要研究方向为嵌入式系统及其应用。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁