ID 路由(ID Routing)
ID 路由(ID Routing)有的時候也被稱為BDF路由,即采用Bus Number、Device Number和Function Number來確定目標設備的位置。這是一種兼容PCI和PCI-X總線協議的路由方式,主要用于配置請求(Configuration Request)的路由,在PCIe總線中,其還可以被用于Completion和Message的路由。
前面的文章提到過,TLP的Header有3DW的和4DW的,其中4DW的Header一般只用于Message中。使用ID路由的TLP Header以下兩張圖所示,第一個為3DW Header,第二個為4DW Header:
對于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)的通信方式,即每個鏈路只能連接一個設備,因此大部分情況下使用3bit的空間來描述Device Number完全是多余的。為此,PCIe Spec提出了ARI格式,這里暫時不詳細介紹了,有興趣的可以自行閱讀PCIe Spec的相關內容。
對于Switch來說,則需要根據TLP Header中的BDF來判斷,這個TLP是給自己的還是給自己下屬的其他設備的。如下圖所示:
-
PCI
+關注
關注
4文章
671瀏覽量
130476 -
路由
+關注
關注
0文章
278瀏覽量
41933 -
總線協議
+關注
關注
0文章
117瀏覽量
14899
原文標題:【博文連載】PCIe掃盲——TLP路由之ID Routing
文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論