0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PCIe 6.0入門之事務層

jf_78858299 ? 來源:知芯有道 ? 作者:知芯有道 ? 2023-05-22 17:30 ? 次閱讀

PCIE 6.0 (三)

事務層

⊙transaction layer

作為協(xié)議的最高層,事務層的主要功能是:

? 流水線式完整拆分交易協(xié)議

? 區(qū)分事務層數(shù)據(jù)包 (TLP) 的排序和處理要求的機制

? 基于credit的流量控制

? 可選支持數(shù)據(jù)中毒和端到端數(shù)據(jù)完整性檢測。

0****1

**###

Transaction Layer Overview

**

PCIe 6.0 增加了一種新的傳輸模式 flit mode,而傳統(tǒng)的傳輸模式就變成了non-flit mode。在傳統(tǒng)模式中,TLP是不定長的,物理層中需要start end標志來標記數(shù)據(jù)包的頭和尾。而且TLP和DLLP是工作在不同的層中,相互之間是獨立的。

PCIe 6.0的flit mode借用了NoC中flit的概念(也可能不是借用,因為筆者是做NoC的,所以可能會有先入為主的影響),將多個TLP和一個DLLP的信息打包成一個大的數(shù)據(jù)幀,稱為flit,數(shù)據(jù)的傳輸以flit為單位,每個flit固定為256Byte。需要注意的是,flit既不在事務層也不在數(shù)據(jù)鏈路層,而是在物理層,就好比NoC的flit是直接定義在物理總線上的,PCIe的flit是直接定義在物理層的lane中的.

圖片事務層是請求者和完成者之間信息傳輸?shù)幕A。 在這層協(xié)議中定義了四個地址空間,并定義了不同的事務類型,每個都有自己獨特的預期用途,如下所示

圖片

Memory Transactions

內存事務包括以下類型:

? 讀取請求/完成

? 寫請求

? 可延遲內存寫入請求/完成

? 原子操作的請求/完成

I/O Transactions

PCI Express 支持 I/O 空間,以便與需要使用它們的舊設備兼容。 I/O 事務包括以下類型:

? 讀取請求/完成

? 寫請求/完成

Message Transactions

message事務,或簡稱為消息,用于支持設備之間事件的帶內通信。除了協(xié)議中定義的特定消息外,PCI Express 還支持供應商定義的消息使用指定的消息代碼。

事務層數(shù)據(jù)包格式

事務由請求和完成組成,它們使用數(shù)據(jù)包進行通信。數(shù)據(jù)包的域斷可見下圖,(一個數(shù)據(jù)包的大小如果為512Bit,則每個預斷的值就是將512Bit的值按順序填在下圖的格式表中)。

圖片

0****2

事務層協(xié)議 - 數(shù)據(jù)包定義

前面給大家介紹了TL的數(shù)據(jù)包格式由TLP Prefix、header,data組成。下面為大家介紹在每個小部分里不同域斷的含義。

Header Fields For Non-Flit Mode

圖片

