第二章:芯片核心架构解析

各位工程师朋友,咱们今天聊聊芯片的“五脏六腑”。

做智能驾驶芯片选型,光看算力数字可不行。你得知道里面那些计算单元——CPU、GPU、NPU、DSP、ISP、MCU——到底怎么分工,怎么协作。说白了,这就是一个异构计算架构的“团队配合”问题。

我个人习惯,拿到一颗芯片的 datasheet,先不看峰值算力,而是先看它的数据流图。为什么?因为算力再高,数据搬不动、喂不饱,那就是白搭。我在项目中就吃过这个亏,后面会细说。

2.1 六大计算单元:各司其职

先一个个认识一下这些“队员”。

单元 核心职责 典型场景
CPU 逻辑控制、任务调度、复杂分支 决策规划、传感器融合调度
GPU 大规模并行浮点运算 图像渲染、点云预处理
NPU 神经网络推理加速 目标检测、语义分割
DSP 信号处理、数学运算 雷达信号处理、音频降噪
ISP 图像信号处理 RAW图转RGB、HDR合成
MCU 实时控制、安全监控 执行器控制、功能安全看门狗

嗯,这里要注意:CPU 不是万能的。你想想看,让一个大学教授去干搬砖的活,效率肯定低。CPU 擅长的是“想”,不是“算”。

CPU:大脑中的“项目经理”

CPU 负责调度一切。它跑的是 Linux 或者 QNX 系统,管理任务优先级、内存分配、中断响应。我见过一些方案,把大量图像预处理丢给 CPU 做,结果 CPU 占用率飙到 90%,导致决策规划延迟。这其实是个坑。

GPU:曾经的“算力担当”

GPU 最初是为图形渲染设计的,但它的 SIMT(单指令多线程)架构天然适合矩阵运算。在智能驾驶里,GPU 常用于点云处理、BEV 视角转换。不过,GPU 的功耗确实高。我记得有个项目,GPU 跑满时整板功耗直接飙到 150W,散热方案改了三版。

NPU:AI 时代的“特种兵”

NPU 是专门为神经网络设计的。它内部有大量的 MAC(乘加运算单元),可以一条指令完成一组矩阵乘法。选型时,我建议重点关注 NPU 的利用率,而不是只看 TOPS。有些芯片标称 100TOPS,实际跑 YOLOv5 时利用率只有 30%,那还不如 50TOPS 但利用率 80% 的芯片。

DSP:信号处理的“老黄牛”

DSP 在雷达和音频处理中不可或缺。它的 VLIW(超长指令字)架构可以一个周期执行多条指令。做毫米波雷达的朋友应该深有体会——CFAR 检测、多普勒 FFT,这些活 DSP 干得比 CPU 快一个数量级。

ISP:图像质量的“守门员”

摄像头 RAW 数据进来,ISP 负责去噪、白平衡、HDR 合成。我曾经踩过一个坑:选了一颗 ISP 能力弱的芯片,结果夜间行车时图像噪点太多,导致 NPU 的检测率直接掉了 15 个百分点。所以,ISP 的好坏直接影响感知上限。

MCU:安全的“最后一道防线”

MCU 通常跑在 ASIL-D 安全等级下。它不参与复杂计算,但负责监控主芯片是否“死机”。一旦主芯片心跳信号丢失,MCU 会立刻接管,执行紧急刹车或降级操作。这个角色,说白了就是“安全气囊”。

2.2 异构计算架构:如何让它们“说同一种语言”

六个单元各有所长,但怎么让它们高效协作?这就是异构计算架构要解决的问题。

我画了一张图,帮你理解数据是怎么流动的:

智能驾驶芯片异构计算数据流图 摄像头 雷达/激光雷达 ISP DDR NPU GPU DSP CPU MCU 执行器 图例说明: 传感器输入 ISP(图像预处理) DDR(共享内存) NPU(AI推理) GPU(并行计算) DSP(信号处理) CPU(调度决策) MCU(安全控制)

你看,数据从传感器进来,先经过 ISP 做图像预处理,然后存入 DDR。NPU 和 GPU 从 DDR 取数据做推理和计算,CPU 负责调度和决策,最后 MCU 执行控制指令。整个流程,DDR 就是那个“数据中转站”

2.3 数据流与带宽瓶颈:算力再高也怕“堵车”

