RM新时代网站-首页

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

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

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

PCI-E TLP學(xué)習(xí)筆記(3)

FPGA技術(shù)江湖 ? 來(lái)源:FPGA技術(shù)江湖 ? 2024-11-06 09:19 ? 次閱讀

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

今天給大俠帶來(lái)PCI-Express transaction Layer specification(處理層協(xié)議),本次PCIE TLP 學(xué)習(xí)經(jīng)驗(yàn)分享分為三篇,今天帶來(lái)第三篇,也就是最后一篇,請(qǐng)求和應(yīng)答處理機(jī)制(Request Handling Rules、Completion Handling)、virtual channel(vc)Mechanism虛擬通道機(jī)制(TC/VC映射、Flow Control)、Data Integrity數(shù)據(jù)完整性等內(nèi)容,話不多說(shuō),上貨。

四、 請(qǐng)求和應(yīng)答處理機(jī)制

處理機(jī)制就是對(duì)接收到的經(jīng)Data Link Layer進(jìn)行數(shù)據(jù)完整性驗(yàn)證的Tlp進(jìn)行處理。無(wú)效的包將被拋棄,保留字(reserved)將被忽略。以下是處理流程:

d35931aa-9098-11ef-a511-92fbcf53809c.png

對(duì)所有的包分request handling和completion handling,按不同的規(guī)范處理。

1. Request Handling Rules

d36f45bc-9098-11ef-a511-92fbcf53809c.png

如果請(qǐng)求是一個(gè)不支持的請(qǐng)求包,并且需要響應(yīng),則Completion Status=UR,即不支持的請(qǐng)求。如果請(qǐng)求包是一個(gè)Message 包則按Message包處理規(guī)則處理,否則對(duì)這個(gè)request進(jìn)行處理。如果請(qǐng)求違反器件編程定義則給出ca響應(yīng),即響應(yīng)器件放棄該請(qǐng)求,否則做出正確應(yīng)答。

2.Completion Handling

如果接收到一個(gè)completion包的Transaction ID和requester的Transaction ID不一致則這個(gè)應(yīng)答包是非預(yù)期包。合法的應(yīng)答包將按Compl.Status域處理并提取有效數(shù)據(jù)負(fù)荷。

五、virtual channel(vc)Mechanism虛擬通道機(jī)制

虛擬信道(virtual channel)在總線中提供用TC域來(lái)區(qū)分的虛擬信息通路,即某一傳輸通路,有不同的流程控制機(jī)制(Flow Control)。當(dāng)某流程控制出現(xiàn)擁塞時(shí),其他通路依然暢通。VC有自己的獨(dú)立流控制,是實(shí)現(xiàn)Qos的秘訣。VC通道是解決擁塞的基礎(chǔ)。

d389b1ea-9098-11ef-a511-92fbcf53809c.png

在Switch內(nèi)部,VC通道機(jī)制如下:

d3a6ffa2-9098-11ef-a511-92fbcf53809c.png

1. TC/VC映射

每個(gè)TLP包并不包含具體的VC信息,VC是由TC映射得到的。每個(gè)器件的TC/VC映射是不同的,TC0/VC0是固定的。具體TC、VC映射如下:

一個(gè)或多個(gè)TC映射到一個(gè)VC,同一個(gè)TC不能映射到不同的VC上,連接雙方的映射機(jī)制一致。除了TC0外,其他的可以軟件設(shè)置。鏈路兩端的映射方案要一致,如圖是一種映射方案。

d3bb3198-9098-11ef-a511-92fbcf53809c.png

d3d06342-9098-11ef-a511-92fbcf53809c.jpg

具體的虛擬通道是由VC ID決定和識(shí)別的。

2. Flow Control

每個(gè)虛擬通道有獨(dú)立的流程控制的緩沖空間。在收發(fā)雙方,流程控制信息是用數(shù)據(jù)鏈路包(DLLP)打包發(fā)送的,其中的“VC ID“就是用來(lái)載送虛擬通道的識(shí)別??偟膩?lái)說(shuō),流程控制是由數(shù)據(jù)交易層(Transaction Layer)搭配了數(shù)據(jù)鏈路層(Data Link Layer)來(lái)處理的,只是,處理層通常是針對(duì)接收到的TLP打包,生成TC,再由TC映射到VC。流程控制信息是FCP(Flow Control Package),即DLLP打包的一種。流程控制的信用單位是Credit,也就是接收器的緩沖空間是4DW。信用單位:就是接收端緩沖空間大小的基本單位。

流程控制能分辨三種包:posted requests(p)、non-posted requests(Np)、completions(cpl)。還可以分辨三種包的包頭Header和數(shù)據(jù)Data,可以這樣說(shuō),每個(gè)虛擬通道(VC)對(duì)應(yīng)的特定流程控制包含6種不同的流程控制信息:

1、PH=posted Request Header;

2、PD=posted request Data Payload;

3、NPH=non-posted request Header;

4、NPD=non-posted request Data Payload;

5、CPLH=completion Header;

6、CPLD=completion Data Payload。

各種包對(duì)應(yīng)的流程控制如下表:

d3e7d4dc-9098-11ef-a511-92fbcf53809c.jpg

六、Data Integrity數(shù)據(jù)完整性

