为什么要科普PCIe
在服务器系统中,PCIe总线是最重要的总线之一。它通过信号互联,使CPU能够与各种外设进行通信。我们可以将每个bit的数据视为一辆小车,而PCIe总线就是车道,每条Lane都是双向车道。PCIe版本规定了速度上限,因此很容易理解,车道越多,允许的车速就越快,传输的数据量也就越大。目前,PCIe 7.0 Base Specification发布了Draft 0.3版本,提供512GB/s的速度。PCI-SIG公布PCIe 7.0规范的0.3版本,并预计到2028年正式发布。同时,随着Intel即将在今年底发布支持PCIe 5.0的Ice Lake Xeon-SP CPU,以及支持PCIe 5.0的AMD EPYC CPU和一系列ARM CPU的逐渐出货,PCIe 5.0有望在2023年成为市场主流。因此,了解学习PCI-E的发展历程对于Cable厂商来说至关重要。
早期常用的PCI总线带宽为133MB/s,诞生于1992年。后来,由于服务器领域对传输需求的提高,Intel将总线位数提高到64,从而出现了两种PCI总线,分别为64bit/33Mhz和64bit/66Mhz,带宽分别为266Mbps和533Mbps。在显卡领域,Intel单独开发了AGP(Accelerated Graphics Port),带宽为32bit/66Mhz,即266Mbps。后来又出现了AGP 2.0的2X和4X标准,最高带宽达到1Gbps。然而,需要注意的是,AGP并不是真正的总线,因为它只能连接一个设备-显卡。
同时,在服务器领域,几家厂商联合制定了PCI-X,这是64bit/133Mhz版本的PCI总线,带宽可达1Gbps。随后,PCI-X 2.0和3.0相继提升频率,经历了266Mhz、533Mhz甚至1GMhz。虽然这些带宽已经非常足够,但PCI-X也面临着一些问题,如频率提高导致的并行信号串扰以及共享式总线造成的资源争用。尽管规格上有所提升,但实际效果可能无法达到预期指标。
因此,在2001年的英特尔春季IDF大会上,英特尔正式公布了旨在取代PCI总线的第三代I/O技术,该规范由Intel支持的AWG(Arapahoe Working Group)负责制定,并最终被称为第三代I/O总线技术(3rd Generation I/O),简称3GIO。在得到PCI-SIG认证发布后,该技术被命名为"PCI-Express"。这一新标准彻底取代了当时的PCI和AGP,实现了总线标准的统一。PCIe的主要优势在于高速数据传输率,目前最高可达10GB/s以上,并具备良好的发展潜力。PCI Express有多个规格,从PCIe 1X到PCIe 16X,可以满足当前以及未来一段时间内低速设备和高速设备的需求。
PCI-E采用了点对点的串行连接方式,相较于传统的共享并行架构的PCI总线,每个设备都有自己独立的专用连接。这种设计不仅消除了对整个总线请求带宽的需求,还可以提供更高的数据传输速率和质量,使得PCI-E能够提供比PCI更高的带宽。
PCI-E的接口根据总线位宽的不同而有所差异,包括X1、X4、X8和X16。其中,X2模式通常用于内部接口而非插槽模式。PCI-E规格从单通道连接到最高可达32条通道连接,具有出色的伸缩性,以满足不同系统设备对数据传输带宽的需求。此外,较短的PCI-E卡可以插入较长的PCI-E插槽中使用,而且PCI-E接口支持热插拔功能,这是一个重要的进步。
PCI-E X1接口的传输速率为250MB/秒,已经足以满足主流声效芯片、网卡芯片和存储设备对数据传输带宽的需求。而用于替代AGP接口的PCI-E X16接口,提供了8GB/秒的带宽,远远超过AGP 8X的2.1GB/秒带宽。
尽管PCI-E技术规格允许实现多种通道规格,例如X2,X4,X8,X12,X16和X32,目前主流规格仍然是PCI-E X1和PCI-E X16。很多芯片组厂商在南桥芯片中添加对PCI-E X1的支持,在北桥芯片中添加对PCI-E X16的支持。除了提供高速数据传输带宽之外,由于PCI-E采用串行数据包传输方式,每个针脚可以获得比传统I/O标准更多的带宽,这降低了PCI-E设备的生产成本和体积。另外,PCI-E还支持高级电源管理、热插拔和数据同步传输,并对优先传输数据进行了带宽优化。
总之,作为一名电子设计工程师,我们应该充分掌握PCI Express的架构和特点。PCI-E以其点对点的串行连接、高速数据传输和伸缩性等特点,为各种系统设备提供了更高的数据传输带宽和可靠性。这将在我们的设计中发挥重要作用,并为提升系统性能和满足不断增长的需求提供支持。
各个版本的PCI-E规范如下:
PCI-E 1.0规范:
PCI-E 1X(1.0标准)采用单向2.5G的波特率进行传输。由于每个字节包含10位(1位起始位,8位数据位,1位结束位),所以传输速率为2.5G/10=250MB/s(250兆字节每秒)。根据计算,PCI-E 16X的单向传输速率为250MB/s * 16 = 4GB/s,双向传输速率为8GB/s。
PCI-E 2.0规范:
PCI-E 1X(2.0标准)采用单向5G的波特率进行传输。由于每个字节包含10位(1位起始位,8位数据位,1位结束位),所以单向传输速率为5G/10=500MB/s(500兆字节每秒)。根据计算,PCI-E 16X(2.0标准)的单向传输速率为500MB/s * 16 = 8GB/s,双向传输速率为16GB/s。而PCI-E 32X(2.0标准)的传输速率为32GB/s。
PCI-E 3.0规范:
PCI-E 1X(3.0标准)采用单向10G的波特率进行传输。由于每个字节包含10位(1位起始位,8位数据位,1位结束位),所以单向传输速率为10G/10=1000MB/s(1000兆字节每秒)。根据计算,PCI-E 16X(3.0标准)的单向传输速率为1000MB/s * 16 = 16GB/s,双向传输速率为32GB/s。PCI-E 32X(3.0标准)的双向传输速率高达64GB/s。
PCI-E 4.0规范:
PCI-E 4.0总线的速率是在PCI-E 3.0的基础上再翻一倍,单通道单向传输速率为16Gb/s,因此16通道双向传输的速率在理论上可以达到512Gb/s,即64GB/s。除此之外,PCI-E 4.0标准对存储设备如PCI-E固态硬盘和PCI-E RAID卡等进行了优化,最大限度发挥PCI-E总线的低延迟优势。此外,PCI-SIG组织还透露新的PCI-E标准将包括外接式PCI-E规范,被称为PCI-E OCuLink。该规范基于PCI-E 3.0开发,使用铜缆作为连接介质,提供最低8Gb/s(PCI-E 3.0 X1)至最高32Gb/s(PCI-E 3.0 X4)的连接速率。
PCI-E 5.0规范:
随着PCI-E 5.0将信号速率提升至32GT/s,以太网设备的信号速率已经达到56Gbps,并正朝着112Gbps迈进。从速率上看,现有的测量设备应该能够满足PCI-E 5.0信号的测试需求。然而,实际上,PCI-E 5.0采用的是NRZ信号,而56Gbps以太网信号则采用PAM4信号。与以太网相比,PCI-E 5.0信号的基频点反而更高(16GHz vs 14GHz)。
PCI-E 6.0规范:
PCI-E 6.0规范达到了64GT/s的速率。在过去二十年中,PCI Express技术一直是事实上的首选互连解决方案。PCI-E 6.0规范将PCI-E 5.0规范(32GT/s)的带宽和功率效率提高了一倍,并提供了低延迟和减少的带宽开销。
PCI-E 7.0规范:
最新一代PCI-E 7.0将带宽翻倍,在单通道(x1)上实现了128GT/s或128Gbps的总吞吐量。因此,在PCI-E x16插槽上,就像独立显卡一样,双向总理论吞吐量可达512GB/s。同时,通常与PCI-E x4插槽配对的NVMe SSD可以提供高达64GB/s的单向速度。PCI-E 7.0最终规范计划于2025年发布。
PCI-E 5.0/6.0布线将于2023年底推出:
尽管PCI-E 7.0仍在开发中,而且目前还没有PCI-E 6.0设备上市,但是PCI-SIG在制定核心规范的同时也在完成一些辅助领域的规范工作,特别是布线。预计这些规范将在今年第四季度发布。该规范将涵盖PCI-E 5.0和PCI-E 6.0,包括内部和外部电缆的规范。内部布线用于将设备连接到系统内的其他组件,包括设备和主板/背板,而外部布线则用于系统之间的连接。在信号技术和绝对信号速率方面,PCI Express相对落后于以太网一代左右。这意味着以太网工作组已经解决了高速铜信号的大部分初始开发问题。因此,虽然在使这些技术适用于PCI-E上仍需努力,但基本技术已经得到验证,这有助于在一定程度上简化PCI-E标准和布线的开发。