分享
 
 
 

精解PCI Express

王朝厨房·作者佚名  2007-01-05
窄屏简体版  字體: |||超大  

基础篇

随着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子系统之间几乎都采用不同的总线技术在

连接。

[img:bd73e0a028]http://www.yesky.com/image20010518/48610.jpg[/img:bd73e0a028]

在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的未来看上去充满希望。

轩辕砍刀 回复于:2003-09-26 14:49:54

系统架构篇

在上一篇我们了解了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的拓扑结构图。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49050.gif[/img:e3ee3fd64b]

图1

为了便于与现行的PCI总线结构进行有效对比,现把两种总线的桌面系统架构并列于下图2中。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49051.gif[/img:e3ee3fd64b]

图2

在图中现有的PCI架构中,用于显卡的接口为AGP,而新的PCI Express架构中以PCI Express取代了,现有CPI架构I/O桥接器中的PCI/PCI-X桥接器在PCI Express架构中全部以Switch交换器取代,增加了一些PCI Express总线接口用于与终端设备连接,当然为了保持与现有PCI兼容,在第一版PCI Express架构中仍保留CPI接口。

PCI Express总线技术将全面应用于桌面/移动和服务器系统中,但各自的体系结构不完全相同,如图3左图所示的是桌面机和移动笔记本电脑中使用PCI Express总线的系统架构,而图3右图所示的是服务器和工作站中使用PCI Express总线的系统架构。除此之外,在网络中同样可以以使用PCI Express总线技术进行通信,结构图如图4所示。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49053.jpg[/img:e3ee3fd64b]

图3

从图3中的两个应用架构比较可以看出,PCI Express总线技术在服务器和工作站中的应用更为彻底,在服务器/工作站中除了内存子系统与芯片组之间的通信外,其它都是采用PCI Express总线来与芯片连接的,而在桌面机中在目前来说还主要是取代显卡中的AGP总线和其它PCI板卡,如网卡,至于硬盘和外设接口都仍是采用相应的总线接口直接与芯片组连接。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49054.jpg[/img:e3ee3fd64b]

图4

从图中可以看出,PCI Express总线在网络中的应用也是非常彻底的,除了内存子系统外,几乎所有的外设及内置板卡都是直接或者间接通过PCI Express总线与芯片组连接的。

综上所述,目前来说PCI Express总线主要还是先从服务器、工作站和网络设备得到彻底应用,在桌面机中主要以先取代AGP和部分PCI接口开始。

二、PCI Express的体系结构

PCI Express体系结构采用分层设计,就像网络通信中的七层OSI结构一样,这样利于跨平台的应用。

PCI-Express体系结构如图5所示。它共分为四层,从下到上分别为:物理层(Physical Layer)、数据链路层(Link Layer)、处理层(Transaction Layer)和软件层(Software Layer)。图中的“S/W”和“Config/OS”均属于软件层。

PCI Express的体系结构兼容于PCI地址结构模式,使得所有已有应用和驱动程序均不需作任何修改即可应用到新总线系统中。PCI-Express配置使用标准的PCI即插即用规格标准。下面对以上各层分别进行具体介绍。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49055.jpg[/img:e3ee3fd64b]

1. 物理层(Physical Layer)

物理层是最低层,它负责接口或者设备之间的链接,是物理接口之间的连接,可对应于网络中OSI七层模式中的物理层来理解。

物理层决定了PCI Express总线接口的物理特性,如点对点串行连接、微差分信号驱动、热拨插、可配置带宽等。初始的单一串行PCI Express链接包含两个低电压微分驱动信号对(4线的接收和发送对)的双向连接,即“发送”和“接受”信号。数据时钟使用8/10b解码方式来达到相当高的数据速率(这一技术同时也在其它串行总线技术中,如InfiniBand和RapidIO),时钟信息直接被编码成数据流,比起分离信号时钟更好。。微分信号受两个不同方向的电压驱动,初始PCI Express的链接信号发送速率为单线每个方向2.5GB/s,预计到2004年可达到5GB/s的信号传输速率,使用先进的硅技术把数据传输速率提高到10GHz(达到铜线传输的理论上最大值)。双向连接允许数据在两个方向上同时传输,类似于全双工连接,如电话系统,但是在双向传输中,各自都有自己的地线,而不像双工传输那样采用公共地线,在双向连接中可得到高速、更好质量的传输信号。单线双向信号线及传输流程如图6所示。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49057.jpg[/img:e3ee3fd64b]

