精解PCI Express---基础篇

来源:互联网 发布:淘宝六个差评 编辑:程序博客网 时间:2024/06/06 03:08
基础篇
随着Intel 800MHz FSB芯片组i875P的推出,Intel同时也向世人显示一个全新的总线技术即将推出,那就是由Intel首先提出并开发的3GIO总线。后来这一技术提交PCI-SIG(PCI特殊兴趣组织),由PCI-SIG改名为"CI Express",以标准的形式正式推出,目前的最新版本为v1.0。本连载就要带大家深入了解这一即将改变整个计算机系统结构、成为下一代总线标准的总线技术。首先本文要向大家介绍的是一些基础知识。

  一、PCI标准的发展历史

  要了解PCI Express总线技术的提出原因,我们先来简要回顾一下PCI总线的发展历史

  目前应用的计算机内部总线技术为PCI,即"eripheral Component Interconnect",中文名为"外围组件互连",它是由Intel于1991年提出的(与本文要介绍的PCI-Express总线技术属同一个公司开发的)。后来,PCI-SIG小组接替了Intel的PCI规范的发展,在1993年5月发布了PCI 2.0。那时,PCI的竞争对手是VESA本地总线(VL-bus或VLB),它是由视频电子标准协会提出的32bit总线,在标准的ISA插槽之后提供附加的第三和第四接口,额定频率33MHz,并且能够提供超过ISA。但是当时作为486处理器/内存总线的直接扩展,VESA是运行在与处理器相同的频率上,因此名为"本地总线",这种直接的扩展意味着如果连接的设备过多,则很可能会干扰处理器自身的工作,特别是当信号通过一个插槽时。于是VESA标准中建议在33MHz频率上只使用2个插槽,或者在总线使用电子缓冲时使用3个。在更高的频率上不能连接2个以上的设备,而在50MHz时它们则必须都内建于主板内。

  由于VESA与处理器同步工作,因而随着处理器频率的提高,VESA总线类型的外围设备工作频率也得随着提高,但是外围设备要求的速度越高,其造价也就更高,对外围设备的生产成本控制造成了极大的不利。因此,VESA只能工作在40MHz以内的频率上。
当时与VESA竞争的PCI总线技术,相对VESA来说优势非常明显,因为它是一种中间性的总线,独立于CPU,但又与主内存相连。同时PCI总线能够与处理器异步运行,额定频率为25MHz、30MHz和33MHz。当处理器的频率增加时,PCI总线频率仍然能够保持不变。PCI允许的最大插槽数或外部设备数为5个或者更多,而且还不必考虑总线速度、缓冲或其它电器问题的限制。

  其它的特点则使得设备的使用更加简便。即插即用功能让系统自动进行外围设备的设置,而不必再手动设置IRQ跳脚、DMA和IO地址。它还允许IRQ共享,有自己的中断系统。

  最后,PCI总线上的数据传输是不经过CPU,而直接处理,这样降低了潜伏期和处理器的使用率。

  PCI总线的真正应用是随着Intel的Pentium处理器的诞生而开始的,由于在当时与其竞争对手VESA相比优势非常明显,使其很快在1994年成为这场总线之争的胜利者并统一了标准,从此以后,几乎所有的外围设备,从硬盘控制器、声卡到网卡和显卡,都使用PCI插槽。

  二、PCI Express总线的提出

  因为PCI Express总线技术的提出是基于现行PCI总线技术的诸多不足而开始的,所以在此先分析研究一下现行PCI总线存在哪些不足之处。

  PCI总线技术自上世纪90年代初期开始至今已为我们服务了10年有余。在这10多年中它的发展步伐相对来说是缓慢的,总的来说PC总线是每3年性能提高一倍,从最初的8位PC/XT、16位的ISA总线、32位的EISA和MCA、VL总线到PCI、64位PCI-/66MHz、PCI-X,而处理器却通常是每个摩尔周期性能就要提高一倍(一个摩尔周期为18个月)。正是这种技术发展上的不同步,使得PCI总线慢慢成为了整个系统的瓶颈。

  虽然PCI总线技术至今仍是主流,但实际上就其本质来说它早在几年前就显得力不从心了。高性能的图形芯片在5年前就第一个从PCI总线中分离出来,形成单独一种总线技术,那就是AGP(图形加速处理)。到了1997年,PCI总线已经成为了图像数据传输最大的瓶颈,于是,在Intel的440LX芯片组中,AGP(图形加速接口)出现了,目的有两个:提升显卡的性能和将图像数据从PCI总线中独立出来,PCI被解放出来供其它设备使用。

  同时随着RAID阵列,千兆以太网和其他高带宽设备在消费级系统上的出现,PCI 133MB/s的带宽明显不能满足这些应用的需要了。芯片组制造商们已经预见到这种限制所带来的问题,并且对主板芯片组作了一系列改进以减轻PCI总线的负担。在旧式的芯片组,如Intel的440系列中,只使用一条PCI总线来连接北桥芯片和南桥芯片,这条PCI总线不仅要应对南北桥之间的通信,还有普通的PCI设备、IDE、各种I/O(串口、并口、PS/2)和USB设备的通信。为了改善这种情况,Intel、VIA和SiS用新型的高速连接方式取代了南北桥之间的PCI总线,然后让IDE、各种I/O和USB分别使用专用连接方式连接到南桥芯片。如Intel自800系列芯片组开始采用HubLink连接技术,AMD的芯片组之间采用HyperTransfor技术代替原来一直采用的133MB/s PCI总线。VIA和SiS芯片组南北桥之间分别采用各自的Via-Link和MuTIOL芯片连接技术。如图1所示的就是目前的一种典型的主板芯片架构,从这个架构图中我们可以十分清楚地看出各种I/O子系统之间几乎都采用不同的总线技术在
