跑步迎接新的高速总线 PCI Express 3.0诞生前夜
2009-11-30沈亮
沈 亮
不知何时,我们已经习惯了显卡的PCI Express(以下简称PCI-E)接口,曾经流行的AGP接口已经完全被主流市场淘汰。从第一代PCI-E显卡GeForce 5750到GeF0roe GTX295,从Radeon X600到即将发布的Radeon HD X5800,显卡的性能提高了数十倍,但是没有变的就是PCI-E接口。其实,你看到的只是表面,PCI-E接口同样“与时俱进”,内在已经发生了重太的变化。如同过去AGP存在2x、4x和8x的区别,PCI-E也从发布时的1.O,发展到目前的2.0标准。而在接下来的几个月里,我们将迎来新的PCI-E 3.0标准。
长江后浪推前浪——PCI-E总线诞生
在PCI-E显卡正式大规模进入市场的2004年,占据系统总线主导地位的是诞生于1992年的PCI(Peripheral Component Interconnect,外部部件互联)总线以及显卡专用的AGP总线。其中PCI总线的频率为33MHz,位宽为32bn,带来了133MB/s的峰值带宽。在更早之前,即使是共享PCI总线的方式也能够满足2D显卡、声卡、10M网卡的数据传输要求。而且PCI总线拥有效率更高的同步传输机制、独立的总线控制和负载、支持即插即用等优势,面市后迅速取代了老旧的ISA(Industry StandardArchitecture工业标准架构)总线。也正是以上的优势,PCI总线为家庭多媒体电脑的普及立下汗马功劳,至今已经努力工作了近17个年头。
但是随着电脑娱乐和宽带互联网的蓬勃发展,高数据吞吐量的3D加速显卡、多硬盘阵列卡和100M/1000M网卡很快榨干了PCI仅有的133MB/s特宽。因此,由PCI总线衍生出来了一些其它总线,如PCI-X。而且工程师们另辟蹊径,还发展了显卡专用的AGP总线和千兆网卡CSA专用通道,以此分担PCI的带宽压力。从此,PCI沦为低速设备的专用总线,应用对象仅仅是声卡、100M网卡、调制解调器、USB/1394扩展卡等中低速部件。
在3D显卡发展初期,AGP(Accelerated Graphics Port)成为新的显卡接口。AGP同样是32bit位宽,但它的工作频率从66MH开始。AGP1X规范在每个时钟周期的下降沿传输数据,可以提供266MB/s的带宽,而AGP 2X可以同时利用时钟周期的上升和下降沿传输数据,达到了533MB/s的带宽,AGP 8X则将带宽提高到了2.12GB/s,足以满足当时的3D显卡。
专用总线的设计不过是个权宜之计,如果每种高速设备都新设计一种专用总线,是不现实的。世间之事,合久必分,分久必和。在PCI、AGP,CSA等多种总线共存着进入新千年后,2002年PCI-E的前身3GIO(3G+IO,第三代输入输出)总线的发布,标志着电脑系统再次合并到一种总线标准中。PCI-E总线沿用了PCI总线的编程概念和通信标准,但是PCI—E最大的革新在于摒弃了并行共享总线,使用了串行点对点的传输机制,此举显著地提升了总线带宽和效率。
PCI-E总线优势
1)采用LVDS(Low VoltageDifferential Signal,低电压差分信号)的串行总线
串行通讯是电脑系统在21世纪的发展方向,依靠串行差分信号,PCI-E获得了比PCI高得多的频率和带宽。为了保证高速串行信号的完整性,PCI-E1.O和PCI-E 2.0产用了8b/10b的编码方式,通过插入2位辅助码来检验数据传输的正确与否。而且PCI—E支持双向传输模式和数据分通道传输模式,单通道(x1)单向传输带宽即可达到250MB/s,双向传输带宽为500MB/s。而在需要更多带宽时,PCI—E允许多通道合并使用,这样运用于显卡的16通道PCI-Ex16接口双向传输带宽更是达到8GB/s(PCI-E 1.O标准)。单通道8位的PCI—E数据线比起PCI动辄32位、64位的数据线,在提升频率和布线上要容易得多。
2)PCI-E总线充分利用先进的点对点互连、基于交换的技术、基于包的协议来实现新的总线特征。
和过去PCI共享方式相比,PCI-E就相当刊、区共享10M上网和个人10M专线上网的区别,随时都能保证单个设备的带宽要求。同时PCI-E还加入了电源管理、服务质量(QOS)、热插拔支持、数据完整性、错误处理机制等高级特征,使总线能够工作于多种场合和多种模式。
3)与PCI总线良好的继承性,可以保持软件的继承和可靠性。
PCI-E仅仅在最下面的物理层将PCI的共享总线换成了一个高速的串行点对点总线,之后的数据连接层、交换层和软件层保持不变。虽然在物理插槽方面和以前的PCI不兼容,但是与PCI总线良好的继承性,可以保持软件的继承和可靠性。PCI-E总线关键的PCI特征,比如应用模型、存储结构、软件接口等与传统PCI总线保持一致。
通过PCI-E特殊兴趣组(简称PCI—SIG)的推广和各大IT生产商的积极配合,PCI-E以摧枯拉朽之势淘汰了AGP接口,成为新一代显卡的首选接口。而板载网卡芯片(以板载千兆芯片为主),如常见的Realtek 8111千兆网卡芯片,也已经采用PCI-E接口和系统相连。就连常见的南北桥芯片也能使用PCI-E通道进行互联,充分显示了PCI-E的扩展性。
总线规格更新——PCI-E 2.0上位
由于3D显卡性能和功能的显著增长,对PCI-E总线的带宽和供电能力提出了新的要求。在1.0标准发布4年后的2006年,新的PCI-E 2.0总线标准诞生了。依靠2.5GHz的最高工作频率,PCI-E 2.0单通道的单向最大带宽即达到了500MB/s,进一步满足了高数据吞吐设备的带宽要求。比如有的芯片组在支持SLI或者CrossFireX多显卡互联时仅能提供两路PCI-E x8接口,而不是两路PCI-E x16,每块显卡只能获得4GB/s的双向带宽。而在运用PCI-E 2.0标准后,即使是PCI-Ex8接口也能提供8GB/s的双向带宽。
另外,PCI-E 2.0还新增动态连接功能,系统可以根据需要动态、连续地调整总线的速度,达到降低功耗的目的,这一功能对于节电至上的移动设备来说尤其重要。其次,PCI,E 2.0规范具有访问控制功能,在点对点的数据传输中,软件可以对互连的包路由进行控制,防止黑客通过欺骗、数据重新路由的手段来窃取数据。
PCI-E 2.O经过三年多的推广,已经腾无声息地取代了大部分显卡和主板上的PCI-E 1.O接口。这时新升级的总线协议又即将来到我们面前,这就是今天单向单通道带宽修炼至GB级的PCI-E 3.0总线标准。
新王者降临——PCI-E 3.0草案公布
PCI-E 3.0标准相对于2.0最明显的变化还是速度上的升级。下表就是PCI-E三代总线的原始传输率和数据带宽。而PCI-E 3.0为了在相同物理结构下再次提高数据带宽,对内部协议做了多方面优化和升级。
更新的编码方式
前面提到PCI-E 1.0和2.0总线使用了8b/10b的编码方式来避免串行传输错误——即在每个数据字节(8位)中再加入2位辅助位来提高直流传输特性,避免多周期相同数据传输可能带来的接收同步错误(长时间全O或者全1)。因此数据带宽实际上是原始传输率的4/5。按照这种规律,PCI-E 3.0要将原始传输率提高到10GT/s才能实现相对PCI-E 2.0带宽翻倍的任务。但是经过实际实验分析,PCI-SIG发现10GT/s的原始传输率对PCI-E芯片和电路板布线要求很高,而在相同硬件条件下只有8GT/s能够稳定完成传输任务。
于是,PCI-E 3.0标准放弃了一直沿用的8b/10b编码方式,采用加扰(serambling)的方式保证数据传输。加扰的技术原理是将可能产生恒定电平的01序列用足够多的跳变替代,来满足同步要求。由于加扰不需加入额外的辅助码,这样即使工作在8GT/sT的PCI-E3.0标准也能实现数据带宽上的翻倍,达到8Gb/s。
更强的供电能力
除了总线带宽,PCI—E接口输出功率也成为近几年我们关注的焦点之一,这完全归咎于功耗飙升的GPU。随着GPU集成度的快速提高,其集成度和功率已经远远超过了CPU。比如Athlon X25200+CPU的TDP在90W左右,尚不及Radeon HD4850显卡满载功率(大于200W)的一半。因此PCI-E高性能显卡外接电源已成为常事,并且一路发展到极端的双8pin供电。回头来看看一路走来显卡接口的供电能力,即使PCI-E 2.0也难以满足未来500元~1000元这个主流价位区间显卡的供电。
因此在PCI-E 3.0中,插槽供电能力被一举提高到300W,再结合目前GPU界开始的节能减排风,PCI-E 3.0的300W供电能力估计能够在一段时间内满足大众显卡的要求。至于旗舰GPU和双GPU显卡,仍然需要使用外接供电。
外置显卡走向实际
笔记本电脑的3D性能不甚理想,当PCI-E融入笔记本诞生ExpressCard后,期待在笔记本电脑上玩《Crysis》的发烧友们又重新燃起了希望。既然PCI-E x1的显卡已经诞生,那么在ExpressCard上不是也能发展显卡吗?
没错,华硕和AMD都提出了自己的外置显卡计划和样品。但是由于这些产品最高只能使用PCI-E x8(2.0)双向4GB/s的带宽,只能满足中档显卡的要求。对于一些移动发烧友来说,为了买一台支持外置显卡的高性能笔记本而支付了不菲的价格,却只能使用1000元左右的显卡,显然是不可接受的。好在当外置显卡技术足够成熟后,3.0的PCI-E x8将提供8GB/s的带宽,为这种尴尬的情况带来转机。
扩展协议和优化电气特性
除开速度和供电上的提升,PCI-E 3.O标准也将新增部分扩展功能协议。如最近AMD联合HP就针对PCI-E 3.0提出了两个扩展协议:
一个是多路复用协议,利用主板或者扩展卡上的模块,实现PCI-E和其它7种不同传输协议之间的动态转换。在该协议下,通过PCI-E接口,可以将CPU和GPU通过QPI总线(Intel CPU)或者HT总线(AMD CPU)连接起来,实现更快捷的数据共享。这对未来的CPU+GPU融合芯片是相当有利的。
另一个扩展被称为轻信息。它允许协处理器及外围设备在存储系统的支持下,通过PCI-E接口相互通信,不再经过中央处理器。在此协议支持下,未来进行电脑间大数据量传输时就可以跳过CPU,直接在两块硬盘间进行数据交换。
同时,为了补偿PCI-E通道中传输频率提高带来的数据采集和功耗问题,PCI-E还强化了误码情况下的数据再生能力,优化了动态电源控制,通过提高芯片和布线上的电气性能改善保证高频传输时的数据完整性。
迎接新的挑战
鉴于PCI-E 3.0相对前任的诸多升级,必须对该标准进行足够多的兼容性测试,因此其发布时间也一再跳票,产品要到2010年才可能发布。好在PCI-E 2.0总线标准在一段时间内还能够应付目前的应用情况。从这里我们也看到,系统总线作为连接电脑各部件的桥梁,从来就是防患于未然,始终保持领先主流总线所需带宽一代以上的优势。当我们惊讶于千兆网传输的迅捷、高速固态硬盘那吞噬全部SATA2.0带宽的高速时,不要忘记幕后的PCI-E总线的功劳。
有关PCI-E 3.0的疑问
PCI-E 3.O面市的时间表是怎么样的?
答:首批PCI-E 3.0产品将会在2010年年中发布,但也有可能拖到2011年。
什么是PCI-E扩展协议,以及它们如何改进PCI-E互连性能?
答:PCI-E通讯扩展协议主要是用来改善互连延迟、功耗和平台效率。这些扩展协议为更好地访问平台资源、利用各种计算和I/O密集型应用铺平了道路。有多个协议扩展和增强功能正在开发中,它们的范围包括数据的再利用、原子操作、动态功率调整机制、I/O页面错误等,以及在前面提到的多路复用协议和轻信息扩展。这些协议扩展将应用在新兴平台,体现PCI-E总线的领先地位。
PCI-E 3.O的兼容性如何?
PCI-SIG组织最值得骄傲的就是良好的兼容性,PCI-E 3.0将仍然向下支持之前的标准,无论是在物理接口、时钟架构或者软件上。PCI-E 3.0会向下兼容现有的PCI-E 2.0,因此插槽和接口形式不会发生任何变化,区别只存在于电气规范方面。PCI-E 2.0或1.x的产品插入PCI-E 3.0接口,将以产品的最高性能运行。PCI-E 3.0的产品也会支持8b/10b编码,如果将PCI-E 3.0的产品插入之前版本的接口,就会以插槽所支持的最高数据传输率运行。