3.2PCIE的路由从PCI说起


这是刨析PCIE协议的第13篇文章

内容简介

2024-01-01

    全文共1279字,阅读大约需要4分钟,本文主要说一下为什么要介绍PCI,以及PCI的拓扑结构。

01

为什么要从PCI说起

    看好多资料或书,无不首先介绍PCI,然再介绍PCIE,对于连PCI都不懂的我来说又急于了解PCIE,确实有些费劲。慢慢了解了PCIE才发现,这也是不得不做的一件事。PCI到PCIE的升级,主要是物理实现方式的升级,其次是伴随物理链路升级而产生的实现方式的优化。接下来会有4篇文章简单的介绍下PCI的拓扑结构和配置机制,方便我们了解PCIE的一些内容。

    PCI是因特尔91年提出的一种基于并行总线的硬件架构实现方案。这在那时候确实是比较好的方案,但随着工艺的不断进步,高速串行数据传输越来越牛,PCI自然也要发展,就有了 PCI Express,也就是PCIE。硬件升级了,但软件是基于PCI架构实现的,也推到重来?那不能够,这样玩其它适配厂家该不干了,所以只能去兼容,然后再发展的过程中一点一点的迭代,比如PCI的ID路由方式,再更新几个版本估计就不会支持了,但不是现在。

02

简单瞅瞅PCI结构

    这就导致有些方案对PCIE来说是没必要,但确实存在,就需要我们基于PCI来理解,要不然一头雾水。所以这一节的,简单的介绍下PCI相关的内容,当然,也是粗浅的。

1

x86架构

    如下图是摘自《PCI Express Technology》的一个关于PCI结构图,由North Bridge、PCI总线、South Bridge、PCI设备构成,其中North Bridge和South Bridge也就是北桥和南桥,定义方式就是我们看地图的上北下南的方式。北桥用来管理整个PCI相关的设备,形成与CPU、内存的统一接口,一般北桥也会挂一些高性能设备,例如显卡。南桥的话负责较慢速的设备,例如鼠标键盘啥的。

2

抽象出的架构

    不过随着技术的发展,尤其到了PCIE阶段,这个区分已经模糊了。而且这只是X86架构的实现方式,其它架构则不这样设计了。还有一种更便于过渡到了解PCIE的结构描述方式,即将PCI整体结构拆分为HOST主桥、PCI桥和PCI设备。如下图所示,北桥实现了HOST主桥的功能并不限于此。HOST主桥是一个PCI结构树的起点和大脑,一个CPU可以包含多个HOST主桥,每个主桥都是一个独立的树。PCI桥的作用是开枝散叶,能够扩展连接更多的PCI设备。PCI设备也称为PCI Agent,就是最终实现的功能。

3

上述架构对应的接口

    PCI是并行总线,每个PCI桥意味着扩展出了一条新的PCI总线,PCI总线是一条共享总线,上面可以挂很多PCI设备,但挂多了负载太大,一般最多也就五六个,而通过PCI桥的扩展就是成倍数的扩展。PCI总线上的这些设备由与总线有相同的连接信号,包括地址/数据信号、控制信号、仲裁信号等组成,这个也是PCI协议规范里面明确的,类似下面这样子。

    根据上面的描述,大致也清楚了PCI结构,host是首领,PCI桥是传达室,PCI设备是干活的。这就类似于PCIE的RC、switch和EP这一套。

    此时需要思考一个问题,host主桥是如何知道有多少个PCI桥有多少个PCI设备的?下文我们来讲

欢迎关注公众号点击资料下载领取PCIE相关资料







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

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

<