前面的文章中介紹過有兩種類型的配置空間,Type0和Type1,分別對應非橋設備(Endpoint)和橋設備(Root和Switch端口中的P2P橋)。
Type0還是Type1是由事務層包(TLP)包頭中的Type Field所決定的,而讀還是寫則是由TLP包頭中的Format Field所決定的。分別以下兩張圖所示:
之前的文章中強調過,PCIe中只有Root才可以發起配置空間讀寫請求,并且我們知道Root的每個端口中都包含有一個P2P橋。當Root發起配置空間讀寫請求時,相應的橋首先檢查請求的BDF中的Bus號是否與自己的下一級總線號(Secondary Bus Number)相等,如果相等,則先將Type1轉換為Type0,然后發給下一級(即Endpoint)。
如果不相等,但是在自己的下一級總線號(Secondary Bus Number)和最后一級總線號(Subordinate Bus Number)之間,則直接將Type1型請求發送給下一級。如果還是不相等,則該橋認為這一請求和自己沒什么關系,則忽略該請求。
注:Root最先發送的配置請求一定是Type1型的。非橋設備(Endpoint)會直接忽略Type1型的配置請求。
一個簡單的例子如下圖所示:
注:原計劃中的“PCIe掃盲——PCIe總線的拓撲邏輯”這一篇取消了。大家如果有興趣的,可以自行閱讀PCIe Spec或者MindShare的書籍。
-
PCIe
+關注
關注
15文章
1217瀏覽量
82436 -
Type
+關注
關注
1文章
134瀏覽量
22650
原文標題:【博文連載】PCIe掃盲——Type0 & Type1 型配置請求
文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論