全免费a级毛片免费看网站,人妻互换精品一区二区,亚洲午夜久久久久久久久电影网,久久久无码一区二区三区

■十大网投正规信誉官网■十大网投靠谱平台

全國服務(wù)熱線 400-033-8869
語言
搜索
北京 ■十大网投正规信誉官网■十大网投靠谱平台 科技有限公司北京 ■十大网投正规信誉官网■十大网投靠谱平台 科技有限公司
關(guān)于 ■十大网投正规信誉官网■十大网投靠谱平台

Company Profile

■十大网投正规信誉官网■十大网投靠谱平台 科技微波小課堂_PCI-Express總線傳輸效率提升的技術(shù)分析

07-25

隨著現(xiàn)代處理器技術(shù)的飛速 開展使用高速差分總線替代并行總線的應(yīng)用場景越來越多。與單端信號相比.高速差分信號可以使用更高的時鐘頻率,使用更少的信號線,完成之前需要很多單端并行數(shù)據(jù)信號才能達(dá)到的總線帶寬。如何高效地利用總線帶寬,順利獲得何種配置達(dá)到最優(yōu)應(yīng)用,給設(shè)計(jì)者帶來了挑戰(zhàn)。

01 總線概述

PCI-Express(Peripheral Component Interconnect Express)是一種高速串行計(jì)算機(jī)擴(kuò)展總線標(biāo)準(zhǔn),簡稱 PCIe。PCIe屬于高速串行點(diǎn)對點(diǎn)雙通道高帶 寬傳輸,互聯(lián)設(shè)備之間獨(dú)立傳輸,主要有主動電源管理、錯誤報告 端對端的可靠性傳輸、熱插拔以及服務(wù)質(zhì)量等功能。PCIe 是一種分層協(xié)議,由傳輸層、數(shù)據(jù)鏈路層和物理層組成,層級結(jié)構(gòu)如圖 1所示。PCIe A 設(shè)備與 B 設(shè)備之間順利獲得發(fā)送端與接收端進(jìn)行互聯(lián)。
圖片

02 傳輸效率影響因素分析

數(shù)據(jù)在 PCIe 總線各層級傳輸所產(chǎn)生的開銷主要在以下幾個方面

2.1 數(shù)據(jù)編碼開銷

數(shù)據(jù)編碼開銷主要是 PCIe 的物理層產(chǎn)生的,GEN(generation)1/2 使用 8b/10b 編碼GEN3/4/5 使用 128b/130b 編碼,編碼的目的是保持直流平衡(DC balance)。

PCIe 各版本傳輸速率如表 1 所示(Xn 表示存在 n 條物理鏈路,例如 X4 表示存在 4 條物理鏈路)。

表1 PCIe 傳輸速率

圖片

例如 PCIe 1.0 使用 8b/10b 編碼方案,導(dǎo)致占用了20%(2/10)的原始信道帶寬。那么 PCIe 1.0 實(shí)際上單通道的有效帶寬就是 2.5 Gb/sx80%/8=250 MB/s。

2.2 TLP(Transaction Layer Packet)開銷

PCIe 報文為分層封裝協(xié)議的報文。數(shù) 據(jù) 報 文 在Device A 產(chǎn)生之后,在事務(wù)層(Transaction Layer) 報文由數(shù) 據(jù)頭(Header)、報文凈荷(Payload)、端到端的 CRC(ECRC)組成,經(jīng)過數(shù)據(jù)鏈路層(Data Link Layer)后增加序列號(Sequence Number)、鏈路層 CRC(LCRC)、開始(Start)結(jié)束(End)數(shù)據(jù)塊,然后順利獲得物理層(Physical Layer)發(fā)出。PCIe Gen1/2 報文格式如圖 2 所示,PCIe Gen3/4/5/報文格式如圖 3 所示。

圖片

圖 2 PCIe Gen1/2 報文格式

圖片

圖 3 PCIe Gen3/4/5 報文格式

PCIe Gen3/4/5 的報文結(jié)構(gòu)開始(Start)標(biāo)識是4B且沒有結(jié)束(End)標(biāo)識,這是與 Gn1/2 報文結(jié)構(gòu)上的區(qū)別。

在 TLP 傳輸過程中,相關(guān)的報文標(biāo)識就增加了 20~30B的開銷。

