# E.3 嵌入式基准测试
<!-- source: p0954 -->

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

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

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

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

<!-- source: p0956 -->

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

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

## 以功耗和效率为指标

<!-- source: p0955 -->

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

<!-- source: p0956 -->

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

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

<!-- source: p0957 -->

![五种嵌入式处理器的相对每瓦性能](/figures/app-e/fig-e-9.png)
{#fig-E.9 .wide .expand num="E.9"}

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

![五种嵌入式处理器的性能](/figures/app-e/fig-e-10.png)
{#fig-E.10 .wide .expand num="E.10"}

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