我们需要更高速度的总线技术
为了满足我们日益增长的计算需求,处理器的主频越来越高、显卡的速度越来越快、存储系统和网络的性能也越来好……已经在PC系统中服役了十多年的PCI总线面对现在的巨大的数据吞吐量,早已经显得力不从心、不堪重负。
在1997年,AGP总线的出现解放了图形芯片,此后它们以几乎超越CPU的速度发展着。南北桥芯片之间也陆续的采用了专用的互连总线,比如Intel HubLink架构、VIA VLink和SiS MuTIOL-link。服务器和工作站也陆续的在90年代末期开始采用66MHz/64-bit PCI总线,后来升级为PCI-X总线技术。可以看到,我们正在使用的系统中充满了为了突破PCI总线技术而引入的各种不同的互连技术。显然,要构架更高性能、更高效的PC系统,业界需要统一的、高速PCI总线替代技术。
PCI Express发展历程
在2001年春季IDF期间,Intel公司宣布将会开发第三代输入输出技术(3GIO)来取代现有的PCI总线技术。同年8月份,PCI-SIG(PCI特殊兴趣小组)批准了代号为Arapahoe的3GIO标准。次年4月份,PCI-SIG和Arapahoe工作小组完成了3GIO草案,并且正式命名为PCI Exresss。
7月23日,PCI-SIG正式发布了PCI Express 1.0版规范。这其中Intel、ATI、AMD、IBM、HP、Microsoft、TI等核心成员的功不可莫。
PCI Express技术概要
现在我们还在使用的PCI总线属于共享并行结构,PCI Express则采用了点到点的连接技术,也就是说每个设备都有自己专用的连接,不需要向共享总线请求带宽。更加直白的说,PCI Express的目标就是要实现芯片之间的I/O连接、扩展板卡(比如显卡、声卡)的连接,甚至还能提供USB 接口、IEEE 1394接口的连接支持。我们把PCI Express主要技术特性罗列如下:
设备间点对点的串行连接
单针高带宽
弹性总线带宽
低功耗和电源管理功能
支持热插拔、热交换
支持同步数据传输
通过中央I/O桥芯片进行主桥传送或者通过交换器进行对等传送
分包和分层协议机制
支持多虚拟通道每物理通道
端到端和连接层的数据集成
PCI层的错误处理和高级错误报告
采用小尺寸接口,节省空间
软件层兼容PCI
PCI和PCI Express系统对比图
通过“PCI和PCI Express系统对比图”我们可以了解到,PCI Express系统由Root Complex(根联合体)为中心枢纽,各种端点设备(直接或者通过交换器)组合而成。其中紫色的部分所表示的是可以支持PCI设备的PCI桥接设备,通过它可以实现对于老的PCI设备的支持。在进行对等通信的时候,一个端点和直接经过Root Complex同另外一个端点通讯,也可以通过Switch(交换器)同另外一个端点通讯。
PCI Express物理串行连接
最基本的PCI Express连接利用4根连线和低电压差分信号技术实现连接,两根一组分别负责接收和发送。利用PCI Express可以让采用4层PCB板和标准接头设计的设备的连接距离达到20厘米以上。另外,PCI Express还采用了内嵌时钟(8b/10b)编码技术,从而使得其信号串扰、电磁干扰和电容性问题都明显的降低。
PCI Express串行连接配置
x2设备同x1设备通讯
多通道处理
一个PCI Express连接可以由x1、x2、x4、x8、x12、x16、x32组成,每个通道带宽为2.5Gb/s(今年会提升到5Gb/s),理论上最高连接带宽可以达到8-10GB/s。需要指出的是,这样的结构并不等同于并行连接,因为每个通道依然是独立的串行连接。当数据经过一个多通道的PCI Express连接的时候,它会被分流到每一个通道,然后在接收端重组,通过这样的方式来实现带宽配置灵活的连接。
PCI Express分包分层协议
PCI Express包括处理层、数据连接层和物理层这三个协议层,处理层负责拆分和组装数据包、发送读写请求和处理连接设置和控制信号。有了它,数据才得以顺利的实现端到端的通信。数据连接层则用于保证数据完整的从一端传输到另外一端,通过命令应答校验协议技术检验错误并且进行修正。
PCI包处理
PCI Express数据包含4中基本的处理类型:内存、I/O、配置和消息处理。设备之间的数据传送通过请求包和结束包来进行控制,并且采用了特有的流控制机制来保证接收端设备有足够的缓冲资源接收来自发送端的数据。
展望PCI Express
Intel计划让PCI Express成为未来10年PC系统中的标准化I/O连接,我们预计在未来的3年中,这种新的连接规范会逐步的淘汰现有的PCI总线系统,它的种种优良的特性和众多厂商的支持,使得我们对于这个趋势满怀信心。
业内普遍认为PCI Express最先取代的很可能是AGP总线,x16的PCI Express连接就可以提供单向5GB/s的带宽,这将会再次解放GPU处理器的发展。想必大家可以了解,为什么众多计算机设备厂商中对于PCI Express技术最热衷的莫过于显示芯片厂商了(甚于芯片组厂商)。而主流的显示芯片厂商无非是老牌厂商ATI和nVidia,其中ATI在Intel开发3GIO规范之初就成为了intel的紧密的合作伙伴,并且共同开发制订了PCI Express 1.0版规范,nVidia于这个规范正式发布的2月后(2002年9月9日)才成为了PCI Express英特尔开发者网络(Intel Developer Network)的原始成员。同PCI Express核心成员Intel的关系的密切程度和对于新技术的跟进的时间早晚使得不同的厂商对于这项新的技术有了不同层面的理解,因此也导致了不同的实现方式。ATI未来的显示芯片将采用原生方式支持PCI Exress,而nVidia则采用了桥接技术来实现此功能。
总的来说,PCI Express不仅在基本性能上有了显著的提升,还能对于现有的PCI设备提供软件层的兼容,提供了平滑升级的可能。在推广初期,由于成本、不同的厂商的态度和支持程度会影响这项技术的发展速度,但是一旦达到了相当规模,计算机内部总线出现替代效应,最直接将影响芯片组业者在对下端I/O总线的设计,并将延伸至显卡与芯片组之间的总线之取代性,而后更有可能影响目前各芯片组厂商在南北桥的互连总线。最后,PCI Express将会如同PCI取代ISA一样的取代PCI以及其它的一些连接方式。(ATI提供 2004-03-18)