基础篇 ..............................................................................................................................................2
一、PCI 标准的发展历史..........................................................................................................2
二、PCI Express 总线的提出 ....................................................................................................3
三、PCI Express 技术优势 ....................................................................................................5
四、PCI Express 总线的前景 ................................................................................................6
系统架构篇....................................................................................................................................7
一、总体系统架构 ....................................................................................................................7
二、PCI Express 的体系结构 ..............................................................................................10
物理层(Physical Layer)...........................................................................................................10
2. 数据链路层(Link Layer).............................................................................................12
3. 处理层(Transaction Layer) ......................................................................................13
4. 软件层(Software Layer) ...........................................................................................15
物理结构篇..................................................................................................................................15
一、物理结构外观 ..................................................................................................................16
二、台式机 PCI Express 物理接口设计规范.......................................................................18
基础篇
随着 Intel 800MHz FSB 芯片组 i875P 的推出,Intel 同时也向世人显示一个全新的总线技术
即将推出,那就是由 Intel 首先提出并开发的 3GIO 总线。后来这一技术提交 PCI-SIG(PCI
特殊兴趣组织),由 PCI-SIG 改名为"PCI Express",以标准的形式正式推出,目前的最新版本
为 v1.0。本连载就要带大家深入了解这一即将改变整个计算机系统结构、成为下一代总线标准
的总线技术。首先本文要向大家介绍的是一些基础知识。
一、PCI 标准的发展历史
要了解 PCI Express 总线技术的提出原因,我们先来简要回顾一下 PCI 总线的发展历史
目前应用的计算机内部总线技术为 PCI,即"Peripheral 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 技术落后标准将成为下一个 IO 标准,它可工作于各
种不同的物理媒介上,从通用的铜线连接到光纤连接。
三、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 的支持,纷纷想把自己
的总线技术加入到 PCI Express 技术之中,尤其是 Intel 的竞争对手 AMD。由此看来,PCI
Express 总线将一统天下的局面似乎没有什么障碍,但实际上至少在目前为止还远不是说这话
的时候,特别是在服务器和工作站中,因为在其中早已有像 Infiniband 和 PCI-X 总线技术得到
广泛的应用。还有如 RapidIO 和 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 的未来看上去充
满希望。
系统架构篇
在上一篇我们了解了 PCI Express 总线的产生和技术优势,但要真正理解 PCI Express 总线技
术的优越性还得从其结构本身说起,所以本篇就要全面介绍 PCI Express 总线的结构。
一、总体系统架构
在正式了解 PCI Express 串行链接物理和逻辑结构前,先来看一下 PCI Express 系统架构
的方框图。你可以看到 PCI Express 连接器已被移植到系统中的各个不同部分,为将来的高速
设备提供连接点。
PCI Express 的基本结构包括根组件(Root Complex)、交换器(Switch)和各种终端
设备(Endpoint)。根组件可以集成在北桥芯片中,用于处理器和内存子系统与 I/O 设备之间
的连接,而交换器的功能通常是以软件形式提供的,它包括两个或更多的逻辑 PCI 到 PCI 的连
接桥(PCI-PCI Bridge),以保持与现有 PCI 兼容。当然,像 PCI Express-PCI 的桥设备也可
能存在。在 PCI Express 架构中的新设备是交换器(Switch),它取代了现有架构中的 I/O 桥
接器,用来为 I/O 总线提供输出端。交换器支持在不同终端设备间进行对等通信。下图 1 就是
PCI Express 1.0 的拓扑结构图。
图 1
为了便于与现行的 PCI 总线结构进行有效对比,现把两种总线的桌面系统架构并列于下图 2 中。
图 2
在图 中现有的 PCI 架构中,用于显卡的接口为 AGP,而新的 PCI Express 架构中以 PCI
Express 取代了,现有 PCI 架构 I/O 桥接器中的 PCI/PCI-X 桥接器在 PCI Express 架构中全
部以 Switch 交换器取代,增加了一些 PCI Express 总线接口用于与终端设备连接,当然为了