CPU 性能指标简览
作为计算机的运算核心和控制核心,CPU(Central Processing Unit)由运算器、控制器、寄存器和实现其之间联系的数据、控制及状态的总线构成,决定着计算机运算性能强弱。作为信息技术产业的核心基础元器件,CPU 的运作可分为四个阶段:提取(Fetch)、译码(Decode)、执行(Execute)和回写(Writeback)。
用一句话来概括 CPU 的运作原理:CPU 从存储器或高速缓冲存储器中取出指令,将指令放入寄存器,并对指令译码、执行指令。
在嵌入式系统行业,用于评价 CPU 性能指标的标准主要有:
MIPS(Million Instructions Per Second):即每秒能够执行的百万级机器语言指令数,用于计算系统的秒级处理能力,是衡量 CPU 速度的一个指标。
DMIPS(Dhrystone MIPS):指 CPU 运行整数运算(Dhrystone)时所表现的相对性能,只适用于评估标量机(对应:向量机)。
FLOPS(Floating-point Operations Per Second):表示 CPU 每秒执行的浮点运算次数,主要用于衡量计算机的浮点运算能力。
CoreMark:以每秒迭代次数作为性能评价。
MIPS 标准
1970 年代,小型电脑的性能是通过与 VAX MIPS 相比较来评估的,指比较与 VAX 11/780(市场公认的 1 MIPS 机器)运行同一工作的运行时间。
▲ 已经 46 岁的 VAX 11/780
MIPS 无法在不同的处理器架构下进行比较。由于不是每一条机械指令都能在单周期计算完成,所以计算 MIPS 的时候会引入一个 CPI(Clock cycle per intruction,每条指令的平均时钟周期数)值。公式如下:
MIPS=指令数/(执行时间*1000000)
MIPS=主频/(CPI*1000000)
DMIPS 标准
在一定意义上,DMIPS 也是以 VAX 11/780 处理器作为标称值的。
这里要先引入当今最有代表性的通用跑分处理程序之一,Dhrystone。Dhrystone 是由 Reinhold P. Weicker 在 1984 年提出来的一个基准测试程序,其主要目的是测试处理器整数运算和逻辑运算的性能。由于 VAX 11/780 处理器每秒能够循环 Dhrystone 程序 1757 次,因此其他处理器每秒钟执行 Dhrystone 程序的循环次数除以 1757 即为其 DMIPS 值。
在此基础上,除去工艺、功耗等可能的影响因素,将处理器的 DMIPS 值除以其频率,便可得到更能直观体现处理器微架构设计本身性能的 DMIPS/MHz。
MIPS 和 DMIPS 的区别:
MIPS 反映的能力——每秒钟能够执行的指令集数量,这个能力由 CPU 的架构、内存的访问速度等硬件特性决定;
DMIPS 反映的能力——每秒钟能够实现的工作数量。
*按字面意思进行理解,MIPS 与 DMIPS 之间似乎存在转换公式,但经查证,两者完全是从不同角度来评估 CPU 性能的,并无直接转换关系。
*“Dhrystone”名字的由来是相对更早出现的另一个测试 CPU 浮点计算性能的工具“Wetstone”。“Wetstone”本意为“湿石头”,Dhrystone 则是干石头,用于测试 CPU 的整数计算性能。
FLOPS 标准
FLOPS 常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。“浮点运算”由于涵盖所有涉及小数的运算,相较于整数运算会更花时间。当前大部分的处理器中都会配备专用于处理浮点运算的“浮点运算器”(Float Point Unit,FPU),因此 FLOPS 标准所测量的实际上是 FPU 执行速度。
CoreMark 标准
CoreMark 可以理解为与 Dhrystone 类似的综合处理器跑分程序,由非营利组织嵌入式微处理器基准评测协会 EEMBC(Embedded Microprocessor Benchmark Consortium)的 Shay Gla-On 于 2009 年提出,其主要目标是测试处理器核心性能。
CoreMark 程序使用 C 语言写成,包含如下的运算法则:列举(寻找并排序)、数学矩阵操作(普通矩阵运算)、状态机(用来确定输入流中是否包含有效数字)和 CRC(Cyclic Redundancy Check,循环冗余校验)。CoreMark 具有特定的运行和报告规则,从而可以避免由于所使用的编译库不同而导致的测试结果难以比较。因此 CoreMark 标准被认为比 Dhrystone 标准更有实际价值。
CoreMark 标准以在某配置参数组合下,单位时间内 CoreMark 程序的运行次数作为度量标准,其指标单位为 CoreMark/MHz。CoreMark 数字越高,意味着性能更高。
▲ARM 处理器官方性能对比:Cortex-M 部分系列
参考文献
[1]顾梦杰. 基于 RISC-V 指令集架构的通用微控制器设计[D].东华大学,2022.DOI:10.27012/d.cnki.gdhuu.2022.000609.
[2]从性能指标角度看 ARM Cortex-M 各处理器区别,https://mp.weixin.qq.com/s/o1amLyzc8ZO8l59N5F2vyw
[3]性能评估单位说明,https://zhuanlan.zhihu.com/p/571545878
[4]科普总结:Flops、FLOPS、GFLOPS,https://imgtec.eetrend.com/blog/2020/100048896.html
[5]Classic Benchmarks,http://www.roylongbottom.org.uk/classic.htm
版权声明: 本文为 InfoQ 作者【DevOps和数字孪生】的原创文章。
原文链接:【http://xie.infoq.cn/article/d3b7ed429bddfcd780cf76c43】。文章转载请联系作者。
评论