2.3 控制報文開銷

控制報文來自于數(shù)據(jù)鏈路層,報文長度為 6 B,主要功能是保證來自事務(wù)層的 TLP 在 PCIe 鏈路中正確傳遞。報文的類型主要有應(yīng)答 Ack (Acknowledge)、非 應(yīng)答Nak(No acknowledge)、功耗管理 PM(Power Manage)、流控FC(Flow Control) 等。

2.3.1 Ack 與 Nak 報文開銷

發(fā)送端發(fā)出 TLP 報文之后,需要接收端回應(yīng) Ack 或者 Nak 報文,來確認(rèn)發(fā)送的 TLP 是否被成功接收。發(fā)送端在發(fā)送 TLP 的同時需要將 TLP 復(fù)制一份保存在 TLPretry buffer(TLP 重傳緩存)中,直到收到 Ack 即表示成功接收的回應(yīng)。如果收到了 Nak 則表示未成功接收的回應(yīng),需要將存儲在 TLP retry buffer 中的 TLP 再次發(fā)送,直到被正確接收。Ack 不需要與 TLP 一一對應(yīng),可以設(shè)置一個計(jì)數(shù)器 N,發(fā)送 N 個 TLP 之后,接收端回應(yīng)個 Ack。接收端會對報文進(jìn)行錯誤檢查(Error Check),如果查詢到接收的報文序號不正確或有其他的錯誤,則回應(yīng)一個 Nak,發(fā)送端將會重新發(fā)送 TLP。數(shù)據(jù)傳輸結(jié)構(gòu)如圖 4 所示。

2.3.2 PM 報文開銷

PCIe 設(shè)備進(jìn)入 LO 狀態(tài) (PCI 設(shè)備的正常工作狀態(tài)后,物理層為分析決接收時鐘與本地時鐘之間漂移所帶來的頻差問題,每一個鏈路(Lane)需要在傳輸1180~1538個字符后發(fā)送一個 SKP(PCIe 鏈路層傳輸?shù)囊环N報文)請求來進(jìn)行時鐘補(bǔ)償,在 TLP 的傳輸過程中不會插入時鐘補(bǔ)償。

2.3.3 流量控制報文開銷

流量控制的主要作用是在發(fā)送端和接收端進(jìn)行 數(shù)據(jù)傳遞時,順利獲得 FC 報文傳遞本端存儲空間的使用狀態(tài)避免因?yàn)榻邮斩司彌_區(qū)由于存儲空間不足導(dǎo)致丟棄來自發(fā)送端的數(shù)據(jù)。如果 FC 報文沒有及時發(fā)送,會導(dǎo)致本地存儲空間不夠而丟棄報 文,反之 FC 報文發(fā)送太過頻繁,就會導(dǎo)致 PCIe 傳輸?shù)男阅芟陆祹捓寐实汀?/p>

2.4 系統(tǒng)參數(shù)對傳輸效率的影響

系統(tǒng)配置參數(shù)如下:

有效負(fù)載最大值:MPS(Maximum Payload Size)。PCIe設(shè)備所傳送所有類型報文的數(shù)據(jù)大小不能超過 MPS。MPS 支持的大小有 6 種 :128B 、256B、 512B、1024B、2048 B、4096B。當(dāng) PCIe 設(shè)備所傳送的數(shù)據(jù)大小超過MPS 參數(shù)時數(shù)據(jù)將被分割為多個 TLP 進(jìn)行發(fā)送了。

最大讀請求數(shù)據(jù);MRRS(Maximum Read Request Szie).PCIe 設(shè)備一次能從目標(biāo)設(shè)備讀取的最大數(shù)據(jù),如果一次存儲器讀操作需要讀取的數(shù)據(jù)范圍大于 MRRS 時,該P(yáng)CIe 設(shè)備需要向目標(biāo)設(shè)備發(fā)送多個存儲器讀操作MRRS 的大小同樣有6種:128B、256B、512B、1 024B、2048B 、4096B。

RCB(Read Completion Boundary):RCB可配置為64B或者128B,RCB 的大小與完成報文的有效負(fù)載相關(guān)在 PCIe 總線中,一個存儲器讀請求 TLP 可能收到目標(biāo)設(shè)備發(fā)出的多個讀完成報文后,才能完成一次存儲器讀操作。