连接。

在90年代后期,在服务器和工作站中的高速磁盘和网络适配器开始向66MHz/64位的PCI总线转移,于是又形成了PCI-X新总线标准,不久PCI-X 2.0标准也出现了。接下来在系统内部南、北桥芯片之间的总线技术也开始绕过PCI采用其它总线技术,在外设接口方面更是早已不再采用PCI总线,在芯片组南桥中都基本集成了EIDE、USB和10/100MB/s以太网接口。所以,今天我们的计算机系统无论是在计算机内部,还是在外部,各自为政的总线技术混在一起,统一总线标准和提高总线带宽已是当务之急。

  并行PCI总线主要受到以下几方面的性能限制:它的数据传输速度只有133MB/s,根本不能满足现在复杂多媒体数据实时传输的需求。另外它不能随着主频的提高或者电压的降低而灵活调整传输速;它的同步时钟数据传输受单一上升沿限制,而信号路由规则又受到经济的FR4技术(注:FR4是一种板材技术)的制约,接口引脚过多,不利于将来发展。所有这些限制都促使建立一个更高带宽、通用的I/O总线。

  今天,软件应用越来越依靠硬件平台,特别是I/O子系统。各种不同的音、视频数据流应用在桌面和笔记本电脑来台中应用已非常普遍,但是在目前来说带宽仍是制约其应用的主要因素,仍未有一个完全的解决方案,无论是PCI2.2,还是PCI-X。在服务器中,实时音、视频应用在服务器中也受到严重限制。许多通信应用和高级PC控制系统同样需要实时的数据。今天的桌面PC平台中,都必须面对在同一时刻处理来自不同连接的并发数据传输的挑战。尽管许多用户对他们现有计算机系统在邮件收发、文档处理、电子表格制作、更多的互联网和商业应用等诸方面都表示非常满意,但随着计算机应用领域的不断扩大,仍然有许多当前和潜在的任务需要更快的处理器、图形处理、网络和存储子系统,而这些要求最终的结果就是在这些子系统之间需要更快的连接。如我们的计算机正日益成为家庭数码中心,执行许多复杂的内容制作和数据操作任务,包括视频编辑和编码、图像合成处理。高清晰度电视编码、24位/96KHz采样频率的多声道单频的捕获和回放,和一些实时3D游戏。还有如真实声音识别和同步、强大而又精确的生物测定,和先进的加密技术。高端PC和工作站将被用来处理更多科学计算和工程计算,高质量的3D动画影片制作和编译,先进的金融体系,和许多其它复杂工程。

  正是基于PCI以上这些种种不足和计算机的应用需求,Intel提出了替代PCI总线的新总线技术--PCI Express。在2001年春节的Intel开发者大会上,Intel展示在将用来替代PCI总线和各种不同内部芯片连接的第三代I/O总线技术,当时Intel称之为"3GIO",意为"第三代I/O标准"。根据Intel的说明,这个3GIO技术落后标准将成为下一个10标准,它可工作于各种不同的物理媒介上,从通用的铜线连接到光纤连接。
