跳转到主要内容

E.3 嵌入式基准测试

就在原书写作前的几年前,嵌入式市场仍有许多厂商引用 Dhrystone 性能;而这一基准测试在 20 多年前就已受到批评,并被桌面系统弃用!如前所述,嵌入式应用的种类极为繁多,性能要求也各不相同,包括硬实时、软实时以及总体性价比,因此,使用单一的一套基准测试并不现实。实际中,许多嵌入式系统设计者会自行设计能反映其应用的基准测试,形式可能是计算内核,也可能是整个应用的独立运行版本。

对于可以用内核性能较好描述的嵌入式应用,当时最好的标准化基准测试似乎是一套新的测试集:EDN Embedded Microprocessor Benchmark Consortium,即 EEMBC,读音同英语 embassy。EEMBC 基准测试分为六类,在 EEMBC 的术语中称为“分委员会”(subcommittee):汽车/工业、消费电子、电信、数字娱乐、网络(当时为第二版),以及办公自动化(同样为第二版)。图 E.8 列出了这六个不同的应用类别,共包含 50 项基准测试。

虽然许多嵌入式应用对小型内核的性能很敏感,但也要记住,整个应用(可能有数千行代码)的总体性能往往同样重要。因此,对于许多嵌入式系统,EEMBC 基准测试只能用于部分地评估性能。

译注: 原书上一段最后一句将 EEMBC 误写为 EMBCC;根据本节上下文统一为 EEMBC。

基准测试类型(“分委员会”)内核数量基准测试示例
汽车/工业166 项微基准测试:算术运算、指针追踪、内存性能、矩阵运算、查表、位操作;5 项汽车控制基准测试;5 项滤波或 FFT 基准测试
消费电子55 项多媒体基准测试:JPEG 压缩/解压缩、滤波,以及 RGB 转换
电信5滤波与 DSP 基准测试:自相关、FFT、译码器、编码器
数字娱乐12MP3 译码;MPEG-2 和 MPEG-4 编码与译码,每项分别应用于五种不同数据集;MPEG 浮点编码;4 项常用密码标准和算法的基准测试,包括 AES、DES、RSA 以及用于数据解压缩的 Huffman 译码;增强型 JPEG 和色彩空间转换测试
网络第 2 版6IP 数据包检查(取自 RFC1812 标准)、IP 重组、IP 网络地址转换(NAT)、路由查找、OSPF、服务质量(QOS),以及 TCP
办公自动化第 2 版6Ghostscript、文本解析、图像旋转、抖色、Bézier
图 E.8

图 E.8 EEMBC 基准测试套件,包含六个类别中的 50 个内核。 关于基准测试的更多信息和成绩,见原书所列网站 www.eembc.org。

以功耗和效率为指标

在嵌入式市场,成本和功耗的重要性往往至少不亚于性能。除了处理器模块的成本——其中包括所有必需的接口芯片——内存往往是嵌入式系统中成本第二高的部分。与桌面系统或服务器不同,大多数嵌入式系统没有辅助存储;整个应用必须驻留在 Flash 或 DRAM 中。PDA 和手机等许多嵌入式系统同时受到成本和物理尺寸的约束,因此,应用所需内存容量非常关键。同样,功耗往往是选择处理器的决定性因素,对电池供电系统尤其如此。

EEMBC EnergyBench 提供处理器运行 EEMBC 性能基准测试时的能耗数据。通过 EEMBC 认证的 Energymark 分数是一项可选指标,设备厂商可以选择将其与经认证的设备性能分数一同提供,以说明处理器利用功率和能量的效率。EEMBC 统一采用 National Instruments 的 LabVIEW 图形化开发环境和数据采集硬件来实现 EnergyBench。

图 E.9 按典型工作功耗给出了相对每瓦性能。将它与图 E.10 所示未经功耗归一化的性能相比,会发现结果差别很大。NEC VR 4122 在每瓦性能上有明显优势,但其性能却是倒数第二!从功耗角度看,针对电池供电系统设计的 NEC VR 4122 是明显的赢家。IBM PowerPC 也展现了以高效用电达到高性能的能力,不过它的典型功耗为 6 W,可能不适合大多数电池供电设备。

五种嵌入式处理器的相对每瓦性能
图 E.9

图 E.9 五种嵌入式处理器的相对每瓦性能。 功率取处理器的典型工作功耗,不包含任何接口芯片。横轴依次为汽车、办公和电信测试;纵轴为相对每瓦性能。图例为 AMD ElanSC520、AMD K6-2E+、IBM PowerPC 750CX、NEC VR 5432 和 NEC VR 4122。

五种嵌入式处理器的性能
图 E.10

图 E.10 五种嵌入式处理器的性能。 性能以 AMD ElanSC520 为基准,表示为其性能的倍数。横轴依次为汽车、办公和电信测试;五种处理器与图 E.9 相同。

表格阅读