ARM 处理器 MIPS/DMIPS/MFLOPS 理解
现在随着计算机使用了多级流水线结构,取指、译码、执行等并行方式,单纯使用频率确定性能不太合理,所以采用计算性能来测定cpu性能比较合理,主要有MIPS,DMIPS和FLOPS三个主要概念,
MIPS(Million Instructions Per Second):字面理解为百万条指令/秒,即每秒执行百万级指令数。这是衡量CPU速度的一个指标。像是一个Intel 80386 电脑可以每秒处理3百万到5百万机器语言指令,既我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。
DMIPS(Dhrystone Million Instructions executed Per Second):Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量。Dhrystone是一种整数运算测试程序。
FLOPS:Floating-point Operations Per Second, 表示CPU的每秒执行的浮点运算次数,主要用于衡量计算机的浮点运算能力。
- 1 MFLOPS = 10^6 FLOPS
- 1 GFLOPS = 10^9 FLOPS
- 1 TFLOPS = 10^12 FLOPS
- 1 PFLOPS = 10^15 FLOPS
TOPS: Tera Operations Per Second, 处理器每秒钟可进行10^12操作,包括整数的运算和浮点数运算,和FLOPS有一定差别。
例如 NVIDIA T4显卡性能 :https://www.nvidia.com/en-us/data-center/tesla-t4/
说明了FP32的浮点运算为 8.1TFLOPS,但是用INT4的整数运算时,可达到 260 TOPS
参数 | 数值 |
---|---|
TURING TENSOR CORES | 320 |
NVIDIA CUDA® CORES | 2,560 |
SINGLE PRECISION PERFORMANCE | 8.1 FP32 TFLOPS |
MIXED PRECISION (FP16/FP32) | 65 FP16 TFLOPS |
INT8 PRECISION | 130 INT8 TOPS |
INT4 PRECISION | 260 INT4 TOPS |
例如 TFLOPS比较
产品 | 性能 |
---|---|
谷歌 Cloud TPU v3 | 420 TFLOPS |
华为昇腾910 | 256 TFLOPS |
Groq TSP | 250 TFLOPS |
NVIDIA Tesla V100 GPU | 125 TFLOPS |
Intel Movidius | 100 GFLOPS |
Intel 10代酷睿 | 1.12 (FP32)TFLOPS 2.25(FP16)TFLOPS |
地平线 Sunrise | 4 TOPS |
高通骁龙865 | 15 TOPS |
高通骁龙855 | 7 TOPS |
ARM处理器比较
Cortex-A系列
Core | Architecture | bits | I-Cache | D-Cache | DMIPS/MHz |
---|---|---|---|---|---|
ARM11 | v7-A | 32 | 4-64K | 4-64K | 1.25 |
Cortex-A5 | ARMv7-A | 32 | 4-64K | 4-64K | 1.57 |
Cortex-A7 | ARMv7-A | 32 | 8-64K | 8-64K | 1.9 |
Cortex-A8 | ARMv7-A | 32 | 16-32K | 16-32K | 2.0 |
Cortex-A9 | ARMv7-A | 32 | 16-64K | 16-64K | 2.5 |
Cortex-A12 | ARMv7-A | 32 | - | - | 3.5 |
Cortex-A15 | ARMv7-A | 32 | 32K | 32K | 3.4 |
Cortex-A17 | ARMv7-A | 32 | 32-64K | 32K | 3.2 |
Cortex-A32 | ARMv8-A | 32 | 8-64K | 8-64K | 2.3 |
Cortex-A35 | ARMv8-A | 32/64 | 8-64K | 8-64K | 2.5 |
Cortex-A53 | ARMv8-A | 32/64 | 8-64K | 8-64K | 2.3 |
Cortex-A55 | ARMv8.2-A | 32/64 | 64K | 64K | 2.7 |
Cortex-A57 | ARMv8-A | 32/64 | 48K | 32K | 4.1 |
Cortex-A72 | ARMv8-A | 32/64 | 48K | 32K | 4.7 |
Cortex-A73 | ARMv8-A | 32/64 | 64K | 32-64k | 4.8 |
Cortex-A75 | ARMv8.2-A | 32/64 | 64K | 64k | 5.2 |
Cortex-A76 | ARMv8.2-A | 32/64 | 64K | 64k | - |
Cortex-M系列
Core | Architecture | bits | DMIPS/MHz | DSP |
---|---|---|---|---|
Cortex-M0 | ARMv6M | 32 | 0.9~0.99 | |
Cortex-M3 | ARMv6M | 32 | 1.25~1.5 | |
Cortex-M4 | ARMv6M | 32 | 1.25~1.52 | 8/16 SMID 单精度FPU |
Cortex-M7 | ARMv7-M | 32 | 2.14/2.55/3.23 | 8/16 SMID 双精度FPU |
参考