图6

在图中的两个红色箭头代表两个不同的方向(发送和接收)的数据包,从图中可以看出,单线数据传输每个方向只需2要芯线,即一根数据传输线,一根为地线。

PCI Express链接可以配置为x1、x2、x4、x8、x12、x16和x32信道带宽,x1带宽的链接包含4条线,x16带宽信道每个方向就有16个不同的信号对,或者64根信号芯线用于双向数据传输;终极的x32带宽信道每个方向可以提供10GB/s的数据传输速率,但是在采用8位/10位编码方式的情况下,实际速率只可达8GB/s,留有20%富余。PCI Express体系结构可以通过速度的提高和先进的编码技术来升级,但这些速度的提高、编码的改进和媒介的改变均只影响物理层,所以对于整个PCI Express架构来说升级是非常方便的。

如图7所示的是PCI Express总线数据流传输示意图。图的左边显示的是单信道情况下数据流的传输方式,因为PCI Express属于点对点串行连接,所以在单信道情况下,数据流是一个字节一个字节地传输。在图的右边显示的是多信道情况下PCI Express总线数据流的传输情况。因为有多外信道,所以数据可以依次传输到各个信道,加快了整个数据传输的速度,提高了数据传输效率,这有点类似于网络中的磁盘阵列。

不过在此要注意的一点是,连接的双方信道配置要一致,不可不对称配置,也就是说说两个方向的信道数要相等。这主要是PCI Express接口在外设中的应用情况下需要着重考虑的,在计算机内部,通常两上PCI Express设备之间不会有什么通信请求,如显卡与网卡之间。有些工业分析家建议在第一代用于替代AGP总线的PCI Express图形总线应该采用非对称设计,来取代原有的16信道同步连接计划,因为他们认为从图形卡向系统内存传输的数据会更少些。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49058.jpg[/img:e3ee3fd64b]

图7

在物理层的另一处重要方面就是中断。

PCI Express支持两个类型的中断,现行的PCI INTx (x= A, B, C, or D) 中断被保留下来了,仍可在PCI Express总线中应用。还有一个新的中断类型,那就是MSI (Message Signaled Interrupt,信息信号中断),MSI中断可以进一步优化PCI .2/2.3设备。INTx中断方式可以用信号方式中断主机芯片请求,它可以与现行的PCI总线的驱动程序和操作系统兼容。PCI Express设备必须支持INTx和MS两种中断模式,原有设备将压缩INTx中断信息在PCI Express处理信息中。MSI中断是通过内存写处理操作边沿触发和发送的。重新编写驱动程序对于MSI边沿触发中断是非常有利的,MSI方案在使用数据包协议通过串行链接中是一种行之有效的本地中断方式。MSI在多处理器系统中任何设备都可以发送中断,比起主机直接发送中断更加有效,所以现在许多多处理器系统和I/O架构都对MSI中断技术提供支持。

2. 数据链路层(Link Layer)

数据链路层的主要职责就是确保数据包可靠、正确传输。它的任务是确保数据包的完整性,并在数据包中添加序列号和发送冗余校验码到处理层。大多数数据包是由处理层发起的,基于信任,数据流控制协议确保数据包只在终端缓存空闲时传输。排队了所有数据的重试,使得信道带宽浪费现象得到有效地约束。但数据链路层在信号中断时自动重新传输数据包。传输过程如图8所示。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49060.jpg[/img:e3ee3fd64b]

图8

3. 处理层(Transaction Layer)

