【PCIe 总线及设备入门学习专栏 3 -- PCIe 三种路由方式详细介绍】
文章目录
-
- PCIe 路由
-
- 基于地址的路由
- 基于地址的路由
- 隐式路由
PCIe 路由
PCIe 协议中有三种路由方式:
- 基于 ID 的路由
- 基于地址的路由
- 隐式路由
前面介绍的配置过程即是基于ID的路由过程,通过总线、设备、功能号 这三个元素来找到对方。在配置好某一个PCIe 设备之后,也就是给它分配了地址,后面就可以基于地址的路由。当某个PCIe 设备发生了中断,那么可以通过隐式的路由来通知RC,通知主控,对于软件开发人员来说,我们只关注 TLP怎么表示自己使用哪种路由呢?
Figure 2-5 Fields Present in ALL TLP Headers
TLP 格式中 有个 Fmt 域 和 Type域,如下表 2-3 所示,通过这两个域的组合可以确定具体的路由方式,比如内存读写肯定是要地址路由,IO 读写也是使用地址路由,对于配置读和配置写使用的就是ID路由了,不带有数据的消息和带有数据的消息可以指定使用哪种路由方。
Table 2-3 Fmt[2:0] and Type[4:0] Fie