ZHCAEV9 December 2024 AM62D-Q1
Dhrystone 基准测试侧重于处理器内核性能,并采用所有现代处理器的预加载 L1 高速缓存来运行。该基准测试随时钟速度的增加而线性增加。虽然该基准测试于 1984 年由 Reinhold P. Weicker 引入,但 Dhrystone 至今仍用于嵌入式处理。业界已采用 VAX 11/780 作为参考 1 MIPS 机器。VAX 11/780 每秒可达到 1757 Dhrystones。计算分数时,通过参考 1MIPS 机器的分数 (1757),对基准测试循环运行所花的时间进行归一化。由于分数随时钟速度的增加而线性增加,通常进一步归一化为 DMIPS/MHz/内核。对于标准 Arm 内核,在相同的编译器和标志中,DMIPS/MHz 是相同的。Dhrystone 是一个单核基准测试,有时会使用多个简单内核并行运行此基准测试。
Dhrystone(版本 2.1,C 语言)基准测试作为 freeRTOS 工程包括在 FREERTOS-SDK 中。该工程位于 <freertos-sdk root>/examples/kernel/freertos/dhrystone_benchmark。该工程在其中一个 Arm-Cortex-A53 内核中执行。由于执行时间短,TI 建议运行大量迭代测试以测量准确的结果。默认情况下,该示例会运行 3000 万次迭代测试。修改代码以运行 1 亿次迭代。结果表明,3000 万和 1 亿次迭代的结果差别不大。下面的代码块展示了用于 Dhrystone 基准执行的终端打印输出的简短版本。
Image loading done, switching to application ...
Starting RTOS/Baremetal applications
[DHRYSTONE BENCHMARKING] Iterations : 100000000
[DHRYSTONE BENCHMARKING] Threads : 1
[DHRYSTONE BENCHMARKING] Dhrystones per second : 7602786.5
[DHRYSTONE BENCHMARKING] Iterations : 100000000
[DHRYSTONE BENCHMARKING] Threads : 2
[DHRYSTONE BENCHMARKING] Dhrystones per second : 7665291.5
[DHRYSTONE BENCHMARKING] Iterations : 100000000
[DHRYSTONE BENCHMARKING] Threads : 5
[DHRYSTONE BENCHMARKING] Dhrystones per second : 7652734.0
[DHRYSTONE BENCHMARKING] Iterations : 100000000
[DHRYSTONE BENCHMARKING] Threads : 10
[DHRYSTONE BENCHMARKING] Dhrystones per second : 7665313.
All tests have passed!!
表 2-7 展示了该基准测试的结果。具有四个 A53 内核的 AM62Ax 在 1.4GHz 下运行的汇总分数为 17,308DMIPS。
| Arm-Cortex-A53 (1.4GHz) | |
|---|---|
| Dhrystones/秒 | 7,602,786.5 |
| 标准化 Dhrystones(除以参考 1MIPS 机器的 1757) | 4,327 |
| 每个核心的 DMIPS/MHz | 大约为 3 |
| 操作系统 | freeRTOS |