事務層是
pcie
匯流排層次結構的最高層,該層次將接收
pcie
裝置核心層的資料請求,並將其轉換為
pcie
匯流排事務,
pcie
匯流排使用的這些匯流排事務在
tlp頭中定義。
pcie
匯流排繼承了
pci/pci-x
匯流排的大多數匯流排事務,如儲存器讀寫、
i/o讀寫、配置讀寫匯流排事務,並增加了
message
匯流排事務和原子操作等匯流排事務。
本節重點介紹與資料傳送密切相關的匯流排事務,如儲存器、
i/o、配置讀寫匯流排事務。在
pcie
匯流排中,
non-posted
匯流排事務分兩部分進行,首先是傳送端向接收端提交匯流排讀寫請求,之後接收端再向傳送端傳送完成
(completion)
報文。pcie
匯流排使用
split
傳送方式處理所有
non-posted
匯流排事務,儲存器讀、
i/o讀寫和配置讀寫這些
non-posted
匯流排事務都使用
split
傳送方式。
pcie
的事務層還支援流量控制和虛通路管理等一系列特性,而
pci匯流排並不支援這些新的特性。 在
pcie
匯流排中,不同的匯流排事務採用的路由方式不相同。
pcie
匯流排繼承了
pci匯流排的位址路由和
id路由方式,並新增了「隱式路由」方式。
pcie
匯流排使用的資料報文首先在事務層中形成,這個資料報文也被稱之為事務層資料報文,即
tlp,
tlp在經過資料鏈路層時被加上
sequence number
字首和crc
字尾,然後發向物理層。
資料鏈路層還可以產生
dllp(data link layer packet)
。dllp
和tlp
沒有直接關係,
dllp
是產生於資料鏈路層,終止於資料鏈路層,並不會傳遞到事務層。
dllp
不是tlp
加上字首和字尾形成的。資料鏈路層的報文
dllp
通過物理層時,需要經過
8/10b
編碼,然後再進行傳送。資料的接收過程是傳送過程的逆過程,但是在具體實現上,接收過程與傳送過程並不完全相同。
PCIe匯流排事務層
在介紹事務層之前,首先簡單地了解一下pcie匯流排的通訊機制。假設某個裝置要對另乙個裝置進行讀取資料的操作,首先這個裝置 稱之為requester 需要向另乙個裝置傳送乙個request,然後另乙個裝置 稱之為completer 通過completion packet返回資料或者錯誤資訊。在pcie...
PCIe掃盲 PCIe匯流排事務層入門(一)
在介紹事務層之前,首先簡單地了解一下pcie匯流排的通訊機制。假設某個裝置要對另乙個裝置進行讀取資料的操作,首先這個裝置 稱之為requester 需要向另乙個裝置傳送乙個request,然後另乙個裝置 稱之為completer 通過completion packet返回資料或者錯誤資訊。在pcie...
PCIe掃盲 PCIe匯流排事務層入門(二)
前面的文章介紹了tlp的幾種型別以及tlp的包結構。這篇文章來詳細地聊一聊non posted transaction 包括ordinary read locked read和io configuration writes 與posted writes 包括memory writes和message...