PCIe – 外围组件快速互连指南

高速外设组件互连 (PCIe) 是用于将处理器连接到外设、存储器和其他组件的行业标准高速计算机总线架构。随着 PCIe 5.0 的发布,PCIe 现在已经发展到第 5 代,它使用点对点拓扑为每个连接的设备提供单独的链路。

随着 PCIe 的每一次连续迭代,速度和带宽都增加了一倍,使得 PCIe 测试过程更具挑战性,因为数据捕获、存储和可视化过程变得越来越复杂。自 2003 年 PCIe 1.0 发布以来,PCIe 的测试工具不断调整和改进,以应对这些挑战。如今,一套完整的 PCIe 测试设备可用于实现准确和高效的 PCI Express 故障排查和测试。

PCIe 是什么意思?

外围组件快速互连(通常称为 PCI Express 并缩写为“PCIe”)是一种高速计算机总线架构,它已经成为了几乎所有内部计算机组件连接的行业标准。

PCIe 使计算机的处理器和内存能够连接到其他组件和外围设备。PCIe 接口是一种高速串行传输接口,旨在替代包括 PCI 和 ISA(工业标准架构)在内的较旧并行总线架构。PCIe 使用点到点接入存取总线,与其上一代产品相比,它的数据传输速度明显提高。 

在上世纪八十年代,早期的计算机总线架构以 CPU 和所有组件之间的并行数据通路为基础。

九十年代后期,开发出了 PCIe 的上一代产品,集成了我们熟悉的将设备卡滑入主板上对应位置的外形因素。PCI 总线有 32 位和 64 位两种版本,而 AGP(加速图形端口)是专门针对带宽需求超过 PCI 总线所能提供带宽的图形控制器连接设计的。今天,这两种接口很大程度上已经被 PCI Express 所取代。

二十一世纪初,内部硬件和外围设备对计算带宽的需求使得下一代 PCI(称为 PCI Express 或 PCIe)应运而生。与传统 PCI 相比,PCIe 的最大优势在于它利用串行接口,而不是 PCI 架构中使用的并行接口。另一项优势是 PCIe 为每个连接的设备使用单独(而不是共享)的总线。

通过为需要多个通道的已连接设备使用多条通道,数据传输进一步得到了增强。由分配的数据端口连接数所定义,每增加一个通道(即从 1 个通道增加到 16 个通道),数据传输量就会对应增加。现在,在容量需求有要求的情况下,从 A 点前往 B 点的乘客可以同时乘坐多辆巴士(总线)。

随着 PCIe 作为实际标准被广泛接受和得以普及,各种各样的功能组件已采用了这一平台,其中包括 USB、蓝牙产品和视频卡。视频控制器和存储设备就是随着 PCIe 架构的出现而实现的相应技术的例子。 我们在过去十年中所体验到的图形和计算机性能的改进就很好地印证了 PCIe 的优势。

PCIe 架构

与 PCI 相比,PCI Express 架构中的突破性技术大大提升了传输速率,并且 PCIe 的每个后续版本在此提升的基础上又继续取得了进步。传统 PCI 使用公共地址、数据和控制行,而 PCIe 的点到点拓扑为每个连接的设备提供单独的链路,从而避免了彼此相互制约的可能性。

PCIe 通信使用一种称为“报文”的数据传输模式。PCIe 端口的事务处理层执行数据封包和解包任务。这种 PCIe 与传统 PCI 在电信号方面的固有差异要求开发出截然不同的电子和连接器架构,这就使得 PCIe 插槽与 PCI 板卡不兼容。

PCIe 格式、版本和大小

已经针对 PCI Express 开发出各种各样的格式,每种格式的命名方式略有不同。了解这些 PCIe 格式在大小和版本方面指明的信息对于了解哪些扩展卡将适用(或者不适用)于您的系统而言至关重要。

PCIe 版本

