什么是PCI Express协议

外围设备互连(PCI)插槽是计算机体系结构中不可或缺的一部分,以至于大多数人将其存在视为理所当然。多少年来,PCI一直是将声卡、显卡和网卡连接到主板的万能且实用的方法。

但PCI也有一些不足之处。处理器、显卡、声卡和网络的速度越来越快,并且功能越来越强大,而PCI却一直在“原地踏步”。它的带宽固定为32位,而且每次只能处理5个设备。新款的64位PCI-X总线可以提供更高的带宽,但也随之带来了一些其他的PCI问题。

一种名为PCI Express(PCIe)的新协议消除了其中许多的不足,提供更高的带宽,并且与现有的操作系统兼容。在本文中,我们将了解PCIe与PCI的区别所在。我们还将介绍PCI Express如何使计算机运行得更快、如何能潜在地增加图形性能,以及能否代替AGP插槽。

高速串行连接

在早期的计算中,大量数据通过串行连接进行传输。计算机将数据分割成数据包,然后每次将数据包从一个地方移到另一个地方。串行连接很稳定,但速度慢,因此制造商开始使用并行连接来同时发送多个数据段。

结果证明,随着速度越来越快,并行连接也存在其固有问题。例如,导线之间会发生电磁干扰,因此,现在焦点又重新回到高度优化的串行连接。硬件的改善以及分割、标记和重组数据包流程的改进使串行连接的速度越来越快,例如USB2.0和FireWire。

PCI Express是串行连接,其运行机制更像网络,而不像总线。PCIe使用交换机控制多个点到点的串行连接,而不是使用一条总线处理多个源的数据。(有关详细信息,请参见LAN交换机工作原理。)这些连接从交换机向四处散开,直接指向数据需要到达的设备。每个设备都有专用的连接,因此设备不再像普通总线那样共享带宽。

计算机启动时,PCIe会确定插入主板的是哪些设备。然后它会识别设备间的链接,创建数据目的地的映射并协调每个链接的带宽。由于PCIe对设备和连接的识别所采用的协议与PCI所使用的相同,因此不需要修改软件或操作系统。

PCI Express连接的每条线路包含两对导线,其中一对用于发送,另一对用于接收。数据包以每周期一位的速度在线路间传输。x1连接,即最小的PCIe连接,有一条由四根导线组成的线路。各方向上每周期都传输一位。x2链接包含八根导线,一次传输两位,x4链接传输四位,以此类推。其他配置还有x12、x16和x32。

PCI Express可供桌面和便携式PC使用。使用它可以降低主板生产的成本,因为其连接需要的针比PCI连接要少。它还可以支持多种设备,包括以太网卡、USB2和显卡。

但是一个串行连接是如何快于PCI的32根导线或PCIx的64根导线的呢?在下一部分中,我们将介绍PCIe如何以串行格式提供高带宽。

速度更快,连接更少

32位PCI总线的最大速度可以达到33兆赫兹,即总线每秒最多可传输133兆字节的数据。64位PCI-X总线是PCI总线带宽的两倍。不同的PCI-X规范允许的数据传输速度也不同,范围从每秒512兆字节到1G字节。

一条PCI Express线路每个方向每秒钟可以处理200兆字节的通信量。x16PCIe连接器每个方向每秒钟可以传输惊人的6.4G字节数据。具备了这样的速度,x1连接可以轻松处理1吉比特的以太网连接以及音频和存储应用程序。x16连接可以轻松应对功能强大的图形适配器。

这是如何实现的呢?以下几个简单的改进对串行连接速度的突飞猛进做出了贡献:

数据的优先级允许系统最先移动最重要的数据,并有助于预防出现瓶颈; 时间相关(实时)的数据传输; 改进用于建立连接的物理材料; 更好的握手和错误检测; 数据包分割和重组的更好办法。另外,由于每个设备都有其专用的、与交换机点到点的连接,因此来自多个源的信号不再共用一条总线。