主板与总线 —— PCIe / UPI / DMI / SATA / SAS / SPI

上一篇的拓扑图里有一堆缩写:UPI、PCIe、DMI、SATA、SAS、SPI……它们都是总线——主板上跑数据的”道路”。这一篇把这些道路逐条讲清楚。

总线在哪里

graph LR
  CPU0[CPU 0] <-- UPI/IF --> CPU1[CPU 1]
  CPU0 -- 内存通道 --> MEM0[(DRAM)]
  CPU0 == PCIe ==> GPU
  CPU0 == PCIe ==> NIC[网卡]
  CPU0 == PCIe ==> NVMe
  CPU0 -- DMI --> PCH
  PCH -- SATA --> HDD/SSD
  PCH -- USB --> USB设备
  PCH -- SPI --> BIOS/BMC
  PCH -- LPC/eSPI --> 慢速IO

每条总线的角色不同:

总线 连接 角色
内存总线 CPU ↔ DRAM 最高速,带宽决定单核性能
UPI / Infinity Fabric CPU ↔ CPU 多路服务器的”骨干网”
PCIe CPU ↔ 高速外设 GPU/网卡/NVMe SSD 全靠它
DMI CPU ↔ PCH 把南桥挂到 CPU 上的内部链路
SATA / SAS PCH/HBA ↔ 盘 传统硬盘接口
USB PCH ↔ USB 设备 调试、键鼠、临时存储
SPI / eSPI / LPC PCH ↔ BIOS/BMC/TPM 启动代码与管理芯片走的慢总线

PCIe —— 服务器最重要的一条总线

为什么 PCIe 这么关键

桌面 PC 时代 PCIe 主要插显卡。在服务器里,几乎所有”决定性能的设备”都挂在 PCIe 上

  • GPU / AI 加速卡
  • 100/200/400/800G 网卡 / DPU
  • NVMe SSD
  • RAID 卡
  • 视频编码卡、FPGA

所以”这台服务器有几条 PCIe 通道、什么速率、什么版本”是规格书里第一个要看的指标。

通道(lane)和速率

PCIe 是点对点串行差分链路,最小单位是一条 lane。多条 lane 可以聚合成 x2 / x4 / x8 / x16,带宽线性叠加:

版本 单 lane 速率 单 lane 带宽(双向) x16 带宽(双向) 量产年份
PCIe 1.0 2.5 GT/s 250 MB/s 4 GB/s 2003
PCIe 2.0 5 GT/s 500 MB/s 8 GB/s 2007
PCIe 3.0 8 GT/s 1 GB/s 16 GB/s 2010
PCIe 4.0 16 GT/s 2 GB/s 32 GB/s 2017
PCIe 5.0 32 GT/s 4 GB/s 64 GB/s 2019
PCIe 6.0 64 GT/s(PAM4) 8 GB/s 128 GB/s 2022 规范,2025+ 量产
PCIe 7.0 128 GT/s 16 GB/s 256 GB/s 2025 规范,2028+ 量产

注:上表是”双向理论带宽”。”单向”为一半。习惯上,PCIe 4.0 x16 大家既会说 32 GB/s(双向),也会说 64 GB/s(双向带 overhead),数据手册要看清楚标注。

几个关键节点:

  • PCIe 4.0 在 AMD EPYC Rome(2019)首发,让 NVMe SSD 性能突破单盘 7GB/s
  • PCIe 5.0 是当前(2026)服务器主流,AI 服务器、高速网卡的标配
  • PCIe 6.0 改用 PAM4 调制 + FLIT 模式,是 800G 网卡和下一代 GPU 的接口标准
  • PCIe 7.0 规范已发布,瞄准 1.6T 网络和 2030 年前后的 AI 集群

物理插槽

1
2
3
4
插槽长度:x1  ────
x4 ──────────
x8 ────────────────
x16 ──────────────────────────

但物理插槽长度 ≠ 电气通道数。你常见到的描述:

  • “x16 物理槽,电气 x8” —— 物理插得下 x16 卡,但只有 8 条 lane 实际连通

这在中端服务器上很常见,是为了用一颗 CPU 的有限通道支持更多设备。

为什么”PCIe 通道数”是服务器规格的硬指标

一颗 Intel Xeon 6 / AMD EPYC 9005 CPU 提供大约 80–128 条 PCIe lane。当你要:

  • 插 8 张 H100 GPU(每张 x16)= 128 lanes
  • 插 8 张 NVMe SSD(每盘 x4)= 32 lanes
  • 插 2 张 400G 网卡(每张 x16)= 32 lanes

通道总和远超单 CPU 能提供的量——这就是为什么 AI 服务器要双路 CPU + PCIe Switch(如 Broadcom PEX)扩展 lane。

CPU 之间的总线:UPI / Infinity Fabric

