Username: Password:

功耗测量辅助微控制器的选择
来源:作者: 发布时间:2007-10-12 00:00:00

当设计工程师为低功耗应用选择微控制器时,芯片厂商的数据手册所提供的帮助是有限的。手册不能提供业界标准的功耗评价方法,也不能说明像高速缓存(Cache)和集成浮点运算单元等功能部件是怎样影响能量消耗和性能的。


当工程师尝试比较包含了片上系统(System-on-chip)的处理器内核时,怎样解释这些部件或单元带来的好处成了一个难题。供给商也用芯片的典型消耗电流数值来衡量他们的微控制器,但这种测量几乎不能说明应用运行不同程式的能量消耗。为了解决这个问题,嵌入式处理器基准协会(Embedded Processor Benchmark Consortium??EEMBC)提出了一种在特定载荷下测量能量消耗的方法。本文中我们将以ARM-9为内核的微控制器作为测试例子来说明这种测试方法的原理。

标准化的方法和前提


通常而言,EEMBC衡量的侧重点在处理器行为方面的性能指标,并研发了以反映嵌入式应用真实环境的测量基准。由于能够验证任何性能和功耗测量的重复性是相当重要的,测量方法也必须符合常规的标准。EnergyBench(能量基准)是由EEMBC研发的一种测量方法,用于提供一种基准工具,他能够给出处理器在运行应用程式时所消耗的能量数据。

测量的可靠性


EnergyBench采用NI公司(National Instruments)的LabVIEW平台和数据采集卡。DAQ卡有多个差分测量通道用来测量电流和多个单端通道用于测量电压。EnergyBench使用这样的DAQ卡来对电压和电流进行采样,并利用一个触发通道来同步性能的基准测量。


EnergyBench有两个软件模块,一个用于测量数据(功率采样模块),另一个用于分析采集到的数据(分析模块)。软件的图像界面用于显示电压和电流,并且有相应的控制按钮用于启动数据采集。


基准测量数据需要加载到微控制器中,并需要微控制器的两个GPIO用作和功率采样模块的握手信号。当基准测量数据加载完成后,其中的一个GPIO用于通知微控制器启动测试,另外一个通知功率采样模块。基准测量运行完多次迭代后,分析模块计算基准测量每次迭代所消耗的平均能量。基准测量分数是能够由制造商选择的评价参数,他和性能认证分数一起能够作为说明处理器能量效率的指标。

图1 LPC3180是基于ARM9内核的MCU,具备32KB指令和数据Cache,连同一个向量浮点协处理单元

ARM9的测量结果


我们选择由NXP生产、基于ARM926EJ内核的微控制器LPC3180作为测量对象,观察不同处理器配置对能量消耗的影响。选择该处理器的原因是由于他有很大的内部存储器,64KB的通用存储器和32KB的指令和数据高速缓存(Cache)。此外,他也有一个向量浮点单元和一个低电压工作模式用于降低功耗。


表1列出了测量的结果。数据显示向量浮点单元能够降低能量消耗的系数是4.5,而指令Cache的系数大约是1.4。假如我们查看数据手册根本无法知道消耗过多的能量会带来什么好处,就额外的性能而言,他是通过向量浮点单元和大容量的Cache获得的。表中的数据也表明能量测量的意义就在于能够知道什么时候来决定选择哪个处理器,连同哪个选项是重要的。处理器消耗的能量总和直接和他所执行的任务所用的时钟频率相关。假如指令Cache被关闭了,程式不得不从位于AHB总线上的存储器中去取指令。由于AHB总线的工作频率只有处理器内核频率的一半,因此程式运行的时间就更长,也就消耗了更多的能量。假如指令Cache被打开了,则相应Cache算法中的浮点运算所消耗的能量就会增加,但程式会运行得更快,因为Cache的操作是以处理器内核频率进行的,结果总的能量消耗就降低了。当浮点单元使能时,他能够降低处理器和指令Cache的工作量,虽然只有少量的能量增加,但实际消耗的总体能量却有了很大的降低。


外部存储器对能量消耗的影响


对于大多数基于MCU的应用,存储器子系统的设计是影响性能和能量消耗的决定性因素。当设计低功耗系统时,存储器子系统的选择和软件设计对能量的消耗会产生很大的影响。这些选择包括存储器的选型、代码运行空间的划分,连同系统的省电模式等。


在NXP公司微控制器LPC3180的例子中,存储控制器的接口是动态的,他通过转换I/O引脚来减小能量的消耗,同时能够动态支持大容量的存储器。表2给出了4种类型存储器在相同性能水平上的典型能量消耗,连同基于不同存储器使用方式的对比和实际的系统性能。大多数微控制器都具备内部SRAM和Flash。LPC3180有64KB的SRAM,程式在其中运行的时钟频率是处理器频率的一半,和访问外部存储器相比其消耗的能量是相当低的。确切地讲,内部存储器消耗的能量大约是    72μW/MHz,以104MHz频率持续访问情况下所消耗的电流大约是7.5mA。由于电路板和存储器芯片容性负载的存在,对外部存储器总线的访问会吸收大量的电流。这使得代码运行空间的划分成为低功耗设计中很重要的一部分,代码应尽可能的在芯片内部运行。


基准测量的测量结果显示有3种部件会影响处理器的能量消耗:(1)开关损耗,(2)交叉传导损耗,(3)漏电流损耗。在进行基准测量时,前两种是动态损耗,他们代表微控制器能量消耗的绝大部分。



喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