三、PCI Express技术优势

  PCI Express之所以能迅速得到业界的承认,并且被大家公认为下一代10年总线标准,它具有鲜明的技术优势,它可以全面解决PCI总线技术所面临的种种问题。有专家预计,PCI Express的设计不只要取代PCI及AGP的插槽,同时也会是一些电脑内部系统连接接口,如处理器、绘图、网络及磁盘的I/O子系统芯片间的连接。下面就来具体介绍这个新总线技术有哪些关键技术优势:
  ·在两个设备之间点对点串行互联(两个芯片之间使用接口连线;设备之间使用数据电缆;而PCI Express接口的扩展卡之间使用连接插槽进行连接);
  与PCI所有设备共享同一条总线资源不同,PCI Express总线采用点对点技术,能够为每一块设备分配独享通道带宽,不需要在设备之间共享资源,这样充分保障了各设备的宽带资源,提高数据传输速率;

  ·双通道,高带宽,传输速度快,
  在数据传输模式上,PCI Express总线采用独特的双通道传输模式,类似于全双工模式,大大提高了数据舆速度。在传输速度上,1.0版本的PCI Express将从每个信道单方向2.5Gbps的传输速率起步,而它在物理层上提供的1~32速可选信道带宽特性更使其可以轻松实现近乎"无限"的扩展传输能力。

  ·灵活扩展性、
  与PCI不同,PCI Express总线能够延伸到系统之外,采用专用线缆可将各种外设直接与系统内的PCI Express总线连接在一起。这样可以允许开发商生产出能够与主系统脱离的高性能的存储控制器,不必再担心由于改用FireWire或USB等其它接口技术而使存储系统的性能受到影响。

  ·低电源消耗,并有电源管理功能
  这主得益于PCI Express总线采用比PCI总线少得多的物理结构,如单x1带宽模式只需4线即可实现调整数据传输,实际上是每个通道只需4根线,发送和接收数据的信号线各一根,另外各一根独立的地线。当然实际上在单通道PCI Express总线接口插槽中并不是4针引脚,而是18针,这其余的14针都是通过4根芯线想互组合得到的。由于减少了数据传输芯线数量,所以它的电源消耗也就大降低了。

  ·支持设备热拨插和热交换
  PCI Express总线接口插槽中含有"热拨插检测信号",所以可以像USB、IEEE 1394总线那样进行热拨插和热交换。

  ·支持QoS链接配置和公证策略

  ·支持同步数据传输
  PCI Express总线设备可以通过主机桥接器芯片进行基于主机的传输,也可以通过交换器进行点对点传输;
·具有数据包和层协议架构
  它采用类似于网络通信中的OSI分层模式,各层使用专门的协议架构,所以可以很方便地在其它领域得到广泛应用。

  ·每个物理链接含有多点虚拟通道
  类似于InfiniBand,PCI Express总线技术在每一个物理通道中也支持多点虚拟通道,理论上来讲每一个单物理通道中可以允许有8条虚拟通道通道进行独立通信控制,而且每个通信的数据包都定义不同的QoS。正因如此,它与外设之间的连接就可以得到非常的数据传输速率。

  ·可保持端对端和链接级数据完整性
  这是得益于PCI Express总线的分层架构,具体将在下篇介绍。

  ·具有错误处理和先进的错误报告功能
  这也是得益于PCI Express总线的分层架构,它具有软件层,软件层的主要功能就是进行错误处理和提供错误报告,具体将在下篇介绍。

  ·使用小型连接,节约空间,减少串拢
  PCI Express技术不需要像PCI总线那样在主板上布大量的数据线(PCI使用32或64条平行线传输数据),与PCI相比,PCI Express总线的导线数量减少了将近75%(PCI Express总线也会有好几种版本的),速度会加快而且数据不需要同步。同时因为主板上走线少了,从而可以使通过增加走线数量提升总线宽度的方法就更容易实现,同时各走线之间的间隔就可以更宽,减少了相互之间的串扰。

  ·在软件层保持与PCI兼容
  跨平台兼容是PCI Express总线非常重要的一个特点。目前被广泛采用的PCI 2.2设备可以在这一新标准提供的低带宽模式下运行,不会出现类似PCI插卡无法在ISA或者VLB插槽上使用的问题,从而为广大用户提供了一个平滑的升级平台。同时由IBM创导的PCI-X接口标准在PCI Express标准中也得到了兼容,但要注意的是它不兼容目前的AGP接口。
  鉴于如此众多的优势,大家都认为PCI Express将成为今后10年内的主要内部总线连接标准,它不但将被用在台式机、笔记本电脑以及服务器平台上,甚至会继续延伸到网络设备的内部连接设计中
