MIPS 、DMIPS、MFLOPS、TOPS解释

  • Post author:
  • Post category:其他




MIPS

Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。

简单来说,MIPS就是CPU执行指令集的速度,每秒执行了多少百万个指令。

但是,因为各个架构的CPU指令集各不相同,所以作为一家厂商的前后代产品对比也许还行,不同厂商之间的对比就比较难看出端倪了。所以有了DMIPS。



DMIPS(干石MIPS)

就是赫(chou)赫(ming)有(zhao)名(zhu)的Dhrystone MIPS。

Dhrystone的解释如下:

A short synthetic benchmark program by Reinhold Weicker weicker.muc@sni.de, weicker.muc@sni-usa.com, intended to be representative of system (integer) programming. It is available in ADA, Pascal and C.The current version is Dhrystone 2.1. The author says, “Relying on MIPS V1.1 (the result of V1.1) numbers can be hazardous to your professional health.”

其实这是出自Dhrystone Benchmark。你们不是说各家CPU性能没法比较吗,那我搞一个统一的小程序,在你们各家的CPU上都跑一遍,看看每秒能跑多少次,然后做个运算(除以1757),谁家数字高谁家CPU就牛逼哄哄横眉冷对仰天大笑不就行了。

看上去是很美的设想,但是是有问题的:

  • 说是测试CPU性能,但其实测试的时候还是无法脱离系统的,比如OS/Compiler/Library等等。如果测试的时候采用了针对干石优化过的Compiler和Library,那自然分就更高了。(简单来说就是好作弊)
  • 只能测试1级缓存。无法反应L2,L3的真实情况。

虽然问题多多,毕竟大家现在也没有什么更好的测(zuo)试(bi)办法,而且DMIPS确实也比较知名,所以也就这么一直留用下来了。



MFLOPS/GFLOPS/TFLOPS/PFLOPS

MFLOPS(Mega(10

6

)/Giga(10

9

)/Tera(10

12

)/Peta(10

15

Floating-point Operations per Second.

上面的干石(Dhrystone)测试的是整数运算性能,而与之相对的还有湿石(Whetstone),用来测试浮点运算性能。这个单位就是FLOPS。



TOPS

老实说我没太理解这个指标。。

我查到有两种定义:

  1. Tera Operations Per Second
  2. Tensor Operations Per Second

如果是前者,指的是每秒钟可以进行多少个10

12

次操作,这里的操作我理解,指的也许是整数及浮点操作。(毕竟没找到明确说明)

后者的话相对比较好理解,指的是每秒进行多少次张量操作(主要指在机器学习方面),我个人比较倾向后者。



版权声明:本文为hirvonen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。