基於PCIe 5.0的CXL是什麼?
文章推薦指數: 80 %
其中CXL(Compute Express Link)看起來並不顯眼,卻為Intel的Xe顯示卡的 ... 裡面介紹了記憶體一致性的重要性,那麼CXL會帶來什麼,它和PCIe 5.0又是 ...
MdEditor
基於PCIe5.0的CXL是什麼?
語言:CN/TW/HK
時間 2019-05-1208:10:50
UEFI和BIOS探祕
主題:
Intel處理器
ARM處理器
GPU
前一陣舉行的“InterconnectDay2019”,Intel宣佈了一系列新技術。
其中CXL(ComputeExpressLink)看起來並不顯眼,卻為Intel的Xe顯示卡的未來發展投射出一條可能的方向:
CXL有很大的野心:解決CPU和裝置、裝置和裝置之間的memory鴻溝。
普通電腦使用者也許偶爾會想到用用視訊記憶體,用不了也無傷大雅,這個需求並不強烈。
但伺服器使用者有巨大的記憶體池和數量龐大的基於PCIe運算加速器,每個上面都有很大的記憶體。
記憶體的分割已經造成巨大的浪費、不便和效能下降。
CXL就是為解決這個問題而誕生。
我在前文:
老狼:視訊記憶體為什麼不能當記憶體使?記憶體、Cache和Cache一致性zhuanlan.zhihu.com
裡面介紹了記憶體一致性的重要性,那麼CXL會帶來什麼,它和PCIe5.0又是什麼關係呢?
CXL的先驅者們
說PCIe不能訪問主存並不嚴謹,實際上PCIe可以訪問記憶體-通過DMA的方法。
PCIe裝置可以發起一個DMA來訪問記憶體,只要知道目標實體地址即可。
DMA訪問避免了CPU作為二傳手,加快了記憶體訪問速度,但也帶來了一定的安全問題。
曾經有黑客通過定製的PCIe卡,通過DMA掃描記憶體,可以偷走所有記憶體資料,從而讓記憶體變成完全不設防的城市,這給BIOS工程師造成了一定的麻煩,不得不到處封堵漏洞。
DMA對記憶體的訪問還是要通過記憶體控制器,延遲問題相當高,基於此,Intel推出了I/OAT技術,DMA可以直接訪問CPULLCcache,大大提高了效能,I/OAT在網絡卡等高速裝置上得到了廣泛應用。
儘管I/OAT解決了部分問題,但主存和裝置記憶體的割裂問題遠遠沒有得到解決,它們的地址不能統一編址,快取一致性也不能保證。
那麼在CXL之前,有沒有相關的解決方案呢?有的,還不只一種。
其中就有以IBM牽頭的OpenCAPI,ARM為代表支援的CCIX,AMD等支援的GenZ和Nvidia自行提出的Nvlink等等多種協議,可謂一個亂字了得。
因為篇幅所限,我們單獨簡單瞭解一下和CXL定位比較接近的Nvlink。
Nvlink解決GPU到GPU,CPU到GPU的記憶體一致性和統一問題
Nvlink可以替代SLI來連線GPU和GPU;如果CPU也支援Nvlink,則整個CPU和GPU的cache一致性和記憶體統一編址也可以做到。
不過悲劇的是AMD和Intel並不打算在CPU裡面支援nvlink,沒有CPU的支援,Nvlink功能就被大大矮化,只能看作SLI的升級版。
不過IBM卻為此兩肋插刀,儘管有自己的OpenCAPI,還在powerCPU裡面集成了NvLink:
CXL來了
CXL標準預覽版文件已經開放下載,大家可以下載下來仔細研究一下。
現代主存和裝置記憶體是割裂的,相互互動延遲非常大:
初代CXL包括自己的協議,但是執行在PCIegen5(5.0)的物理層上,並寄希望在Gen6上能夠得到更廣泛的應用:
CXL協議包括三個子協議:
CXL.io是IO型別,和傳統PCIe類似
CXL.cache允許裝置訪問主存和cache
CXL.memory允許CPU訪問裝置的記憶體.
來源:參考資料4
CXL相比上文介紹的基於CA和HA的引擎簡單了很多:
來源:參考資料4
和UPI的cache一致性對稱性設計不同,CXL是非對稱的。
UPI的對稱性設計是指各個node都有HA和CA;而CXL則只有CPU有HA和CA,裝置沒有CA,只有HA。
這簡化了裝置的設計,並允許沒有cache的裝置加入cache一致性的大家庭。
結語
通過CXL,主存和裝置記憶體可以在保證Cache一致性的前提下,還提供Bias的靈活性。
相信傳說中的Xe顯示卡應該會自帶這種高階特性。
同時在不遠的未來,應該會出現PCIe形式出現的記憶體擴充套件卡。
CXL和它的競爭對手的較量還遠遠沒有結束,有些廠商為了避免掉隊,紛紛腳踩兩隻甚至數只船。
誰能在未來脫穎而出,也許取決於誰更開放,誰更能夠和PCIe協議更好的融合。
未來如何,讓我們拭目以待。
「其他文章」
UEFI在ARM生態中現狀如何?ARMSystemReady認證金標準介紹
有趣的螢幕省電技術:IntelDPST動態節能技術
BIOSer必讀:Intel的下一代BIOS標準USF
為什麼膝上型電腦可以邊充電邊用?這樣會更費電池嗎?筆電充電子系統詳解
AMDEPYC伺服器市佔率為什麼越來越高?AMD環義大利的神奇之旅
對抗記憶體物理讀取攻擊的利器:IntelTME和AMDSME
為什麼CPU重啟之後第一條指令是啥也不幹的NOP?為啥還是接連兩條?
如何無痛嘗試Windows11?
記憶體對抗損壞的堅實堡壘:封裝後修復(PPR)是什麼?
DDR5vsDDR4:I3C和I2C相較提高了什麼?為什麼必須升級到I3C?
DDR5來了,它長什麼樣?外觀上有哪些特徵?是不是該上船了?
為什麼最新的CPU中全整合電壓調節模組FIVR又回來了?它帶來什麼好處?
UEFI新書推薦:《UEFI程式設計實踐》
用USB3.0WinDbg開始你的除錯之旅
又發現寶藏軟體:硬體愛好者和BIOSer的好助手:HE
選擇記憶體條的必備知識:x16記憶體條為什麼這麼慢?2R和1R重要嗎?
解決國產CPU產業鏈中,系統韌體BIOS分裂嚴重的銀彈:ByoCore2.0
國產作業系統之殤:Linux安全啟動的簽名問題
出廠自帶的Windows是怎麼啟用的?兼談國產作業系統的收費困境
下一代BIOS標準探討之四:UEFI界中的樂高—MinPlatform
「Intel處理器」
AMD銳龍96900HX曝光:整合全新RX680M圖形單元
實體清單就是寶貝清單“中國英特爾”為什麼驚動美國?|了不起的新實體
英特爾i5-12400評測出爐:能效明顯提升,烤機功耗73瓦
英特爾有多強,晶片國產之路就有多艱辛
從數字化、智慧化啟程,實現電網現代化升級
曝蘋果A16處理器無緣3nm臺積電首批產能被蘋果、Intel平分
一路高歌的晶片
英特爾公開玩火,燒著的是國產晶片的後院
三年在華收入5822億、過半晶片產自成都英特爾禁用新疆產品為哪般?
我就知道又得換電腦了,這晶片真的太香!
「ARM處理器」
歐洲自研處理器第一階段完成:雙架構、29個RISC-V核心
俄羅斯自研48核心處理器點亮!雙架構、效能落後華為鯤鵬15%
“芯”慌未定,ARM進擊,移動處理器“新貴”如何破局?
深扒:亞馬遜的戰略顛覆與技術洗牌
ARM即將吞噬一切?
全球首發新一代驍龍8!motoedgeX30釋出:首發僅2999元起
壁仞、高瓴,“搞”了個天使輪
比起跑分、能效比才是亮點:驍龍8理論效能測試詳解
未來MCU設計的幾個方向
A15,新策略,新起點
延伸文章資訊
- 1因應高速運算挑戰CXL進化2.0版 - 電子工程專輯
CXL運作於PCIe實體層,能在主處理器與周邊裝置如加速器、記憶體緩衝器以及 ... 支援CXL 2.0的產品──XpressConnect系列低延遲PCI Express 5.0/CXL ...
- 2Compute Express Link 标准介绍| DesignWare 技术公告
CXL 协议 · CXL.io 协议本质上是经过一定改进的PCIe 5.0 协议,用于初始化、链接、设备发现和列举以及寄存器访问。 · CXL.cache 协议定义了主机和设备之间的交互,允许连...
- 3实现PCI Express 5.0和CXL设计的最大吞吐量和最低延迟的关键
CXL 3.0与PCIe 6.0保持同步. CCIX与CXL融合. 112G. 112G. 图形、网络和AI驱动下的HBM. HBM2e 3600 →HBM3 6400. 并行和串行裸片到裸片方...
- 4Compute Express Link - Wikipedia
CXL is built on the PCI Express (PCIe) physical and electrical interface with protocols in three ...
- 5PCIe 5,CXL,CCIX,SmartNIC,網路介面卡,資源管理,Xilinx,賽靈思
CXL在改善主機與加速器間的通訊方面有了長足的發展,但卻未能解決PCIe匯流排上的加速器之間的通訊問題。 2018 年,Linux內核終於推出了可支援PCIe點對點( ...