多路服务器里,两颗(或更多)CPU 之间通过专用高速总线互联。

Intel UPI

UPI(Ultra Path Interconnect)是 Intel 的 CPU 互联总线,2017 年的 Skylake-SP 起替代了上一代 QPI(QuickPath Interconnect)。

平台 UPI 速率 链路数(双路)
Skylake-SP / Cascade Lake 10.4 GT/s 2–3
Ice Lake 11.2 GT/s 2–3
Sapphire Rapids / Emerald Rapids 16 GT/s(UPI 2.0) 4
Granite Rapids / Sierra Forest 24 GT/s(UPI 2.0+) 4

UPI 链路越多,CPU 间通信带宽越高、NUMA 远程访问越快。

AMD Infinity Fabric

AMD 的对应技术叫 Infinity Fabric(IF)。它的特殊之处是片内片间统一:单颗 EPYC 内部 chiplet 之间靠 IF 互联,多颗 EPYC 之间靠 IF 互联,规则一致。

待补充:补一份具体代次的 Infinity Fabric 链路数与速率(Genoa / Bergamo / Turin)。

DMI —— CPU 到 PCH 的内部链路

PCH(Platform Controller Hub)是主板上挂在 CPU 旁边的”南桥”芯片,处理 SATA、USB、BMC 接口、低速 I/O 等。CPU 和 PCH 之间走 DMI(Direct Media Interface)

  • 物理上是几条 PCIe lane,协议层略有差异
  • 当代主流是 DMI 4.0 x8(≈ PCIe 4.0 x8 带宽)
  • AMD 平台没有 DMI 这个名字,相同位置的角色由内部 IF 链路承担

DMI 是个潜在瓶颈:所有 PCH 下游设备(包括 BMC、USB、板载网口、有些 SATA 盘)共享这条带宽。在普通 PC 上无所谓,在服务器里如果 PCH 后接了大量 SATA SSD,就要核算 DMI 是否够用。

存储总线:SATA / SAS

SATA

  • 消费级和企业级通用,主流 SATA 3.0 = 6 Gb/s(约 550 MB/s 实际)
  • 已是”性能洼地”,仅用于大容量低成本场景(备份盘、HDD 阵列)
  • 没有命令队列深度优势,单盘 IOPS 远低于 NVMe

SAS

  • 企业级专用,从 SCSI 协议演进而来
  • 速率:SAS 3.0 = 12 Gb/s,SAS 4.0 = 24 Gb/s
  • 支持双端口、SAS Expander 扩展(一颗 RAID/HBA 卡接百盘以上)
  • 目前主要用在大容量 HDD 阵列、磁带库、SAS SSD(在被 NVMe 蚕食)

NVMe(不是总线)

NVMe 本身是协议,承载在 PCIe 总线上。所以严格地说”NVMe vs SATA/SAS” = “PCIe + NVMe vs SATA/SAS”。性能优势:

  • 直接走 CPU 的 PCIe 通道,不过 PCH,延迟低
  • 64K 队列,每队列 64K 命令深度(SATA AHCI 仅 1×32)
  • 协议本身为闪存设计,无机械寻道历史包袱

存储部分第 4 章详谈。

慢速但关键:SPI / eSPI / LPC

主板上有一些”慢但必要”的连接,承担的是启动和管理:

总线 速率 接的设备
SPI 几十 MHz BIOS/UEFI Flash、BMC Flash、TPM
eSPI 几十–几百 MHz 替代 LPC,连接 SuperIO、TPM 2.0、嵌入式控制器
LPC 33 MHz 老平台连接 SuperIO、BIOS Flash、TPM 1.2
I²C / SMBus < 1 MHz 板上传感器(温度、电压)、风扇控制

服务器开机的最早期阶段,CPU 是从 SPI 上的 BIOS Flash 读取启动代码。BMC 也用 SPI 挂自己的固件 Flash。这些总线慢,但是”信任根”和”启动链”都建立在它们之上——第 8 章可信计算会讲到。

一张速查表

graph LR
  subgraph 高速["高速总线(性能)"]
    A1[内存总线
>100 GB/s] A2[PCIe 5.0 x16
64 GB/s] A3[UPI 2.0
16-24 GT/s] end subgraph 中速["中速总线"] B1[SAS 4.0
24 Gb/s] B2[SATA 3.0
6 Gb/s] B3[USB 3.x
5-20 Gb/s] end subgraph 慢速["慢速总线(管理)"] C1[SPI
几十 MHz] C2[I²C
<1 MHz] end

小结

  • 服务器主板上有十几种总线,但真正决定性能上限的是内存总线、PCIe 和 UPI/IF
  • PCIe 通道数和版本是规格书第一指标
  • 慢速总线(SPI/I²C)虽然不直接影响性能,却是开机和管理的”神经”
  • 下一篇我们换个视角,看服务器的外形和分类