博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

PCIE背景知识学习(5)

Posted on 2022-09-26 16:55  沉默改良者  阅读(389)  评论(0编辑  收藏  举报

PCIE背景知识学习(5)

拓扑结构

 

 

 拓扑特征 (Topology Characteristics)

在图的最上方是一个 CPU 。这里需要指出,CPU 被认为是 PCIe 层次结构的顶端。就像 PCI 一样,PCIe 只允许简单的树结构,这意味着不允许出现循环或者其他复杂的拓扑结构。这样做的原因是为了保持与 PCI 软件的向后兼容性,因为 PCI 软件使用简单的配置方法来记录拓扑结构,它并不支持复杂的环境。

根组件 (Root Complex)

CPU 与 PCIe 总线之间的接口可能包含一系列的组件(处理器接口,DRAM 接口等等),甚至是包含多个芯片。将这些组件合起来,称这一组组件为根组件(Root Complex, RC, Root)。RC 存在于 PCI 树状拓扑的“根部”,并代表 CPU 与系统的其余部分通信。但是,PCIe 协议规范并没有很仔细的对 RC 进行定义,而是给出了一个 RC 必需功能与可选功能的列表。从广义上说,根组件可以被理解为系统 CPU 与 PCIe 拓扑之间的接口,这个 PCIe 端口,即 RC,在配置空间中被标记为“根端口”。

交换机与桥 (Switches and Bridges)

交换机提供了扇出以及聚合能力,使得单个 PCIe 端口上可以连接更多的设备。它扮演数据包路由器的角色,可以根据所给数据包的地址或者其他路由信息来识别这个数据包要走哪条路径。

桥提供了一个通往其他总线的接口,例如 PCI 或者 PCI-X,甚至也可以是其他的 PCIe 总线。图2‑6 中展示的桥有时被称为“前向桥”,它使得一个旧的 PCI 或者 PCI-X 板卡可以插入一个新系统中(PCIe 系统)。与前向桥相反类型的桥称为“反向桥”,它使得新的PCIe 板卡可以插入到旧的 PCI 系统中。

原生与传统端点 (Native PCIe Endpoints and Legacy PCIe Endpoints)

端点是 PCIe 拓扑中的既不是交换机也不是桥的设备,它们可以作为总线上事务的发起者也可以作为事务的完成者。端点存在于树状拓扑的分支的底部,仅实现一个上行端口(Upstream Port,与 RC 的连接方向),这里的上行指的是拓扑结构的向上,表示端点已经是树的分支的端点,不再产生下级分支。相比之下,一个交换机可以有几个下行端口(Downstream Port)。

枚举

枚举(Enumeration)是配置软件用来发现系统拓扑结构,并分配总线号和系统资源的过程,它的工作方式也与 PCI 中相同。在稍后的内容中我们将通过一些例子来讲述枚举是如何工作的。一旦枚举完成,系统中的总线号就将按照图2‑9 所示的方式进行分配。