正如一个都市的高速发展离不开宽阔的高速公路一样,PCI Express的一统天下无声地诉说着PC技术的高速发展……
从ISA到PCI,从AGP到PCI Express,板卡插槽接口的变迁在某种程度上可以说就等于一个微观版、局部版的PC发展史。在现今的主板上,PCI Express(可简写为PCI-E)插槽几乎做到了天下一统,曾经辉煌的PCI只不过是苟延残喘。PCI-E究竟有着怎样的魅力方能一统江湖?PCI-E x1、x16等不同的后缀又各自代表着什么意思呢?
从1985年至1996年之间的ISA与PCI接口到1997年至2003年之间的AGP接口,再到2002年正式问世的PCI-E,板卡插槽接口走过了一段漫长的岁月。几乎每一代插槽接口被取代和淘汰的理由有且只有一个—带宽无法满足显卡性能高速提升所带来的越来越严苛的需求。就好比一个城市的汽车保有量在成倍增长的情况下,但主干道却仍旧停留在多年前的双车道,拥挤的交通必然导致整个城市的瘫痪。
早在10余年前,PCI总线因为是并行总线架构,连接在PCI总线的所有设备共享这有可怜的133MB/s。在各种板卡产品数据传输量并不庞大的当时,PCI总线足以应付声卡、100Mbps网卡、USB 1.0/1.1转接卡以及电视卡等产品。
但随着PC技术的快速发展,尤其是各配件自身数据吞吐量的不断攀升,PCI已经无法应对高速设备的普及。而且正如前面所说,PCI总线属于共享并行总线,采用PCI接口的设备必须向总线申请带宽。打个比方来说,一条狭窄的公路在应对某一车队的单独请求时或许还能应付,但当多个设备同时需要传输大量数据的时候,多个车队同时要求上路,就会造成路况拥挤不堪。甚至对于PCI接口而言,即使是面对单一的1000Mb/s网卡或是IEEE1394b视频采集卡时,都可能会出现带宽不足的问题。
尽管针对特殊用途,根据PCI技术演变而来的PCI-X和AGP等高带宽或是具备独立通道的接口被推出,但这些接口因为成本原因以及使用上的限制(例如AGP接口仅针对显卡而设),终无法成为各种板卡接口的通用标准。和不少其他PC硬件的接口发展历史很类似,当并行架构的PCI总线在高速发展的PC世界越来显孱弱,终沦为整个系统性能的瓶颈时,就必须由带宽更大、适应性更广、发展潜力更深的新一代总线取而代之,这就是PCI Express。
2001年春季IDF期间,Intel公司宣布将会开发第三代输入输出技术(3GIO,Third-Generation Input/Output)来取代现有的当时的局部总线技术(主要是指PCI接口)。包括Intel、AMD、DELL和IBM在内的20多家业界主导公司开始起草新技术的规范。同年8月份,PCI-SIG(PCI特殊兴趣小组)批准了代号为Arapahoe的3GIO标准。第二年的4月份,PCI-SIG和Arapahoe工作小组正式完成了3GIO的草案,并且将其正式命名为PCI Express,其中Express意指“高速”。2002年7月23日,PCI-SIG 正式公布了PCI Express 1.0规范。
表1:PCI-E各版本简单规格表
版本 | 单向单通道带宽 | 双向16通道带宽 | 供电 | 发布日期 |
1.0 | 250MB/s | 8GB/s | n/a | 2002年7月22日 |
1.0a | 250MB/s | 8GB/s | n/a | 2003年4月15日 |
1.1 | 250MB/s | 8GB/s | 77W | 2005年3月28日 |
2.0 | 500MB/s | 16GB/s | 225W | 2006年12月20日 |
2.1 | 500MB/s | 16GB/s | n/a | 2009年3月4日 |
3.0 | 1GB/s | 32GB/s | n/a | 2010年11月10日 |
PCI Express与PCI总线不同,它属于串行总线,点对点传输,每个传输通道独享带宽。相比起PCI总线133MB/s的传输速度,PCI-E即使是单向单通道带宽的起始速率就达到了前者的两倍——250MB/s,双向传输带宽更可实现夸张的500MB/s。值得一提的是,PCI Express接口能够支持热拔插,也是个不小的飞跃。
表2: PCI-E各规格接口简单规格表
接口 | Pin脚数 | 主接口区Pin数 | 主接口区长度 |
x1 | 36 | 14 | 7.65mm |
x4 | 64 | 42 | 21.65mm |
x8 | 98 | 76 | 38.65mm |
x16 | 164 | 142 | 71.65mm |
而到了2006年底,PCI Express 2.0更是在1.0版本基础上更进了一步,将传输性能翻了一番。
PCI-E 2.0相对于此前的1.0版本来说,做到了:1.带宽翻倍,将单通道带宽提高到了单向500MB/s,双向1GB/s;2.通道翻倍,用于显卡接口的通道从16个提升至32个,带宽可达32GB/s;3.插槽翻倍,芯片组/主板默认应该拥有两条32通道的PCI-E插槽;4.功率翻倍:PCI-E 1.1插槽所能提供的电力高为77W,2.0版本则提高至200W以上。
PCI Express总线还支持双向传输模式和数据分路传输模式。其中数据分路传输模式即PCI Express总线的x1、x4、x8、x16和x32多通道连接(x2只是作为内部接口存在,而没有采用插槽模式)。对于很多新玩家而言,面对PCI-E x1、x4、x8、x16和x32等繁多的后缀可能会晕头转向,实际上,x1就代表着1个通道,x16则代表了16个通道。每种规格对应的插槽长短都有不同,简单一点可以说是数值越大的插槽长度越长,这从外观可以明显看出。而且,较短的PCI Express卡可以插入较长的PCI Express插槽中使用。此外,对于普通用户而言,目前我们接触的产品主要也只有PCI-E x1和PCI-E x16等少数几种接口的产品。
特别值得一提的是,PCI Express总线是一种完全不同于过去PCI总线的一种全新总线规范,与PCI总线共享并行架构相比,PCI Express总线是一种点对点串行连接的设备连接方式,点对点意味着每一个PCI Express设备都拥有自己独立的数据连接,各个设备之间并发的数据传输互不影响,而对于过去PCI那种共享总线方式,一旦PCI总线上挂接的设备增多,每个设备的实际传输速率就会下降,性能得不到保证。现在,PCI Express以点对点的方式处理通信,并不需要向整个总线系统请求带宽,每个设备在要求传输数据的时候各自建立自己的传输通道,对于其他设备这个通道是封闭的,这样的操作保证了通道的专有性,避免其他设备的干扰。这就好比PCI Express总线为城市中不同的车队专门设立了其独有的专属高速公路。
PCI-E x1接口的USB 3.0转接卡
早在2007年上半年PCI-E 2.0版规范刚刚公布的时候,PCI Express技术标准组织PCI-SIG就准备用两年多的时间将其快速进化到第三代,但不断的跳票现在已经结束。在对可制造性、成本、功耗、复杂性、兼容性等诸多方面进行综合、平衡之后,PCI-E 3.0规范将数据传输率提升到PCI-E 2.0的两倍,并保持了对此前版本的向下兼容。基于此,PCI-E 3.0架构单通道单向带宽即可接近1GB/s,16通道双向带宽更是可达32GB/s。PCI-E仍在以旺盛的生命力高速进化。