3、AI芯片架构基础:CPU、GPU、NPU、DSP的区别与协同

做边缘部署这些年,我见过太多人一上来就盯着算力参数看。TOPS多少、FLOPS多少,觉得数字大就牛。但实际落地时,往往被内存带宽卡死,或者发现计算单元根本用不上。说白了,芯片架构这事儿,你得先搞清楚它「怎么算」和「怎么搬数据」。

今天咱们就把CPU、GPU、NPU、DSP这四兄弟掰扯清楚。它们不是谁取代谁的关系,而是各司其职。我习惯把它们比作一个团队:CPU是项目经理,GPU是绘图员,NPU是专用流水线工人,DSP则是信号处理专家。

3.1 四类核心架构的定位

CPU(中央处理器):通用性最强,擅长复杂逻辑控制和分支预测。但它的计算单元占比很小,大部分面积给了缓存和控制逻辑。我在项目中遇到过,用CPU跑一个简单的卷积,结果大部分时间花在指令调度上,真正算乘法的时间很少。

GPU(图形处理器):最初为图形渲染设计,拥有大量并行计算单元。一个GPU可能有几千个核心,但每个核心都很简单。它适合做矩阵乘法这类「数据并行」的任务。不过,GPU的功耗和体积在边缘场景下是个大问题。

NPU(神经网络处理器):专门为神经网络推理设计的加速器。它内部有固定的乘加阵列、激活函数单元、池化单元等。说白了,就是硬件直接实现神经网络算子,省去了指令开销。我做过一个对比,同样跑MobileNet,NPU比CPU快10倍以上,功耗却只有1/5。

DSP(数字信号处理器):擅长流式数据处理,比如音频编解码、图像滤波、FFT变换。它的特点是低延迟、低功耗,适合做实时信号处理。嗯,这里要注意,DSP和NPU有重叠,但DSP更灵活,NPU更专一。

核心区别一句话总结:

  • CPU:什么都能干,但什么都干不快
  • GPU:并行计算强,但功耗高
  • NPU:神经网络专用,效率极高
  • DSP:信号处理专家,延迟极低

3.2 协同工作模式

实际芯片里,这四类单元是协同工作的。我画了一张图,帮你理解它们之间的数据流。

AI芯片异构计算架构协同图 CPU 任务调度/控制 GPU 并行矩阵计算 NPU 神经网络推理 DSP 信号预处理 共享内存 数据交换枢纽 调度指令 任务分配 中间结果 推理输出 预处理数据 图例:实线=控制流,虚线=数据流

你看,CPU是大脑,负责调度。DSP先做信号预处理,比如降噪、滤波。然后数据送到GPU或NPU做核心计算。最后结果通过共享内存交换。我做过一个语音唤醒项目,就是DSP先做VAD(语音活动检测),检测到人声后才唤醒NPU做识别,功耗降低了80%。

3.3 内存带宽:被忽视的瓶颈

你想想看,算力再强,数据搬不过来有什么用?内存带宽决定了单位时间内能搬多少数据。我见过一个项目,选了块标称20TOPS的芯片,结果实际跑模型时,内存带宽只有10GB/s,算力利用率不到30%。

内存带宽的计算公式很简单:

带宽 = 内存频率 × 位宽 / 8

举个例子,LPDDR4 3200MHz,64位宽:

带宽 = 3200 × 10^6 × 64 / 8 = 25.6 GB/s

嗯,这里要注意,实际可用带宽通常只有理论值的70%-80%,因为还有协议开销。

避坑指南:我曾经选型时只看算力,没注意内存带宽。结果模型跑起来,计算单元一直在等数据,GPU利用率只有15%。后来换了块带宽翻倍的芯片,同样的模型,推理速度提升了3倍。所以,算力和带宽要匹配,一般建议算力(TOPS)和带宽(GB/s)的比值在0.5-1之间。

3.4 计算单元与算力指标

计算单元是芯片真正干活的地方。不同类型的芯片,计算单元差异很大:

芯片类型 计算单元 典型数量 特点
CPU ALU(算术逻辑单元) 4-16个核心 每个核心功能完整,支持复杂指令
GPU CUDA Core / Stream Processor 数千个 每个核心简单,但数量多
NPU MAC(乘加阵列) 数百到数千 专门做矩阵乘法,效率极高
DSP MAC + 特殊功能单元 数十到数百 支持SIMD,适合流式处理

算力指标这块,我经常被问到:TOPS和FLOPS到底有什么区别?

  • TOPS:Tera Operations Per Second,万亿次操作/秒。通常用于整数运算(INT8、INT4)。NPU常用这个指标。
  • FLOPS:Floating-point Operations Per Second,浮点运算次数/秒。GPU和CPU常用这个指标。

举个例子,一块标称10TOPS的NPU,如果做INT8推理,每秒能完成10万亿次整数运算。而一块标称5TFLOPS的GPU,每秒能完成5万亿次浮点运算。但要注意,TOPS和FLOPS不能直接换算,因为整数和浮点运算的复杂度不同。

我的经验:边缘部署时,我习惯优先看INT8的TOPS,因为大部分模型量化后都用INT8推理。而且,很多芯片的INT8算力是FP16的2倍,是FP32的4倍。所以,选型时别被FP32的FLOPS忽悠了,要看实际部署精度下的算力。

3.5 典型AI芯片算力对比

我整理了几款常见边缘AI芯片的算力指标,供你参考:

芯片型号 INT8算力(TOPS) FP16算力(TFLOPS) 内存带宽(GB/s) 典型功耗(W)
NVIDIA Jetson Orin NX 70 35 102.4 15-25
Rockchip RK3588 6 3 25.6 5-10
Horizon Journey 5 128 64 204.8 35-50
Qualcomm QCS8250 15 7.5 34.1 8-12

你看,同样是边缘芯片,算力跨度从6TOPS到128TOPS。选型时不能只看算力,还要看功耗和带宽。我做过一个无人机项目,功耗限制在10W以内,最后选了RK3588,虽然算力只有6TOPS,但配合NPU加速,跑轻量级模型完全够用。

最后说一句,芯片架构这事儿,没有最好的,只有最合适的。搞清楚你的模型特点、功耗预算、实时性要求,再回头选芯片,就不会被参数表忽悠了。


专注资料整理