处理层的作用主要是接受从软件层送来的读、写请求,并且建立一个请求包传输到链接层。所有请求都是分离执行,有些请示包将需要一个响应包。处理层同时接受从链路层传来的响应包,并与原始的软件请求关联。处理层还整合或者拆分处理级数据包来发送请求,如数据读、写请求,并且操纵链接配置和信号控制。以确保端到端连接通信正确,没有无效数据通过整个组织(包括源设备和目标设备,甚至包括可能通过的多个桥接器和交换器)。

在PCI Express总线技术中,数据包类型主要有两种,那就是由处理层发起的“处理层数据包”(Transaction Layer Packet,TLP)和“数据链路层数据包”(Data Link Layer Packet,DLLP)。每个数据包都有一个可以使响应包定向于正确发起者的唯一标识符,包的格式支持32位内存地址和扩展64位内存地址。包同时还有如“非窥探”、“无严格排序”和“优先权”等属性,这些属性将应用于优化路由I/O子系统的数据包。

处理层包括4个地址空间,其中3个是PCI接口原有的,如内存、I/O和配置地址空间,另一外新PCI-Express接口新加的,它就是“信息空间”。PCI2.2标准中介绍不断变化的系统中断宣传的方法称之为“信息信号中断”(Message Signaled Interrupt,MSI)。这里特殊规格格式的内存写事物代替无边信号硬写,如中断、电源管理请求、复位等等有关信息方面。另一个PCI2.2标准的特殊循环,如中断响应也属于信息执行范畴。你可以把PCI-Express信息称之为“虚拟线”,因为它们的影响将消除现有执行平台中的广阔无限频带信号的排列。这几个地址空间类型的用途如下表所示。

不同地址空间的传输类型

地址空间 处理类型 基本用途

内存 读/写 处理来自或发送到内存中的数据

I/O 读/写 处理来自或发送到I/O节点中的数据

配置 读/写 设备配置或者设置

信息 基线/供应商定义/先进交换 处理从事件信号机制到通用目信息的所有信息

PCI Express使用数据包和层协议结构,而不需任何边带及旁路主流串行连接信号。层协议已经在数据通信中使用多年,它们允许在不同协议的功能区域中保持分离,而且可以不用做任何改动更新或者浓缩在其它不同层中。如新的处理类型可以包括在新的协议版本中,而不会影响下面的层,或者物理媒介可以被更换,而不会对更高层有大的影响。

下图9说明了PCI Express的3个协议层(处理层、数据链路层和物理层)在数据传输中的作用,数据流从一个设备的处理层发起,经过数据链路层,到物理的总线接口设备,然后通过相应的PCI Express数据电缆传输到另一设备的物理层设备,经过另一设备的数据链路层再传到处理层进行处理,第一层都代表一个协议栈。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49061.jpg[/img:e3ee3fd64b]

图9

图10显示了数据包在两个设备中传输的实际流程,高层数据包信息被压缩在低层封装包中,应用级数据最终在数据包的核心位置。处理层在端到端的数据传输中使用32位冗余校验码,在数据链路层是使用16位校验码的。处理层数据包头包括许多控制信息和端到端传输数据。

PCI Express处理层使用基于信任的流控制机制来确保接收设备有足够的缓存资源用于接受从发送端设备所传输的数据大小和类型。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49062.jpg[/img:e3ee3fd64b]

图10

讲到数据处理,再来讲一下PCI Express总线接口中新的结构,那就是虚拟通道(Virtual lan)。类似于InfiniBand,PCI Express总线技术在每一个物理信道中也支持多点虚拟通道,理论上来讲每一个单物理信道中可以允许有8条虚拟通道信道进行独立通信控制。每个通信的数据包都定义不同的QoS,如图11所示。当数据包通过PCI Express组织传输时,在每个交换器或者链接终端,数据包的基本传输信息和传策略可以得到应用。传输信息在数据包包头,它包括3位代码,可以描述8个不同的传输信道。

[img:e3ee3fd64b]http://www.yesky.com/image20010518/49063.jpg[/img:e3ee3fd64b]

图11

