标题：PCI—E
百度名片
PCI Express，简称PCI-E，是PCI电脑总线的一种，它沿用了现有的PCI编程概念及通讯标准，但建基于更快的串行通信系统。英特尔是该接口的主要支援者。PCIe仅应用于内部互连。由于PCIe是基于现有的PCI系统，只需修改物理层而无须修改软件就可将现有PCI系统转换为PCIe。PCIe拥有更快的速率，以取代几乎全部现有的内部总线（包括AGP和PCI）。英特尔希望将来能用一个PCIe控制器和所有外部设备交流，取代现有的南桥/北桥方案。
除了这些，PCIe设备能够支援热拔插以及热交换特性，支援的三种电压分别为+3.3V、3.3Vaux以及+12V。考虑到现在显卡功耗的日益增加，PCIe而后在规范中改善了直接从插槽中取电的功率限制，基本可以满足当时(2004年)中高阶显卡的需求。这一点可以从AGP、PCIe两个不同版本的6600GT显卡上就能明显地看到，后者并不需要外接电源。PCIe只是南桥的扩展总线，它与操作系统无关，所以也保证了它与原有PCI的兼容性，也就是说在很长一段时间内在主板上PCIe接口将和PCI接口共存，这也给用户的升级带来了方便。由此可见，PCIe最大的意义在于它的通用性，不仅可以让它用于南桥和其他设备的连接，也可以延伸到芯片组间的连接，甚至也可以用于连接图形芯片，这样，整个I/O系统重新统一起来，将更进一步简化计算机系统，增加计算机的可移植性和模块化。
名词释义
英文全名         Peripheral Component Interconnect Express
中文全名         快捷外设互联标准
发明日期         2004年
发明者             Intel
最多连接         每接口 1 个
带宽             每条总线：
·       v1.x: 250 MB/s
·       v2.0: 500 MB/s
·       v3.0: 1 GB/s
16条总线：
·       v1.x: 4 GB/s
·       v2.0: 8 GB/s
·       v3.0: 16 GB/s
类别             串行
热插拔      依制式而定
外置接口      支援（External PCI Express）
PCI-E技术简介
随着图像处理技术和人们对于游戏需求的急速增长，传统的AGP接口已经远远不能满足时下疯狂的数据传输的需求，于是早在2001年的春季IDF(Intel开发者论坛)上，Intel公司已经宣布要用一种新的技术取代PCI总线和多种芯片的内部连接，并称之为第三代I/O总线技术(3rd Generation I/O，也就是3GIO)；到了2001年底，包括Intel、AMD、DELL、IBM等20多家业界主导公司加入了PCI-SIG(PCI特殊兴趣小组)并开始起草3GIO规范的草案；2002年草案完成，并把3GIO正式命名为PCI Express。这就是PCI-E的由来。 简单来说，PCI-E能够提供2.5Gbit/s的单向单线连接传输速率。相对于传统PCI总线在单一时间周期内只能实现单向传输，PCI Express的双单工连接能提供更高的传输速率和质量，它们之间的差异跟半双工和全双工类似。同时PCI Express串行连接使用了内嵌时钟技术(8b/10b编码模式)，时钟信息直接写入数据流中，这对比大多数并行总线要额外传输保持同步的时钟信号来说更能节省传输的通道和提高传输效率。 一个PCI Express连接可以被配置成x1，x2，x4，x8，x12，x16和x32的数据带宽。x1的通道能实现单向312.5MB/秒(2.5Gbit/s * 1 / 8位)的传输速率，同理x32通道连接就能提供10GB/秒的速率，但考虑使用8b/10b编码实际上有20%左右的消耗，实际的传输速率大概是8GB/S(x32单向)。一般的显卡使用的PCI-EX16标准，数据传输率为4.8GB/S,远远高于现在最流行的AGP 8X的2.1GB/S的数据流量。 对于广大的消费者来说，PCI-E直接带来的就是显卡性能得大幅度提升，它可以在一段时间内彻底解决困扰大家的显示卡传输带宽的问题，而且在今后游戏的配合下，我们可以使用更高级的显示卡获得更加逼真的效果。
历史
在2001年的春季英特尔开发者论坛（IDF）上Intel公布了取代PCI总线的第三代I\O技术，被称为“3GIO”。该总线的规范由Intel支持的AWG（Arapahoe Work Group）负责制定。2002年4月17日，AWG正式宣布3GIO 1.0规范草稿制定完毕，移交PCI特殊兴趣组织（PCI-SIG）进行审核，2002年7月23日经过审核后正式公布，改名为“PCI Express”，并根据开发蓝图2006年正式推出Spec2.0（2.0规范）。
版本资料传输带宽单向单通道带宽双向16通道带宽原始传输率供电发表日期1.02Gb/s250MB/s8GB/s2.5GT/s
2002年7月22日1.0a2Gb/s250MB/s8GB/s2.5GT/s
2003年4月15日1.12Gb/s250MB/s8GB/s2.5GT/s77W2005年3月28日2.04Gb/s500MB/s16GB/s5.0GT/s225W2006年12月20日2.14Gb/s500MB/s16GB/s5.0GT/s
2009年3月4日3.08Gb/s1GB/s32GB/s8.0GT/s
预计2010年末
与其他传输规格比较
PCIe的规范主要是为了提升电脑内部所有总线的速度，因此带宽有多种不同规格标准，其中PCIe x16是专为显卡所设计的部分。AGP的资料传输效率最高为2.1GB/s，不过对上PCIe x16的8GB/s，很明显的就分出胜负，但8GB/s只有指资料传输的理想值，并不是使用PCIe接口的显卡，就能够有突飞猛进的效能表现，实际的测试数据上并不会有这么大的差异存在。
传输通道数脚Pin总数主接口区Pin数总 长 度主接口区 长度x1361425 mm7.65 mmx4644239 mm21.65 mmx8987656 mm38.65 mmx1616414289 mm71.65 mm规格总线宽度工作时脉资料速率PCI 2.332 位元33/66 MHz133/266 MB/sPCI-X 1.064 位元66/100/133 MHz533/800/1066 MB/sPCI-X 2.0（DDR）64 位元133 MHz2.1 GB/sPCI-X 2.0（QDR）64 位元133 MHz4.2 GB/sAGP 2X32 位元66 MHz*2=532 MB/sAGP 4X32 位元66 MHz*4=1.0 GB/sAGP 8X32 位元66 MHz*8=2.1 GB/sPCI-E 1.0 X11 位元2.5 GHz500 MB/s（双工，文稿数据）PCI-E 1.0 X22 位元2.5 GHz1 GB/s（双工）PCI-E 1.0 X44 位元2.5 GHz2 GB/s（双工）PCI-E 1.0 X88 位元2.5 GHz4 GB/s（双工）PCI-E 1.0 X1616 位元2.5 GHz8 GB/s（双工）计算公式：PCI-E串行总线带宽(MB/s) = 串行总线时钟频率(MHz) * 串行总线位宽(bit/8 = B) * 串行总线管线 * 编码方式 * 每时钟传输几组数据(cycle) 例：双工PCI-E 1.0 X1 带宽=2500*1/8*1*8/10*1*2=500 MB/s
PCI Express 1.0 总线频率 2500 MHz，这是在 100 MHz 的基准频率通过锁相环振荡器(Phase Lock Loop，PLL)达到的。PCI-E 2.0 总线频率从2.5GHz提高到5GHz，3.0则提高到8GHz，编码方式变成128/130。
硬件协议
PCIe的连接是建立在一个双向的序列的（1-bit）点对点连接基础之上，这称之为“传输通道”。与PCI 连接形成鲜明对比的是PCI是基于总线控制，所有设备共同分享的单向32位并行总线。PCIe是一个多层协议，由一个对话层，一个数据交换层和一个物理层构成。物理层又可进一步分为逻辑子层和电气子层。逻辑子层又可分为物理代码子层（PCS）和介质接入控制子层（MAC）。物理层各式不同的PCI Express插槽（由上而下：x4, x16, x1，与 x16），相较于传统的32-bit PCI插槽（最下方），取自于DFI的LanParty nF4 Ultra-D机板于使用电力方面，每组流水线使用两个单向的低电压差分信号（LVDS）合计达到2.5兆波特。传送及接收不同数据会使用不同的传输通道，每一通道可运作四项资料。两个PCIe设备之间的连接成为“链接”，这形成了1组或更多的传输通道。各个设备最少支援1传输通道（x1）的链接。也可以有2，4，8，16，32个通道的链接。这可以更好的提供双向兼容性。（x2模式将用于内部接口而非插槽模式）PCIe卡能使用在至少与之传输通道相当的插槽上（例如x1接口的卡也能工作在x4或x16的插槽上）。一个支援较多传输通道的插槽可以建立较少的传输通道（例如8个通道的插槽能支援1个通道）。PCIe设备之间的链接将使用两设备中较少通道数的作为标准。一个支援较多通道的设备不能在支援较少通道的插槽上正常工作，例如x4接口的卡不能在x1的插槽上正常工作（插不入），但它能在x4的插槽上只建立1个传输通道（x1）。PCIe卡能在同一数据传输通道内传输包括中断在内的全部控制信息。这也方便了与PCI的兼容。多传输通道上的数据传输采取交叉存取，这意味着连续字节交叉存取在不同的通道上。这一特性被称之为“数据条纹”，需要非常复杂的硬件支援连续数据的同步存取，也对链接的数据吞吐量要求极高。由于数据填充的需求，数据交叉存取不需要缩小数据包。与其它高速数传输协议一样，时钟信息必须嵌入信号中。在物理层上，PCIe采用常见的8B/10B代码方式来确保连续的1和0字符串长度符合标准，这样保证接收端不会误读。编码方案用10位编码比特代替8个未编码比特来传输数据，占用20%的总带宽。到了PCIe 3.0，采用128B/130B代码方式，仅占用1.538%的总带宽。有些协议（如SONET）使用另外的编码结构如“不规则”在数据流中嵌入时钟信息。PCIe的特性也定义了一种“不规则化”的运算方法，但这种方法与SONET完全不同，它的方法主要用来避免数据传输过程中的数据重复而出现数据散射。第一代PCIe采用2.5兆位单信号传输率，PCI-SIG计划在未来版本中增强到5~10兆位。数据链接层数据链接层采用按序的交换层信息包（Transaction Layer Packets,TLPs），是由交换层生成，按32位循环冗余校验码（CRC，本文中用LCRC）进行数据保护，采用著名的协议（Ack and Nak signaling）的信息包。TLPs能通过LCRC校验和连续性校验的称为Ack（命令正确应答）；没有通过校验的称为Nak（没有应答）。没有应答的TLPs或者等待逾时的TLPs会被重新传输。这些内容存储在数据链接层的缓存内。这样可以确保TLPs的传输不受电子噪音干扰。PCIe对于ACK有所规范，在收到TLP封包之后，在一定时间内必须回应ACK，也就是ACK延迟（ACK Latency）的等待时间。因应ACK/NAK流程的需要，必须实作出重新播送缓冲器（Replay Buffer）。
Ack和Nak信号由低层的信息包传送，这些包被称为数据链接层信息包（Data Link Layer Packet,DLLP）。DLLP也用来传送两个互连设备的交换层之间的流控制信息和实现电源管理功能。交换层PCI Express采用分离交换（数据提交和应答在时间上分离），可保证传输通道在目标端设备等待发送回应信息传送其它数据信息。它采用了可信性流控制。这一模式下，一个设备广播它可接收缓存的初始可信信号量。链接另一方的设备会在发送数据时统计每一发送的TLP所占用的可信信号量，直至达到接收端初始可信信号最高值。接收端在处理完毕缓存中的TLP后，它会回送发送端一个比初始值更大的可信信号量。可信信号统计是定制的标准计数器，这一算法的优势，相对于其他算法，如握手传输协议等，在于可信信号的回传反应时间不会影响系统性能，因为如果双方设备的缓存足够大的话，是不会出现达到可信信号最高值的情况，这样发送数据不会停顿。第一代PCIe标称可支援每传输通道单向每秒250兆字节的数据传输率。这一数字是根据物理信号率2500兆波特除以编码率（10位/每字节）计算而得。这意味着一个16通道（x16）的PCIe卡理论上可以达到单向250*16=4000兆字节/秒（3.7G字节/每秒）。实际的传输率要根据数据有效载荷率，即依赖于数据的本身特性，这是由更高层（软件）应用程序和中间协议层决定。PCI Express与其它高速序列连接系统相似，它依赖于传输的鲁棒性（CRC校验和Ack算法）。长时间连续的单向数据传输（如高速存储设备）会造成>95%的PCIe通道数据占用率。这样的传输受益于增加的传输通道，但大多数应用程序如USB或以太网络控制器会把传输内容拆成小的数据包，同时还会强制加上确认信号。这类数据传输由于增加了数据包的解析和强制中断，降低了传输通道的效率。这种效率的降低并非只出现在PCIe上。
制式标准
l  半高卡
l  Mini Card：用以代替Mini PCI卡（支援x1 PCIe、USB 2.0和SMBus总线接口）。
l  ExpressCard：类似PC卡接口标准（支援x1 PCIe、USB 2.0、热插拔）。
l  PCI Express ExpressModule：支援热插拔的接口标准用于服务器和工作站上。
l  XMC：类似CMC/PMC接口标准（支援x4 PCIe或串行 RapidI/O）。
l  AdvancedTCA：用以代替Compact PCI卡，支援串行背板拓扑结构基础。
l  AMC：AdvancedTCA规范的补充，支援处理器和I/O模块在ATCA板上（x1、x2、x4 或 x8 PCIe）。
l  PCI Express 外置接线[5]。
l  Mobile PCI Express Module (MXM) NVIDIA所发明的图形模块规范。
l  Advanced eXpress I/O Module (AXIOM) 图形模块，由ATI认可。
竞争协议
基于高速序列构架产生了很多传输标准。包括HyperTransport, InfiniBand, RapidIO，和StarFabric等等。这些均有业界的不同企业支援，背后也都有大量的资金投入标准的研究开发，所以每一标准都声称自己与众不同，独占优势。主要的差异在于可扩展性、灵活性与反应时间、单位成本的取舍平衡各不相同。其中的一个例子是在传输包上增加一个复杂的头信息以支援复杂路由传输（PCI Express不支援这种方式）。这样的信息增加降低了接口的有效带宽也使传输更复杂，但是相应创造了新的软件支援此功能。这种架构下需要软件追踪网络拓扑结构的变化以实现系统支援热插拔。InfiniBand和StarFabric标准即能实现这以功能。另一个例子是缩小信息包以减少反应时间。较小的信息包意味着包头占用了包的更大百分比，这样又降低了有效带宽。能实现此功能的标准是RapidIO和HyperTransport。PCI Express取中庸之道，定位于设计成一种系统互连接口而非一种设备接口或路由网络协议。另外为了针对软件透明，它的设计目标限制了它作为协议，也在某种程度上增加了它的反应时间。
前景
在2005年，PCIe已近乎称为新的个人电脑主板标准。关于此有不少评论，但最基本的原因是它对于软件开发者完全透明——为PCI所设计的操作系统可以不做任何代码修改来启动PCIe设备。其二，它能增强系统性能，还有强有力的品牌认知。大部分新生产的ATi或nVidia显卡都使用了PCIe标准。nVidia在它新开发的可扩展链接接口（Scalable Link Interface，SLI，即双显卡）上采用了PCIe的高速数据传输，这使得两块相同芯片组显卡可同时工作于一台电脑之上。ATi公司也基于PCIe开发了一种含两个GPU的显卡，称为交叉火力（CrossFire）。快速卡（ExpressCard）刚刚出现在笔记本电脑上，但由于大部分笔记本电脑仅有一个插槽，目前无法将现有的Cardbus接口完全淘汰，升级成新的快速卡插槽。台式机就没有这种问题，因为它的多个插槽可以同时支援PCIe和老的PCI。
参考文献
1.Desktop Boards — Some PCI Express* Graphics cards require extra power. 03-Jun-2004. "25W-75W graphics cards are powered through the desktop board's PCI Express x16 connector" 
2. PCI Express-en.wikipedia. org. en.wikipedia. org [2009-6-22]. 
3.Mechanical Drawing for PCI Express Connector [2007-12-07]. 
4.FCi schematic for PCIe connectors [2007-12-07]. 
5.PCI Express External Cabling 1.0 Specification [2007-02-09].