CPU与GPU架构及工作原理
从晶体管分配、核心结构、缓存层次、执行模型、协同机制到应用场景,系统拆解CPU与GPU的本质区别与内在联系。
1. 定位与设计
CPU和GPU都是通用处理器,但诞生目标完全不同,这决定了它们在架构和工作原理上的根本区别:
- CPU = 延迟处理器(Latency Processor):用尽可能少的时钟周期完成单件复杂任务,擅长逻辑控制、分支跳转、串行计算;
- GPU = 吞吐处理器(Throughput Processor):用尽可能多的核心同时完成海量简单任务,擅长数据并行、矩阵运算、图形渲染。

这种差异最直观的体现就是芯片面积的晶体管分配。下面这张图是经典的 CPU vs GPU 晶体管用途对比:

本质洞察:CPU 与 GPU 的区别不是"快与慢",而是"低延迟 vs 高吞吐"。
- CPU用深流水线 + 大缓存 + 复杂控制把一件事的延迟压到最低;
- GPU用海量简单核心 + 高带宽显存把同时能处理的数据量推到最大。
两者是互补关系,而非替代关系。
2. 架构对比:核心结构差异
从微观到宏观,CPU 与 GPU 在核心、缓存、内存、控制单元、互联五个层面都有显著差异。
2.1 核心数量与复杂度
2.2 缓存层次

2.3 内存子系统
| 维度 | CPU | GPU |
|---|---|---|
| 主存类型 | 系统内存 DDR5 / LPDDR5 | 显存 GDDR7 / HBM3e |
| 带宽 | 50–80 GB/s(高端服务器 ~400 GB/s) | GDDR7 约 1.0–1.8 TB/s;HBM3e 达 3–8 TB/s |
| 容量 | 大(64GB–数 TB,易扩展) | 受限(消费级 8–32GB;数据中心 H100 80GB,B200 192GB) |
| 延迟 | 低(~100ns,优化后更低) | 较高(HBM 数百 ns),靠并行掩盖 |
| 寻址 | 统一虚拟地址,硬件页表 | 独立地址空间(异构),或统一内存(UMA) |
| 扩展性 | 插 DIMM 即可扩容 | 显存焊死在 PCB/封装上,不可扩展 |
关键区别:CPU的内存"大而慢",GPU的显存"小而快"。AI训练中,模型权重、激活值、梯度全部驻留显存——显存容量直接决定能训多大的模型,这也是 H100(80GB)→ B200(192GB) → B300(288GB)不断堆显存的根本原因。
2.4 控制单元与执行机制
2.5 互联与多芯片扩展
| 维度 | CPU | GPU |
|---|---|---|
| 片间互联 | UPI / Infinity Fabric / meshes | NVLink(900GB/s)/ NVSwitch / Infinity Fabric |
| 与主机互联 | 集成内存控制器直连 DRAM | PCIe 5.0(64GB/s)或 NVLink 桥接 |
| 多芯片扩展 | 多socket(2–8 路常见) | NVLink可连数百卡(NVL72 机架 = 72 GPU) |
| 内存一致性 | 硬件保证多核缓存一致性 | 需软件管理或 NVLink C2C 一致性 |
3. 工作原理对比:执行模型
架构差异最终落在执行模型上。CPU 采用 SISD/MIMD,GPU 采用 SIMT——这是理解两者性能取向的关键。
CPU 让每个核干不同的活(MIMD);GPU 让所有线程干同一件活、处理不同数据(SIMT)。
3.1 四种并行模型对照
| 模型 | 含义 | 典型处理器 | 举例 |
|---|---|---|---|
| SISD | 单指令流单数据流 | 早期单核 CPU | 一次处理一个数据 |
| SIMD | 单指令流多数据流 | CPU 的 AVX-512 / GPU vector | 一条指令同时算 8/16 个数据 |
| MIMD | 多指令流多数据流 | 多核 CPU | 每个核跑不同程序 |
| SIMT | 单指令流多线程 | GPU(NVIDIA 独创) | 一条指令让 32 个线程并行执行 |
SIMT 是 SIMD 的演进:SIMD由编译器显式打包数据,程序员难感知;SIMT让每个线程看起来独立(有自己的PC、寄存器),硬件把同一时刻执行相同指令的线程自动打包成 warp 一起运行,既保留了 SIMD的效率,又降低了编程复杂度。这正是 CUDA 编程模型的基础。
3.2 延迟掩盖策略对比

4. 联系:异构协同工作机制
CPU与GPU不是对立的,而是互补的搭档。现代计算机是"CPU调度指挥 + GPU算力输出"的异构系统。这就是为什么你的电脑既有CPU又有GPU。