4. 软件层(Software Layer)

软件层被称为最重要的部分,因为它是保持与PCI总线兼容的关键。其目的在于使系统在使用PCI Express启动时,像在PCI下的初始化和运行那样,无论是在系统中发现的硬件设备,还是在系统中的资源,如内存、I/O空间和中断等,它可以创建非常优化的系统环境,而不需要进行任何改动。在PCI-Express体系结构中保持这些配置空间和I/O设备连接的规范稳定是非常关键的。事实上,在PCI-Express平台中所有操作系统在引导时都不需要进行任何编辑,也就是说在软件方面完全可以实现从PCI总线平稳过渡。

在软件响应时间模式方面,PCI-Express体系结构支持PCI的本地存储、共享内存模式,这样所有PCI软件在PCI-Express体系中运行都不需任何改变。当然新的软件可能包括新的特性。

轩辕砍刀 回复于:2003-09-26 15:02:52

物理结构篇

在前两篇中,我们对PCI Express总线技术的基础知识及系统架构部分作了详细的介绍,本篇就要带大家认识PCI Express总的物理结构,以及常见的PCI Express设备,见识一下PCI Express设备的庐山真面目。

一、物理结构外观

PCI-Express接口标准更少的信号线更加有利于I/O子系统的改进,并且使新的系统模块更加方便加入。改进的设计包括以下几个方面:PCI-Express接口是基于现有PCI结构的主板旁加一个PCI接口一半长的子接口;更高连接带宽,如在一个物理卡中可以支持到最多16条连接,将用新的连接器替代旁边的PCI或者AGP连接器。这是早期工程师和技术人员所采用扩展的方式,在PCI总线插槽终端添加一段专用地址,以使同时可以支持PCI和CPI Express接口的设备,就像EISA接口可以同时支持EISA和ISA卡一样。如图1所示。

[img:e844ed9eac]http://www.yesky.com/image20010518/51280.gif[/img:e844ed9eac]

图1

但后来随着多信道PCI Express总线技术的发展,在高带宽模式下如果仍采用上述在PCI接口附加的方法显然行不通,于是工程师们又设计出一种完全独立于PCI总线的全新总线结构。下图2所示的是x1和x16模式的插槽结构与现行PCI总线插槽结构的对比图。因为它不同于PCI结构,也不是在原有PCI接口前、后附加端子,原来的PCI设备也就不能插在PCI Express新接口中,所以在近期的主板板上为了保持与原有总线系统结构相兼容,必须在主板上留有一定的PCI插槽。

[img:e844ed9eac]http://www.yesky.com/image20010518/51281.gif[/img:e844ed9eac]

图2

在服务器中因为这类PCI Express卡较多,所以通常采用专用集线板集中安装这些板卡设备,如图3所示。由此系统结构也可以看出,PCI Express总线将在服务器中得到更为广泛的应用。

[img:e844ed9eac]http://www.yesky.com/image20010518/51283.gif[/img:e844ed9eac]

图3

PCI-Express标准除了将替代AGP和PCI卡外,其它形式的产品也正在积极的发展之中。PCIMCIA工业组织已经宣布在PC接口卡下一步发展一种新规格的连接卡。新规格将把桌面机和笔记本电脑的外置的接口标准进行统一。在未来几年的发展中,新卡标准的目标将朝着小型化的方向发展,以满足轻薄型笔记本和未来台式机设计需求。新卡的下一步发展将结合体积更小,在可靠性和易用性方面更强。新卡支持在笔记本电脑和台式机共享设备之间热拨插,类似于USB设备可以共享一样。新标准将是一个自由的开放系统。

PCI-SIG日前宣布已完成PCI Express技术新规格的制定工作,新规格PCI Express Mini Card是将PCI Express技术面向移动平台扩展而成。该规格有望成为目前实际应用于移动终端的Mini PCI规格的后续规格,它补充了PCI Express Card的要素,并有望应用于按照移动终端的BTO(按单定制)及CTO(按单配制)商业模式生产的有线及无线外设。

