PCI-E发展历程
常用的PCI总线带宽为133MB/S,于1992年诞生。接着因为在服务器领域传输要求于是Intel把总线位数提高到64,这样又出现了2种PCI总线,分别为64bit/33Mhz和64bit/66Mhz,带宽分别为266Mbps和533Mbps。
稍后在显卡领域,Intel单独开发出了AGP,32bit,66Mhz,这样带宽为266Mbps,再加上后来AGP2.0的2X和4X标准,最高4X的带宽高达1Gbps,但是确切的说AGP不是真正的总线,因为AGP只能连接一个设备-显卡。
同时服务器领域,几家厂商联合制定了PCI-X,64bit133Mhz版本的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),很明显英特尔的意思是它代表着下一代I/O接口标准。交由 PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”。这个新标准将全面取代当时的PCI和AGP,最终实现总线标准的统一。它的主要优势就是数据传输速率高,目前最高可达到10GB/s以上,而且还有相当大的发展潜力。PCI Express也有多种规格,从PCI Express 1X到PCI Express 16X,能满足现在和将来一定时间内出现的低速设备和高速设备的需求。
PCI Express(以下简称PCI-E)采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连 接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。相对于传统PCI总线在单一时间周期内只能实 现单向传输,PCI-E的双单工连接能提供更高的传输速率和质量,它们之间的差异跟半双工和全双工类似。
PCI-E的接口根据总线位宽不同而有所差异,包括X1、X4、X8以及X16,而X2模式将用于内部接口而非插槽模式。PCI-E规格从1条 通道连接到32条通道连接,有非常强的伸缩性,以满足不同系统设备对数据传输带宽不同的需求。此外,较短的PCI-E卡可以插入较长的PCI-E插槽中使 用,PCI-E接口还能够支持热拔插,这也是个不小的飞跃。PCI-E X1的250MB/秒传输速度已经可以满足主流声效芯片、网卡芯片和存储设 备对数据传输带宽的需求,但是远远无法满足图形芯片对数据传输带宽的需求。 因此,用于取代AGP接口的PCI-E接口位宽为X16,能够提供8GB/s的带宽,远远超过AGP 8X的2.1GB/s的带宽。
尽管PCI-E技术规格允许实现X1(250MB/秒),X2,X4,X8,X12,X16和X32通道规格,但是依目前形式来看,PCI-E X1和PCI-E X16已成为PCI-E主流规格,同时很多芯片组厂商在南桥芯片当中添加对PCI-E X1的支持,在北桥芯片当中添加对PCI-E X16的支持。除去提供极高数据传输带宽之外,PCI-E因为采用串行数据包方式传递数据,所以PCI-E接口每个针脚可以获得比传统I/O标准更多的带 宽,这样就可以降低PCI-E设备生产成本和体积。另外,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。
以下是各标准及不同的位宽下速度的对比:
标准/位宽
|
速度
|
PCIe 1.0 x1
|
500 MB/s
|
PCIe 2.0 x1
|
1000 MB/s
|
PCIe 3.0 x1
|
2000 MB/s
|
PCIe 1.0 x4
|
2000 MB/s
|
PCIe 2.0 x4
|
4000 MB/s
|
PCIe 3.0 x4
|
8000 MB/s
|
PCIe 1.0 x8
|
4000 MB/s
|
PCIe 2.0 x8
|
8000 MB/s
|
PCIe 3.0 x8
|
16000 MB/s
|
PCIe 1.0 x16
|
8000 MB/s
|
PCIe 2.0 x16
|
16000 MB/s
|
PCIe 3.0 x16
|
32000 MB/s
|