位置:51电子网 » 技术资料 » 控制技术

功耗测量辅助微控制器的选择

发布时间:2008/6/2 0:00:00 访问次数:439

  当设计工程师为低功耗应用选择微控制器时,芯片厂商的数据手册所提供的帮助是有限的。手册不能提供业界标准的功耗评价方法,也不能说明像高速缓存(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的工作量,虽然只有少量的能量增加,但实际消耗的总体能量却有了很大的降低。

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

  对于大多

  当设计工程师为低功耗应用选择微控制器时,芯片厂商的数据手册所提供的帮助是有限的。手册不能提供业界标准的功耗评价方法,也不能说明像高速缓存(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的工作量,虽然只有少量的能量增加,但实际消耗的总体能量却有了很大的降低。

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

  对于大多

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!