日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PCIe事务层の详解(一)

發布時間:2024/9/5 编程问答 63 如意码农
生活随笔 收集整理的這篇文章主要介紹了 PCIe事务层の详解(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PCIe總線的通信機制:當一個設備要想另一個設備進行讀取通信時,請求方requester需要向另一個設備發送請求request,靶向方作為事件完成方completer,以complete Packet的形式返回數據或者錯誤信息。請求的形式有:內存(memory)、輸入輸出(IO),配置(Configuration)和消息(Message)

non-posted和posted的區別是是否僅僅將數據發送到接收方就完成動作,non_posted是指請求方發送了一個包含請求的Packet之后,還要得到一個包含completion的Packet的應答,posted指的是發出請求后,不需要completer發送一個包進行應答。顯然,posted類型的操作對總線的利用效率更高。

事務層包(Transaction Layer Packet,TLP)的幾種類型:

abbreviated :縮寫

TLP的傳輸層示意圖:

圖中的示意圖以發送和接收為例,用戶層將數據發送到事務層,事務層給數據加上幀頭,并在數據的結尾添加ECRC(端到端CRC校驗)信息,再發送給數據鏈路層(Data Link Layer),護具鏈路層給接收到的TLP添加網絡封包序號和數據鏈路層CRC校驗結果,之后將數據發送到物理層,物理層給接收到的報添加其實和結束標志。

接收方反向操作。

事務層包的結構圖為:

圖中的TLP Digest即ECRC(End-to-End CRC),是可選項。此外,TLP的長度(包括其中的Header、Data和ECRC)是以DW(double word雙字,即四個字節byte)為單位。

帶回答的數據傳輸non-posted,包括Ordinary Read(正常讀取)、Locked Read(鎖存讀取)、IO/Configuration Write(IO端口、配置寫入),不帶回應的傳輸為Memory Writes和Message Writes。

1、在Ordinary read(non_posted)時,終端endpoint向system memory系統內存空間發送讀取請求(Read Request)

終端的讀請求經過兩個切換之后進入root,然后root對讀請求的包packet進行解碼,從解碼結果中識別出操作地址,再向操作地址進行讀取,將包含數據的completion packet(cplD包)發送到Endpoint。PCIe允許每個包的最大數據量(Max Data Payload)為4KB,但是實際上往往采用更小的Size(128,256,512,1024,2048)。因此,往往一個讀請求對應多個ClpD,將大于設定的Size的數據分成多個包進行分包發送。此外,在root將數據發送給請求端方式根據請求數據中的BDF(Bus,device,Function)信息查找對應的endpoint設備.

2、對于posted-write

PCIe中的寫操作都是posted的,因此請求方不需要完成方的Copletion信息,寫請求有處理器Processor發出,Root接收到寫請求指令后將數據通過寫入信息通過switch寫入到endpoint。由于沒有返回Completion,在發生錯誤時,請求方不知道錯誤的發生。但是完成方completer會將錯誤記錄到日志(log),然后向root發送報錯記錄的Message。

 關于事務層傳輸的優先級問題

考慮到一些傳輸對時間要求的問題,保證這一類數據包的優先發送,PCIe標準中為每一個包都分配了一個優先級,通過事務層包的Header中的TC【2:0】進行區別,(Traffic Class,傳輸等級),TC越大,傳輸優先級越高,對應的包也會優先發送。通常支持QoS(Quallition of Service)的PCIe總線系統,對于每一個Tc值都會有一個獨立的VC(虛擬通道,viatual channel)相對應,VC就是一個buffer緩存,作用是緩存數據包。

在switch端,switch根據優先級進行包傳輸,即為端口仲裁(Arbitrition of Port),

總結

以上是生活随笔為你收集整理的PCIe事务层の详解(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。