PCIe系列專題之二:2.0 Transaction layer事務層概述

原文:https://blog.csdn.net/zhuzongpeng/article/details/76136110

一、故事前傳

上回我們對PCIe的一些基礎概念作了一個宏觀的介紹,瞭解了PCIe是一種封裝分層協議(packet-based layered protocol),主要包括事務層(Transaction layer), 數據鏈路層(Data link layer)和物理層(Physical layer)。


較爲詳細解釋請見之前的文章:PCIe技術概述;


二、事務層概述

在PCIe體系結構中,數據報文首先在設備的核心層(Device Core)中產生,然後再經過該設備的事務層(Transaction Layer)、數據鏈路層(Data Link Layer)和物理層(Physical Layer),最終發送出去。而接收端的數據也需要通過物理層、數據鏈路和事務層,並最終到達Device Core。

事務層的主要職責可以概述爲:

事務層是PCIe總線層次結構的最高層,該層次將接收PCIe設備核心層的數據請求,並將其轉換爲PCIe總線事務,PCIe總線使用的這些總線事務在TLP頭中定義


PCIe總線繼承了PCI/PCI-X總線的大多數總線事務,如存儲器讀寫(Memory Read/Write)I/O讀寫配置讀寫總線事務,並增加了Message總線事務原子操作等總線事務。 

擴展:PCIe中有兩大類總線事務:Non-Posted和Posted:

  1. Non-Posted: 需要completion返回響應包;

  2. Posted: 不需要completion返回響應包.


在PCIe總線中,Non-Posted總線事務分兩部分進行,首先是發送端向接收端提交總線讀寫請求,之後接收端再向發送端發送完成(Completion)報文。PCIe總線使用Split傳送方式處理所有Non-Posted總線事務,存儲器讀、I/O讀寫和配置讀寫這些Non-Posted總線事務都使用Split傳送方式。


PCIe的事務層還支持流量控制(Flow control)虛通路管理(Virtual Channel Management)等一系列特性,而PCI總線並不支持這些新的特性。  


在PCIe總線中,不同的總線事務採用的路由方式不相同。PCIe總線使用的數據報文首先在事務層中形成,這個數據報文也被稱之爲事務層數據報文,即TLP,TLP在經過數據鏈路層時被加上Sequence Number前綴和CRC後綴,然後發向物理層。


本篇文章主要是對PCIe的事務層作一個大致的表述,後續章節會針對事務層主要的功能TLP, Flow Control, Transaction Ordering等內容進行詳細的介紹,敬請期待!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章