什么是benckmark

 

基准性能是指使用一组整数和浮点程序(统称为基准,benchmark),旨在测试被测计算系统的不同方面的性能。基准程序的设计应旨在提供高性能计算系统之间的公平和有效的比较。为了使基准有意义,它应该忠实地评估系统预期用途的性能。

 

评价CPU性能指标的标准主要有三种:Dhrystone、MIPS、CoreMark,其中Dhrystone是一种古老的却历时30年而不衰的处理器测试基准,至今仍为各大处理器生产厂商所采用。

 

20世纪70-80年代开始流行的几个性能测试标准,它们分别是Livermore、Whetstone、Linpack、Dhrystone,这四个性能测试标准也被合称为Classic Benchmark。其中使用最广的是Dhrystone。

 

Dhrystone benckmark

 

Dhrystone 基准测试解决整数性能问题。它由 100 条语句组成,不使用浮点运算或数据。从 Dhrystone 获得的速率用于计算 MIPS 指数作为性能指标。

 

MIPS(每秒百万指令)是代表计算机处理器性能的单位。DMIPS 是一种基于在处理器上执行 Dhrystone 指令程序并对其进行处理所需的时间来评估性能的单元。

 

计算 DMIPS  (Dhrystone MIPS )。它是用 Dhrystone 分数除以 1757(在 VAX 11/780,名义上是 1 MIPS 机器上获得的每秒 Dhrystone 数)得到的。

 

DMIPS/MHz 是每 1MHz 时钟频率的 DMIPS。关于 Cortex-M3,它们是 1.25/1.50/1.89 DMIPS/MHz。关于 Cortex-M4,它们是 1.25/1.52/1.91 DMIPS/MHz(不带 FPU)和 1.27/1.55/1.95 DMIPS/MHz(带 FPU)。

 

所有 ARMv8 芯片都将在 AArch32 执行状态下运行传统的 32 位 ARMv7 代码,而 64 位代码将在 AArch64 状态下运行。目前的 ARM 架构的最大整数大小为 32 位,而较旧的 ARM 芯片可以存储和操作高达 32 位宽的内存地址。

 

Dhrystone 是一种通用性能基准测试,最初由 Reinhold Weicker 于 1984 年开发。该基准用于衡量和比较不同计算机的性能,或者在这种情况下,衡量和比较不同编译器为同一台计算机生成的代码的效率。

 

如何计算每秒指令?将指令数除以执行时间。将此数字除以 100 万,以得到每秒钟的百万条指令量级。或者,将每秒的周期数 (CPU) 除以每条指令的周期数 (CPI),然后除以 100 万以找到 MIPS。

 

标准程序(Dhrystone)在接口层面会编译成汇编语言,在执行层面会编译成机器码。

 

参考文献《How is DMIPS calculated》;作者:Haiden Heath。