嵌入式软件节能技术的潜力分析.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式软件节能技术的潜力分析

嵌入式软件节能技术的潜力分析 摘要: 由于科技的发展和社会的进步,人们对嵌入式系统的节能要求越来越高。嵌入式系统的节能优化可以在硬件和软件的多个层次进行。随着微电子技术的不断发展,各种底层先进硬件功耗优化的出现和应用,使得软件节能技术逐步成为降低嵌入式系统功耗的重要手段。本文主要从源程序级、算法级、编译级和软件体系结构级四个方面深入探讨了嵌入式软件节能的方法和未来发展的可能潜力,并对未来的嵌入式软件节能的发展趋势作了展望和预测。 一、引言: 根据市场调查,截止201年底,全世界各种计算机系统(包括通用的台式机系统、专用的嵌入式计算机系统和大型的服务器系统)的保有量超过了30亿台,且数量继续呈快速增长的势头,其中在用的PC机已经超过10亿台,预计到2014年时还将翻倍[1]。在满负荷工作状态下,当前主流配置的PC机功率大致在200瓦左右,嵌入式计算机系统(简称嵌入式系统)的平均功率为30瓦左右,一天按10小时工作时间计算,那么30亿台计算机(按10亿台台式机和20亿台嵌入式系统计算)一天消耗的电力平均为26亿千瓦时(200瓦×10小时/天×10亿+30瓦×10小时/天×20=26亿千瓦时/天) ,相当于三峡年发电量500亿千瓦时的5.2%。如果按1度(千瓦时)电收费0.15元人民币计算的话,全球计算机用户一年要交纳的电费为4745亿元人民币。在目前国家提倡“节能减排”的背景下,如何降低嵌入式系统的功耗节能成为一个日益引起人们关注的热点问题,已受到业内软硬件开发商和政府的高度重视。 从嵌入式系统的硬件组成分析,微处理器、总线、存储器、Cache和I/O接口等硬件的电路活动直接导致了系统功耗的产生。而在功耗优化这个问题上,我们常常普遍比较关注硬件功耗优化,应用各种技术想方设法改进硬件的功耗,比如在芯片制造工艺上采用更精细的纳米技术,不断降低芯片驱动电压,不断改变片内系统结构等。然而影响功耗的决不只是硬件本身,硬件依赖于运行其上的软件实现信息处理功能,整个系统的运行管理是由软件体现的。在硬件基础一定的情况下,只有将软件系统对能量的损耗降至最小,才能使整个系统工作于最佳状态。 嵌入式软件本身并不会产生功耗,功耗只是软件执行时的“副产品”,软件的指令执行和数据存取等操作驱动了底层硬件的电路活动,间接导致了系统功耗的产生。因此,嵌入式软件是产生系统功耗的“主动”因素和“活跃”因素,这也是嵌入式软件功耗的本质和嵌入式软件节能的目标。许多研究表明,不同的汇编指令、源程序结构、软件算法和软件的高层体系结构(即软件体系结构)造成硬件不同的工作方式,从而对系统的功耗带来不同的影响。据统计,目前大约80%以上的系统功耗是由软件驱动产生的。嵌入式系统的功耗优化先期主要集中在硬件层,包括材料级、工艺级、电路级、门级、RTL级、算法级以及微结构级等层次。功耗优化可以在各个层次上展开,越高的设计层次所提供的节能空间越大,设计效率也越高。随着微电子技术的不断发展,各种底层先进硬件功耗优化技术的出现和应用,使得高层软件方面的功耗优化技术逐步成为控制系统功耗的重要手段。 目前,嵌入式软件的节能优化技术大体上可分为源程序级、算法级、编译级和软件体系结构级四个层次。 表1 嵌入式功耗优化的主要层次 软件体系结构优化 软 件 层 算法级优化 编译器级优化 源程序级优化 微结构级优化 硬 件 层 RTL级优化 电路级优化 二、嵌入式软件节能优化方法 正是因为嵌入式软件优化节能的必要性与紧迫性,本文主要就现在国内外嵌入式软件功耗节能优化方法的技术研究和发展潜力,分别从源程序级、算法级、编译级和软件体系结构级四个方面做一个深入的探讨和分析。 2.1、源程序软件优化 源程序级软件节能优化指的是为了实现同一功能的不同语句、不同变量间的选择。比如,为了实现循环功能,有多种选择for、while、goto等等;同样实现选择判断结构,可以选择if结构或者case结构。这些语句的功耗会有差异,同时,C语言对不同数据类型操作的功耗也有所不同。比如表示数目,可以用8位int型、16位int型和32位int型,这三种形式的变量的使用所消耗的功率也不完全相同。再者,对不同变量的存储类型功耗也要进行分析,如寄存器变量、静态变量、自动变量等[2]。总之,在源代码级对软件功耗进行分析和优化是一个重要的节能优化的途径和方法。通过查阅资料,我们可以得到不同的语句以及数据类型对应的功耗。根据功耗的大小我们再讨论源程序的优化选择。 表2 不同数据类型、不同操作的能耗(nJ) 操作 类型 加 减 乘 除 取余 赋值 移位 与 或 非 8位int型 164.9 164.9 164.9 164.9 164.9 200.7 144.8 144.8 144.8 144.8 16

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档