处理器分类
CPU:中央处理器
GPU:图形处理器,又称显示核心、视觉处理器、显示芯片
- CPU有控制单元而GPU没有控制单元,需要CPU调度
NPU:神经网络处理器,又称AI芯片
- 在NPU中,芯片都用 MAC阵列(乘积累加运算,MAC/Multiply Accumulate) 给神经网络加速,许多运算(如卷积运算、点积运算、矩阵运算、数字滤波器运算、乃至多项式的求值运算)都可以分解为数个MAC指令
虽然GPU比CPU更擅长并行计算,但GPU和CPU本质上都属于通用处理器;AI芯片则针对性强,其目的是高效率地执行AI算法,也称为AI加速器,并衍生出了许多称呼,如NPU(神经网络处理器)、TPU(谷歌的张量处理器)、DPU(AMD加速处理器)、BPU(地平线Brain Processing Unit)等;
AI芯片也可能是以某一模块的形式体现,如TI TDA4的MMA、特斯拉FSD的NNA、英伟达的Tensor Core等。
常见算力计算方法
GFLOPS
FLOPS(Floating-point operations per second): 浮点运算性能单位 ,即每秒浮点运算次数。
GFLOPS(GigaFLOPS):每秒一万亿(10^9)次浮点运算的次数。
浮点运算的精度有:双精度(FP64),单精度(FP32),半精度(FP16),FP8,BFloat16(16bit,动态表达范围和FP32一样,但是精度低),TF32(TensorFloat32)等
不同精度下的算力关系接近为倍数关系,并存在例外情况(如指令重叠可以使计算吞吐翻倍)。
单个CPU/GPU的GFLOPS算力计算:主频 x 每时钟周期浮点计算次数 x CPU/GPU中核的个数
CPU的每时钟周期浮点计算次数根据CPU指令集的不同而定:
| 指令集 |
每时钟周期的单精度运算次数 |
每时钟周期的双精度运算次数 |
|---|---|---|
| SSE(128-bits) |
8 |
4 |
| AVX(256-bits) |
16 |
8 |
| AVX2(256-bits) |
32 |
16 |
| AVX512(512-bits) |
64 |
32 |
nvidia GPU的Cuda核心每时钟周期双精度浮点计算次数一般为2(1次FMA运算);
nvidia GPU的TENSOR核心可实现混合精度计算(如乘法精度FP16,加法精度FP32),每个TENSOR核心提供一个4x4x4矩阵处理数组,每个时钟周期可执行64次浮点混合乘加(FMA)运算,1 Tensor Core ≈ 64 CUDA Core
TOPS
OPS(Operations Per Second): 整数运算性能单位 ,即每秒整数运算次数,衡量 乘积累加矩阵(Multiply Accumulate, MAC)运算算力 ,一次MAC运算(a = a + (b x c))包含乘加共 两次运算 。
TOPS(TeraOPS):每秒一万亿(10^12)次整数运算的次数。
整数运算的精度有:INT8,INT4
不同精度下的算力关系接近为倍数关系
TOPS = MAC运算单元数量 * 2 * 主频


以特斯拉芯片为例,含2个加速单元NNA,每个NNA的MAC单元数量为96x96,可得单个NNA算力TOPS = (96 * 96) * 2 * 2GHz = 36.86 TOPS
TOPS为整数运算次数,TFLOPS为浮点数运算次数, 相同精度 下:1 TOPS ≈ 1 TFLOPS
在某些情况下,还使用TOPS/W来作为评价处理器运算能力的一个性能指标,TOPS/W用于度量在1W功耗的情况下,处理器能进行多少万亿次操作。
DMIPS
DMIPS:Dhrystone Million Instructions executed Per Second,以运行Dhrystone程序为基准,每秒执行了多少百万条 指令 。
- Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量,用C语言编写。
DMIPS/MHz 表示CPU在单位MHz的运行速度下可以执行多少个DMIPS。如5DMIPS/MHz,表示如果CPU运行在1MHz的频率下,每秒可执行5百万条指令,如果CPU运行在5MHz的频率下,每秒可执行25百万条指令。
CPU的DMIPS算力计算:核的数量 * 主频 * DMIPS/MHz
如双核A53架构,主频为1.6GHz,性能为2.3DMIPS/MHz,算力DMIPS = 2 * 1660MHz * 2.3DMIPS/MHz = 7360 DMIPS
ARM处理器 Cortex-A 系列:
| Core |
Architecture |
bits |
I-Cache |
D-Cache |
DMIPS/MHz |
|---|---|---|---|---|---|
| ARM11 |

本文介绍了处理器的种类,包括CPU、GPU和NPU,强调了它们在处理能力上的差异。CPU具有控制单元,GPU擅长并行计算,而NPU专为高效执行AI算法设计。文章还讨论了各种算力单位,如GFLOPS、TOPS和DMIPS,以及如何计算和比较不同处理器的性能。特别提到了AI芯片在汽车领域的应用,列举了多个汽车主流芯片的算力数据。

597

被折叠的 条评论
为什么被折叠?



