1.2 PCIE有怎样的拓扑结构?



内容简介

2024-01-18

    全文共1279字,阅读大约需要4分钟,主要是介绍PCIE有哪些组件,这些组件的作用是什么?对此有个初步的任何。

     PCIE是一个协议,描述了具有相同接口的不同设备的沟通方法。这篇文章作为概述性文章就简单的介绍下PCIE协议所支持的各种组件以及比较典型的拓扑结构,让我们对其整体的组织形式有个大概的理解。  


    我们知道电脑主板上有很多东西,例如硬盘、显卡、网卡、USB接口等等,我称之为组件,就是组成电脑的一个又一个的功能设备。如下图就包括了些PCIE协议所支持的各种组件。该拓扑结构的最大特点就是点对点互联,包括了RC(Root Complex)、Switch、Endpoint、PCIE to PCI/PCI-X Bridge这些设备,它们在PCIE所规定的协议下扮演着各自的角色,承担着各自的任务。下面我们就逐个概括性的介绍下这些组件。


01

Root Complex(RC)

    Root Complex在百度百科翻译为“根复合体”,对于我这初学这来说,理解根复合体并不容易,所以还是愿意称之为RC,它的含义就是一个实现CPU与PCIE上组件通信的媒介,CPU要读取某个组件信息,告知RC,其它的均有RC代劳了。可以说是PCIE拓扑结构的中枢机构,是管家,是指挥者,负责初始化和管理 PCIe 总线上的所有设备。通过它,计算机系统中的各种 PCIe 设备能够进行高速、高效的数据传输。其实协议对RC还有很多的规定且随着处理器不同而不同,本是一个模糊的概念,对于X86处理器RC除了管理PCIE设备还有其它事情要干,但在这里还是应该把它理解为PCIE总线的主控制器。


RC支持的主要功能有:

1、配置空间管理:RC管理 PCIe 总线上所有设备的配置空间。每个 PCIe 设备都有一些配置寄存器,这些寄存器存储设备的特定信息,如设备ID、厂商ID。


2、地址映射:RC负责分配 PCIe 总线上各个设备的地址。这包括内存映射和I/O映射,以确保不同设备之间的数据传输能够正确进行。


3、中断管理:PCIe设备可能会生成中断信号,RC负责管理这些中断,确保它们正确地传递到相应的处理器核心。


4、通信与数据传输:RC与其他 PCIe 设备之间通过 PCIe 链路进行通信。PCIe 链路分为一到多个通道,每个通道包含一个上行和一个下行通道,用于双向数据传输。    


具体会在第二章、第三章详细展开,这里就大概知道些就好,无需深究。

02

Endpoints

    Endpoints称之为端点或者说终点,RC的命令最终要去的地方就是这里。Endpoint是PCIe总线上的终端设备,负责提供各种服务和数据传输功能。它要实现对RC的请求进行响应,并接收RC的配置。例如计算机里面的声卡、网卡,还有应用到PCIE的其他功能设备,均是端点。


    一般我们称之为PCIE设备,或者是PCIE Agent,在PCIE规范里面经常看到,我们知道他们指代的都是功能组件即可。

03

Switch

    如下图所示是一个Switch组件,作用好比路由器,是扩展PCIE总线的的,能够允许更多的Endpoints设备链接到系统。它的内部可以视为多个虚拟的PCI到PCI的桥,实现扩展功能。该组件会根据事务类型将数据送到不同的通道。该组件对数据包没有处理的功能只有转发功能。

    Switch具有多个端口,每个端口连接到PCIe总线的一个通道,或者连接到另一个Switch的端口。通道是数据传输的通路,每个通道包含一个上行通道和多个下行通道,用于双向数据传输。上行通道与Root Complex或上层的Switch连接,以接收和发送数据。 S下行通道与多个Endpoint设备连接,为这些设备提供PCIe总线访问。

    看上图我们会发现,为什么每个扩展接口称为PCI-PCI Bridge呢?这个等在后面介绍会做解答。

04

PCIE 到PCI/PCI-X 桥接器

    这个主要是用来兼容PCI组件的,如果有设备是PCI接口,可以通过PCIE-PCI桥来接入系统中去。这个在过渡期间的很有用,但PCIE都出来这么多年,这个桥接器也就没那么大的用处了。

    如下图就是PCIE的一个例子,可以多搂两眼。

欢迎关注公众号领取PCIE相关资料







快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~

有建议、有需求、有疑问、联系我

<