首页 > 其他分享 >PCIe扫盲——TLP路由之ID Routing

PCIe扫盲——TLP路由之ID Routing

时间:2025-01-09 18:22:18浏览次数:1  
标签:TLP Header PCIe BDF Routing ID 路由

ID 路由(ID Routing)有的时候也被称为BDF路由,即采用Bus Number、Device Number和Function Number来确定目标设备的位置。这是一种兼容PCI和PCI-X总线协议的路由方式,主要用于配置请求(Configuration Request)的路由,在PCIe总线中,其还可以被用于Completion和Message的路由。

前面的文章提到过,TLP的Header有3DW(Double Word)的和4DW的,其中4DW的Header一般只用于Message中。使用ID路由的TLP Header以下两张图所示,第一个为3DW Header,第二个为4DW Header:

image

对于Endpoint来说,其只需要检查TLP Header中的BDF是否与自己的BDF一致,如果一致,则认为是发送给自己的,否则便会忽略该TLP。

注:很多初学者可能都会有这样的一个疑问:采用ID路由的TLP Header中并未包含Requester的ID(BDF),那么Completer怎么确定Requester的位置呢?

实际上这个问题并不难回答,因为ID路由主要用于配置请求和Completion,偶尔也用于一些厂商自定义的Message。首先,配置请求的Requester只能是Root,所以不需要确定其位置;再之,Completion用于对其他路由方式的回应,如地址路由中包含了Requester的BDF;最后,Message是Posted型的,即其根本不需要Completion,自然也就不需要Requester的BDF了。

注:实际上PCIe是一种点对点(Point-to-Point)的通信方式,即每个链路只能连接一个设备,因此大部分情况下使用5bit的空间来描述Device Number完全是多余的。为此,PCIe Spec提出了ARI格式,这里暂时不详细介绍了,有兴趣的可以自行阅读PCIe Spec的相关内容。

对于Switch来说,则需要根据TLP Header中的BDF来判断,这个TLP是给自己的还是给自己下属的其他设备的。如下图所示:

image

标签:TLP,Header,PCIe,BDF,Routing,ID,路由
From: https://www.cnblogs.com/linhaostudy/p/18662684

相关文章

  • 国产化板卡设计原理图:2295-基于 JFM7K325T的半高PCIe x4双路万兆光纤收发卡
    基于JFM7K325T的半高PCIex4双路万兆光纤收发卡    一、板卡概述   板卡采用JFM7K325T芯片作为主处理器,可应用于万兆网络、高速数据采集、存储;光纤隔离网闸等领域。      二、功能和技术指标: 板卡功能参数内容主处理器......
  • 一文彻底搞懂英伟达PCIE和Nvlink版本的显卡怎么选?
    英伟达针对企业级服务器推出了两种不同版本的显卡,一种是Nvlink版本,另一种是PCIE版本,这两种究竟有何区别,我们用于ai训练的时候又该如何选择呢?首先我们来看看PCIE版本的,PCIe版显卡对于PCIE版本的GPU而言,仅能通过桥接器与相邻的GPU相连,如下图的GPU1只能直接访问GPU2,而不能直接......
  • 国产化板卡设计资料:2270-VC709E 基于FMC接口的JFM7VX690T36 PCIeX8 接口卡
    VC709E基于FMC接口的JFM7VX690T36 PCIeX8接口卡一、板卡概述    本板卡基于FPGAJFM7VX690T36芯片,支持PCIeX8、两组64bitDDR3容量8GByte,HPC的FMC连接器,板卡支持各种FMC子卡扩展。软件支持windows,Linux操作系统。  二、功能和技术指标:   四、应用领域......
  • 国产化板卡设计原理图:2136-KC705E增强版基于FMC接口的 JFM7K325T PCIeX8 接口卡
    KC705E增强版基于FMC接口的JFM7K325TPCIeX8接口卡         一、板卡概述   本板卡基于 FPGA JFM7K325T 芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900 ,支持PCIeX8、64bit DDR3容量2GByte,HPC的FMC连接器,板卡支持各种接口输入,软件支持windo......
  • Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_server_xt_po
    SigritySystemSISerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_server_xt_postSigritySystemSISerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议......
  • Sigrity System SI SerialLink模式进行Pcie4协议仿真分析操作指导-pcie4_single
    SigritySystemSISerialLink模式进行Pcie4协议仿真分析操作指导-pcie4_singleSigritySystemSISerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议需要检查......
  • PCIe扫盲——Base & Limit寄存器详解
    上一篇文章介绍了Type0型配置空间Header中的BAR的作用和用法,但是PCIe中的桥设备(Switch和Root中的P2P)又是如何判断某一请求(Request)是否属于自己或者自己的分支下的设备的呢?(定义范围)这实际上是通过Type1型配置空间Header中的Base和Limit寄存器来实现的,这篇文章来进行简单地介绍一下......
  • PCIe扫盲——基地址寄存器(BAR)详解
    基地址寄存器(BAR)在配置空间(ConfigurationSpace)中的位置如下图所示:其中Type0Header最多有6个BAR,而Type1Header最多有两个BAR。这就意味着,对于Endpoint来说,最多可以拥有6个不同的地址空间。但是实际应用中基本上不会用到6个,通常1~3个BAR比较常见。主要注意的是,如果某个设备的B......
  • PCIe扫盲——Type0 & Type1 型配置请求
    前面的文章中介绍过有两种类型的配置空间,Type0和Type1,分别对应非桥设备(Endpoint)和桥设备(Root和Switch端口中的P2P桥)。Type0还是Type1是由事务层包(TLP)包头中的TypeField所决定的,而读还是写则是由TLP包头中的FormatField所决定的。分别以下两张图所示:之前的文章中强调过,PCIe中......
  • PCIe扫盲——Memory & IO 地址空间
    早期的PC中,所有的IO设备(除了存储设备之外的设备)的内部存储或者寄存器都只能通过IO地址空间进行访问。但是这种方式局限性很大,而且效率低,于是乎,软件开发者和硬件厂商都不能忍了……然后一种新的东西就出来了——MMIO。MMIO,即MemoryMappedIO,也就是说把这些IO设备中的内部存储和寄......