国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PCI-Express 總線傳輸效率提升的技術(shù)分析*

2022-06-07 08:56潘金龍李德建王于波董長(zhǎng)征馮文楠
電子技術(shù)應(yīng)用 2022年5期
關(guān)鍵詞:接收端存儲(chǔ)器報(bào)文

潘金龍,李德建,王于波,馮 曦,董長(zhǎng)征,馮文楠

(北京智芯微電子科技有限公司,北京 100192)

0 引言

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

1 總線概述

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

圖1 PCIe 層級(jí)結(jié)構(gòu)圖

2 傳輸效率影響因素分析

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

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

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

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/s×80%/8=250 MB/s。

2.2 TLP(Transaction Layer Packet)開(kāi)銷

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

圖2 PCIe Gen1/2 報(bào)文格式

圖3 PCIe Gen3/4/5 報(bào)文格式

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

在TLP 傳輸過(guò)程中,相關(guān)的報(bào)文標(biāo)識(shí)就增加了20~30B的開(kāi)銷[10-11]。

2.3 控制報(bào)文開(kāi)銷

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

2.3.1 Ack與Nak報(bào)文開(kāi)銷

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

圖4 PCIe 數(shù)據(jù)鏈路層傳輸結(jié)構(gòu)示意圖

2.3.2 PM 報(bào)文開(kāi)銷

PCIe 設(shè)備進(jìn)入L0 狀態(tài) (PCIe 設(shè)備的正常工作狀態(tài))后,物理層為了解決接收時(shí)鐘與本地時(shí)鐘之間漂移所帶來(lái)的頻差問(wèn)題,每一個(gè)鏈路(Lane)需要在傳輸1 180~1 538個(gè)字符后發(fā)送一個(gè)SKP(PCIe 鏈路層傳輸?shù)囊环N報(bào)文)請(qǐng)求來(lái)進(jìn)行時(shí)鐘補(bǔ)償,在TLP 的傳輸過(guò)程中不會(huì)插入時(shí)鐘補(bǔ)償[1]。

2.3.3 流量控制報(bào)文開(kāi)銷

流量控制的主要作用是在發(fā)送端和接收端進(jìn)行數(shù)據(jù)傳遞時(shí),通過(guò)FC 報(bào)文傳遞本端存儲(chǔ)空間的使用狀態(tài),避免因?yàn)榻邮斩司彌_區(qū)由于存儲(chǔ)空間不足導(dǎo)致丟棄來(lái)自發(fā)送端的數(shù)據(jù)。如果FC 報(bào)文沒(méi)有及時(shí)發(fā)送,會(huì)導(dǎo)致本地存儲(chǔ)空間不夠而丟棄報(bào)文,反之FC 報(bào)文發(fā)送太過(guò)頻繁,就會(huì)導(dǎo)致PCIe 傳輸?shù)男阅芟陆?,帶寬利用率低[1]。

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

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

有效負(fù)載最大值:MPS(Maximum Payload Size)。PCIe設(shè)備所傳送所有類型報(bào)文的數(shù)據(jù)大小不能超過(guò)MPS。MPS支持的大小有6種:128B、256 B、512 B、1 024 B、2 048 B、4 096 B。當(dāng)PCIe 設(shè)備所傳送的數(shù)據(jù)大小超過(guò)MPS 參數(shù)時(shí),數(shù)據(jù)將被分割為多個(gè)TLP 進(jìn)行發(fā)送了。

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

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

3 傳輸效率計(jì)算

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

3.1 存儲(chǔ)器寫(xiě)請(qǐng)求TLP

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

①PCIe 物理層為Gen2,2Lane;

②發(fā)送的報(bào)文數(shù)目Num 為200 個(gè),每個(gè)報(bào)文的長(zhǎng)度和MPS 相同;

③MPS 設(shè)置為1 024 B;

④Ack 功能配置為傳輸10 個(gè)TLP 報(bào)文回復(fù)1 個(gè)Ack;

⑤FC 功能配置為傳輸5 個(gè)報(bào)文回復(fù)1 個(gè)FC;

⑥傳輸層數(shù)據(jù)的報(bào)文頭為4DW,再加上其他開(kāi)銷共計(jì)28 B。

(2)帶寬計(jì)算

①需要傳遞的報(bào)文總長(zhǎng)度:200×1 024=204 800 B。

②實(shí)際傳遞的報(bào)文總長(zhǎng)度

不含有PM 報(bào)文開(kāi)銷的長(zhǎng)度:(1 024+28)×200+(6+2)×200/10+(6+2)×200/20=210 640 B。

PM 報(bào)文開(kāi)銷,定義1 200 bit 插入1 個(gè)PM 報(bào)文。210 640×8/1 200=1 404 個(gè),注意在TLP 每個(gè)報(bào)文發(fā)送過(guò)程中不能插入PM 報(bào)文,所以在TLP 發(fā)送間隔時(shí)會(huì)插入多個(gè)PM 報(bào)文。