03 傳輸效率計(jì)算

報文在 PCIe 總線傳輸過程中,實(shí)際的有效帶寬和物理帶寬之間的關(guān)系是如何呈現(xiàn)的?下面以存儲器寫請求TLP 和存儲器讀請求 TLP 傳輸為例來分析 PCI 總線的性能。

3.1 存儲器寫請求 TLP

(1)應(yīng)用場景

a.DPCIe 物理層為 Gen2,2Lane ;

b.發(fā)送的報文數(shù)目Num 為 200 個,每個報文的長度和 MPS 相同;

c.MPS 設(shè)置為 1024B;

d.Ack 功能配置為傳輸 10 個 TLP 報文回復(fù)1個 Ack ;

e.FC 功能配置為傳輸 5 個報文回復(fù) 1個 FC ;

f.傳輸層數(shù)據(jù)的報文頭為 4DW.再加上其他開銷共計(jì)28B。

(2)帶寬計(jì)算

a.要傳遞的報文總長度:200x1 024=204 800 B

b.傳遞的報文總長度

不含有 PM 報文開銷的長度 :(1 024+28)x200+(6+2)x200/10+(6+2)x200/20=210 640 B。

PM 報文開銷,定義1200 bit 插入 1個PM 報文210 640x8/1 200=1 404 個,注意在 TLP 每個報文發(fā)送過程中不能插入 PM 報文,所以在 TLP 發(fā)送間隔時會插入多個 PM 報文。

總傳遞報文長度為:210 640+1 404x(6+2)=221 872 B

c.有效帶寬

需要傳遞的報文總長度/總傳遞報文長度=204 800/221 872=92.31%

PCIe Gen2 的物理有效帶寬為80%,所以最終2個Lane 的傳輸性能為:92.31%x0.8=73.84%,帶寬為 5 Gb/sx2x73.84%=7.384 Gb/s,即 10 Gb/s 的物理傳輸通道有效帶寬為 7.384 Gb/s。

(3)導(dǎo)出公式

根據(jù)以上計(jì)算結(jié)果,可以推到出如下公式

需要傳遞的報文總長度

圖片

b.  實(shí)際傳遞的報文總長度

不含有 PM 報文開銷的長度:

圖片

PM 報文開銷,定義 1 200 bit 插入 1個 PM 報文。

圖片

總傳遞報文長度為 :

圖片

c. 有效帶寬

圖片

(4)延伸拓展

報文在總線傳輸過程中,配置都是固化好的,順利獲得對有效帶寬的計(jì)算公式可以看出在報文實(shí)際傳輸?shù)倪^程中,報文的有效數(shù)據(jù)長度和 MPS 參數(shù)越接近越好,這樣可以減少傳輸?shù)拇螖?shù)。另外 MPS 參數(shù)的值越大,有效帶寬就越高。將 MPS 參數(shù)設(shè)置為 128 B、256 B、512 B、1 024 B、2 048 B、4 096 B、TLP 報文的有效數(shù)據(jù)長度同MPS 參數(shù).存儲器寫請求 TLP 的不同 MPS 配置的帶寬效率結(jié)果如表 2 所示。

表2 不同 MPS 配置帶寬效率表

圖片

從計(jì)算結(jié)果來看,隨著 MPS 的增大帶寬有效利用率在提高,但是增加幅度在變小。

(5)其他說明

在上面第 4 點(diǎn)中對帶寬的利用率做了表格的描述但是實(shí)際上還應(yīng)該算上 PCIe Gen2 物理帶寬 8b/10b 解碼的開銷,即實(shí)際的帶寬效率還應(yīng)在上面計(jì)算的基礎(chǔ)上乘以 0.8 才是最終的帶寬效率。

3.2 存儲器讀請求 TLP

(1)應(yīng)用場景

a.PCIe 物理層為 Gen2,2Lane ;

b.發(fā)送的報文數(shù)目 Num 為 200 個;

c.MRRS 設(shè)置為 1 024 B ;

d.Ack 功能配置為傳輸 10 個 TLP 報文回復(fù) 1個 Ack ;

e.FC 功能配置為傳輸 5個報文回復(fù) 1個 FC ;

f.傳輸層數(shù)據(jù)的報文頭為 4DW.再加上其他開銷共計(jì) 28 B;