四、PCI Express总线的前景

  PCI-Express体系结构符合第三代I/O总线的所有需求。PCI-Express的不同就在于点对点的串行连接,可以使用更少的数据线提供更高的连接速度。它可以为任何带宽需求的应用以每针100MB/s的速度进行传输。它的先进特征的自由缩放性能将及成为统一的I/O方案而全面进入台式机、笔记本电脑、服务器、通信、工作站的内置设备等领域。PCI-Express连接是执行多通道、点对点连接的,而多通道可以用来建立I/O之间的互联,而使带宽得到成倍地增加。这种I/O之间的互联可以使系统之间的发割变得非常容易,其成本与当前工作PCI架构相当,甚至更少。并且PCI-Express与现在的PCI软件保持兼容,这样有利于在将来的系统中得到综合。

  随着PCI-SIG颁发PCI Express 1.0以来,几乎没有谁会再怀疑PCI Express将是下一代总线标准。不仅原有的PCI、AGP总线拥戴者如此,就连许多各种不同的系统内部总线开发者,如AMD、VIA、SIS、ATi、nVIDIA等都无不提出对PCI Express的支持,纷纷想把自己的总线技术加入到CPI Express技术之中,尤其是Intel的竞争对手AMD。由此看来,PCI Express总线将一统天下的局面似乎没有什么障碍,但实际上至少在目前为止还远不是说这话的时候,特别是在服务器和工作站中,因为在其中早已有像Infiniband和PCI-X总线技术得到广泛的应用。还有如RapdIO和Intel自己的超线程技术等。

  正如PCI Express工作小组Arapahoe所说的那样,以上所说的这些解决方案面向的目标与PCI Express总线不同。RapidIO和超线程技术是针对那些特殊的应用,而PCI Express则是为一般应用所设计的。PCI Express取代超线程技术而作为处理器之间接口的可能性也几乎是不存在的,因为PCI Express缺乏高速缓存一致性协议,在同步时钟周期内高于并行接口的潜伏期也使它不适于此类应用。所以,AMD和nVidia没什么可害怕的,Intel也不会用它来取代P4总线,因为一个开放的PCI Express标准意味着Intel无法再为P4总线授权问题而起诉其他第三方芯片组厂商。

  但是PCI Express仍有着巨大的发展潜力,它在一般用途的定位使其在灵活性方面具有明显的优势,而且这确保了它有着广阔的应用前景。

  由于有着许多改变,所以从PCI到PCI Express的转变不会在一夜之间完成。ISA插槽挣扎了近10年才最后被PCI总线全面取代而消失,所以不要认为你的PCI设备已经落伍了。

  PCI Express底板1.0a规范和板卡电气1.0a规范都已经发布了,但我们要等到2004年才能看到真正的PCI Express产品,在桌面机和服务器中全面采用PCI Express接口的设备更不是近两、三年可以出现的。或许最开始是nVidia和ATi的显卡产品以及基于Grantsdale芯片组的Intel主板。在服务器终端市场,Intel想要通过Lindenhurst和Twin Castle芯片组来引进PCI Express。由于各种新的因素和富有前途的性能表现,PCI Express的未来看上去充满希望。
原创粉丝点击