Fmt 字段指示一個或多個 TLP 前綴的存在,Type 字段指示相關的 TLP前綴類型。

  • TLP Header 的 Fmt 和 Type 字段提供了確定剩余部分大小所需的信息。同時TLP 報頭的 Fmt、Type、TD 和 Length 字段包含確定 TLP 非前綴部分的總體大小所需的所有信息。 Type 字段除了定義 TLP 的類型外,還決定了交換機如何路由 TLP。 以下各節(jié)將不同類型的 TLP。
  • TC[2:0]:流量類別 (TC) 是一個 3 位字段,允許將事務區(qū)分為八個流量類別。 與 PCI Express 虛擬通道支持一起,TC 機制是實現(xiàn)差異化流量服務的基本要素。(TC0是表示此次傳輸?shù)臄?shù)據(jù)包優(yōu)先級最高要優(yōu)先通過) 每個 PCI Express 事務層數(shù)據(jù)包都使用 TC 信息作為在 PCI Express 結構中端到端攜帶的不變標簽。 當數(shù)據(jù)包穿過結構時,此信息將在每個鏈路和每個交換機元素內使用,以做出有關正確處理流量的決策。 服務的一個關鍵方面是根據(jù) TC 標簽通過相應的虛擬通道路由數(shù)據(jù)包。
  • R:保留;
  • TLP Hints (TH):TLP Hints,用以指示 TLP Header 中是否含有 TPH 及 TPH TLP Prefix。(具體參考PCIE協(xié)議介紹)
  • Attr:Attributes,通過該字段提供附加信息給接收端,告知接收端采用非默認方式來處理當前 TLP,常用于 TLP 排序、Snoop 硬件一致性管理等方面。
  • TD:TLP Digest,用以指示 TLP 末尾的 Digest 字段是否含有 ECRC。僅用于 NFM。FM 的 ECRC 相關指示放在了 TS。
  • Error Poisoned:Error Poisoned,PCIe E2E 數(shù)據(jù)完整性相關,用以指示當前 TLP 的 Data Payload 被污染。
  • Length[9:0]:Length,用以指示當前 TLP 的 Data Payload 長度,僅對帶有 Data Payload 的 TLP 有效, 單位為 DW。

Data Payloads For Non-Flit Mode

ARI : Alternative Routing-ID,用于Requester IDs,Completer IDs以及Routing ID。

ARI Device : 與Upstream Port關聯(lián)的設備,其Functions均包含 ARI Extended

ARI Downstream Port : 支持 ARI 轉發(fā)的Switch Downstream Port或Root Port。

( ARI(Alternative Routing-ID),備選路由ID。在PCIE中,往往數(shù)據(jù)包傳輸通過TLP的形式。這些TLP大致分為Memory Read/Write TLP , Configuration Read/Write TLP ,Completion TLP, Message TLP以及IO TLP。這些TLP從Request端到Completion端的過程叫做路由,而路由又大致分為兩類地址路由和ID路由。

所有的ID路由中的ID包括Request端的bus number,device number以及function number。其中ID有16 bits,bus number 8 bits,device number 5 bits,function number 3 bits意味著支持8個function。

對于有些device功能比較復雜或者支持FBP技術的root port或者device,往往8個function不足以滿足要求,這個時候就出現(xiàn)了ARI技術。將device number的5 bits也用作function,這樣便可以由原來的8個function擴展到256個function。 )

  • Length表示DW的數(shù)目,為整數(shù)
  • 除了那些明確引用數(shù)據(jù)長度的消息,Length[9:0] 為所有Message保留
    (請參閱協(xié)議第 2.2.8 節(jié)中的Message Code表。)
  • 有 data payload的 TLP 發(fā)送器不允許TLP Length字段給出的data payload長度超過發(fā)送器Device Control寄存器 Max_Payload_Size 字段中的值指定的DW長度。
  • 對于ARI 設備,Max_Payload_Size 僅由Function 0 中的設置決定,忽略其他Function中的 Max_Payload_Size 設置。
  • 如果一個非ARI Multi-Function Device(MFD)中的所有Functions 的Max_Payload_Size完全相同,如果有個Upstream Port與這個MFD相關聯(lián),它傳輸?shù)?TLP data payload不得超過通用 Max_Payload_Size 設置。
  • 如果一個非ARI Multi-Function Device(MFD)中的所有Functions 的Max_Payload_Size不完全相同,如果有個Upstream Port與這個MFD相關聯(lián),它傳輸?shù)?TLP data payload不得超過我們自定義的 Max_Payload_Size 設置。
  • 由 TLP 的 Length 字段給出的已接收 TLP 的data payload大小不得超過接收器設備Controller 寄存器的 Max_Payload_Size 字段中的值指定的長度。接收者必須檢查是否違反此規(guī)則。 如果接收器確定 TLP 違反此規(guī)則,則該 TLP 是格式錯誤的 TLP,這是一個與接收端口相關的報告錯誤。
  • 對于 ARI 設備,Max_Payload_Size 僅由Function 0 中的設置確定。其他Function中的 Max_Payload_Size 設置將被忽略。
  • 如果一個非ARI Multi-Function Device(MFD)中的所有Functions 的Max_Payload_Size完全相同,如果有個Upstream Port與這個MFD相關聯(lián),接收器需要根據(jù)通用 Max_Payload_Size 的設置檢查 TLP data payload大小。
  1. 如果一個非ARI Multi-Function Device(MFD)中的所有Functions 的Max_Payload_Size不完全相同,如果有個Upstream Port與這個MFD相關聯(lián),接收器需要根據(jù)自定義的Max_Payload_Size 設置檢查 TLP 的data payload。