4.1 协同的三个关键机制
- 编程模型:CUDA / OpenCL / SYCL。程序员编写一段“内核函数”(kernel),由 CPU 发起执行指令,GPU 将其映射到成千上万个线程上并行执行。CUDA 显著降低了 GPU 编程的门槛——开发者只需编写类似普通 C 语言的函数,硬件便能自动实现极致的并行计算。
- 统一内存(Unified Memory):CPU 与 GPU 共享同一虚拟地址空间,运行时系统自动在系统内存与显存之间迁移数据页。这种方式简化了编程模型,但性能通常不如手动管理。像 Grace Hopper 这类“CPU+GPU 超级芯片”更是通过 NVLink-C2C 实现了硬件级内存一致性,延迟可降至个位数微秒级。
- 互联带宽决定扩展上限:当单张显卡的显存无法容纳大型模型时,需要将模型切分到多张显卡上——此时卡间数据交换通过 NVLink(900 GB/s)而非 PCIe(64 GB/s)进行,这直接决定了大规模模型训练的集群扩展能力。NVL72 机架将 72 块 GPU 通过 NVSwitch 实现全互联,形成一个“虚拟超大 GPU”。
性能特征全景对比
| 维度 | CPU | GPU |
|---|---|---|
| 设计目标 | 最小化单线程延迟 | 最大化数据并行吞吐 |
| 核心数 | 4–192 核 | 数千至上万核心 |
| 单核复杂度 | 高(乱序/推测/深流水) | 低(顺序/简单) |
| 主频 | 3–5+ GHz | 1.5–2.5 GHz |
| 执行模型 | MIMD(每核独立指令流) | SIMT(warp 同步执行) |
| 缓存 | 深(3–4 级),单核容量大 | 浅(2–3 级),单核容量小 |
| 寄存器 | 每核少量(几十个) | 每 SM 海量(64K–256K) |
| 延迟掩盖 | 大缓存 + 乱序 + 预取 | 海量线程 + 零开销切换 |
| 内存带宽 | 50–400 GB/s | 1–8 TB/s |
| 内存容量 | 大(GB–TB,可扩展) | 受限(8–288GB,焊死) |
| 晶体管分配 | 控制+缓存 ~50–60% | 计算单元 ~80%+ |
| 分支处理 | 强(硬件预测准确率高) | 弱(分支发散致性能下降) |
| 浮点峰值 | 低(单核数百 GFLOPS) | 极高(单卡数十 TFLOPS–PFLOPS) |
| 能效(FLOPS/W) | 低 | 高(并行摊薄功耗) |
| 编程复杂度 | 低(顺序编程,自动优化) | 高(需手动管理并行/显存) |
| 互联扩展 | 多 socket(2–8 路) | NVLink(数十至数百卡) |
6. 应用场景对比

判断准则:如果你的任务是"对大量数据做相同/相似的计算"(数据并行)用 GPU;如果是"一系列相互依赖、充满分支的逻辑"(控制流密集)用 CPU。AI 训练里前向/反向传播是海量矩阵乘 → GPU;数据预处理、采样、梯度同步协调 → CPU。
7. 发展趋势:边界正在模糊
近年来 CPU 与 GPU 的设计理念开始互相借鉴、边界模糊:
- CPU 借鉴 GPU:x86 加入 AVX-512 向量扩展、AMX 矩阵扩展;ARM SVE 向量化;苹果 M 系列把 GPU 与 CPU 封装进同一 SoC共享统一内存——CPU 也在获得"并行吞吐"能力。
- GPU 借鉴 CPU:GPU 增加 L2 缓存容量(Hopper 50MB、Blackwell 更大),提升对不规则访存的容忍;引入硬件级内存一致性(NVLink C2C);AMD CDNA 架构强化缓存层级。GPU 也在获得"低延迟"能力。
- 融合形态:APU / 超级芯片,苹果 M 系列、AMD Ryzen AI、Intel Meteor Lake 把 CPU+GPU+NPU 封装进同一芯片共享统一内存池,数据零拷贝——传统"CPU 主机 + GPU 设备"的搬运开销被消除。
- 专用加速器崛起:NPU/TPU/推理 ASIC 针对特定算子极致优化,CPU 与 GPU 之外出现第三极。
未来判断:CPU、GPU、专用加速器将长期共存于异构系统中。CPU 做控制与串行,GPU 做通用并行,ASIC 做极致专用。三者的分工不是谁替代谁,而是各司其职、协同加速。理解"延迟 vs 吞吐"这个根本分别,是把握所有处理器演进逻辑的钥匙。
人们永远没有足够的时间把它做好,但永远有足够的时间重新来过。 可是,因为并不是总有机会重做一遍,你必须做得更好,换句话说, 人们永远没有足够的时间去考虑到底是不是想要它,但永远有足够的时间去为之后悔。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 浅掘千口井,不如深挖一口井!当知识支撑不了野心时,那就静下心来学习吧!运维技术交流QQ群:618354452
个人微信公众号,定期发布技术文章和运维感悟。欢迎大家关注交流。



CPU 让每个核干不同的活(MIMD);GPU 让所有线程干同一件活、处理不同数据(SIMT)。
浙公网安备 33010602011771号