第5章 PCIe匯流排的事務層

2021-06-16 21:53:25 字數 1268 閱讀 2645

事務層是

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...