對于包含數(shù)據(jù)的 TLP,Length字段中的值與 TLP 中包含的實際數(shù)據(jù)量必須匹配。同時,接收者必須檢查是否違反此規(guī)則。 如果接收器確定 TLP 違反此規(guī)則,則該 TLP 是Malformed TLP,這是一個跟Receiving Port相關的Reported Error。(RTL實現(xiàn)中要實現(xiàn)的ERROR異常)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PCIe
    +關注

    關注

    15

    文章

    1166

    瀏覽量

    82043
  • 數(shù)據(jù)包

    關注

    0

    文章

    239

    瀏覽量

    24269
  • TLP
    TLP
    +關注

    關注

    0

    文章

    30

    瀏覽量

    15567
收藏 人收藏

    評論

    相關推薦

    PCIe引腳定義和PCIe協(xié)議介紹

    本文我們將向大家介紹PCIe引腳定義以及PCIe協(xié)議
    發(fā)表于 09-26 11:39 ?1.4w次閱讀
    <b class='flag-5'>PCIe</b>引腳定義和<b class='flag-5'>PCIe</b>協(xié)議<b class='flag-5'>層</b>介紹

    Delphi教程之事務工作原理

    Delphi教程之事務工作原理,學習Delphi的必備資料。
    發(fā)表于 03-31 11:29 ?2次下載

    AD6.0初級入門教程

    AD6.0初級入門教程
    發(fā)表于 12-09 16:25 ?0次下載

    Oracle核心技術之事務和鎖

    事務和鎖是兩個聯(lián)系非常緊密的概念。事務很重要,可以保證多用戶并發(fā)系統(tǒng)中的數(shù)據(jù)的完整性。在數(shù)據(jù)庫中,存在多個用戶同時對某一數(shù)據(jù)進行讀寫操作的情況,為了確保數(shù)據(jù)的并行性和一致性,可以使用事務。鎖
    發(fā)表于 03-26 10:24 ?3次下載

    一個簡單地的例子來回顧PCIe總線的結構、事務、數(shù)據(jù)鏈路層和物理

    如下圖所示,Completer的應用會根據(jù)接受到的信息進行相應的處理,處理完成后會將數(shù)據(jù)發(fā)送至事務事務根據(jù)這一信息創(chuàng)建一個新的TLP
    的頭像 發(fā)表于 05-02 09:58 ?9062次閱讀
    一個簡單地的例子來回顧<b class='flag-5'>PCIe</b>總線的結構、<b class='flag-5'>事務</b><b class='flag-5'>層</b>、數(shù)據(jù)鏈路層和物理<b class='flag-5'>層</b>

    數(shù)據(jù)庫設計開發(fā)技術案例教程之事務控制與鎖定

    本文檔的主要內容詳細介紹的是數(shù)據(jù)庫設計開發(fā)技術案例教程之事務控制與鎖定主要內容包括了:1,事務的概念及分類 2,事務的簡單操作 3,鎖的分類 4,死鎖的處理
    發(fā)表于 01-11 11:20 ?3次下載
    數(shù)據(jù)庫設計開發(fā)技術案例教程<b class='flag-5'>之事務</b>控制與鎖定

    楷登電子發(fā)布PCIe 6.0規(guī)范Cadence IP

    中國上海,2021 年 10 月 22 日——楷登電子(美國 Cadence 公司,NASDAQ:CDNS)宣布發(fā)布支持 TSMC N5 工藝的 PCI Express(PCIe6.0 規(guī)范
    的頭像 發(fā)表于 10-26 14:28 ?4255次閱讀

    PCIe 6.0的新變化與新挑戰(zhàn)

    2022年1月11日,PCI-SIG正式發(fā)布了PCI Express(PCIe) 6.0最終版本1.0,標志著各大IP、芯片廠商可以開始著手設計、開發(fā)自己技術和產品了。從技術上來說,PCIe
    的頭像 發(fā)表于 04-13 13:50 ?4573次閱讀

    是德科技發(fā)布新款端到端的PCIe5.0/6.0測試解決方案

    提供PCIe5.0/6.0 從仿真到物理到協(xié)議的完整測試方案。
    的頭像 發(fā)表于 04-18 11:35 ?1719次閱讀

    CXL事務詳解

    CXL.io為IO設備提供非一致性的load/strore接口。事務類型、事務數(shù)據(jù)包格式、信用流量控制、虛擬通道管理、事務順序的規(guī)則等遵循PCIe協(xié)議。CXL.io的
    的頭像 發(fā)表于 10-10 16:02 ?2679次閱讀

    干貨:PCIE6.0技術剖析

    關于PCIe6.0 你需要知道的都在這里 從正式發(fā)布至今,PCI Express(PCIe)發(fā)展迅速,已經成為高性能計算、人工智能/機器學習(ML)加速器、網絡適配器和固態(tài)存儲等應用不可或缺的一項
    的頭像 發(fā)表于 12-07 07:40 ?4294次閱讀

    如何破解PCIe 6.0帶來的芯片設計新挑戰(zhàn)?

    本文轉載自《半導體行業(yè)觀察》 感謝《半導體行業(yè)觀察》對新思科技的關注 PCI Express (PCIe) 6.0規(guī)范實現(xiàn)了64GT/s鏈路速度,還帶來了包括帶寬翻倍在內的多項重大改變,這也為SoC
    的頭像 發(fā)表于 01-19 16:50 ?806次閱讀

    PCIe 6.0入門之什么是 PCIe 6.0

    PCI Express? 6.0 (PCIe? 6.0) 規(guī)范由 PCI-SIG? 于 2022 年 1 月發(fā)布。最新一代的 PCIe 標準帶來了許多激動人心的新功能,旨在提高計算密集
    的頭像 發(fā)表于 05-22 17:27 ?6062次閱讀
    <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b><b class='flag-5'>入門</b>之什么是 <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b>

    PCIe 6.0入門基本結構和功能介紹

    PCIE中術語 GT/s 用于指代在lane上每秒傳輸?shù)木幋a位數(shù),這里lane指的就是一組差分信號對(一對用于傳輸,一對用于接收)。 為了擴展帶寬,一個鏈路可以聚合多個通道,表示為xN 其中 N 可以是任何
    的頭像 發(fā)表于 05-22 17:29 ?2466次閱讀
    <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b><b class='flag-5'>入門</b>基本結構和功能<b class='flag-5'>層</b>介紹

    PCIe 6.0入門之事務層報文格式

    事務描述符是一種在請求方和完成方之間攜帶事務信息的機制。通過事務描述符TL才知道要如何處理這些報文。在整個事務描述符由三個字段組成:
    的頭像 發(fā)表于 05-22 17:32 ?3838次閱讀
    <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b><b class='flag-5'>入門</b><b class='flag-5'>之事務</b>層報文格式