棋子 · 2023年08月04日

PCI Express 20 年:总线的过去、现在和未来

在 PCI Express 20 周年即将到来之际,让我们回顾一下扩展插槽的发展历程。

PCI Express(PCIe)总线诞生的年代,个人电脑中的扩展插槽数量与 CPU 时钟速度或系统 RAM 数量同等重要。从那时起,PCIe 总线就从一组用于插入扩展卡的插槽发展成为一种高速互连拓扑结构。

image.png
image.png
最新的 SSD(固态硬盘)接口是 PCIe 4.0 四通道接口,采用 M.2 外形。

PCIe 总线的起源:IBM 和 5150 PC

PCIe 总线起源于 1981 年推出的 IBM 5150 型 PC。5150 之前的个人电脑(如 Apple II)采用开放式标准总线,或为第三方扩展板发布总线规格。在这种竞争压力下,IBM 不得不开放 5150 总线并公布其规格。

在IBM的支持下,整个行业都是围绕为IBM PC总线设计和提供扩展卡而建立的。IBM 的第二款 PC 机型 PC/AT 将总线数据宽度从 8 位提高到 16 位,并保持了开放式架构。许多公司在其 PC 的克隆产品(称为 PC 兼容机)中使用了总线。总线在扩展板和 PC 克隆机行业的广泛应用,促成了总线的行业标准架构 (ISA)。这对消费者和克隆 PC 制造商来说是件好事,但却夺走了 IBM 的控制权和许可收入。

IBM 试图重新获得标准控制权

20 世纪 80 年代末,新型处理器和更快的速度使 ISA 总线逐渐过时。IBM 推出了新的专有微通道(Micro Channel)总线,试图解决 ISA 总线的缺陷。该公司保留了微通道的专利权,以便从出售给 PC 兼容机制造商的许可费中获利。然而,个人电脑行业转而采用英特尔公司的 32 位外设组件互连(PCI)总线,该总线由 PCI 特别兴趣组(PCI-SIG)维护。

image.png
80486 年最先进的 PC 兼容 i1995 主板,支持 ISA(前景中的四个黑色插槽)和 PCI(中间三个白色插槽)。拍摄:Duane Benson

虽然 PCI 总线与微通道一样速度更快,但它是一个开放的全行业标准。PCI 首创了一种无需附加卡即可将主板内置外设连接到总线的架构。在以前的 ISA 架构中,主板内置的外设通常需要定制的非标准接口电路。PCI 总线提供了一个板载外设接口,在电气上等同于将电路板插入插槽,使板载集成和软件支持更加容易。

PCI 总线(仍然)不足

虽然 PCI 总线的性能比 ISA 总线高,但它也继承了 ISA 拓扑结构的许多缺点。与 ISA 一样,PCI 总线采用共享并行数据总线架构。虽然 PCI 在速度潜力和信号完整性方面有了很大的提高,但它仍然要求每个外设共享资源,并就单独访问总线进行协商。

图形加速卡制造商比其他接口卡制造商更早地遇到了这些限制,这促使了加速图形端口(AGP)的开发。AGP 是 PCI 的超集,它不再共享总线,而是在 AGP 卡插槽和主板芯片组之间提供直接路径。

image.png
PCIe 中 PCI 共享总线与串行点对点拓扑结构的对比

在旧的 PCI 和 ISA 总线主控拓扑结构中,一次只能有一个外设访问总线。每个外设都会根据需要协商主控状态,等到可以获得控制权时再采取行动。即使有直接内存访问(DMA),也几乎无法并行操作。这些老式拓扑结构满足了 20 世纪 80 年代慢速应用的需要,但远远不能满足游戏、高速网络或新千年出现的复杂图形界面的需要。

为什么说 PCIe 是一大进步

PCIe 不仅仅是一个物理插槽标准。总线的主力是拓扑结构。PCIe 用于连接内置外设、笔记本电脑和迷你 PC 的附加卡以及固态硬盘存储。Mini PCIe 使用相同的拓扑结构、编码和规格,在电气上与普通 PCIe 兼容。现在常见的 M.2 SSD 接口也使用 PCIe 拓扑。

