1、PCI Express 的硬件协议PCIe的连接是建立在一个双向的序列的(1-bit)点对点连接基础之上,这 称之为“传输通道”。与PCI连接形成鲜明对比的是PCI是基于总线控制,所有 设备共同分享的单向32位并行总线。PCIe是一个多层协议,由一个对话层,一 个数据交换层和一个物理层构成。物理层又可进一步分为逻辑子层和电气子层。 逻辑子层又可分为物理代码子层(PCS)和介质接入控制子层(MAC)。 物理层各式不同的PCI Express插槽(由上而下:x4, x16, x1,与x16),相较于 传统的32-bit PCI插槽(最下方),取自于DFI的Lan Party nF4 Ultra-D机板于使用电力方面,每组流水线使用两个单向的低电压差分信号(LVDS)合 计达到2.5 兆波特。传送及接收不同数据会使用不同的传输通道,每一通道可运 作四项资料。两个PCIe设备之间的连接成为“链接”,这形成了 1组或更多的传 输通道。各个设备最少支持1传输通道(x1)的链接。也可以有2, 4, 8,16, 32个通道的链接。这可以更好的提供双向兼容性。(x2模式将用于内部接口而 非插槽模式) P
2、CIe 卡能使用在至少与之传输通道相当的插槽上(例如 x1 接口的 卡也能工作在 x4 或 x16 的插槽上)。一个支持较多传输通道的插槽可以建立较 少的传输通道(例如8个通道的插槽能支持1个通道)。PCIe设备之间的链接 将使用两设备中较少通道数的作为标准。一个支持较多通道的设备不能在支持较 少通道的插槽上正常工作,例如x4接口的卡不能在x1的插槽上正常工作(插 不入),但它能在x4的插槽上只建立1个传输通道(x1)。PCIe卡能在同一 数据传输通道内传输包括中断在内的全部控制信息。这也方便了与PCI的兼容。 多传输通道上的数据传输采取交叉存取,这意味着连续字节交叉存取在不同的通 道上。这一特性被称之为“数据条纹”,需要非常复杂的硬件支持连续数据的同步 存取,也对链接的数据吞吐量要求极高。由于数据填充的需求,数据交叉存取不 需要缩小数据包。与其它高速数传输协议一样,时钟信息必须嵌入信号中。在物 理层上,PCIe采用常见的8B/10B代码方式来确保连续的1和0字符串长度符 合标准,这样保证接收端不会误读。编码方案用1 0位编码比特代替8个未编码 比特来传输数据,占用20%的总带宽。有些
3、协议(如SONET)使用另外的编码 结构如“不规则”在数据流中嵌入时钟信息。PCIe的特性也定义了一种“不规则化” 的运算方法,但这种方法与SONET完全不同,它的方法主要用来避免数据传输 过程中的数据重复而出现数据散射。第一代PCIe采用2.5兆位单信号传输率, PCI-SIG计划在未来版本中增强到510兆位。数据链接层数据链接层采用按序的交换层信息包(Transaction Layer Packets,TLPs), 是由交换层生成,按32位循环冗余校验码(CRC,本文中用LCRC)进行数据 保护,采用著名的协议(Ack and Nak signaling)的信息包。TLPs能通过LCRC 校验和连续性校验的称为Ack(命令正确应答);没有通过校验的称为Nak(没 有应答)。没有应答的TLPs或者等待超时的TLPs会被重新传输。这些内容存 储在数据链接层的缓存内。这样可以确保TLPs的传输不受电子噪音干扰。Ack和Nak信号由低层的信息包传送,这些包被称为数据链接层信息包 (Data Link Layer Packet,DLLP)。 DLLP 也用来传送两个互连设备的交换层之 间的流
4、控制信息和实现电源管理功能。交换层PCI Express 采用分离交换(数据提交和应答在时间上分离),可保证传输 通道在目标端设备等待发送回应信息传送其它数据信息。它采用了可信性流控 制。这一模式下,一个设备广播它可接收缓存的初始可信信号量。链接另一方的 设备会在发送数据时统计每一发送的 TLP 所占用的可信信号量,直至达到接收 端初始可信信号最高值。接收端在处理完毕缓存中的 TLP 后,它会回送发送端 一个比初始值更大的可信信号量。可信信号统计是定制的标准计数器,这一算法 的优势,相对于其他算法,如握手传输协议等,在于可信信号的回传反应时间不 会影响系统性能,因为如果双方设备的缓存足够大的话,是不会出现达到可信信 号最高值的情况,这样发送数据不会停顿。第一代PCIe标称可支持每传输通道 单向每秒250兆字节的数据传输率。这一数字是根据物理信号率2500兆波特除 以编码率(10位/每字节)计算而得。这意味着一个16通道(x16)的PCIe卡 理论上可以达到单向250*16=4000兆字节/秒(3.7G字节/每秒)。实际的传输 率要根据数据有效载荷率,即依赖于数据的本身特性,这是由更高层(软件)应 用程序和中间协议层决定。PCI Express与其它高速序列连接系统相似,它依赖 于传输的鲁棒性(CRC校验和Ack算法)。长时间连续的单向数据传输(如高 速存储设备)会造成95%的 PCIe 通道数据占用率。这样的传输受益于增加的 传输通道,但大多数应用程序如 USB 或以太网络控制器会把传输内容拆成小的 数据包,同时还会强制加上确认信号。这类数据传输由于增加了数据包的解析和 强制中断,降低了传输通道的效率。这种效率的降低并非只出现在 PCIe 上。
《PCI Express的硬件协议》由会员鲁**分享,可在线阅读,更多相关《PCI Express的硬件协议》请在金锄头文库上搜索。