g.RCB 設(shè)置為 64 B。

(2)帶寬計(jì)算

a.需要傳遞的報文總長度:200x1 024=204 800 B。

b.實(shí)際傳遞的報文總長度

每個存儲器讀請求 TLP 需要傳輸 的次數(shù) :MRRS/RCB=1 024 B/64 B=16,即需要返回 16 個 TLP 讀完成報文才能將此次讀的數(shù)據(jù)全部獲取。

不含有PM 報文開銷的長度 :(1 024+28x16)x200+(6+2)x200/10+(6+2)X200/20=294 640 B。

PM 報文開銷,定義 1200 bit 插人 1個 PM 報文210 640x8/1 200=2 個,注意在 TLP 每個報文發(fā)送過程中不能插入 PM 報文,所以在 TLP 發(fā)送間隔時會插入多個 PM 報文。

總傳遞報文長度為:294 640+1 964x(6+2)=310 354 B

c.有效帶寬

需要傳遞的報文總長度/總傳遞報文長度=204 800/310 354=65.99%。

PCIe Gen2的物理有效帶寬為80%所以最終的2個Lane 的傳輸性能為 :65.99%x0.8=52.79%,帶寬為 5 Gb/sx2x52.79%=5.279 Gb/s,即 10 Gb/s 的物理傳輸通道,有效帶寬為 5.279 Gb/s。

(3)導(dǎo)出公式

根據(jù)以上計(jì)算結(jié)果,可以推到出如下公式:

a. 需要傳遞的報文總長度

圖片

b. 實(shí)際傳遞的報文總長度

不含有 PM 報文開銷的長度:

圖片

PM 報文開銷,定義 1200 bit 插人 1個 PM 報文:

14.png

總傳遞報文長度為 :

15.png

c. 有效帶寬

16.png

(4)延伸拓展

將 MRRS 參數(shù)設(shè)置為 128 B、256 B、512 B、1 024 B、2 048 B、4 096 B,存儲器讀請求 TLP 的不同 MRRS 帶寬效率如表 3 所示。

表 3 不同 MRRS(RCB/64 B)配置帶寬效率結(jié)果

17.png

從計(jì)算結(jié)果來看,隨著 MRRS 的增大,帶寬有效利用率并沒有顯著提高,基本上沒有明顯的變動。將 RCB的參數(shù)由 64 B 修改為 128 B 的結(jié)果如表 4 所示。

表 4 不同 MRRS(RCB/128 B)配置帶寬效率結(jié)果
圖片

對 比表 3 和表 4相同的 MRRS 配置,RCB 的值由64 B 變成了 128 B,帶寬有效利用率有了明顯的提升。例如 MRRS 配置為 128 B,RCB 配置為 64 B,帶寬有效率是65.62%:而當(dāng) RCB 配置為128 B,帶寬有效率是 77.30%.帶寬提升了 12.04%。

(5)其他說明

與存儲器寫請求 TLP 相同,存儲器讀請求 TLP 的實(shí)際帶寬也需要考慮 PCIe Gen2 物理傳輸通道編解碼的開銷。

04 結(jié)論

本文介紹了 PCIe 總線的基本結(jié)構(gòu),列舉了影響 PCIe總線傳輸效率的多種原因,從實(shí)際應(yīng)用中進(jìn)行舉例說明并計(jì)算。當(dāng)然上面存儲器寫請求與存儲器讀請求的帶寬有效利用率的計(jì)算只是粗略的估算,報文在實(shí)際的發(fā)送與接收過程中會涉及軟件、硬件的配合處理與其他多種原因的影響,實(shí)際應(yīng)用中會比理論值要低一些。如何高效地應(yīng)用 PCIe 總線,只有深入理解了總線傳輸?shù)脑聿拍茼樌@得合理、有效的配置提高傳輸效率。

友情鏈接:

聯(lián)系 ■十大网投正规信誉官网■十大网投靠谱平台

關(guān)注 ■十大网投正规信誉官网■十大网投靠谱平台

  • 關(guān)注微博
  • 關(guān)注微信
  • 關(guān)注公眾號
  • 關(guān)注抖音號
Copyright???2011-2023??北京 ■十大网投正规信誉官网■十大网投靠谱平台 科技有限公司 版權(quán)所有 京ICP備2023011416號-1 All Rights Reserved