资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
嵌入式系统软件能耗分析技术的研究本文以嵌入式系统软件为研究对象,对嵌入式系统中软件能耗技术 进行研究。在嵌入式软件中,可以从三个不同层次进行能耗分析,其分别 为:指令层、算法层以及软件体系结构层。本文叙述了在三个层次中影响 能耗的因索,并提出分析方法,最后总结展望能耗优化的主要方法和发展 方向。【关键词】嵌入式系统软件指令层算法层软件体系结构层1概述目前,随着嵌入式系统的迅速发展和广泛应用,嵌入式系统能耗成为 了人们关注的热点问题,在设计嵌入式系统时,能耗已成为一个重要的设 计因索。低能耗的设计是指在不影响系统运行的前提下,将系统运行时的能耗 降到最低是。一个完整的嵌入式系统包括物理硬件系统和对应操作的软件 系统,在硬件能耗方面,学者们已取得较为成熟的节能方法,但在软件能 耗方而,软件对于能耗的影响逐渐成为重要因素,因此人们开始对软件能 耗进行重点研究。计算机操作系统产生能耗的基本原因是系统运行时,电 脑CPU、Cache以及T/0设备等产生的能量消耗,在嵌入式系统运行过程, 只有相对应的软件运行带动硬件工作的时候,硬件才会产生能耗。软件是 一种看不见摸不着的产品,除去一切软件所依赖的环境后,软件不会运行 导致软件的无消耗,只有当软件在操作系统中,通过软件内部的每一条指 令代码驱动对应的硬件模块进行任务工作,从而由硬件模块产生系统能 耗。综上所述,计算机系统的能耗是由硬件系统所直接决定,而软件系统 则是驱动硬件系统产生能耗的主要原因。为了研究嵌入式系统能耗。需要对硬件系统产生的能耗和软件系统产 主的能耗进行研究。我们将软件驱动硬件产生的能耗成为软件能耗,则系 统总能耗为:其中Ex为硬件运行的能耗,Enx为硬件静止时产生的能耗。T为软件 r运行时间,Pr为软件运行过程中的平均能耗。本文主要从指令层、算法层以及体系结构层三个层次进行嵌入式软件 能耗分析技术的研究,叙述了在三个层次中影响能耗的因素,并提出分析 方法,最后总结展望能耗优化的主要方法和发展方向。2嵌入式系统软件能耗分析技术2.1指令层能耗分析技术嵌入式系统软件可以分为三层:指令层、算法层和软件体系结构层。其中指令层是最底层的,因此基于指令级别的软件能耗优化方法也是最底 层的研究方法。1994年,Tiwari等人在首先对软件功耗进行研究,定义 了软件功耗的基本概念,并在单条指令能耗的研究基础上提出基于指令级 软件能耗分析和优化模型。基于这个软件能耗模型得出的基础能耗数据和 基本理论依据,指出了人们在指令级甚至算法级、体系结构级的能耗分析 道路,Tiwari在后血的软件能耗研究中又首先提出软件能耗优化技术不仅 只是停留在指令级上,还应该往编译器或者更高的软件算法程序代码等级 别分析优化能耗。随着Tiwari的指令级软件能耗模型的提出,该模型受 到了国内外很多学者的广泛关注,通过对该模型的研究,并对模型进行改 进和完善。Tiwari的能耗分析基本思想是将软件程序拆分为一个个基本的模块, 具中每个模块中由许多指令组成,因此模块的能耗为每条指令所消耗能量 的总和。所以软件功耗模型表示为式(2-1):(2-1)其中Ei为指令i的基本能耗;Ni为指令i的执行次数;Oi, j为电 路状态转换的能耗开销;Ni, j为状态转换在程序中出现的频率;Ec为系 统运行时产生的其他能耗。综上所述,Tiwari研究了在指令级中软件能耗产生的主要原因,并在 指令级中提出儿种影响系统能耗的优化方法。(1) 在计算机系统中,数据存取是一个相当大的工作量,当在存储 器中对数据进行存取操作时,很容易发生数据存取错误、读取数据失败以 及等待读取等不确定因素,这些因素的决解就会增加系统能耗。所以在编 码过程中,因减少指令对存储器的存储操作,如果选择优化后的编译器, 则可能会实现系统的低能耗。(2) 通过编译器运行软件程序,使得高级程序语言转码为低级语言, 最终这些低级语言通过系统的运行选择每个指令进行功能任务的完成。这 时的系统能耗就是由指令的执行次数和执行时间所决定了。(3) 软件程序中的指令执行都是按照系统排列一条条进行的,但人 们如果对指令的执行顺序进行再次排序,降低指令间电路交换的频率,系 统能耗就会减少。(4)相比于以前,现在的处理器工作效率提高了很多。以前单一处 理器时,系统只会单一处理信息指令,这样一来运行时间长,如今多个处 理器一起进行工作,系统可同时进行多项数据处理任务,因此对于处理器 的特定优化技术,人人降低了系统的能耗。因为软件程序是有无数指令组成的,软件的运行就是指令的运行,在 软件能耗分析中,指令能耗是最基本最底层的能耗來源,所以人们对于指 令级能耗的研究也是最多的,其技术也相对成熟。但从目前发展形势,如 果大家还只停留在软件指令级的能耗研究和优化技术,就必将忘却分析软 件开发中算法级和体系结构级的能源消耗问题,所以指令层能耗分析有一 定不完整性。2. 2算法层能耗分析技术算法层能耗分析即从软件程序代码和算法设计入手来降低软件能耗。 算法层能耗分析模型的主要目的是对程序代码中的语句进行调度、对算法 和数据结构进行合适的选择与设计,从而找出设计低能耗软件的方法。分 析算法级能耗的方法多种多样,各个方法也互不相同,因此基于算法级别 的软件能耗研究也是软件能耗领域的一个研究热点。冃前针对能耗的算法研究还非常有限。计算机软件算法是对特定问题 的求解,算法分析就是对算法运行所需时间和空间的估算,若所需要的资 源越多,则算法复杂性越高。若想分析算法层能耗分析技术,应从算法执 行次数、时间复杂度和空间复杂度这三个方血进行研究。设计人员在设计算法的时候,通常确定了有限的操作,以便通过一条或多条指令的操作构成算法的执行。因此,算法的执行产生对应能耗,算 法执行次数决定软件能耗大小。一个好的算法,可通过减少执行次数来实 现软件能耗优化。 算法的时间复杂度和空间复杂度直接影响着软件 能耗。时间复杂度决定着算法运行时间的长短,运行时间的长短影响着算 法执行次数,从而影响着软件能耗;而空间复杂度表示着算法运行中所需 的存储空间大小,减少存储空间大小可以实现降低软件能耗。从算法层优化的主要方法中可以看出,算法层次的软件能耗优化技术 主要是软件算法的好坏和设计中数据结构的抉择。软件由一组织相对应的 代码构成,程序基本性质是算法结合数据结构,因此在算法层次下,软件 的能耗由算法和算法中数据结构所决定。2. 3体系结构层能耗分析技术好的软件应该具备一个好的软件体系结构,同时软件体系结构还对软 件能耗产生影响。因为体系结构位于最高层的原因,相比于指令级和算法 级,这一级别的能耗研究分析才刚刚起步。当前由于研究相对较少,仍无法明确知道软件体系结构的设计对于软 件能耗影响的大小,并且软件体系结构级是软件设计中的最顶层,直接与 设计人员联系着,所以研究软件结构对于软件能耗的影响必将成为今后研 究的重要问题,也是未来软件能耗研究的一个发展方向。因为嵌入式软件一般是在嵌入式实时操作系统下运行,资源受限,所 以必须高效的设计嵌入式软件,去除兀余,优化构件。因此,设计嵌入式 软件时,构件数目、程序复杂性、构件平均耦合度以及构件Z间通信接口 数据等方面都应有较高的设计要求,上述几个软件体系结构级的特征值也 就能更好的分析研究出软件能耗。软件由不同的构件组成,而构件作为对象的延伸,可以是一组代码模 块,也可以是一个独立程序。软件程序中模块数冃由构件数冃所决定。如 果构件数目越多,则软件中对应的模块数目也越多,其代码行数也越多。 因此构件数日间接影响着软件能耗。而构件数目的度量相比其它特征值的 要简单,构件数目可根据软件体系结构设计图得知。程序复杂性主要指程序模块的复杂性,由计算复杂性和软件质量好坏 组成。减少程序的平均复杂性,可提高软件的简单性,实现软件的能耗优 化。耦合度主耍是衡量模块与模块之间的紧密程度。模块之间耦合度越 高,软件越复杂。可见构件间耦合度也间接影响嵌入式软件能耗。构件之间通信接口数据主要指构件执行任务过程中,构件之间进行数 据传输时会产生通信能耗,因此构件之间通信接口影响着嵌入式软件能 耗。目前在软件体系结构层的能耗研究才属于起步阶段,分析软件体系结 构中的每个构件Z间的接口耦合度、程序平均复杂度等能耗参数,让每个 构件之间怎么组合才会更加节约能量消耗,因此基于软件体系结构级的优 化设计仍是当前软件能耗的研究热点问题。3总结和展望本文的内容主耍是対嵌入式系统软件的能耗分析技术进行研究说明。 在软件系统中,能耗研究主要从指令层、算法层、软件结构层对能耗进行 分析和优化。本文阐述了软件能耗优化方法,分析了各种优化方法,优化 方法主要从指令级中指令执行频率和执行执行顺序等;算法级中就是算法 复杂度的优化设计和准确的数据结构应用上对软件进行能耗优化;软件体 系结构层就是从构件设计上对能耗进行优化。在今后的研究中,软件能耗研究重点应转向软件算法和体系结构中, 如何在保证软件高效率的同时实现低能耗,是人们研究的重要问题。为了 能够最终实现嵌入式系统低能耗,需要从硬件系统和软件系统方血进行更 多研究,最后才能实现真止高效率低能耗的绿色技术。参考文献1 郭兵,沈艳,邵子立绿色计算的重定义与若干探讨J 计算机学 报,2009, 32 (1 ): 2311-23192 熊冰,郭兵,沈艳等基于马尔科夫链的构件化嵌入式软件能耗估 算模型J小型微型计算机系统,2012, 33 (3): 655-659.3 王艳源码未知类软件能耗评估技术研究D.长春:中国科学院长 春光学精密机械与物理研究所,2012: 1-4.4 Tiwari Vivek, Maiik Sharad, Wolfe Andrew.卩ower analysis of embedded software : a first step towards software power minimizationJ. IEEE Transactions on VLSI Systems, 1994, 2 (4): 437-445.5 Tiwari Vivek , Malik Sharad , Wolfe Andrew. Compilation techniques for low energy: An overviewC/Rroceedings of the IEEE Symposiumon Low Power Electronics San Diego, CA, USA, 1994: 38-39 作者单位昆明理工大学2012级计算机系软件工程专业 云南省昆明市650000
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号