需要特別注意的是,PCIe的Spec中明確規(guī)定只有Root有權(quán)限發(fā)起配置請求(Originate Configuration Requests),也就是說PCIe系統(tǒng)里面的其他設(shè)備是不允許去配置其他設(shè)備的配置空間的,即peer-to-peer的配置請求是不允許的。并且配置請求的路由(Routing)方式只能是采用BDF(Bus,Device,F(xiàn)unction)。
處理器一般不能夠直接發(fā)起配置讀寫請求,因?yàn)槠渲荒墚a(chǎn)生Memory Request和IO Request。這就意味著Root必須要將處理器的相關(guān)請求轉(zhuǎn)換為配置讀寫請求。針對傳統(tǒng)的PCI設(shè)備(Legacy PCI),采用的是IO間接尋址訪問(IO-indirect Accesses);針對PCIe設(shè)備,采用的是Memory-Mapped Accesses。
前面的文章還介紹過,Root和Switch的每一個端口中都包含一個P2P橋,并且知道橋的配置空間頭(Configuration Space Header)是Type1型的。如下圖所示:
每個Type1型的Header中都包含最后一級總線號(Subordinate Bus Number)、下一級總線號(Secondary Bus Number)和上一級總線號(Primary Bus Number)等信息。當(dāng)配置請求進(jìn)行BDF路由的時候,正是依靠這些信息來確定要找的設(shè)備的。一個簡單地例子如下圖所示:
注:上面的例子是整個PCIe總線系統(tǒng)中只有一個Root的情況,實(shí)際上PCIe Spec還允許總線系統(tǒng)中存在多個Root(即Multi-Root)。關(guān)于Multi-Root,這里就不詳細(xì)地介紹了,有興趣地可以自行閱讀PCIe的Spec。
-
PCIe
+關(guān)注
關(guān)注
15文章
1241瀏覽量
82740 -
root
+關(guān)注
關(guān)注
1文章
86瀏覽量
21400
原文標(biāo)題:【博文連載】PCIe掃盲——配置空間的讀寫機(jī)制
文章出處:【微信號:ChinaAET,微信公眾號:電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論