精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

PCI-E TLP學習筆記(1)

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 2024-11-06 09:14 ? 次閱讀

大俠好,歡迎來到FPGA技術江湖,江湖偌大,相見即是緣分。大俠可以關注FPGA技術江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。

今天給大俠帶來PCI-Express transaction Layer specification(處理層協議),本次PCIE TLP 學習經驗分享分為三篇,今天帶來第一篇TLP概況(四種空間、三種處理類型、兩種屬性、主要包格式、TLP通用包頭)和TLP打包地址和路由導向方式(Address尋址、ID尋址方式、處理層描述符),話不多說,上貨。 為了方便各位大俠瀏覽,下面列出三篇分享的大概內容目錄介紹:

  • 一、TLP概況
  • 1. 四種空間
  • 2. 三種處理類型
  • 3. 兩種屬性
  • 4. 主要包格式
  • 5. TLP通用包頭
  • 二、TLP打包地址和路由導向方式
  • 1. Address尋址
  • 2. ID尋址方式
  • 3. 處理層描述符(transaction Descriptor
  • 三、I/O,Memory,Configuration,Message Request、Completetion詳解
  • 1. Memory Request Package
  • 2. I/O Request 包
  • 3. Configuration Request包
  • 4. Message
  • 5. Completion Rules(應答機制)
  • 四、請求和應答處理機制
  • 1. Request Handling Rules
  • 2. Completion Handling
  • 五、virtual channel(vc)Mechanism虛擬通道機制
  • 1. TC/VC映射
  • 2. Flow Control
  • 六、Data Integrity數據完整性

一、TLP概況

處理層(transaction Layer specification)是請求和響應信息形成的基礎。包括四種地址空間,三種處理類型,從下圖可以看出在transaction Layer 中形成的包的基本概括。

1. 四種空間:

570abdc0-90a3-11ef-a511-92fbcf53809c.png

2. 三種處理類型

i/o口和memory的讀寫包(TLPS:transaction Layers packages)

配置寄存器的讀寫設置包

信息包,描述通信狀態。

作為事件的信號告知用戶。

對memory的讀寫包分為讀請求包和響應包、寫請求包(不需要存儲器的響應包)。而i/o類型的讀寫請求都需要返回I/O口的響應包,configuration包對配置寄存器的讀寫請求也有響應包。這些請求包還可以按屬性來分類。

3.兩種屬性

Non Posted:即請求需要返回completion的響應包;

Posted:即不需要completion返回響應包。例如上面的存儲器寫入請求包和Message包都隸屬于posted包。

4. 主要包格式

572d2b76-90a3-11ef-a511-92fbcf53809c.png

每種類型的包都有一定格式的包頭(Tlp Header),根據不同的包的特性,還包括有效數據負荷(Data Payload)和tlp開銷塊(Tlp Digest)。包頭中的數據用于對包的管理和控制。有效數據負荷域存放有效數據信息。具有數據的TLP傳遞是有一定規則的:以DW為長度單位,發送端數據承載量不得超過“Device Control Register”中的“Max_Payload_Size”數值,接收端中,所接收到的數據量也不能超過接收端“Device Control Register”中的“Max_Payload_Size”數值。TLp Digest域是32位的ECRC校驗。具體的包結構圖如下:

57457e7e-90a3-11ef-a511-92fbcf53809c.png

由此圖可看出數據從低字節的高位先發送,從左到右。以下詳細介紹TLPS的每個成分。

5.TLP通用包頭

575e07dc-90a3-11ef-a511-92fbcf53809c.png

R為保留信息位,應設為0,路由器switch對此位不做修改,接收器應該忽略此位。

Fmt[1:0]:Format of TLP (see Table 2-2) – bits 6:5 of byte0。

Type[4:0]:Type of TLP – bits 4:0 of byte 0。

TC[2:0]: Traffic Class – bits [6:4] of byte1,關于TC的作用將在下文說明。

Attr[1:0]: Attributes – bits [5:4] of byte 2,詳細介紹見下文。

TD:1b indicates presence of TLP digest in the form of a single DW at the end of the TLP標志TLPDigest域的有無。

EP: indicates the TLP is poisoned – bit 6 of byte 2有效數據中毒(出錯)機制。

Length[9:0]:Length of data payload in DW。

Fmt開銷位說明TLP Header的長度和TLP是否包含數據,如下圖:

5772dc34-90a3-11ef-a511-92fbcf53809c.png

Fmt[1:0]=00b,代表3DW的包頭,沒有數據。

Fmt[1:0]=01b,代表4DW的包頭,沒有數據。

Fmt[1:0]=10b,代表3DW的包頭,有數據。

Fmt[1:0]=11b,代表4DW的包頭,有數據。

Fmt [0] 表示包頭格式是3長字還是4長字,Fmt[1] 表示包頭是否包含數據。

Fmt和Type開銷組合定義了包(TLP)的類型如下:

578f9efa-90a3-11ef-a511-92fbcf53809c.png

上圖定義了各種類型的包,圖中的r[2:0]用于定義Message包的隱含尋址方式,在下文中更為詳細。 Length域定義了有效負荷的DW長度如下:

57ad02d8-90a3-11ef-a511-92fbcf53809c.png

在不包含data payload塊的包中Length的值應被設置為保留值R,并被接收端忽略。余下的各個開銷位將在后文提到。

二、TLP打包地址和路由導向方式

地址路由(address)

ID識別路由

間接路由(implicit) 下面主要介紹address和ID尋址方式,間接尋址將在后面提及。

1.Address尋址

主要用于memory和i/o request請求包

memory讀寫請求包支持64位地址和32位地址,

i/o讀寫請求只支持32位地址

64位地址尋址的TLP Header有4DW(16字節),

32位地址尋址的TLP Header有3DW長。

57d19c74-90a3-11ef-a511-92fbcf53809c.png

57e74574-90a3-11ef-a511-92fbcf53809c.png

上圖就是64位地址的4DW的包頭和32位地址的3DW的包頭。對于memory讀寫request包,AT(address Type field)有如下的編碼。

5802ba02-90a3-11ef-a511-92fbcf53809c.png

2.ID尋址方式

主要用在configuration 請求包、部分message包、響應包中。ID包括Bus number、Divce number、function number為TLP定位目標接收器。ID尋址的TLP包頭長度也有4DW和3DW兩種,ID在TLP中位置見下圖。

581e2db4-90a3-11ef-a511-92fbcf53809c.png

584013ca-90a3-11ef-a511-92fbcf53809c.png

第七個Byte(Byte7)是第一個DW數據負荷和最后一個DW數據負荷使能位(Byte Enables),Byte Enables在于memory,i/o,configuration 請求包中有效,如圖。

585b30ba-90a3-11ef-a511-92fbcf53809c.png

對于last DW BE和1st DW BE中的每一個位,為0表示相應的數據字節不被讀或寫,為1表示相應的數據字節有效。每個使能位相對應的字節如下。

587bf6ec-90a3-11ef-a511-92fbcf53809c.png

3.處理層描述符(transaction Descriptor)

對于兩種路由方式來說是通用的。

用于請求器件和應答器件間轉送處理層信息,包括三部分,Transaciton ID、Attributes、Traffic class(TC),如下圖。

58940926-90a3-11ef-a511-92fbcf53809c.png

其中Transaction ID包括: Requester ID、Tag,如圖。

58a88554-90a3-11ef-a511-92fbcf53809c.png

Tag[7:0]是由產生請求包的器件生成的,如果請求器件需要應答,則每個Tag[7:0]和Function Number是獨一無二的。Transaction ID是一個全局標識符用于響應包尋址請求器件。

TC的規定如下,描述服務的層次和用于映射虛擬通道:

58c1c8a2-90a3-11ef-a511-92fbcf53809c.png

處理層描述符在請求包中第二個DW:

58e0ba28-90a3-11ef-a511-92fbcf53809c.png

從圖中看出,描述字符放在第二個DW的前三個字節中。

第一篇到此結束,下次金帶來第二篇,i/o,memory,configuration,message request、completetion(Memory Request Package、I/O Request 包、Configuration Request包、Message、Completion Rules(應答機制))等。

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

    關注

    1626

    文章

    21669

    瀏覽量

    601866
  • 寄存器
    +關注

    關注

    31

    文章

    5317

    瀏覽量

    120013
  • PCI
    PCI
    +關注

    關注

    4

    文章

    662

    瀏覽量

    130184
  • TLP
    TLP
    +關注

    關注

    0

    文章

    32

    瀏覽量

    15605

原文標題:PCI-E TLP(處理層協議)學習經驗分享 I

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    PCI-E 的PADS封轉

    PCI-E封裝
    發表于 03-30 11:30

    在FPGA上設計PCI-e Gen2.0和PCI-e Gen3.0有什么不同

    請教各位大大,在FPGA上進行設計PCI-e的接口通信,2代和3代的設計有什么不同嗎?如果學習了2代改到開發3代是在原工程上做小改變還是要推倒重做?
    發表于 03-03 09:55

    pci-e布線規范

    pci-e布線規范
    發表于 07-14 14:49

    解決臺式機PCI-E 1X不夠難題 :樂擴PCI-E 1X轉2口PCI-E 1X擴展卡

    針對目前解決臺式機PCI-E 1X插槽不夠用的瓶頸現狀,擁有十幾年研發和生產經驗的老品牌廠家樂擴發布了一款可以將主機PCI-E1X插槽轉換為2個PCI-E
    發表于 10-19 16:25

    PCI PCI-X PCI-E介紹 精選資料分享

    PCI PCI-X PCI-E介紹1.PCI外設互聯標準(或稱個人電腦接口,Personal Computer Interface),實際應用中簡稱
    發表于 07-29 06:40

    什么是PCI PCI-X PCI-E

    什么是PCI PCI-X PCI-E
    發表于 10-25 07:37

    PCI-E接口定義 引腳定義圖 PCI-E針腳定義圖

    說明:PCI-E
    發表于 04-27 18:09 ?7.8w次閱讀
    <b class='flag-5'>PCI-E</b>接口定義 引腳定義圖 <b class='flag-5'>PCI-E</b>針腳定義圖

    南橋PCI-E通道數

    南橋PCI-E通道數              南橋PCI-E通道數是指芯片組中
    發表于 12-26 16:10 ?580次閱讀

    PCI-e總線FPGA開發板資料說明

    自從2004年pci-e1.0a規范之后,主板上就開始有了最新的串行高速PCI-E總線,相比原來的PCIV2.3,PCI-E總線有很大的優勢,首先,PCI-E降低了芯片連接的管腳數量,
    發表于 04-14 00:56 ?171次下載

    淺談顯卡PCI/AGP/PCI-E接口的區別

    PCI-E 1.0標準提供了2.5GT/s(Giga Transmissionper second ,千兆傳輸/秒,即每一秒內傳輸的次數,不同于Gbps)的傳輸速度,常用的PCI-E X16提供16
    發表于 11-03 16:13 ?7628次閱讀

    Intel的核顯真的占用了CPU的4根PCI-E通道嗎

    在討論到CPU的PCI-E通道問題時,我發現很多人都以為Intel的核顯占用了CPU的4根PCI-E通道,包括很多可以找到的“科普貼”中都寫了核顯會占用4條PCI-E通道。其實這是一種常見的誤區,從
    發表于 11-23 10:20 ?5352次閱讀
    Intel的核顯真的占用了CPU的4根<b class='flag-5'>PCI-E</b>通道嗎

    連欣PCI模塊連接器PCI-E 52PIN原理圖

    連欣PCI模塊連接器PCI-E 52PIN原理圖
    發表于 07-08 09:20 ?49次下載

    pci-e插槽的規格有哪些 各個版本的pci-e的規范區別

    PCI-E的接口根據總線位寬不同而有所差異,包括X1、X4、X8以及X16,而X2模式將用于內部接口而非插槽模式。PCI-E規格從1條 通道連接到32條通道連接,有非常強的伸縮性,以滿
    發表于 08-05 10:16 ?8501次閱讀
    <b class='flag-5'>pci-e</b>插槽的規格有哪些 各個版本的<b class='flag-5'>pci-e</b>的規范區別

    PCI-E TLP學習筆記(2)

    今天給大俠帶來PCI-Express transaction Layer specification(處理層協議),本次PCIE TLP 學習經驗分享分為三篇,今天帶來第二篇,i/o,memory
    的頭像 發表于 11-06 09:16 ?193次閱讀
    <b class='flag-5'>PCI-E</b> <b class='flag-5'>TLP</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(2)

    PCI-E TLP學習筆記(3)

    今天給大俠帶來PCI-Express transaction Layer specification(處理層協議),本次PCIE TLP 學習經驗分享分為三篇,今天帶來第三篇,也就是最后一篇,請求
    的頭像 發表于 11-06 09:19 ?200次閱讀
    <b class='flag-5'>PCI-E</b> <b class='flag-5'>TLP</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(3)