PCI Express Mini Card规格制定工作的完成,标志着业界在PCI Express技术开发领域取得了重大进展,该规格将使PCI Express技术的价值扩展到移动市场领域。PCI Express技术工作组负责人Ajay Bhatt表示:PCI Express Mini Card规格的发布,扩大了PCI Express技术开发的应用空间,还可引发业界的兴趣。该规格最初主要面向移动计算市场所需的外设,后经业界主要OEM和IHV(独立硬件制造商)的努力完善而成。

如图4所示的是目前PCI-SIG组织已确定的有关PCI Express总线接口、连接电缆和设备外观,以及其应用领域图示。从图中要吧清楚地看出各带宽模式下的PCI Express总线接口插槽和连接电缆外观。

[img:e844ed9eac]http://www.yesky.com/image20010518/51284.jpg[/img:e844ed9eac]

图4

二、台式机PCI Express物理接口设计规范

为了使大家对PCI Express插槽接接口物理结构有一个基本的了解,五面将列举x1、x4、x8、x16几种带宽模式下的PCI Express插槽接接口物理结构中各针脚定义。x1模式下的插槽针脚下定义如下表1所示。

表1 x1模式PCI Express总线接口插槽针脚定义 针号 B面 A面

[list:e844ed9eac]名称 说明 名称 说明

1 +12v +12v电压 PRSNT1# 热拨插存在检测

2 +12v +12v电压 +12v +12v电压

3 RSVD 保留针脚 +12v +12v电压

4 GND 地 GND 地

5 SMCLK 系统管理总线时钟 JTAG2 测试时钟、JTAG接口输出时钟

6 SMDAT 系统管理总线数据 JTAG3 测试数据输出

7 GND 地 JTAG4 测试模式选择

8 +3.3v +3.3.v电压 JTAG5 测试模式选择

9 JTAG1 测试复位,JTAG接口复位时钟 +3.3v +3.3.v电压

10 3.3vaux 3.3v辅助电源 +3.3v +3.3.v电压

11 WAKE# 链接激活信号 PWRGD 电源准备好信号

12 RSVD 保留针脚 GND 地

13 GND 地 REFCLK+ 差分信号对的参考时钟

14 HSOp(0) 0号信道发送差分传输信号对 REFCLK-

15 HSOn(0) GND 地

16 GND 地 HSlOp(0) 0号信道接收差分信号对

17 PRSNT2# 热拨插存在检测 HSln(0)

18 GND 地 GND 地 [/list:u:e844ed9eac]

x4带宽模式下相对x1模式下附加的针脚定义如下表2所示。

表2 x1模式附加针脚定义 针号 B面 A面

[list:e844ed9eac]名称 说明 名称 说明

19 HSOp(1) 1号信道发送差分信号对 GND 地

20 HSOn(1) HSip(1) 1号信道接收差分信号对

21 GND 地 HSin(1)

22 GND 地 GND 地

23 HSOp(2) 2号信道发送差分信号对 GND 地

24 HSOn(2) GND 地

25 GND 地 HSip(2) 2号信道接收差分信号对

26 GND 地 HSin(2)

27 HSOp(3) 3号信道发送差分信号对 GND 地

28 HSOn(3) GND 地

29 GND 地 HSip(3) 3号信道接收差分信号对

30 RSVD 保留针脚 HSin(3)

31 PRSNT2# 热拨插存在检测 GND 地

32 GND 地 RSVD 保留针脚 [/list:u:e844ed9eac]

X8模式相对x4模式下附加的针脚定义如下表3所示。

表3 x4模式附加针脚定义 针号 B面 A面

名称 说明 名称 说明

33 HSOp(4) 4号信道发送差分信号对 RSVD 保留针脚

34 HSOn(4) HSip(4) 4号信道接收差分信号对

35 GND 地 HSin(4)

36 GND 地 GND 地

37 HSOp(5) 5号信道发送差分信号对 GND 地

38 HSOn(5) GND 地

39 GND 地 HSip(5) 5号信道接收差分信号对

