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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PCIe 6.0入門之事務(wù)層

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

PCIE 6.0 (三)

事務(wù)層

⊙transaction layer

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

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

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

? 基于credit的流量控制

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

0****1

**###

Transaction Layer Overview

**

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

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

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

圖片

Memory Transactions

內(nèi)存事務(wù)包括以下類型:

? 讀取請(qǐng)求/完成

? 寫(xiě)請(qǐng)求

? 可延遲內(nèi)存寫(xiě)入請(qǐng)求/完成

? 原子操作的請(qǐng)求/完成

I/O Transactions

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

? 讀取請(qǐng)求/完成

? 寫(xiě)請(qǐng)求/完成

Message Transactions

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

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

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

圖片

0****2

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

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

Header Fields For Non-Flit Mode

圖片

Fmt 字段指示一個(gè)或多個(gè) TLP 前綴的存在,Type 字段指示相關(guān)的 TLP前綴類型。

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

Data Payloads For Non-Flit Mode

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

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

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

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

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

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

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

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

    關(guān)注

    15

    文章

    1175

    瀏覽量

    82256
  • 數(shù)據(jù)包
    +關(guān)注

    關(guān)注

    0

    文章

    244

    瀏覽量

    24325
  • TLP
    TLP
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    15585
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    Delphi教程之事務(wù)工作原理

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

    AD6.0初級(jí)入門教程

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

    Oracle核心技術(shù)之事務(wù)和鎖

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

    一個(gè)簡(jiǎn)單地的例子來(lái)回顧PCIe總線的結(jié)構(gòu)、事務(wù)、數(shù)據(jù)鏈路層和物理

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

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

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

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

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

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

    2022年1月11日,PCI-SIG正式發(fā)布了PCI Express(PCIe) 6.0最終版本1.0,標(biāo)志著各大IP、芯片廠商可以開(kāi)始著手設(shè)計(jì)、開(kāi)發(fā)自己技術(shù)和產(chǎn)品了。從技術(shù)上來(lái)說(shuō),PCIe
    的頭像 發(fā)表于 04-13 13:50 ?4645次閱讀

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

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

    CXL事務(wù)詳解

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

    干貨:PCIE6.0技術(shù)剖析

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

    如何破解PCIe 6.0帶來(lái)的芯片設(shè)計(jì)新挑戰(zhàn)?

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

    PCIe 6.0入門之什么是 PCIe 6.0

    PCI Express? 6.0 (PCIe? 6.0) 規(guī)范由 PCI-SIG? 于 2022 年 1 月發(fā)布。最新一代的 PCIe 標(biāo)準(zhǔn)帶來(lái)了許多激動(dòng)人心的新功能,旨在提高計(jì)算密集
    的頭像 發(fā)表于 05-22 17:27 ?6170次閱讀
    <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入門基本結(jié)構(gòu)和功能介紹

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

    PCIe 6.0入門之事務(wù)層報(bào)文格式

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