加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 四、 請(qǐng)求和應(yīng)答處理機(jī)制
    • 五、virtual channel(vc)Mechanism虛擬通道機(jī)制
    • 六、Data Integrity數(shù)據(jù)完整性
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

PCI-E TLP(處理層協(xié)議)學(xué)習(xí)經(jīng)驗(yàn)分享 III

05/23 12:50
2132
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大俠好,歡迎來(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)將被忽略。以下是處理流程:

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

1. Request Handling Rules

如果請(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ǔ)。

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

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è)置。鏈路兩端的映射方案要一致,如圖是一種映射方案。

具體的虛擬通道是由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)的流程控制如下表:

六、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)如下:

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)注,一切安好,告辭。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
XC2C384-10TQG144I 1 AMD Xilinx Flash PLD, 10ns, 384-Cell, CMOS, PQFP144, 20 X 20 MM, 0.50 MM PITCH, LEAD FREE, TQFP-144

ECAD模型

下載ECAD模型
$41.45 查看
EP4CE15E22C8N 1 Intel Corporation Field Programmable Gate Array, 963 CLBs, 472.5MHz, 15408-Cell, PQFP144, 22 X 22 MM, 0.50 MM PITCH, LEAD FREE, EQFP-144

ECAD模型

下載ECAD模型
$23.14 查看
A3P400-FGG256I 1 Microsemi Corporation Field Programmable Gate Array, 9216 CLBs, 400000 Gates, 350MHz, CMOS, PBGA256, 17 X 17 MM, 1.60 MM HEIGHT, 1 MM PITCH, GREEN, FBGA-256
$60.81 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

任何技術(shù)的學(xué)習(xí)就好比一個(gè)江湖,對(duì)于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。