40 GND 地 HSin(5)

41 HSOp(6) 6号信道发送差分信号对 GND 地

42 HSOn(6) GND 地

43 GND 地 HSip(6) 6号信道接收差分信号对

44 GND 地 HSin(6)

45 HSOp(7) 7号信道发送差分信号对 GND 地

46 HSOn(8) GND 地

47 GND 地 HSip(7) 7号信道接收差分信号对

48 PRSNT2# 热拨插存在检测 HSin(7)

49 GND 地 GND 地

X16模式相对x8模式下附加的针脚定义如下表4所示。

表4 x4模式附加针脚定义 针号 B面 A面

[list:e844ed9eac]名称 说明 名称 说明

50 HSOp(8) 8号信道发送差分信号对 RSVD 保留针脚

51 HSOn(8) GND 地

52 GND 地 HSip(5) 8号信道接收差分信号对

53 GND 地 HSin(8)

54 HSOp(9) 9号信道发送差分信号对 GND 地

55 HSOn(9) GND 地

56 GND 地 HSip(9) 9号信道接收差分信号对

57 GND 地 HSin(9)

58 HSOp(10) 10号信道发送差分信号对 GND 地

59 HSOn(10) GND 地

60 GND 地 HSip(10) 6号信道接收差分信号对

61 GND 地 HSin(10)

62 HSOp(11) 11号信道发送差分信号对 GND 地

63 HSOn(11) GND 地

64 GND 地 HSip(11) 11号信道接收差分信号对

65 GND 地 HSin(11)

66 HSOp(12) 12号信道发送差分信号对 GND 地

67 HSOn(12) GND 地

68 GND 地 HSip(12) 12号信道接收差分信号对

69 GND 地 HSin(12)

70 HSOp(13) 13号信道发送差分信号对 GND 地

71 HSOn(13) GND 地

72 GND 地 HSip(13) 13号信道接收差分信号对

73 GND 地 HSin(13)

74 HSOp(14) 14号信道发送差分信号对 GND 地

75 HSOn(14) GND 地

76 GND 地 HSip(14) 13号信道接收差分信号对

77 GND 地 HSin(14)

78 HSOp(15) 15号信道发送差分信号对 GND 地

79 HSOn(15) GND 地

80 GND 地 HSip(15) 15号信道接收差分信号对

81 PRSNT2# 热拨插存在检测 HSin(15)

82 RSVD 保留针脚 GND 地 [/list:u:e844ed9eac]

对比以上各表可以看出,各种带宽模式下的PCI Express总线接口插槽主要区别在于信道的多少,而主要控制功能是在0号信道的模式下,其它模式下的插槽是在0号信道基础附加一些发送和接收差分信号对连接,以及相应的地线。

斜晖 回复于:2003-09-26 15:30:16

加精

remote 回复于:2003-09-26 17:54:29

FT。。。你是???

lsw 回复于:2003-09-27 09:02:22

图文并茂,非常好

jjpnetcn 回复于:2003-09-27 20:29:10

up

duckweeds 回复于:2003-09-28 10:20:54

感谢你的工作

david5337 回复于:2003-09-28 17:16:41

好资料!

yutian 回复于:2003-09-28 17:28:57

这么好的东东,真是辛苦

弱智 回复于:2003-09-28 22:12:35

purge仔细地看了, 不错的技术文章, 呵呵, 让我们拭目以待新技术的发展和应用.

htldm 回复于:2003-09-29 14:04:11

好东东

guogto 回复于:2004-10-27 18:14:18

好文章

蓝色虫 回复于:2004-10-27 18:33:34

PCI-X X1槽上插什么设备

谁用过 请教一下~

tangye 回复于:2004-10-28 20:16:56

现在915的主板就已经有PCI E的插槽了。

HP的DC7100就没有AGP,有一个PCIEX1,一个PCIEX16

神牛 回复于:2004-10-29 09:34:20

好帖,学!

纳兰婷 回复于:2004-10-29 09:58:25

不错~~收了

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有