對相關(guān)NVMe IP視頻感興趣的,請到B站搜用戶名: 專注與守望
3)PCIe事務(wù)層
PCIe的事務(wù)層連接了PCIe設(shè)備核心與PCIe鏈路,這里主要基于PCIe事務(wù)層進(jìn)行討論與分析。事務(wù)層采用TLP傳輸事務(wù),完整的TLP由TLPPrefix、TLP頭、Payload和TLP Digest組成。TLP頭是TLP中最關(guān)鍵的部分,一般由三個或四個雙字的長度,其格式定義如表1所示。
表1 PCIeTLP報文頭格式
常用的PCIeTLP事務(wù)類型如表2所示。其中Non-Posted類型的事務(wù)請求需要 使用完成報文(CompletionPacket,Cpl)或帶數(shù)據(jù)的完成報文(CompletionPacketwith Data,CplD)類型的響應(yīng)包返回請求狀態(tài)或數(shù)據(jù),Posted類型的事務(wù)請求不需要使用 完成報文。 PCIe總線協(xié)議定義了基于地址的路由、基于ID的路由和隱式路由三種TLP路由 方式。其中,存儲器讀寫和I/O讀寫TLP采用基于地址的路由,該類型的報文可由 RC 或EP發(fā)出,根據(jù)TLP中的Address字段進(jìn)行路由選徑。配置讀寫報文、Cpl和 CplD 完成報文使用基于ID的路由,配置讀寫報文只能由RC發(fā)出,而完成報文可由 任何設(shè)備發(fā)出,這些報文根據(jù)TransactionID進(jìn)行路由選徑,TransactionID則由PCIe 總線號、設(shè)備號、功能號和Tag字段構(gòu)成。消息報文使用隱式路由,一般由RC發(fā)出 EP 響應(yīng),該類型報文的路由直接由下游端口到上游端口,或為RC向EP發(fā)出的廣播。
表2 PCIeTLP事務(wù)類型
4)PCIe 配置空間
PCIe 設(shè)備具有和PCI設(shè)備相同的配置空間頭類型,此外使用PCIe拓展配置空間 管理PCIe總線。PCI配置空間頭分為Type0和Type1兩種類型,Type0類型配置空間 頭在PCIe總線中用于EP,Type1類型配置空間頭用于Switch中的虛擬PCI橋。 Type0 類型的配置空間頭結(jié)構(gòu)如表3所示。其中主要的寄存器的作用如下:
(1)設(shè)備ID和供應(yīng)商ID:由PCI-SIG分配,當(dāng)供應(yīng)商ID為16’hFFFF時表示 無效的設(shè)備;
(2)狀態(tài)寄存器:保存PCIe設(shè)備的狀態(tài)信息;
(3)命令寄存器:初始值為0,需要合理配置該寄存器才能訪問該設(shè)備的存儲 器或者I/O空間;
(4)頭類型:當(dāng)值為0時表示設(shè)備使用Type0的配置空間,值為1時表示設(shè)備 使用Type1的配置空間;
(5)基地址寄存器(BaseAddressRegister,BAR):保存PCIe 設(shè)備使用的地址空間的基地址;
(6)拓展功能指針:指向拓展配置空間的偏移地址。
表3 PCIeType0類型配置空間頭
Type1類型的配置空間頭如表4所示。其中主要寄存器的作用如下:
(1)00h~14h的寄存器作用與Type0類型的相同;
(2)下級最大總線號、下一級總線號、上一級總線號:下級最大總線號為該設(shè) 備下游的PCIe子樹中最大的總線號,下一級總線號為直接連接在該設(shè)備下游端口的 總線號,上一級總線號為與該設(shè)備上游端口直接連接的總線號,三者共同確定了該設(shè) 備在PCIe樹中的位置;
(3)存儲地址大小、存儲基地址:兩者共同表示分配到該設(shè)備的存儲地址域;
(4)拓展功能指針:指向拓展配置空間的偏移地址。
表4 Type1類型的配置空間頭
審核編輯 黃宇
-
PCIe
+關(guān)注
關(guān)注
16文章
1342瀏覽量
85203 -
nvme
+關(guān)注
關(guān)注
0文章
252瀏覽量
23251
發(fā)布評論請先 登錄
評論