主要的數(shù)據(jù)完整性保證之一是Data Link Layer中的crc(lcrc)。為了確保數(shù)據(jù)端對(duì)端的可靠性在Transaction層的TLp Digest域還選擇性的做一ECRC校驗(yàn),ECRC的初值是FFFF FFFF,算法實(shí)現(xiàn)如下:

d41f0542-9098-11ef-a511-92fbcf53809c.jpg

Transaction Layer specifications只是pcie總線規(guī)范的一層規(guī)范,主要處理數(shù)據(jù)包的傳送管理,此外還有Data Link Layer規(guī)范和physical Layer規(guī)范。

此次分享到此結(jié)束,后面有時(shí)間還會(huì)給各位大俠分享關(guān)于PCIE的相關(guān)其他內(nèi)容,愿大俠持續(xù)關(guān)注,一切安好,告辭。

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1628

    文章

    21717

    瀏覽量

    602812
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2876

    瀏覽量

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

    關(guān)注

    0

    文章

    32

    瀏覽量

    15617
  • 數(shù)據(jù)完整性

    關(guān)注

    0

    文章

    14

    瀏覽量

    5098

原文標(biāo)題:PCI-E TLP(處理層協(xié)議)學(xué)習(xí)經(jīng)驗(yàn)分享 III

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PCI-E 的PADS封轉(zhuǎn)

    PCI-E封裝
    發(fā)表于 03-30 11:30

    在FPGA上設(shè)計(jì)PCI-e Gen2.0和PCI-e Gen3.0有什么不同

    請(qǐng)教各位大大,在FPGA上進(jìn)行設(shè)計(jì)PCI-e的接口通信,2代和3代的設(shè)計(jì)有什么不同嗎?如果學(xué)習(xí)了2代改到開(kāi)發(fā)3代是在原工程上做小改變還是要推倒重做?
    發(fā)表于 03-03 09:55

    pci-e布線規(guī)范

    pci-e布線規(guī)范
    發(fā)表于 07-14 14:49

    解決臺(tái)式機(jī)PCI-E 1X不夠難題 :樂(lè)擴(kuò)PCI-E 1X轉(zhuǎn)2口PCI-E 1X擴(kuò)展卡

    。用戶可以通過(guò)PCIE 1x擴(kuò)展出兩個(gè)PCIE X1插槽,PCI-E 1x適配器主卡可以插入到主機(jī)的任何PCI-E插槽:1X、4X,8X或16X,擴(kuò)展出的PCIE X1插槽可以接一些其他設(shè)備。3.在信號(hào)
    發(fā)表于 10-19 16:25

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

    PCI PCI-X PCI-E介紹1.PCI外設(shè)互聯(lián)標(biāo)準(zhǔn)(或稱個(gè)人電腦接口,Personal Computer Interface),實(shí)際應(yīng)用中簡(jiǎn)稱
    發(fā)表于 07-29 06:40

    什么是PCI PCI-X PCI-E?

    什么是PCI PCI-X PCI-E?
    發(fā)表于 10-25 07:37

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

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

    南橋PCI-E通道數(shù)

    南橋PCI-E通道數(shù)              南橋PCI-E通道數(shù)是指芯片組中
    發(fā)表于 12-26 16:10 ?584次閱讀

    PCI-e總線FPGA開(kāi)發(fā)板資料說(shuō)明

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

    淺談顯卡PCI/AGP/PCI-E接口的區(qū)別

    PCI-E 1.0標(biāo)準(zhǔn)提供了2.5GT/s(Giga Transmissionper second ,千兆傳輸/秒,即每一秒內(nèi)傳輸?shù)拇螖?shù),不同于Gbps)的傳輸速度,常用的PCI-E X16提供16
    發(fā)表于 11-03 16:13 ?7690次閱讀

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

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

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

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

    pci-e插槽的規(guī)格有哪些 各個(gè)版本的pci-e的規(guī)范區(qū)別

    PCI-E的接口根據(jù)總線位寬不同而有所差異,包括X1、X4、X8以及X16,而X2模式將用于內(nèi)部接口而非插槽模式。PCI-E規(guī)格從1條 通道連接到32條通道連接,有非常強(qiáng)的伸縮性,以滿足不同系統(tǒng)設(shè)備對(duì)數(shù)據(jù)傳輸帶寬不同的需求。
    發(fā)表于 08-05 10:16 ?8826次閱讀
    <b class='flag-5'>pci-e</b>插槽的規(guī)格有哪些 各個(gè)版本的<b class='flag-5'>pci-e</b>的規(guī)范區(qū)別

    PCI-E TLP學(xué)習(xí)筆記(1)

    今天給大俠帶來(lái)PCI-Express transaction Layer specification(處理層協(xié)議),本次PCIE TLP 學(xué)習(xí)經(jīng)驗(yàn)分享分為三篇,今天帶來(lái)第一篇TLP概況
    的頭像 發(fā)表于 11-06 09:14 ?390次閱讀
    <b class='flag-5'>PCI-E</b> <b class='flag-5'>TLP</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>(1)

    PCI-E TLP學(xué)習(xí)筆記(2)

    今天給大俠帶來(lái)PCI-Express transaction Layer specification(處理層協(xié)議),本次PCIE TLP 學(xué)習(xí)經(jīng)驗(yàn)分享分為三篇,今天帶來(lái)第二篇,i/o,memory
    的頭像 發(fā)表于 11-06 09:16 ?265次閱讀
    <b class='flag-5'>PCI-E</b> <b class='flag-5'>TLP</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>(2)
    RM新时代网站-首页