您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 关于嵌入式系统低功耗设计的调研报告
关于嵌入式系统低功耗设计的调研报告摘要:嵌入式系统低功耗设计的目标是在满足用户对性能需求的前提下,尽可能降低系统的能耗,延长设备的待机时间。随着市场对可移动式嵌入式设备在体积和性能方面要求的不断提升,嵌入式设备小体积、高性能与有限的电池能量之间的矛盾日益突出,嵌入式系统低功耗设计是解决这一矛盾的有效手段。它包括硬件低功耗设计和软件低功耗设计两个方面。硬件是系统运行的物质平台,包括处理器和外围设备。硬件低功耗设计有两个层次:器件级的低层次设计主要关注减少负载电容和漏电流;系统级的高层次设计主要关注减少无用的逻辑和无用的电路活动。在上面两个层次中,后者是更为有效的方法。处理器的低功耗设计大都采用系统级,其技术主要包括:门控时钟技术,cache部分关闭技术,动态电压缩放DVS(dynamicvoltagescaling)技术;外围设备低功耗设计包括:关闭设备空闲部件;在满足基本性能要求前提下,降低外围设备的服务质量。软件的低功耗设计涉及嵌入式操作系统、编译程序和应用软件等各个层次。操作系统是软件的核心,处理器调度算法、外围设备管理和功耗管理策略等部分和功耗关系密切:调度算法可实现可变电压技术,改变处理器的工作频率和电压,降低功耗;驱动程序直接控制硬件,通过增加驱动程序功能,抽象出设备的低功耗特性,供上层软件使用;操作系统中增加的功耗策略模块,提供多种功耗管理策略,应用软件根据具体的应用需求,选择最适合的管理策略。编译程序可以通过合理优化、减少冗余代码和不必要操作等方法降低功耗;同时在执行结果相同条件下,可以采用操作替换方式。低功耗应用程序能够利用与电源管理机制相关的API,建立的约束条件,并强迫电源管理机制执行相匹配的变化。1引言1.1嵌入式系统的发展广义上来讲,嵌入式系统是指用于执行特定功能的专用计算机系统。它由包括微处理器、微控制器、传感器、定时器、存储器等一系列硬件和嵌入式操作系统、控制应用软件组成,共同实现诸如数据处理、实时控制、监视、移动计算、管理等各种特定任务。嵌入式系统面向用户和应用,以计算机技术、半导体技术、电子技术、控制技术和通讯技术为基础,强调硬件和软件的整合性与协同性、软硬件根据应用和用户的需求可剪裁,以满足系统对功能、可靠性、体积、成本和功耗等要求。嵌入式系统的真正大规模发展是在微处理器诞生之后[1],世界上第一个微处理器芯片Intel4004推出之后,其后各厂家陆续推出了8位、16位的微处理器,包括Intel8080/8085、8086,Zilog的Z80、Z8000,Motorola的6800、68000等。为了使嵌入式系统实现兼容性和灵活性,工业界出现了系列化、模块化的单板计算机。业界流行的单板计算机有Zilog公司的MCB、Intel公司的iSBC系列等。从这时起不必选择从芯片级来设计一台专用的嵌入式系统,而只需要选择用户需求的各功能模块,然后组建成一台专用嵌入式计算机系统。厂家和用户都希望从不同的厂家选购最适合自己的OEM产品,然后插入自制的机箱就能形成新的嵌入式系统,并且希望插件是互相兼容的,于是导致了工业控制微机系统总线的出现。20世纪80年代,随着计算机技术和集成电路的快速发展,集成电路制造商把嵌入式系统所需要的微处理器、存储器、A/D、D/A转换、I/O接口、总线等全部集成到一个VLSI芯片中,生产出面向I/O设计的微控制器,也就是单片机。继单片机之后,出现的DSP更是极大地提髙了嵌入式系统的处理能力,成为了嵌入式计算机系统的一支新军20世纪90年代以来,随着对嵌入式系统实时性要求的不断提高,软件规模不断扩大,嵌入式操作系统逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台逐步成为国内外的主流嵌入式操作系统。这时候越来越多的国家和企业看到了嵌入式操作系统的广阔发展前景,开始大力发展自己的嵌入式操作系统。进入21世纪,嵌入式系统更是得到了空前规模的发展,尤其是在移动终端领域,出现了智能手机、平板电脑、POS机等一系列深刻影响人们日常生活的产品。随着计算机技术和集成电路技术的迅速发展,相信未来会有越来越多的嵌入式操作系统及嵌入式产品出现在人们工作和生活中。1.2移动嵌入式系统低功耗研究的必要性移动终端(手机、平板电脑等)已经成为人们日常生活中必不可缺少的一部分。随着移动互联网技术的发展和人们对移动终端功能要求的不断提高,智能移动终端成为一个趋势。智能移动终端,通常集成语音通信、音频和视频播放器、WEB浏览器、WIFI、GPS、游戏和Email等功能。这些功能在提升丰富使用者用户体验的同时,也带来了较高的能耗。这对于使用电池供电的移动终端是个巨大挑战。这些移动终端设备的一个关键限制因素是电池容量。有三种方式可以增加在这些设备上的电池寿命:增加电池容量,减少用电的需求,或两者兼而有之。遗憾的是,很难增加电池容量。因为电池的容量取决于电池材料的化学特性,具有更多电池容量的新材料只有通过复杂、昂贵和耗时的研究才能取得。在过去三十年,电池的容量只增加了3至4倍,然而效果已经很显著了。另外不可能通过仅仅添加更多的相同类型的电池来延长电池的容量,这是极不可取的的,因为这样做会增加的设备的尺寸、成本和重量,从而降低了设备的移动性和成本效益。为了减少电池电量的需求,我们可以降低设备的硬件功能或使用软件技术以优化电池利用率。减少能量消耗通过削减硬件功能是不可取的,因为市场趋势和消费需求决定了未来硬件功能只会愈来愈强大。更新和更高的高性能硬件组件(它们会以更快的速度消耗电池电量),例如WIFI(—种短程无线传输局域网)、高容量的闪存和32位CPU在移动设备上变得越来越普遍。这些组件在很多应用程序中是非常关键的且必不可少的。因此,延长电池寿命最好的办法是使用具有能量感知的软件技术。通过软件方法解决移动计算能量危机已经是一种越来越普遍的解决途径。因此提高移动设备的能量利用率,降低移动设备的功耗方面的研究就显得非常重要[2]。2嵌入式硬件的低功耗技术许多嵌入式系统依靠电池供电,使用时间在很大程度上受到电池容量的限制,增加电池电量受到材料和工艺等各个方面的限制。而且由于电池技术的限制,增加电池电量的能力和速度也远远跟不上嵌入式系统对电量增加的需要。在资源紧缺的今天,也不符合经济效益。因此,在设计嵌入式系统时,降低功耗成为了必须的考虑因素。硬件是软件运行的物质基础,必须首先有低功耗硬件的支持,才可以在其上构建低功耗软件系统。处理器和外围设备都是硬件系统不可或缺的,各自在系统功耗上占有相当比例,所咀两者都是低功耗设计必须考虑的。现在硬件的低功耗设计已经有了许多成熟的技术,线路层、门层、体系结构层开发了很多方法减少芯片内部的冗余能量消耗,这包括选择适当的晶体管大小,选择低功耗的逻辑器件、多阈值电压、动态电压缩放技术、冗余部件关闭技术。动态电压缩放和冗余部件关闭技术是在系统的较高层次完成的低功耗技术,可以通过硬件方法来实现,同时通过软件来完成部件的管理。2.1集成电路的功耗分析CMOS逻辑电路有许多优点,成为了现在最通用的大规模集成电路技术。CMOS电路具有以下优点:集成度高,功耗低,输入电流小,连接方便和具有比例性。目前,在嵌入式硬件设计中,无论是微处理器,还是外围电路中,都在使用CMOS逻辑电路。COMS的电路可以分为确定性功耗与非确定性功耗。确定性功耗包括以下内容:静态漏电功耗,内部短路功耗和动态功耗[3]。非确定性功耗主要是由于环境引起的。2.2嵌入式处理器的低功耗设计处理器的低功耗设计包括器件级的低层次和系统级的高层次设计。对于较低的设计层次,低功耗设计主要关注减少负载电容和漏电流;而对于较高的设计层次,低功耗设计主要减少无用的逻辑和无用的电路活动。因此高层次低功耗设计效果更好,成为设计的主要方法。超标量ⅪSC处理器:传统上,通用微处理器的工作负载以非数值、不规则标量应用为主(这种负载也是目前事务处理和Web服务类服务器的工作负载特征)。通用处理器把提高性能作为首要目标,以Intelx86系列的CISC体系结构为代表。与通用微处理器不同,嵌入式处理器的关键特点是能兼顾到高性能、低功耗和低价格,具体表现在:1)功耗低,有多种节电状态;2)极其有效的实时中断响应;3)高性能/功耗比;4)高性价比;5)面积小。嵌入式应用需求的广泛性,决定了嵌入式处理器体系结构的多样性。例如,控制领域一般采用RISC结构处理器,数字信号处理领域采用哈佛结构的DSP,视频游戏控制需要有很高的图形处理能力,可以采用VLIW+SIMD的结构。DSP在数字信号处理领域以外的应用中,性能不是非常理想。VLIW用软件的复杂性换取硬件的简单显式并行,从而简化了流水线的调度,可以节省功耗。VLIW的主要问题是:一方面会增加软件(即编译器)的复杂性,另一方面有些相关(如访存地址相关)在编译时是无法确定的。此外,当指令宽度进一步加宽后如何维护兼容性也是一个问题。最后VLIW的代码长度明显扩大,可能以增大存储器为代价。综合性能、功耗和面积各方面的因素,超标量RISC处理器在最近仍将会是应用最广泛的高性能嵌入式处理器。超标量处理器体系结构:超标量结构在指令界面上保持与RISC结构兼容,RISC指令集的主要特点是指令种类少,寻址方式少,指令格式少而且长度一致;寄存器资源丰富,大多数指令面向寄存器操作;完全的硬连线控制,或仅使用少量的微程序;对指令系统采用优化的编译程序,将一些功能的完成从执行时间转移到编译时间。这些特点使得RISC机器的指令系统和相关译码机制比那些采用微程序的复杂指令系统的计算机(CISC)简单得多,从而在功耗上明显处于优势。超标量R1SC处理器在一个机器周期内,根据指令序列的相关情况和功能单元的实时工作状态,向各功能单元发射多条指令实现多个操作的并行执行,很大地提高了处理器的性能。但是受硬件代价的限制,为嵌入式应用设计的超标量处理器的硬件流水线一般不会超过两条。与标量RISe处理器近似,超标量处理器的流水线有取指、译码、发射、执行和写回。设计特点是顺序取指,乱序执行,顺序回收,如图2.1所示。在流水线中由硬件尽可能去除指令间相关、调度以及保证顺序编译指令正确执行。图2.1标量处理器体系结构1)在取指阶段,处理器在一个机器周期内从指令cache中取出多条指令。2)在译码阶段,处理器确定指令的种类和数据相关分析。处理器对条件跳转指令进行预测一一跳转根据处理器中的跳转历史记录表BHT(BranchHistoryTable)内容确定,跳转目标地址从跳转目标缓冲池(BranchTargetBuffer)得到。在预测工作结束后,根据预测的结果,取出预测的条件跳转支路上的指令发送到后级,这种方法称为预测执行。非执行支路上的指令地址被存储到一特殊地址缓冲区中,以备在以后预测错误时,能恢复回正确支路上执行。3)在指令发射阶段,处理器根据指令类型把多条指令并行分发到不同的功能单元。由于RAW数据相关性和结构相关性的存在,超标量处理器要对指令的发射和执行进行动态调度——各指令的发射、执行并不一定按照原来程序中的顺序,而是根据其所需的源操作数是否已准备好,以及功能单元是否空闲来决定是否发射。4)在指令执行阶段,处理器应保证有足够的硬件资源(多个流水线功能单元)和存储器层次结构来并行执行多条指令。存储器的接口和控制应合理设置,通过装载指令load和存储指令store能够有效地对存储器进行各种层次的访问。5)指令执行完毕后,处理器在指令写回阶段把乱序执行的指令交付于程序中原来的正确顺序,以维护程序的顺序执行。指令写回的工作是根据重新排序缓冲池(ReorderBuffer)中存储的程序状态信息来实现的。3嵌入式软件的低功耗技术由于嵌入式软件结构紧凑,软件和硬件的结合相当紧密,因此软件需要针对硬件结构进行优化,同时对硬件上实现的一些低功耗技术提供支持,所以软件是嵌入式系统功耗的另一个决定因素。应用软件、操作系统和编译程序,都是决定系统节能效果的重要因素,因此在开发时必须加以考虑。现在,已经存在了电源管理的一些标准APM和ACPI,主要针对通用计算机和笔记本电
本文标题:关于嵌入式系统低功耗设计的调研报告
链接地址:https://www.777doc.com/doc-5677474 .html