许多嵌入式ARM处理器的系统都是基于电池供电的能量供应方式,而处理器的功耗对于整个SoC芯片至关重要,因此arm处理器的低功耗优势可以充分节省能量消耗。总之,当前的典型功耗的电流图并不依赖于标准过程、标准集或工作负载。
EnergyBench提供若干工具,这些工具可容易低与经济实用的硬件结合使用,以便使用E EM B C开发的标准方法测量典型功耗。不过,除了处理器之外,具体芯片设计和集成到芯片内部的外围模块也是影响芯片功耗的重要因素。虽然许多芯片供应商都会在产品的datasheet中提供功耗参数,但是这些参数往往是不具可比性的。当设计者试图对集成到SoC中的不同处理器进行对比时,如果想要弄清楚处理器的真实功耗是怎样的,将会变得非常困难。这是因为,供应商经常使用典型功耗参数来描述他们的处理器,却很少表明进行这些测量时处理器的工作负载,而这将是决定能量和功率参数的关键因素。
许多嵌入式ARM 处理器的系统都是采用电池供电的方式。因此,arm 被公认为是处理器领域的“低功率领导者”。
然而系统的功耗不仅仅取决于处理器,此外,具体芯片设计和集成到芯片内部的外围模块也将影响片上能量的消耗。
虽然许多芯片供应商都会在产品的datasheet中提供功耗参数,但是这些参数往往是不具可比性的。这是因为,供应商经常使用典型功耗参数来描述他们的处理器,却很少表明进行这些测量时处理器的工作负载。
以前业界通常将关注的焦点放在处理器的性能方面,但是随着E EM B C等组织开发出各种测试基准(诸如面向汽车、消费电子和网络等应用领域的基准测试),我们可以更清楚的了解处理器内部的真实情况。随着功耗问题正逐渐嵌入式应用中的关注焦点,因此在评价处理器时,必须将功耗作为与性能参数同等重要的指标。其最终目标是帮助系统设计人员在便携式应用中得到性能和功率间的最佳平衡。
EEMBC实现此目标的方法是开发基准软件实用工具Energy B ench,它可以在处理器实际工作负载时提供有关能量消耗的真实数据。设计人员可同时使用EnergyBench和EEMBC性能基准,以比较不同处理器在执行一系列标准化应用任务时的能量消耗效率。在使用EnergyBench查看单个设备的功耗时,显然不存在所谓的“典型功率”,因为运行不同的E EM B C基准时,其平均功率有很大的变化。EnergyBench不能反映处理器的典型功率,但通过它可以在特定性能级别上得到某些特定算法或应用的典型功耗值。
使用美国国家仪器公司(National Instruments)的LabVIEW平台和数据采集(DAQ)卡,EEMBC已成功实现 EnergyBench。DAQ卡可提供多个差分测量通道,它们允许同时对多个电源输入进行功耗测量(每次测量都需要捕获电压和电流)和一个触发器通道。任何A R M处理器或使用评估板或自己硬件平台的供应商,只需修改其板级电路以实现电源输入线的可测量和添加分流电阻器。
EnergyBench就可以使用DAQ卡对电压和触发器通道进行采样并将所有采样结果写入文件。灵活的触发机制可实现性能基准测试与功率测量的同步进行。这确保了测量所得的代表的是基准代码运行时的功耗,而不包括基准初始化或保留记录阶段中的功耗。
在运行基准测试和功耗采样时,必须确保结果的可靠性、可重复性和一致性,这对该标准的普及显得尤其重要。EnergyBench通过多种方法来确保这些目标的实现:
1. 可靠性:
通常情况下,为获得精确的统计结果,必须以2 X N y q u i s t频率或更高频率进行采样,或者在随机点上采样。
EnergyBench采样模块接受将采样频率作为输入,然后必须使用不同的采样频率多次调用模块。基准运行期间使用未混淆频率进行多次采样所生成的采样点可避免与基准执行产生任何共振。换句话说,假设每个基准的重复测试大致上都发生在周期性的间隔内,使用未与周期混淆的频率可确保在每次重复中进行伪随机点采样。该方法易于实现,并可保证统计结果的精确性。使用这种灵活的方法可轻松检测与基准周期混淆的频率,因为这将在其中一个采样频率中导致不同的结果。如果检测到这种情况,会选择一组新的未混淆频率并进行测试,直至得到有效结果。
2. 一致性:
因为我们可以根据需要多次重复测试和任意提高采样频率,所以EnergyBench会进行多次采样,直到可以通过精确的统计数据得到平均功耗。如果每次重复的值偏差太大,则可以通过提高采样频率以增加精确性并降低偏差。
3. 可重复性:
测量过程重复多次以保证测量准确性,并计算最终结果的标准偏差。还可以很容易得到任何的检测偏差,因为每次运行每个基准都产生基准每次重复的平均耗电量。当然,如果假定供应商提供的目标器件是具有普遍性的,那么对该器件进行测试而得到结果就认为是可信的。同时EEMB一直都有非常严格的认证程序,以保证所选中的被测芯片具有代表性。
基于同样的原因,针对生产制造过程中出现任何细小偏差的潜在可能性,所有半导体制造商都应该事先有所考虑,而EnergyBench面向众多潜在应用的测试,恰恰可以帮助制造商深入了解如何选择测试芯片和测试,因为这些都会最终影响功耗测试结果。
在某个基准运行完多次重复测试,并捕获所有测量采样数据后,分析模块会根据这些数据计算出进行该基准测试的平均功耗。根据平均功耗值,EEMBC功率分析模块通过分析每次测试捕获的样本,寻找数据样本中的最小值和最大值。
如果特定采样频率的变动太大,用户可提高频率和/或基准重复次数,直至上述采样数据足够稳定,这样平均值的置信区间在落在指定公差(95%)范围内,从而保证所得数据的准确性。
EnergyBench测试的最终结果是芯片在运行某个基准测试时的平均功耗值。
EEMBC 认证的 EnergymarkTM测试结果作为一个可选参数,芯片制造商可选择将它与芯片性能参数一起提供给客户,作为表明处理器电量消耗的参考。
EnergyBench规范规定器件的准备时间至少30分钟,环境温度为70°F+/-5°F。
这些基本条件对于确保结果的一致性非常重要。因为有证据表明随着器件温度的升高,其功耗也会随之升高。
DAQ卡允许且EnergyBench规范也要求测量处理器上的所有power rail。显然地,对于那些引脚数量有限的低端A R M b a s e d器件而言,能测量的power rail很少。具有多电源输入的高端arm based器件则必须进行多次运行基准,以便捕获完整的处理器功耗数据。EnergyBench的Test Harness中包括多个可执行文件,可同时测量一个、两个或三个power rail。对于使用多个power rail(即内核电源和I/O电源)实现的处理器,可通过两种方法计算基准每次重复测试的功耗。在第一种方法中,EnergyBench使用DAQ卡最多可同时测量三个p owerrail。但使用此方法时,因为所有通道都必须使用相同的采样率,所以可能需要降低D A Q卡的采样率,以便主机能够跟得上采样过程(这是因为同时输入数据过多)。另外,也可以单独测量power rail,每个power rail功耗值的总和即为累积功耗总值。
究竟选用哪种方法呢?
首先,有些处理器的power rail数量超过三个。即使同时测量了三个power rail,但仍然有必要对某个power rail进行单独测量,或考虑在更多输入通道上使用DAQ卡。
此外,采样频率应该与处理器的操作频率成比例,以确保每个基准在重复测试时采样到数据足够充足。为了容纳G H z级处理器,可能需要较高的采样率,以便主机一次只测试一个power rail。
为深入了解该方法,我们考虑到许多替代方案。如指定功耗测量时的连接温度以及使用高频示波器和高可控测试环境。但是,由于我们并非为了描述芯片特征本身,而是为了确定典型功耗,所以我们决定使用可用硬件和控制环境温度,而不是连接或某个案例的温度。另一个问题是功耗测量需要面向从低至5MHz微控制器到高至当今市场上速度最快的处理器等目标器件。因此还必需考虑能够在多处重复该测量而不是在某种特定环境下,并对结果进行独立验证。使用可编程DAQ,我们可以轻松指定参数(如采样频率),然后永久保留捕获的所有数据。
总之,当前的典型功耗的电流图并不依赖于标准过程、标准集或工作负载。
EnergyBench提供若干工具,这些工具可容易低与经济实用的硬件结合使用,以便使用E EM B C开发的标准方法测量典型功耗。