根复合体

科技工作者之家  |   2020-11-17 18:24

在PCI Express(PCIe)系统中,根复合体root complex)设备将处理器和内存子系统连接到由一个或多个交换设备组成的PCI Express交换结构。

类似PCI系统中的主机桥,根复合体代表处理器生成事务请求,通过本地总线相互连接。根复合体功能可以以分立设备实现,也可以在处理器中集成。一个根复合体可能包含多个PCI Express端口,且可将多个交换设备连接到根根复合体或级联的端口。

PCI ExpressPCI Express,简称PCI-E,官方简称PCIe,是计算机总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统。英特尔是该接口的主要支持者。PCIe仅应用于内部互连。由于PCIe是基于现有的PCI系统,只需修改物理层而无须修改软件就可将现有PCI系统转换为PCIe。 PCIe拥有更快的速率,以取代几乎全部现有的内部总线(包括AGP和PCI)。现在英特尔和AMD已采用单片机组技术,取代原有的南桥/北桥方案。

除此之外,PCIe设备能够支持热拔插以及热交换特性,支持的三种电压分别为+3.3V、3.3Vaux以及+12V。 考虑到现在显卡功耗的日益增加,PCIe而后在规范中改善直接从插槽中取电的功率限制,16x的最大提供功率达到75W,比AGP8X接口有了很大的提升。

基本可以满足当时(2004年)的中高阶显卡的需求。这一点可以从AGP、PCIe两个不同版本的6600GT显卡上就能明显地看到,后者并不需要外接电源。

PCIe只是南桥的扩展总线,它与操作系统无关,所以也保证它与原有PCI的兼容性,也就是说在很长一段时间内在主板上PCIe接口将和PCI接口共存,这也给用户的升级带来方便。由此可见,PCIe最大的意义在于它的通用性,不仅可以让它用于南桥和其他设备的连接,也可以延伸到芯片组间的连接,甚至也可以用于连接图形处理器,这样,整个I/O系统重新统一起来,将更进一步简化计算机系统,增加计算机的可移植性和模块化。1

PCI Express的硬件协议PCIe的连接是创建在一个双向的序列的(1-bit)点对点连接基础之上,这称之为“传输通道”。与PCI连接形成鲜明对比的是PCI是基于总线控制,所有设备共同分享的单向32位并行总线。PCIe是一个多层协议,由一个对话层,一个数据交换层和一个物理层构成。物理层又可进一步分为逻辑子层和电气子层。逻辑子层又可分为物理代码子层(PCS)和介质接入控制子层(MAC)。

物理层于使用电力方面,每组流水线使用两个单向的低电压差分信号(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通道数据传输利用率。这样的传输受益于增加的传输通道(x2, x4 等)。但大多数应用程序如USB或以太网控制器会把传输内容拆成小的数据包,同时还会强制加上确认信号。这类数据传输由于增加数据包的解析和强制中断,降低传输通道的效率。作为一个在同一个印刷电路板(PCB)设备间的通信协议,它不需要达到其他远距离通信协议要求的高数据传输错误容忍度,而且,这种效率的降低并非只出现在PCIe上。

引脚下表列出在边缘连接器上的PCI Express卡两侧的导线。在印刷电路板(PCB)的焊接侧为A侧,并且组件侧的B侧。PRSNT1# 和PRSNT2# 引脚必须比其余稍短,以确保热插入卡完全插入。该WAKE# 引脚采用全电压唤醒计算机,但必须拉高从备用电源,以表明该卡是能够唤醒。2

制式标准半高卡

Mini Card:用以代替Mini PCI卡(支持x1 PCIe、USB 2.0和SMBus总线接口)。

ExpressCard:类似PC卡接口标准(支持x1 PCIe、USB 2.0、热插拔)。

PCI Express ExpressModule:支持热插拔的接口标准用于服务器和工作站上。

XMC:类似CMC/PMC接口标准(支持x4 PCIe或串行RapidI/O)。

AdvancedTCA:用以代替Compact PCI卡,支持串行背板拓扑结构基础。

AMC:AdvancedTCA规范的补充,支持处理器和I/O模块在ATCA板上(x1、x2、x4或x8 PCIe)。

PCI Express外置接线。

Mobile PCI Express Module(MXM)NVIDIA所发明的图形模块规范。

Advanced eXpress I/O Module(AXIOM)图形模块,由ATI认可。

Thunderbolt

M.2

外设组件互连标准外部链接Peripheral Component Interconnect)标准,或称个人计算机接口(Personal Computer Interface),实际应用中简称为PCI,是一种连接计算机主板和外部设备的总线标准。一般PCI设备可分为以下两种形式:

直接内置于主板上的集成电路,在PCI规范中称作“嵌入设备”(planar device);或者

安装在插槽上的扩充界面卡。

PCI bus常见于现代的个人计算机中,并已取代了ISA和VESA局部总线,成为了标准扩充总线。PCI总线亦常见于其他计算机类型中。PCI总线最终将被PCI Express和其他更先进的技术取代,这些技术现在已经被用于最新款的计算机中。

PCI规范规定了该总线的物理尺寸(包括线宽)、电气特性、总线时序和协议。该规范可从美国PCI-SIG协会购得。

常见的PCI卡包括网卡、声卡、调制解调器(调制解调器)、电视卡和硬盘控制器等,另外还有USB和串行端口等端口。原本显卡通常也是PCI设备,但很快其频宽已不足以支持显卡的性能。PCI显卡现在仅用在需要额外的外接显示器或主板上没有AGP和PCI Express槽的情况。3

参见ISA

EISA

MCA

NuBus

VLB

AGP

PCI Express(PCI-E)

计算机设备带宽列表

本词条内容贡献者为:

李岳阳 - 副教授 - 江南大学