PCIe概述:从历史中看演进

做硬件这么多年,我越来越觉得:搞懂PCIe,就像拿到了高速互连的钥匙。你今天用的SSD、GPU、AI加速卡,甚至是手机里的存储,背后都有它的影子。这一章,咱们先不急着钻技术细节,而是站在高处看看——PCIe到底怎么来的?它都经历了什么?现在又能干哪些事?

为什么我要先讲历史?

说实话,我刚入行时也没觉得历史有多重要。直到有一次,客户要求在一块老主板上跑PCIe Gen4设备,结果死活协商不到高速——后来才发现是主板只支持Gen3的链路。嗯,从那以后我养成了习惯:先看版本兼容性,再看具体设计。你想想,PCIe已经迭代了六代,每次更新不只是加速率那么简单,背后的协议、编码、物理层都有大改动。不了解演进,就很容易在设计中踩坑。

PCIe的娘家与出生记

PCIe的前身是PCI和PCI-X,属于并行总线。那个年代,并行信号还能凑合,但频率一高,同步时钟、信号歪斜的问题就开始让人头疼。我见过老早的PCI插槽,32位数据线宽,跑133MHz就已经是极限了。后来Intel牵头搞了3GIO,再后来变成了PCIe 1.0——一条串行、点对点的差分链路,低电压摆幅,每个方向独立一组差分对。说白了,就是从“一帮人挤在一辆大巴上”变成了“每两个人开一辆跑车”。

2003年PCIe 1.0正式发布,单通道速率2.5 GT/s,8b/10b编码,实际有效带宽约2 Gbps per lane。现在看确实慢,但在当时可是革命性的。

演进路线:每一代都在做什么?

我个人习惯把PCIe的演进分成三个阶段:

  • Gen1~Gen2:串行替代并行,解决信号完整性核心问题。
  • Gen3~Gen4:编码优化(128b/130b),速率大幅提升,但Si挑战剧增。
  • Gen5~Gen6:速率进入32 GT/s甚至64 GT/s,引入了PAM4调制和FEC前向纠错。

下面这张表可以帮你快速对比几代关键参数:

代际 发布年份 单通道速率 编码方式 有效带宽(x1, 单向) 我的一点记忆
PCIe 1.0 2003 2.5 GT/s 8b/10b ~250 MB/s 那时我刚毕业,还在画并口
PCIe 2.0 2007 5.0 GT/s 8b/10b ~500 MB/s 终于能跑千兆以太网了
PCIe 3.0 2010 8.0 GT/s 128b/130b ~1 GB/s 第一次用到8 GT/s,SI问题吓死人
PCIe 4.0 2017 16.0 GT/s 128b/130b ~2 GB/s 我踩过Gen4的坑,后面分享
PCIe 5.0 2019 32.0 GT/s 128b/130b ~4 GB/s AI加速器的首选
PCIe 6.0 2022(发布) 64.0 GT/s PAM4 + 1b/1b(FEC) ~8 GB/s 模拟难度又上了一个台阶
一个小经验:很多人以为Gen3到Gen4只是翻倍了速率,其实更麻烦的是信号损耗——频率越高,板材的介电损耗、过孔残桩的影响越明显。我参与过一个项目,Gen4链路跑了不到15cm就眼图关闭了,后来换了超低损耗板材才搞定。

应用场景:PCIe无处不在

你可能会说,PCIe不就是插显卡和固态硬盘的吗?其实远远不止。我罗列一下我个人在项目里见过的典型场景:

  • 存储:NVMe SSD必须走PCIe,Gen4 x4就能打到7.5 GB/s的顺序读写。我做消费级SSD方案时,Gen4链路训练兼容性是个大麻烦——有的主板就不认。
  • GPU与图形:这是最经典的应用。今天的高端显卡至少需要x16 Gen4/Gen5。我曾经遇到GPU因为PCIe链路协商失败导致降速到Gen3,性能掉了30%。
  • 网络与数据中心:SmartNIC、DPU走PCIe连接CPU,带宽几十GB/s起。
  • AI加速器:比如英伟达的A100、H100,内部用PCIe 5.0甚至6.0互联。我去年帮一个AI公司调H100的PCIe链路,发现TX均衡参数没设对,导致丢包。
  • 嵌入式与工业:FPGA通过PCIe连接高速ADC或存储。记得有一次,工控机的PCIe插槽信号质量太差,我们不得不在驱动层降级Gen2。

你看,从手机里的UFS转接PCIe,到服务器里上百条PCIe lane交换,它的覆盖范围大得惊人。所以我认为,搞高速互连的工程师最值得投入的领域就是PCIe。

一张图看懂PCIe演进脉络

下面这张SVG图浓缩了从并行总线到PCIe 6.0的演进路径,以及每一代的标志性技术。你在脑子里可以有一条清晰的时间线:

PCIe演进路线图 PCIe 演进路线图 PCI / PCI-X 并行总线,133 MHz PCIe Gen1 2.5 GT/s · 8b/10b PCIe Gen2 5.0 GT/s · 8b/10b PCIe Gen3 8.0 GT/s · 128b/130b PCIe Gen4 16.0 GT/s · 128b/130b PCIe Gen5 32.0 GT/s · 128b/130b PCIe Gen6 64.0 GT/s · PAM4 + FEC 技术里程碑 • Gen1→Gen2:速率先翻倍 • Gen3:编码效率大提升 (2%开销) • Gen6:PAM4调制,模拟难度飙升

从这张图你能看出,PCIe的发展就是一场“速率 × 编码效率 × 信号完整性”的三重博弈。每代都在极限的边缘试探——我做过Gen4的信号仿真,16 GT/s时眼图就已经像眯着眼看了;到了Gen6的64 GT/s,不加FEC根本没法跑。所以,后面的课程里我们会重点讲链路训练、均衡和协议流控,这些才是应对高速挑战的真正武器。

注意:虽然PCIe 6.0已经发布了规范的正式版,但市面上大部分设备还停留在Gen4/Gen5。如果你现在选型,别盲目追新——高速链路对布局布线、连接器、PCB板材的要求非常高,我有朋友硬上Gen6,结果信号质量太差,不得不降速跑Gen5。工程上,稳定首先。

小结一下

PCIe从并行总线演进到串行高速互连,已经成了电子系统中不可或缺的骨架。它的每一代都在挑战物理极限,也推动了存储、计算、网络领域的爆发。我个人觉得,理解它的历史演变,能帮你更清晰地看透链路训练、信号完整性的本质——而不是死记硬背那些参数。