自从 2002 年推出 PCIe 1.0 以来,为了满足对更多带宽和频率不断增长的需求,一直在推出后续版本。版本 1.0 的可用带宽略低于 8 GB/秒,可用于总共 16 个通道的流量,而 PCIe 1.0 的传输速率为每秒 2.5 千兆传输 (GT/s)。每一个新版本的总带宽都增加了一倍,最终为 2019 年发布的  PCIe 5.0 带来了 128 GB/秒的带宽。与此同时,传输速率从 2.5 GT/秒递增到 32.0 GT/秒。连同性能改进一起,每个版本还提供了新的功能,并提高了能效。

基于这种为避免成为瓶颈而每隔几年带宽就翻倍的极高标准,在处理器速度和内存不断快速增加时,每次修订都会为设计人员带来新的挑战。串扰和电气不连续性可能会随带宽一起增加,因此新材料和设计的创新在不断挑战极限。

PCIe 大小

任何 PCI Express 板卡的大小以及针脚数由通道数和连接总数决定。所有 PCIe 版本都是如此。下面列出了可用 PCIe 大小及其对应的针脚数。

类型长度针脚数
PCI Express x125 毫米18 针
PCI Express x439 毫米32 针
PCI Express x856 毫米49 针
PCI Express x1689 毫米82 针

与 PCI 板卡不同,PCI Express 板卡可安装在任何尺寸的 PCIe 插槽中,只要插槽不小于板卡即可。这意味着 x1 扩展板卡可安装在 x1、x4、x8 或 x16 插槽中。同样的情况反过来也适用,举例来说,这意味着您可以将 x16 板卡安装在 x4 插槽中,但只有在插槽是配置为后档板打开的类型时,这种情况才适用。但是,在这种情况下带宽将受到限制,只有 x4 板卡的带宽。

可用于 PCIe 板卡的带宽是由 CPU 或主板 PCIe 控制器的版本所确定的,这意味着,如果控制器配置为 4.0 版,则 5.0 版的板卡将只能以 4.0 版板卡的带宽工作。

PCIe 测试挑战

虽然最初的  PCIe 1.0  的可用带宽仅为 8GB/秒,但每次迭代速度的加倍已经将 PCI Express 5.0 的速度提高到 16 个流量数据通路上的 128 GB/秒。随着带宽的增加,串扰和不连续性的可能性也会增加,这使得最近在 PCB 走线材料和数据通路裕量方面的创新成为这种快速发展的先决条件。PCIe 格式的通用性是另一个重要因素,对互换性的关注同样影响了 PCIe 测试设备和硬件的设计者。PCIe 版本之间的向后兼容性仍然是一个标志,1x 到 16x 的插槽大小与任何大小的 PCIe 卡一致,两者中较小的一个决定了带宽的可用性。

PCIe NVMe

非易失性快速存储器 (NVMe) 是专为与 PCI Express 一起使用而开发的固态存储器协议。本文中的“非易失性”是指不需要电源来保存数据的存储器。NVMe 利用 PCIe 架构的优势获得了两倍于 12Gbps SAS 接口的读写速度。NVMe 没有使用传统的 I/O 控制器,而是通过 PCIe 利用与 CPU 的直接连接。为了有效地测试 PCIe/NVMe 组合,具有高端存储容量和分段特性的 PCIe 测试设备是实现 NVMe 流量精确解码的关键。

由于增加了 NVMe 存储设备和主机之间的距离,同时要保持 10 微秒或更少的额外延迟引入的目标,使用 NVMe over Fabrics (NVMe-oF) 带来了额外的 PCIe 测试挑战。尽管 NVMe-oF 规范本质上与 NVMe 基本规范相似,但是传输机制的特性分析增加了额外的复杂性。在启用 NVMe 的主机和电路的 NVMe 设备端使用适当的 PCIe/以太网/光纤通道分析仪/干扰器测试设备是推荐的最佳实践。

PCI Express 4.0

 PCI Express 4.0  于 2017 年 10 月发布,它带来了一些改进,例如数据通路裕量和延迟减少,以及每一代新 PCIe 固有的惯例速度和带宽改进。扩展标签和积分以及增强的 I/O 虚拟化是 PCIe 4.0 版本中包含的额外增强功能,这些功能将随着每一代产品的推出而不断优化。PCIe 4.0 的采用使得许多 PCI Express 测试的挑战更加明显,这些挑战是由速度的提高以及由此产生的插入损耗和裕量要求带来的。通信流量监控、数据存储和错误检测功能要求 PCIe 测试工具具有更高的性能标准,这一趋势在 PCIe 5.0 及更高版本中持续不减。

