PCIe(Peripheral Component Interconnect Express)是早期PCI总线的升级版。PCI 由英特尔开发并于 1992 年推出。它取代了早期 PC 上以特殊方式使用的旧的慢速总线。PCI 主要是 32 位总线,但它也支持 64 位。最重要的一点是它是一个并行总线。目前PCI只有历史意义,不再使用,这里不再赘述。
2004 年,一群英特尔工程师成立了 Arapaho 工作组并开始制定新标准。后来,其他公司也逐渐加入了这个小组。在最终确定为 PCI Express(PCIe) 之前,该标准曾多次重命名。PCIe 在某些方面是 PCI 的继承者,但在其他方面则是完全不同的类型。特别是,PCIe 是一种串行总线,与 PCI 较旧的并行接口(以及当时几乎所有其他总线)相比,它更像是一个板载网络。
早期标准PCIe 1.0a的数据速率为每通道250MB/秒,总速率为2.5GT/秒(千兆/秒)。与其他串行总线一样,性能通常以每秒传输数来衡量,因此不会将额外的位计为“数据”。PCIe 1.0a 使用了 8b / 10b 编码方案,因此只有 80% 的传输位是实际的“数据”。附加位有两个主要功能。首先,串行接口确保始终有足够的时钟转换来恢复时钟。它保证没有净直流电流。
之后,对标准进行了定期升级,传输速度得到了提高。由于 PCIe 主要用于基于 Intel 处理器的 PC 和服务器的,实际上新标准在 Intel 发布使用 PCIe 的处理器后生效。标准演进的总体思路是选择当时主流工艺节点所能达到的传输速率。然而,PCIe 应用非常普遍,以至于它们被用于大多数需要高性能外设总线的设计中,而不管底层架构如何。例如,Arm 服务器基础系统架构规范中指定了 PCIe规范。
2007 年推出的 PCIe 2.0 将传输速率提高了一倍,但使用相同的编码方法。
2010 年推出的 PCIe 3.0 已更改为更高效的 128b / 130b 编码方案,并添加了已知的二进制多项式加扰功能以平衡了0和1的时钟恢复,没有直流偏置。此外,传输速度也有明显提升。16 通道 PCIe 3.0 接口的最大传输速率为 15.7 GB/秒。但是,在实践中,如果您的设计需要这样的带宽,升级到 PCIe 4.0 会更容易。今天,PCIe 3.0 是移动设备中部署最广泛的 PCIe 版本。例如,Google TPU 版本 3 使用 PCIe 3.0,而当前的 USB4 标准是基于 PCIe 3.0。这听起来可能有点令人震惊,但 PCIe 被批准为标准后,花了将近十年的时间才成为主流。这有点像信用卡问题:商店不愿意接受繁琐的信用卡付款,直到许多人拥有信用卡,人们才不愿意接受信用卡付款。
PCIe 4.0 保持相同的 128b / 130b 编码,但传输速率再次翻倍至 16GT/s。PCIe 的另一个重要方面是其他协议建立在基本传输机制和 PHY 之上。PCIe 4.0 是当前设计的主流。Intel的Tiger Lake移动处理器和AMD的Zen 2 CPU系列一样,支持PCIe 4.0。这使它对所有类型的外围芯片都具有吸引力,例如 SSD 控制器和网络,而连锁效应使其对其他非 x86 系统具有吸引力。
PCIe 5.0 设计工作已经开始,性能达到 32 GT/s(标准于 2019 年 5 月批准)。此外,具有 64GT/s 性能(最终标准尚未批准)的 PCIe 6.0 使用 PAM4 信令。它提供 4 个电压电平,因此每个时钟周期为 2 位。
PCIe 版本 4.0、5.0 和 6.0
随着越来越多的系统升级和更多的产品上市,PCIe 5.0的应用正在加速发展。也就是说,PCIe 3.0 和 4.0 仍然是最成熟的 PCIe 接口,并作为各种 I/O 用例的主要互连形式广泛部署在许多应用程序中。如上所述,PCIe 6.0 正在等待并且已经得到了很多关注。
显然,每一代 PCIe 的性能都会更好,但这不仅仅是数据表中的数字,它还可以实现更强大的应用程序。
- 对于以太网,PCIe 4.0 可用于 100G 和 200G。PCIe 5.0 使用当前可用的高达 400G。而在未来,PCIe 6.0将把它提升到800G。
- 对于固态硬盘 (SSD),PCIe 4.0 可实现高达约 7000MB/s 的传输速率。PCIe 5.0 提供高达约 14GB/秒的速度,PCIe 6.0 提供高达 28GB/秒的速度。
- 人工智能(AI)和机器学习(ML)需要发送大量数据,PCIe接口成为瓶颈。这适用于几乎所有应用,例如自动驾驶、医学成像、基因组测序和数据挖掘。无论是在 CPU、GPU、FPGA 还是 Google 的 TPU 等 ASIC/SoC 中实现训练/推理,瓶颈都是 PCIe。
- 存储级内存需要高 PCIe 5.0 和 PCIe 6.0 性能。
- 在汽车领域,ADAS(高级驾驶辅助系统)今天使用 PCIe 4.0,但未来的自动驾驶将需要更高的性能来处理所有摄像头、雷达和激光雷达。
- AWS、微软Azure、谷歌云等公司用于云计算的超大规模数据中心,特别是连接主CPU(Intel、AMD或Arm)和加速器(例如NVIDIA GPU和Xilinx/Intel FPGA)。充分利用所有可用带宽来实现这一目标。