好,现在问题来了。六个单元都在抢 DDR 的带宽,谁抢得多?谁抢得急?

我举个例子。一颗 8MP 摄像头,30fps,RAW12 格式,数据量是多少?

分辨率:3840 × 2160 = 8,294,400 像素
每像素:12 bit = 1.5 Byte
单帧:8,294,400 × 1.5 = 12.44 MB
30fps:12.44 × 30 = 373 MB/s

这只是一路摄像头。如果车上装了 11 路摄像头,再加上激光雷达点云、毫米波雷达数据,总带宽需求轻松超过 5 GB/s。

核心观点:芯片的 DDR 带宽是共享资源。NPU 推理、GPU 渲染、ISP 写入、CPU 读取,全都在争抢这条“高速公路”。选型时,我建议你重点关注两个指标:

  • DDR 带宽(单位 GB/s)—— 决定了数据搬运的上限
  • 片内 SRAM 大小 —— 决定了能否减少 DDR 访问

为什么会这样?因为 DDR 访问的功耗远高于片内 SRAM。你想想看,数据从片外 DDR 搬进来,一次访问可能要几十纳秒,功耗是 SRAM 的 10 倍以上。所以,减少 DDR 访问次数是优化功耗和性能的关键。

我的经验:选型时,如果芯片的 NPU 有 2MB 以上的片内 SRAM,那它就能把模型权重和中间特征图“装”在片内,推理时几乎不用访问 DDR。这种芯片的实际性能,往往比那些只靠 DDR 带宽的芯片强得多。

带宽瓶颈的典型场景

我曾经遇到一个项目,芯片标称 256GB/s 的 DDR 带宽,看起来挺够用。但实际跑起来,NPU 推理 + GPU 渲染 + ISP 写入同时进行时,带宽利用率飙到 95%,导致 CPU 读取数据时频繁等待,决策延迟从 50ms 涨到了 120ms。

后来怎么解决的?我们把 ISP 的输出分辨率从 4K 降到了 1080p,同时开启了 NPU 的片内 SRAM 缓存。带宽利用率降到了 70%,决策延迟回到了 60ms。嗯,这就是典型的“带宽瓶颈”问题。

避坑指南:我曾经选过一颗芯片,只看算力没看带宽。结果发现 NPU 和 GPU 共用一条 128-bit LPDDR4 通道,带宽只有 34GB/s。跑一个 8 路摄像头 + 激光雷达的融合方案,直接卡死。后来换了支持 LPDDR5 的芯片,带宽翻倍,问题才解决。

所以,我建议你选型时,先算带宽需求,再看算力。带宽不够,算力就是空中楼阁。

2.4 异构计算的设计理念:让专业的人做专业的事

异构计算的核心思想,说白了就是“把合适的任务分配给合适的计算单元”

  • CPU:跑操作系统、做任务调度、处理复杂逻辑分支。它不擅长大量重复计算。
  • GPU:做大规模并行计算,比如点云体素化、BEV 特征图生成。它功耗高,但通用性好。
  • NPU:专门跑神经网络。它功耗低、效率高,但只能跑固定算子。
  • DSP:做信号处理,比如 FFT、滤波。它比 CPU 快,比 GPU 省电。
  • ISP:处理图像 RAW 数据。它硬件流水线固定,延迟极低。
  • MCU:做实时控制和安全监控。它不跑 Linux,只跑裸机或 RTOS。

你想想看,如果让 CPU 去跑神经网络,那效率得多低?反过来,让 NPU 去处理中断响应,它也干不了。所以,异构计算就是“各司其职,各尽其能”

我个人习惯,在设计数据流时,会画一张类似上面的 SVG 图,标出每个单元的数据输入输出、带宽需求、延迟要求。然后问自己三个问题:

  1. 数据从哪里来?到哪里去?
  2. 哪个单元处理最合适?
  3. 带宽够不够?有没有瓶颈?

这三个问题想清楚了,芯片选型就成功了一半。


好了,这一章我们聊了芯片的六大核心单元、异构计算的设计理念,以及数据流与带宽瓶颈。下一章,我们会深入聊聊算力评估与实测方法——毕竟,纸上谈兵终觉浅,绝知此事要躬行。

公众号:蓝海资料掘金营,微信deep3321