PCIe 的串行数据路径使用单向差分线对,以提高信号完整性。虽然这些线对需要匹配长度以进行纠偏,但每对线对中的两条迹线要比 8、16 或 32 条迹线容易处理得多。

image.png
差分信号走线的去偏斜技术。图片由英特尔提供

高速并行总线也可能受到串扰的影响,串扰是从一条走线到另一条走线的信号泄漏。这会导致数据损坏并限制带宽。差分配对信号可消除大多数串扰,并提供更清晰的信号。

PCIe 差分对的优势

PCIe 的单向差分对由四条线迹组成,每个方向都有一个差分对。每组四个连接称为一个通道,PCIe 插槽可支持 1 到 16 个通道。用于连接两个 PCIe 设备的通道组称为互连或链路。现代图形加速器通常使用 16 通道插槽,有些需要两个插槽和额外的电源连接。

image.pngimage.png
具有不同通道数的常见 PCIe 主板插槽配置。从上到下:PCIe x4、PCIe x16、PCIe x1、PCIe x16 和用于向后兼容的传统 PCI 32 位插槽。

差分对排列可加快传输速度并提高可靠性。在 PCIe 1.0 和 2.0 版本中,数据以带有两个开销位的八位字传输,称为 8b/10b 编码。这意味着 20% 的传输位是开销位,而不是数据。PCI 3.0 将这一数字提高到 128b/130b 编码,数据和开销的比例分别为 98.5% 和 1.5%。从 PCIe 1.0 到 5.0,这种编码一直沿用,以非归零(NRZ)格式表示二进制数据。 

PCIe 1.0 至 7.0:传输速度倍增

PCIe 1.0 每条通道的传输速度高达 2.5 GB/s,16 通道互连的最高传输速度为 4 GB/s。PCIe 2.0 通过改进协议和芯片制造能力,将传输速度提高了一倍。PCIe 3.0 将速度从 8b/10b 提高到 128b/130b,几乎翻了一番,达到每通道 8 GB/s。此后的每个新版本的数据速率都翻了一番。

2022 年推出的 PCIe 6.0 在编码和协议方面带来了重大变化,将速度提高到每秒 64 GB。PCIe 6.0 将 NRZ 数据格式改为脉冲幅度调制 4 级(PAM4)信号。PAM 在与 NRZ 中一个比特相同的单位间隔内表示两个比特,从而提供四个值而不是两个值。这实际上是用两个比特值取代了一个二进制比特。PAM4 的错误率要高得多,因此需要先进的纠错功能。在撰写本文时,使用此标准的卡尚未上市。

PCI-SIG 预计,自 2022 年 6 月开始开发的 PCIe 7.0 将于 2024 年完成。该标准承诺通过微调通道参数来提高能效和减少信号损耗,从而将 PCIe 6.0 的数据传输速率提高一倍。PCIe 7.0 硬件要到 2027 年才会上市。

扩展插槽的时代已经一去不复返了吗?

20 年前的 PCIe 总线在今天的 PC 世界中依然清晰可辨,2004 年的主板设计师可能会很容易发现今天的 PCIe。不过,20 年后的情况可能就不是这样了。

开发 PCIe 时,USB 仍处于起步阶段。各种各样的设备都需要电脑插槽。那个时代的许多 PC 仍然需要附加声卡、调制解调器、网卡和无线接口。对于今天的普通用户来说,这些应用都不需要附加卡。虽然游戏图形加速器、高端视频和声音处理设备以及奇特或特殊用途的产品仍在使用插入式 PCIe 板,但大多数家用和商用 PC 及笔记本电脑已内置或可通过 USB 访问所有这些(以及更多)应用。

如今,除了 M.2 固态硬盘接口外,大多数笔记本电脑和迷你电脑都不使用插卡槽。虽然人们仍在使用 PCIe 连接主板上的各种子系统,但许多扩展插槽的日子可能已经屈指可数了。

作者:Duane Benson
文章来源:EETOP

推荐阅读

更多IC设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
19642
内容数
1303
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息