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