總傳遞報(bào)文長(zhǎng)度為:210 640+1 404×(6+2)=221 872 B。

③有效帶寬

需要傳遞的報(bào)文總長(zhǎng)度/總傳遞報(bào)文長(zhǎng)度=204 800/221 872=92.31%。

PCIe Gen2 的物理有效帶寬為80%,所以最終2 個(gè)Lane 的傳輸性能為:92.31%×0.8=73.84%,帶寬為5 Gb/s×2×73.84%=7.384 Gb/s,即10 Gb/s 的物理傳輸通道有效帶寬為7.384 Gb/s。

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

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

(4)延伸拓展

報(bào)文在總線傳輸過(guò)程中,配置都是固化好的,通過(guò)對(duì)有效帶寬的計(jì)算公式可以看出在報(bào)文實(shí)際傳輸?shù)倪^(guò)程中,報(bào)文的有效數(shù)據(jù)長(zhǎng)度和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報(bào)文的有效數(shù)據(jù)長(zhǎng)度同MPS參數(shù),存儲(chǔ)器寫(xiě)請(qǐng)求TLP 的不同MPS 配置的帶寬效率結(jié)果如表2 所示。

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

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

(5)其他說(shuō)明

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

3.2 存儲(chǔ)器讀請(qǐng)求TLP

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

①PCIe 物理層為Gen2,2Lane;

②發(fā)送的報(bào)文數(shù)目Num 為200 個(gè);

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

④Ack 功能配置為傳輸10 個(gè)TLP 報(bào)文回復(fù)1 個(gè)Ack;

⑤FC 功能配置為傳輸5 個(gè)報(bào)文回復(fù)1 個(gè)FC;

⑥傳輸層數(shù)據(jù)的報(bào)文頭為4DW,再加上其他開(kāi)銷共計(jì)28 B;

⑦RCB 設(shè)置為64 B。

(2)帶寬計(jì)算

①需要傳遞的報(bào)文總長(zhǎng)度:200×1 024=204 800 B。

②實(shí)際傳遞的報(bào)文總長(zhǎng)度

每個(gè)存儲(chǔ)器讀請(qǐng)求TLP 需要傳輸?shù)拇螖?shù):MRRS/RCB=1 024 B/64 B=16,即需要返回16 個(gè)TLP 讀完成報(bào)文才能將此次讀的數(shù)據(jù)全部獲取。

不含有PM 報(bào)文開(kāi)銷的長(zhǎng)度:(1 024+28×16)×200+(6+2)×200/10+(6+2)×200/20=294 640 B。

PM 報(bào)文開(kāi)銷,定義1 200 bit 插入1 個(gè)PM 報(bào)文。210 640×8/1 200=2 個(gè),注意在TLP 每個(gè)報(bào)文發(fā)送過(guò)程中不能插入PM 報(bào)文,所以在TLP 發(fā)送間隔時(shí)會(huì)插入多個(gè)PM 報(bào)文。

總傳遞報(bào)文長(zhǎng)度為:294 640+1 964×(6+2)=310 354 B。

③有效帶寬

需要傳遞的報(bào)文總長(zhǎng)度/總傳遞報(bào)文長(zhǎng)度=204 800/310 354=65.99%。

PCIe Gen2 的物理有效帶寬為80%,所以最終的2 個(gè)Lane 的傳輸性能為:65.99%×0.8=52.79%,帶寬為5 Gb/s×2×52.79%=5.279 Gb/s,即10 Gb/s 的物理傳輸通道,有效帶寬為5.279 Gb/s。

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

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

(4)延伸拓展

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

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

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

對(duì)比表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%。

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

(5)其他說(shuō)明

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

4 結(jié)論

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

猜你喜歡
接收端存儲(chǔ)器報(bào)文
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
基于擾動(dòng)觀察法的光通信接收端優(yōu)化策略
靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
基于多接收線圈的無(wú)線電能傳輸系統(tǒng)優(yōu)化研究
低軌星座短報(bào)文通信中的擴(kuò)頻信號(hào)二維快捕優(yōu)化與實(shí)現(xiàn)
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
手機(jī)無(wú)線充電收發(fā)設(shè)計(jì)
淺析反駁類報(bào)文要點(diǎn)
存儲(chǔ)器——安格爾(墨西哥)▲
電視電子節(jié)目指南的原理及實(shí)現(xiàn)方法
嘉定区| 民勤县| 保康县| 荔浦县| 通许县| 武清区| 峨眉山市| 洛宁县| 崇礼县| 衡山县| 新龙县| 定兴县| 炉霍县| 手机| 辽宁省| 阳信县| 高碑店市| 武鸣县| 布尔津县| 沈阳市| 特克斯县| 白玉县| 德兴市| 朝阳县| 肥城市| 星子县| 曲阳县| 宁陕县| 小金县| 全南县| 盐城市| 古浪县| 克山县| 綦江县| 科尔| 叙永县| 拜城县| 嘉义市| 若羌县| 宕昌县| 庆阳市|