PCI Express 5.0

在 2019 年 5 月发布 PCIe 5.0 之前加快了开发周期,重点是在速度和带宽上实现必要的两倍增长,同时最大限度地减少新特性或重大架构更改。PCIe 第五代继续使用 PCIe 4.0 的 128b/130b 编码方案、NRZ 信令和抖动参数。为了补充 2 倍的速度提升,电气设计的重点放在信号完整性和均衡性上。I/O 吞吐量和性能的结合使得 PCIe 5.0 成为 400G 以太网链路和要求苛刻的基于云的应用的可行选择。

PCIe 测试设备的宝贵可能性

自 PCIe 1.0 发布以来,通过开发多种多样的 PCIe 测试设备和软件,有效的 PCIe 测试的挑战已经得到了解决。这些工具旨在准确测量性能、快速检测问题并模拟使用条件,以进行稳健而全面的分析。全新的创新协议/干扰器组合已被证明是复杂使用条件的理想补充,例如 NVMe-oF。

能够详细了解流量和链路性能的分析仪能够全面验证  PCIe 5.0 协议,同时支持对传输速度和存储器的快速增长的测试解决方案要求。具有实时流量操纵能力的干扰工具可创造一个鲁棒的模拟水平,这种水平通过其他方式可能是无法实现的。这些尖端的 PCIe 工具背后的软件继续将它们联系在一起,不断改进的界面和报告增强功能无缝地将操作员与 PCIe 测试用例结合在一起。

PCI-SIG

PCI 特殊兴趣小组 (PCI-SIG) 定义了保证 PCI Express 系统互操作性所需的规范和合规性测试。该小组成立于 1992 年,现在有超过 800 个成员公司开发基于 PCI-SIG 所发布规范的产品。这些规范对其成员组织或个人是免费的。PCI-SIG 还提供 PCIe 测试和合规性研讨会。PCI-SIG 合规性库包括一个全面的推荐设备列表。

PCI-SIG 规范中包含的 PCI Express 测试类别包括电气测试、配置测试、链路协议测试、事务协议测试和平台 BIOS 测试。随着数据速率的增加,通道拓扑变得更加复杂。使用仿真来优化功率和信号完整性是 PCIe 链路评估的推荐做法。在物理层利用协议验证来确定数据包是否可靠传输。事务协议测试可以调试不需要的错误,并确保符合 PCI-SIG 标准。

PCI Express 测试工具

现在有多种 PCIe 测试工具可供使用。随着每一代的不断发展,PCI Express 测试设备也在不断发展,以满足日益严格的需求。来自行业领先的 PCIe 测试设备供应商的功能丰富的工具在便携式和耐用性方面非常理想,现时还提供现成的培训和认证。考虑到 PCIe 接口的向后兼容特性,多种尺寸和版本的互操作性和快速升级能力是优秀 PCIe 测试设备的其他总体特征。

干扰器

干扰器可以操纵实时流量来实时模拟错误。“干扰”一词起源于 20 世纪初,用来描述人为干扰敌人的通信线路。对于 PCIe 测试,干扰器是一种内联错误注入工具,它可以模拟真实的情况并缩短测试周期。干扰器通常使用预定义的自动化测试脚本,可以重现各种各样的错误测试场景。

像 Xgig 这样的干扰器具有高度的智能和协议感知能力,可以利用条件干扰来保持对测试过程的控制,并确保全面的测试覆盖。干扰器与协议分析器或其他 PCIe 测试仪配合工作,在错误注入点产生可识别的触发信号。通过在真实环境中引入错误,可以准确识别错误恢复过程的响应性和有效性。

分析器

协议分析器是一个通用的 PCI Express 工具,用于总线吞吐量和链路性能测量以及数据包监控和记录。附加的触发、错误报告和过滤功能可以快速识别错误。干扰能力可以人为地产生延迟和重发,以测试错误检测能力。

