PCIe事務層包TLP Header詳解


 

1、事務層包的一般格式:

 

        包的header為3DW(double word)或者4DW(一個DW代表4字節),數據負載為1~1024DW(即4~4096byte,最大4M),TLP Digest可選,TLP Digest表示檢查,即CRC校驗可選,長度為1DW(4byte),

 

 

      TLP header的格式和內容會隨着TLP的類型和路由(ID、Address、implcit)方式而改變,TLP的類型由Fmt(Format)決定,類型由type決定,

 

 

 

 

 

 

     關於byte enable,分為Last DW Byte Enables和First DW Byte Enables,在PCIe中Data Payload的單位是DW,也就是說數據大小(地址)需要以雙字進行對齊,優勢數據的大小並不是DW的整數倍,因此引入了Byte Enable來解決該問題,需要遵循的原則為:

(1)、Byte enable為高電平有效,低電平表示Data Payload對應的byte為無效,不被completer使用。

(2)、如果有效數據小於1DW,即小於4byte,則last DW byte enable應全部為0.

(3)、如果有效數據大於1DW,則Last DW byte enable 中至少有一位有效

(4)、如果有效數據大於等於3DW,則first DW byteenable和

 

      關於TLP的Data Payload有:

(1)、Data Payload的大小由TLP Header中的length決定

(2)、Data Payload的大小並不是有效的數據的大小,有效數據的大小是由Data Payload和Byte Enable共同決定的。

(3)、data Payload采用的對齊方式i是小端對齊,低字節存放於低地址中。

(4)、當事務包類型為Message是,Length一般是保留的,除非該Message是帶有數據的MsgD。

(5)、TLP的Data Payload大小不得超過Max_Payload_Size的值,該值位於Device Control Register中。對於比較大的數據量,因此只能分多次進行發送。對於讀請求來說,並沒有Data Payload,也就是說該規則並不適用於讀請求。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM