ID 路由(ID Routing)
ID 路由(ID Routing)有的時(shí)候也被稱為BDF路由,即采用Bus Number、Device Number和Function Number來(lái)確定目標(biāo)設(shè)備的位置。這是一種兼容PCI和PCI-X總線協(xié)議的路由方式,主要用于配置請(qǐng)求(Configuration Request)的路由,在PCIe總線中,其還可以被用于Completion和Message的路由。
前面的文章提到過(guò),TLP的Header有3DW的和4DW的,其中4DW的Header一般只用于Message中。使用ID路由的TLP Header以下兩張圖所示,第一個(gè)為3DW Header,第二個(gè)為4DW Header:
對(duì)于Endpoint來(lái)說(shuō),其只需要檢查TLP Header中的BDF是否與自己的BDF一致,如果一致,則認(rèn)為是發(fā)送給自己的,否則便會(huì)忽略該TLP。
注:很多初學(xué)者可能都會(huì)有這樣的一個(gè)疑問(wèn):采用ID路由的TLP Header中并未包含Requester的ID(BDF),那么Completer怎么確定Requester的位置呢?實(shí)際上這個(gè)問(wèn)題并不難回答,因?yàn)镮D路由主要用于配置請(qǐng)求和Completion,偶爾也用于一些廠商自定義的Message。首先,配置請(qǐng)求的Requester只能是Root,所以不需要確定其位置;再之,Completion用于對(duì)其他路由方式的回應(yīng),如地址路由中包含了Requester的BDF;最后,Message是Posted型的,即其根本不需要Completion,自然也就不需要Requester的BDF了。
注:實(shí)際上PCIe是一種點(diǎn)對(duì)點(diǎn)(Point-to-Point)的通信方式,即每個(gè)鏈路只能連接一個(gè)設(shè)備,因此大部分情況下使用3bit的空間來(lái)描述Device Number完全是多余的。為此,PCIe Spec提出了ARI格式,這里暫時(shí)不詳細(xì)介紹了,有興趣的可以自行閱讀PCIe Spec的相關(guān)內(nèi)容。
對(duì)于Switch來(lái)說(shuō),則需要根據(jù)TLP Header中的BDF來(lái)判斷,這個(gè)TLP是給自己的還是給自己下屬的其他設(shè)備的。如下圖所示:
-
PCI
+關(guān)注
關(guān)注
4文章
669瀏覽量
130316 -
路由
+關(guān)注
關(guān)注
0文章
278瀏覽量
41864 -
總線協(xié)議
+關(guān)注
關(guān)注
0文章
116瀏覽量
14860
原文標(biāo)題:【博文連載】PCIe掃盲——TLP路由之ID Routing
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論