
PCIe(Peripheral Component Interconnect Express)是一种计算机总线标准,用于连接计算机内部的各种硬件设备,如图形卡、扩展卡、存储设备等。它是PCI(Peripheral Component Interconnect)总线的一种进化形式,旨在提供更高的数据传输速度和更高的性能。
PCI总线标准最初由英特尔公司于1992年推出,是一种32位的并行总线,传输速度最高可达133 MB/s。
在推出PCI之前,计算机内部的设备通常使用ISA(Industry Standard Architecture)总线进行连接。然而,ISA总线的传输速度较慢,限制了计算机系统的性能和扩展性。因此,PCI总线的推出被视为计算机技术发展中的一个重要里程碑。
随着计算机技术的不断发展,PCI总线标准也不断升级。1993年,PCI 2.0标准推出,增加了66 MHz的传输速度,使得传输速度最高可达到266 MB/s。1995年,PCI 2.1标准推出,增加了支持电源管理和插热插拔功能的规范。1998年,PCI 2.2标准推出,增加了支持64位数据传输的规范。
PCI总线标准的不断升级,它成为了计算机系统中最常用的总线标准之一。然而,随着计算机系统的性能和扩展性需求的不断提高,PCI总线标准已经无法满足现代计算机系统的需求。因此,PCI Express(PCIe)总线标准逐渐取代了PCI总线标准,成为了现代计算机系统中最常用的总线标准之一。
带宽与速率PCIe X1、X2、X4和X8是指PCI Express(Peripheral Component Interconnect Express)总线标准的不同配置,表示在总线上的通道数量。
PCIe X1:表示有一个PCIe通道。每个通道的速率由PCIe规范定义,例如PCIe 3.0的速率为8 Gbps。因此,PCIe X1的速率通常为8 Gbps。PCIe X4:表示有四个PCIe通道。每个通道的速率由PCIe规范定义,例如PCIe 3.0的速率为8 Gbps。因此,PCIe X4的速率通常为32 Gbps(4通道 x 8 Gbps)。PCIe X8:表示有八个PCIe通道。每个通道的速率由PCIe规范定义,例如PCIe 3.0的速率为8 Gbps。因此,PCIe X8的速率通常为64 Gbps(8通道 x 8 Gbps)。

当我们谈论PCIe总线标准的传输速率时,我们使用GT/s(Giga Transfers per second,千兆传输/秒)来衡量,而不是Gbps(Giga Bits Per Second,千兆位/秒)。这是因为传输速率是基于物理层通信协议的属性,与链路宽度等因素无关。
PCIe总线的吞吐量(可用带宽)可以通过以下公式计算:
吞吐量 = 传输速率 * 编码方案
例如,PCIe 2.0协议支持5.0 GT/s,每个Lane上每秒传输5G个bit。然而,并不是每个Lane都支持5Gbps的速率,因为PCIe 2.0采用的是8b/10b编码方案。这意味着每传输8个bit需要发送10个bit。
因此,PCIe 2.0协议的每个Lane支持的速率为 5 GT/s * 8 / 10 = 4 Gbps = 500 MB/s。
举个例子,对于一个PCIe 2.0 x8通道,可用带宽为 4 Gbps * 8 = 32 Gbps = 4 GB/s。
同样地,PCIe 3.0协议支持8.0 GT/s,每个Lane上每秒传输8G个bit。然而,PCIe 3.0采用的是128b/130b编码方案,即每传输128个bit需要发送130个bit。
因此,PCIe 3.0协议的每个Lane支持的速率为 8 GT/s * 128 / 130 = 7.877 Gbps = 984.6 MB/s。
举个例子,对于一个PCIe 3.0 x16通道,可用带宽为 7.877 Gbps * 16 = 126.031 Gbps = 15.754 GB/s。

***
•ISA ->PCI ->PCIX ->PCIE 1.0 ->PCIE 2.0 ->PCIE3.0 ->PCIE4.0 ->PCIE5.0
•PCI 与PCIX并联; PCIE 串联。
•PCI Express的接口包括X1、X4、X8以及X16(X2模式将用于内部接口而非插槽模式)。较短的PCI Express卡可以插入较长的PCI Express插槽中使用。
PCI Express Fabric拓扑结构一个PCI Express Fabric由点对点的Link组成,用于连接一组组件。下图展示了一个例子PCI Express Fabric的拓扑结构。这个图展示了一个单一的PCI Express Fabric实例,也称为层次结构,由一个根复杂器(Root Complex)、多个端点(I/O设备)、一个交换机和一个PCI Express到PCI/PCI-X桥接器组成,它们通过PCI Express Link相互连接。

