PCIe总线
PCI的含义是Peripheral Component Interconnect Express。
与PCI的总线结构不同,PCIe是点对点结构,一个典型的PCIe拓扑结构如图1-2所示。一个root port和一个endpoint直接组成一个点对点连接对,而Switch可同时连接几个endpoint。
图1-2 PCIe拓扑结构
从PCIe的拓扑结构可看出,CPU连接到根聚合体(Root Complex),RC负责完成从CPU总线域到外设域的转换,并实现各种总线的聚合。将一部分CPU地址映射到内存,一部分地址映射到相应的设备终端(如板卡)。PCIe设备有两大类,Root Port和Endpoint,Root Port相当于一个根节点(拓扑图中的switch),将多个Endpoint设备连接在一个节点,同时它完成数据的路由。Endpoint就是最终数据的接受者,命令的执行者。
PCIe总线的特点如下:
- PCIe总线使用高速差分总线,采用端到端的连接方式,因此在每一条PCIe链路中只能连接两个设备,两个设备互为数据发送端和数据接收端,发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑)。这使得PCIe与PCI总线采用的拓扑结构有所不同。如图1-3所示。
图1-3 PCIe总线的物理连接
2. PCIe总线采用了串行连接方式,并使用数据包(Packet)进行数据传输,采用这种结构有效去除了在PCI总线中存在的一些边带信号,如INTx和PME#等信号。在PCIe总线中,数据报文在接收和发送过程中,需要通过多个层次,包括事务层、数据链路层和物理层,如图1-4所示、
图1-4 PCIe总线的层次组成结构
- PCIe总线使用了一些在网络通信中使用的技术,如支持多种数据路由方式,基于多通路的数据传递方式,和基于报文的数据传送方式,并充分考虑了在数据传送中出现服务质量QoS (Quality of Service)问题。