强大的分析器具有先进的跟踪分析、通信流量可视性和存储器分段功能,是无价之宝。Xgig 4K16 协议分析器/干扰器 允许同时进行错误注入和协议分析。互操作性特性包括对 x1、x2、x4、x8 和 x16 的数据通路宽度支持。用户在堆栈的每一层都会收到错误警报,并且高级存储器利用率支持同时捕获多个跟踪。

软件

PCIe 测试软件是协议分析器和干扰器技术继续满足日益增长的速度、功能和多功能要求的基础。设计良好的软件可以自动执行重复的功能,根据发布的规范创建定制的例程,并集成多个工具以实现无缝功能。先进的报告软件可以简化复杂的数据分析,并有助于优化解释。

所有 Xgig 分析器提供的 Xgig Expert 软件具有一个用户友好的界面,帮助进行快速数据解释、调试和故障排查。该软件有效地对捕获的事件进行排序,以对性能和互操作性问题进行特征分析,识别包括协议违反在内的物理层问题,并根据需要将结果组织成全面的报告。附加的报告软件可以实现高效的数据过滤、分析和呈现功能。

PCI Express 故障排查

对 PCIe 故障进行故障排查通常是一项具有挑战性的任务。幸运的是,许多现成的 PCIe 工具也提供了出色的调试和故障排查功能。有效的 PCIe 测试和故障排查的关键包括提高通信流量的可视性和深入了解最常见的硬件问题。这些问题包括链路速度问题,例如均衡失败、流量问题和恢复后观察到的质量问题。错误报告软件可以检测和记录特定于应用的错误,并对错误类型进行特征分析,例如超时和数据传输停止。

配备有分析软件的协议分析器可以成为重要且有效的 PCIe 故障排查工具。该分析器将能够轻松查看确定问题和时间顺序所必需的通信流量和历史数据。该分析器还具有强大的触发条件,能够捕获超长序列,并对特定数据包进行过滤,从而进一步增强调查能力。时间顺序序列的日志记录可以通过详细描述报告错误之前和之后的事件来简化故障排查。

PCIe 测试设备的宝贵可能性

自 PCIe 1.0 发布以来,通过不断开发各种各样的 PCIe 测试设备和软件,有效 PCIe 测试的挑战已经得到了解决。这些工具旨在准确测量性能、快速检测问题并模拟使用条件,以进行稳健而全面的分析。全新的创新协议/干扰器组合已被证明是复杂使用条件的理想补充,例如 NVMe-oF。

随着 PCIe 5.0 的发布,对通信流量具有高度可视性的分析器和高级跟踪分析将继续成为无价的测试工具。具有实时流量操纵能力的干扰工具可创造一个鲁棒的模拟水平,这种水平通过其他方式可能是无法实现的。这些尖端的 PCIe 工具背后的软件继续将它们联系在一起,不断改进的界面和报告增强功能无缝地将操作员与 PCIe 测试用例结合在一起。

PCIe 的未来

2019 年  PCIe 5.0  的发布塑造了 PCI Express 不远的未来。这个修订版,就像其前一个版本一样,可将 4.0 版的可用带宽翻倍。除了性能升级外,PCIe 5.0 固有的物理差异将包括更短的键以及印刷电路板上集成的改进材料。PCIe 5.0 仍然向后兼容 PCIe 3.0 和 4.0。因此,主板和适配器板卡将无需立即升级。随着计算机硬件设计商和制造商不断将 PCIe 集成到其最新产品中,实际标准巩固的地位变得更加稳固。 对计算能力和内存的需求在不断地以惊人的速度发展。到目前为止,PCI Express 总线已成功跟上了步伐,而差异正在缩小。预计将于 2021 年发布的 PCIe 6.0 将提供令人难以置信的 256 GB/秒的双向带宽和 64 GT/秒的数据速率,以满足机器学习、人工智能 (AI) 和其他新兴、尖端应用的需求。在并不遥远的未来,与我们熟悉而可靠的总线相比,数据传输的性能可能看起来像是一个超回路,而且必然会是这样。可能没有任何其他计算机技术在满足速度和带宽需求时扮演如此重要的角色,因此,在可预见的未来,设计人员仍将动力十足,不断地在 PCIe 性能方面取得突破。