05.15 「博文連載」PCIe掃盲——TLP路由之Address Routing

「博文連載」PCIe掃盲——TLP路由之Address Routing

地址路由(Address Routing)的地址包括IO和Memory兩種。對於Memory的請求來說,32bit的地址使用3DW的Header,而64bit的地址使用4DW的Header。而IO請求則只能使用32bit的地址,即只能使用3DW的Header。

注:再次強調重點,IO請求是為了兼容早期的PCI設備的,在新的PCIe設備中禁止使用。

3DW和4DW的TLP Header分別如以下兩張圖所示:

「博文连载」PCIe扫盲——TLP路由之Address Routing
「博文连载」PCIe扫盲——TLP路由之Address Routing

當Endpoint接收到採用地址路由的TLP時,其會根據該TLP Header中的地址信息和自己的配置空間中的BAR寄存器來判斷這個TLP是不是自己的。如下圖所示:

「博文连载」PCIe扫盲——TLP路由之Address Routing

Switch的地址路由機制如下圖所示:

「博文连载」PCIe扫盲——TLP路由之Address Routing「博文连载」PCIe扫盲——TLP路由之Address Routing
「博文连载」PCIe扫盲——TLP路由之Address Routing


分享到:


相關文章: