2. EyeQ芯片硬件架构解析

EyeQ系列芯片是Mobileye面向高级驾驶辅助与自动驾驶打造的系统级芯片(SoC)。它的核心设计思想不是把CPU做得更快,而是承认一个事实:智能驾驶的感知任务里,绝大部分算力消耗在规则明确、数据密集的卷积与图像预处理上,只有少量逻辑判断、状态管理和控制流需要通用处理器。因此EyeQ从第一代起就采用异构计算路线,把不同性质的负载分派给最擅长的单元,再用片上网络和存储层次把它们粘合成一个整体。

理解EyeQ架构,最有效的方式是把它看成一个"分工明确的小型工厂":CPU是调度与决策的管理者,GPU负责图形与部分并行计算,DSP处理信号与后处理,而VMP、MPC这类专用视觉加速器则是流水线上效率最高的专用工位。下面这张图给出EyeQ典型SoC的内部结构关系,包括各计算单元、片上存储层次与总线互连。

EyeQ SoC 异构计算单元与片上互连结构 摄像头 / 雷达 MIPI CSI-2 输入 图像输入接口 ISP / 去马赛克 片上互连总线 / NoC(AXI 主从 + 数据搬运) CPU 集群 MIPS / ARM 多核 调度·决策·控制流 GPU 图形 / 并行计算 点云·可视化·通用并行 DSP 信号处理·后处理 滤波·特征·跟踪 VMP 向量微码处理器 可编程卷积·池化·激活 CNN 主干算力核心 微码调度·高能效 MPC 多线程处理集群 多核 RISC 阵列 像素级并行·光流·深度 可编程数据流处理 片上存储层次 L1 紧耦合 SRAM(各单元私有) → L2 共享 SRAM → 外部 LPDDR / DDR DMA 搬运·双缓冲·带宽与延迟权衡 感知输出 目标框·车道线 可行驶区域 CAN / 以太网 功耗管理 DVFS 调频调压 时钟门控 电源域隔离

CPU:调度者而非算力主力

EyeQ的CPU通常采用MIPS或ARM架构的多核集群,主频并不追求极致,单核性能也远不及同期的手机SoC。它的职责是运行操作系统、管理任务调度、执行感知结果的融合与决策逻辑、处理车辆网络通信。换句话说,CPU负责"想清楚要做什么",而不是"把每个像素算完"。在典型配置中,CPU占用率应保持在合理余量内,一旦CPU成为瓶颈,往往说明有本应交给加速器的任务被错误地放在了通用核上。

GPU与DSP:通用并行与信号处理

GPU在EyeQ中承担图形渲染、可视化以及部分规则较灵活的并行计算任务,例如点云处理中的部分操作。DSP则更偏向信号处理与后处理,如滤波、特征提取、目标跟踪中的数值运算。两者都不是CNN主干的主力,但在整个感知流水线中起到衔接和补充作用。实际开发中需要明确:把卷积主干放到VMP上,把后处理放到DSP上,把可视化放到GPU上,是效率最高的分工方式。

VMP与MPC:专用视觉加速器

VMP(Vector Microcode Processor)是EyeQ最具代表性的专用加速器。它本质上是一个可编程的向量处理器,通过微码调度大量并行的乘加单元,专门高效执行卷积、池化、激活等CNN核心操作。它的能效比远高于通用CPU或GPU,因为硬件结构就是为这类规则计算定制的。MPC(Multi-threaded Processing Cluster)则是一个多核RISC阵列,擅长像素级并行处理,例如光流计算、深度估计、稠密像素操作。两者配合,构成了EyeQ感知算力的主体。

理解VMP与MPC的分工,可以记住一句话:VMP做"卷积主干",MPC做"像素级密集运算",CPU做"决策与调度",GPU/DSP做"补充与后处理"。

片上存储层次与总线结构

异构计算最大的挑战不是算力,而是数据搬运。EyeQ采用多级存储层次:每个计算单元拥有私有的L1紧耦合SRAM,用于存放当前正在处理的局部数据;多个单元共享L2 SRAM,用于中间特征图与跨单元数据交换;再往外是外部LPDDR/DDR,容量大但带宽和延迟代价高。总线方面,EyeQ使用片上互连网络(NoC)或AXI主从结构,把各计算单元、存储控制器和输入接口连接起来。DMA引擎负责在存储层次之间搬运数据,双缓冲机制让计算与搬运重叠,从而隐藏延迟。

一个常见的性能陷阱是:算法在VMP上算得很快,但整体帧率上不去,原因往往是特征图在L2与外部DDR之间反复搬运,带宽成为瓶颈。因此,优化时不仅要看算力,还要看数据局部性——尽量让数据在L1和L2内完成复用,减少对外部存储的访问。

功耗管理机制

车载芯片对功耗和散热有严格约束,EyeQ的功耗管理通常包含三个层次:DVFS(动态电压频率调节)根据负载实时调整电压与频率;时钟门控在单元空闲时关闭时钟,降低动态功耗;电源域隔离则在不使用某些模块时将其断电,降低静态功耗。实际开发中,如果感知任务有明显的间歇性,合理利用这些机制可以显著降低平均功耗,但要注意唤醒延迟对实时性的影响。

计算单元典型职责适合的负载优化关注点
CPU调度、决策、通信控制流、融合逻辑避免占用过高,防止成为瓶颈
GPU图形、通用并行可视化、点云部分操作与感知主流水线解耦
DSP信号处理、后处理滤波、跟踪、数值运算与VMP/MPC的数据交接
VMPCNN主干加速卷积、池化、激活微码调度效率、数据复用
MPC像素级并行光流、深度、稠密操作多核负载均衡

把上述单元、存储和总线放在一起看,EyeQ的架构逻辑就清晰了:它不是一颗"全能"芯片,而是一套经过精心分工的计算系统。开发者的核心任务,是让每一类负载落到最合适的单元上,并让数据在存储层次中尽可能少走冤枉路。做到这两点,EyeQ的能效优势才能真正发挥出来。