|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
随着嵌入式系统在消费电子和工业设备中的广泛应用,功耗已经开始像时钟速度和系统性能一样成为微处理器的一个核心特性。为了确定各种微处理器的功耗效率,嵌入式微处理器基准协会开发了一个有力的工具——EnergyBench。
同协会的其他性能benchmark一起使用,EnergyBench可以测试处理器在进行一系列标准应用任务时的功耗大小。有了这样一个同性能测试紧密联系的功耗标准测度,设计工程师就能比较多个供应商提供的微处理器的性能/功耗,从而选择一款最适合自己应用的产品。
测试方法
EnergyBench采用National Instruments公司的一个8通道的数据采集卡和LabVIEW软件。可以支持三个能量(电压和电流)测试加上一个触发通道,数据采集卡对触发通道和电压一起采样,并且把结果输出到一个文件里。灵活的触发机制可以将功耗测试同性能benchmark同步,这一点可以保证功耗测试是在benchmark代码的同步部分内进行,从而避免将benchmark初始化阶段的功耗包括进去。LabVIEW采样程序接受一个配置文件,它可以通过为触发探测和电压电流通道一起指定电压来定义触发机制。
一个benchmark要称得上标准化,它的结果必须是可靠的、可重复的,并且是一致的。EnergyBench采用几种方法来达到统计学上的精确结果。
作为一个规则,采样模块必须使用不同的采样频率调用数次。一般的,为了得到精确的结果,采样频率必须是2倍以上Nyquist频率或者是一些随机数。伪随机方法是benchmark以一个与benchmark执行频率无关的频率运行时进行多次取样。假定benchmark的每个遍历(iteration)以周期性的时间间隔出现,那么错开这个周期来取样就可以保证每个遍历(iteration)内在伪随机点时取样。这种方法可以简单地实现和保证统计上的精确结果。一旦所有的测试取样都已完成,分析模块将开始计算benchmark的每个遍历(iteration)上消耗的能量的平均值。嵌入式微处理器基准协会的功耗分析模块分析这些采样,决定每个遍历(iteration)所使用的能量,找出最大值和最小值。
对于某个特定的采样频率,如果测试值变化太大,用户可以增大采样频率和/或遍历(iteration)次数,直到有足够的采样,以便满足平均值误差在规定的5%之内。EnergyBench测试的最终结果是工作量一次遍历(iteration)上消耗的能量的平均值,该工作量是指在目标器件上运行benchmark时的工作量,该过程如图1所示。
点击看原图
图1EnergyBench的数据给出了评估处理器功耗效率的基础
结果在功率分析模块中以energy/iteration表显示,图1中同时显示了分析的遍历(iteration)次数。用户也可以使用EEMBC测试套件来测试最大和最小功耗。
测试条件
EnergyBench规定,器件测试时,至少预热30分钟,器件周围的环境温度为70°F±5°F,这些规定可以保证测试结果的一致性,因为器件温度升高时,其功耗也会显著增加。
EnergyBench的规定中还要求处理器上的所有功率轨(power rail)都要测试,对于有超过1个功率轨(power rail)(如核心功率和I/0功率)的处理器,有两种方法来计算benchmark的每个遍历(iteration)的功耗。使用数据采集卡,EnergyBench可以同时测试最多3个rail,在这种方法中,所有通道都以同样速率采样,因此,数据采集卡的采样率可能需要降低,以便主机的处理能力与采样率相匹配。另一种方法,是采取分别测试各个rail,将每个rail消耗的能量之和作为整个功耗。该如何决定采用哪种测试方法呢?首先,一些处理器有超过3个功率轨(power rail),在这种情况下,即使三个rail同时测试,但个别rail还是需要单独测试。另外,要根据处理器的工作频率选择合适的采样率,以便允许有足够的采样。为了满足几GHz的处理器,采样率一般会非常高,以致主机因为无法跟得上这么快的速度而一次只能进行一个rail的测试。 |
|