Root Complex(根复杂器)是PCI Express总线架构中的一个重要组成部分,它是连接CPU和内存子系统与PCI Express设备之间的桥梁。Root Complex通常由一个或多个PCI Express端口组成,每个端口连接到一个或多个PCI Express设备,形成一个I/O层次结构。Root Complex还负责管理PCI Express总线的配置和控制,包括分配总线带宽、处理传输错误、管理电源管理和热插拔等功能。
在PCI Express架构中,Root Complex是一个逻辑实体,可以由一个芯片组或处理器集成电路实现。Root Complex可以支持多个PCI Express端口,每个端口可以连接到一个或多个PCI Express设备。PCI Express设备可以是端点设备或交换机设备,它们可以通过PCI Express总线进行通信和数据传输。
2.EndpointEndpoint(端点)是指在PCI Express总线架构中可以作为请求方或完成方的功能类型。它可以代表自身执行PCI Express事务,也可以代表一个独立的非PCI Express设备执行PCI Express事务。端点可以是传统端点、PCI Express端点或根复杂器集成端点(RCiEPs)。
传统端点是指符合传统PCI规范的设备,通过PCI Express到PCI桥接器与PCI Express总线连接。这些设备可以通过PCI Express总线进行通信和数据传输。
PCI Express端点是指符合PCI Express规范的设备,直接连接到PCI Express总线。这些设备可以通过PCI Express总线进行高速通信和数据传输。
根复杂器集成端点(RCiEPs)是指集成在根复杂器中的端点功能。它们可以作为根复杂器的一部分执行PCI Express事务,例如根复杂器集成的图形控制器或USB主机控制器。
总之,端点是PCI Express总线架构中的一种功能类型,可以作为请求方或完成方执行PCI Express事务,可以是传统端点、PCI Express端点或根复杂器集成端点。
3.SwitchPCIe交换机(PCIe Switch)是一种用于构建PCI Express(PCIe)总线拓扑结构的设备。它允许多个PCIe设备通过高速数据通道进行连接和通信。
PCIe交换机的主要功能是转发PCIe事务,类似于传统PCI总线上的PCI桥接器。它可以将来自一个PCIe设备的事务转发到另一个PCIe设备,实现设备之间的数据传输和通信。
PCIe交换机通常具有多个端口,每个端口可以连接一个PCIe设备。这些端口可以是上游端口(连接到其他交换机或主机)或下游端口(连接到终端设备或其他交换机的上游端口)。
通过使用PCIe交换机,可以构建复杂的PCIe拓扑结构,例如树状结构、星型结构或多级结构。这样可以实现多个设备之间的高速数据传输和通信,并提供更高的带宽和灵活性。

Root Complex Event Collector(RCEC)是PCI Express(PCIe)架构中的一个组件,用于收集和处理与Root Complex相关的事件。
Root Complex是PCIe总线的起始点,它通常是主机或服务器系统中的PCIe控制器。Root Complex负责管理和控制整个PCIe拓扑结构,并与其他PCIe设备进行通信。
RCEC是Root Complex的一部分,它的主要功能是监控和收集与Root Complex相关的事件。这些事件可以包括连接和断开连接的设备、错误和异常情况、配置更改等。RCEC会记录这些事件,并根据需要采取相应的措施,例如通知主机系统或其他相关组件。
通过RCEC,系统可以实时监控PCIe总线上发生的事件,并及时采取必要的措施来处理这些事件。这有助于确保PCIe设备的正常运行和系统的稳定性。
5.PCI Express to PCI/PCI-X BridgePCI Express to PCI/PCI-X桥接器是一种设备,用于连接PCI Express(PCIe)总线和传统的PCI或PCI-X总线。它允许PCIe系统与PCI或PCI-X设备进行兼容性连接和通信。
PCIe to PCI/PCI-X桥接器的主要功能是将来自PCIe总线的事务转换为PCI或PCI-X事务,并将其传递给连接的PCI或PCI-X设备。它充当了PCIe和PCI/PCI-X之间的接口,使得PCIe系统能够与旧有的PCI或PCI-X设备进行互操作。
通过PCIe到PCI/PCI-X桥接器,PCIe系统可以利用现有的PCI或PCI-X设备,无需更换或升级这些设备。这对于需要使用旧有PCI或PCI-X设备的系统来说非常有用,例如在过渡期间或需要与遗留系统进行兼容性连接的情况下。
PCIe to PCI/PCI-X桥接器通常具有一个或多个PCI或PCI-X插槽,用于连接PCI或PCI-X设备。它还提供了必要的协议转换和信号适配,以确保PCIe和PCI/PCI-X之间的兼容性和互操作性。
6.PCI Express Layering OverviewPCIe体系结构包括应用层、事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer)。


6.1 Transaction
事务层(Transaction Layer):接收端的事务层负责事务层包(Transaction Layer Packet,TLP)的解码与校检,发送端的事务层负责TLP的创建。此外,事务层还有QoS(Quality of Service)和流量控制(Flow Control)以及Transaction Ordering等功能。
6.2 Data Link
数据链路层(Data Link Layer):数据链路层负责数据链路层包(Data Link Layer Packet,DLLP)的创建,解码和校检。同时,本层还实现了Ack/Nak的应答机制。
6.3 Physical
物理层(Physical Layer):物理层负责Ordered-Set Packet的创建于解码。同时负责发送与接收所有类型的包(TLPs、DLLPs和Ordered-Sets)。此外,物理层还实现了链路训练(Link Training)和链路初始化(Link Initialization)的功能,这一般是通过链路训练状态机(Link Training and Status State Machine,LTSSM)来完成的。



还没有内容