2001年,英特爾公布了第三代I/O技術(shù)——3GIO技術(shù)(后更名為PCI Express,即PCIe),以高性能、高擴(kuò)展性、高可靠性及出色的兼容性取代了包括AGP和PCI在內(nèi)所有的內(nèi)部總線并且不斷升格。例如,2019年5月底公布的PCIe 5.0,其以32Gb/s的單通道帶寬與32GT/s(Giga Transmission per second)每通道數(shù)據(jù)傳輸速率,滿足了現(xiàn)今絕大多數(shù)的需求。但應(yīng)對(duì)數(shù)據(jù)TB級(jí)增長(zhǎng)、異構(gòu)計(jì)算大行其道的當(dāng)下,PCIe在內(nèi)存使用效率、延遲和數(shù)據(jù)吞吐量等方面,已經(jīng)面臨壓力。 二十年后,在如今這個(gè)數(shù)據(jù)爆炸式增長(zhǎng),異構(gòu)計(jì)算大行其道的當(dāng)下,曾經(jīng)的“未來(lái)之星“PCI-e 已經(jīng)開(kāi)始出現(xiàn)后繼無(wú)人的現(xiàn)象,無(wú)法成為 CPU、GPU、FPGA 以及其他 AI 計(jì)算設(shè)備之間溝通的橋梁。為了達(dá)到最佳的計(jì)算效果,我們?cè)絹?lái)越期待一種以內(nèi)存為中心的、富有變革性的新技術(shù)出現(xiàn),基于PCI-e協(xié)議的CXL技術(shù)便在此環(huán)境下出世。 2019年,英特爾推出的CXL技術(shù)似乎殺出了重圍。短短幾年時(shí)間,CXL便成為業(yè)界公認(rèn)的先進(jìn)設(shè)備互聯(lián)標(biāo)準(zhǔn),其最為強(qiáng)勁的競(jìng)爭(zhēng)對(duì)手Gen-Z、OpenCAPI都紛紛退出了競(jìng)爭(zhēng),并將Gen-Z協(xié)議、OpenCAPI協(xié)議轉(zhuǎn)讓給CXL。
1、什么是CXL?
CXL全稱為Compute Express Link,作為一種全新的開(kāi)放式互聯(lián)技術(shù)標(biāo)準(zhǔn),其能夠讓CPU與GPU、FPGA或其他加速器之間實(shí)現(xiàn)高速高效的互聯(lián),從而滿足高性能異構(gòu)計(jì)算的要求,并且其維護(hù)CPU內(nèi)存空間和連接設(shè)備內(nèi)存之間的一致性??傮w而言,其優(yōu)勢(shì)高度概括在極高兼容性和內(nèi)存一致性兩方面上。
2、CXL 協(xié)議
CXL 標(biāo)準(zhǔn)定義了 3 個(gè)協(xié)議,這些協(xié)議在通過(guò)標(biāo)準(zhǔn) PCIe 5.0 PHY 以 32 GT/s 傳輸之前一起動(dòng)態(tài)復(fù)用: CXL.io 協(xié)議本質(zhì)上是經(jīng)過(guò)一定改進(jìn)的 PCIe 5.0 協(xié)議,用于初始化、鏈接、設(shè)備發(fā)現(xiàn)和列舉以及寄存器訪問(wèn)。它為 I/O 設(shè)備提供了非一致的加載/存儲(chǔ)接口。 CXL.cache 協(xié)議定義了主機(jī)和設(shè)備之間的交互,允許連接的 CXL 設(shè)備使用請(qǐng)求和響應(yīng)方法以極低的延遲高效地緩存主機(jī)內(nèi)存。 CXL.mem 協(xié)議提供了主機(jī)處理器,可以使用加載和存儲(chǔ)命令訪問(wèn)設(shè)備連接的內(nèi)存,此時(shí)主機(jī) CPU 充當(dāng)主設(shè)備,CXL 設(shè)備充當(dāng)從屬設(shè)備,并且可以支持易失性和持久性存儲(chǔ)器架構(gòu)。 如圖 1 所示,CXL.cache 和 CXL.mem 合并且共享一個(gè)公共鏈路和事務(wù)層,而 CXL.io 有自己的鏈路和事務(wù)層。
	
三個(gè)協(xié)議產(chǎn)生的數(shù)據(jù)都通過(guò)仲裁和多路復(fù)用 (ARB/MUX) 模塊一起動(dòng)態(tài)復(fù)用,然后被移交到 PCIe 5.0 PHY,進(jìn)而以 32GT/s 的速度進(jìn)行傳輸。ARB/MUX 在 CXL 鏈路層(CXL.io 和 CXL.cache/mem)發(fā)出的請(qǐng)求之間進(jìn)行仲裁,并根據(jù)仲裁結(jié)果復(fù)用數(shù)據(jù),仲裁結(jié)果使用加權(quán)循環(huán)仲裁,權(quán)重由主機(jī)設(shè)置。ARB/MUX 還處理鏈路層發(fā)出的功耗狀態(tài)轉(zhuǎn)換請(qǐng)求,向物理層創(chuàng)建實(shí)現(xiàn)有序降耗操作的單個(gè)請(qǐng)求。
CXL 通過(guò)固定寬度的 528 位微片傳輸數(shù)據(jù),該微片由四個(gè) 16 字節(jié)時(shí)隙組成,并添加了兩個(gè)字節(jié) CRC:(4 x 16 + 2 = 66 字節(jié)= 528 位)。插槽采用多種格式定義,可專用于 CXL.cache 協(xié)議或 CXL.mem 協(xié)議。片頭定義了插槽格式,并攜帶允許事務(wù)層將數(shù)據(jù)正確路由到預(yù)期協(xié)議的信息。
由于 CXL 使用 PCIe 5.0 PHY 和電氣元件,它可以有效地插入到任何可以通過(guò) Flex Bus 使用 PCIe 5.0 的系統(tǒng)中。Flex Bus 是一個(gè)靈活的高速端口,可以靜態(tài)配置為支持 PCIe 或 CXL。圖 2 舉例顯示了 Flex Bus 鏈路。這種方法使 CXL 系統(tǒng)能夠利用 PCIe 重定時(shí)器;但是,目前 CXL 僅定義為直連 CPU 鏈路,因此無(wú)法利用 PCIe 交換機(jī)。隨著標(biāo)準(zhǔn)的逐步完善,交換功能可能會(huì)被添加到標(biāo)準(zhǔn)中;如果是這樣,則需要?jiǎng)?chuàng)建新的 CXL 交換機(jī)。
	
3、CXL 設(shè)備類型
CXL.io 協(xié)議用于初始化和鏈接,所以必須獲得所有 CXL 設(shè)備的支持,如果 CXL.io 協(xié)議發(fā)生故障,鏈接就無(wú)法運(yùn)行。其他兩個(gè)協(xié)議的不同組合產(chǎn)生了總共三種被定義并受 CXL 標(biāo)準(zhǔn)支持的獨(dú)特 CXL 設(shè)備類型。
圖 3 顯示了三種已定義的 CXL 設(shè)備類型及其相應(yīng)的協(xié)議、典型應(yīng)用以及支持的存儲(chǔ)器訪問(wèn)類型。
	
對(duì)于 2 型設(shè)備,CXL 定義了兩個(gè)一致性“偏置”,用于控制 CXL 對(duì)主機(jī)和設(shè)備連接存儲(chǔ)器之間的一致性數(shù)據(jù)的處理方式。偏置模式指主機(jī)偏置和設(shè)備偏置,并且操作模式可以根據(jù)需要發(fā)生改變,從而在鏈路操作期間優(yōu)化給定任務(wù)的性能。
2 型設(shè)備(例如,加速器)處理提交給主機(jī)的工作時(shí)間及其后續(xù)完成之間的數(shù)據(jù)時(shí),設(shè)備偏置模式用于確保設(shè)備可以直接訪問(wèn)其設(shè)備連接的存儲(chǔ)器,而無(wú)需與主機(jī)的一致性引擎通信。因此,設(shè)備可保證主機(jī)沒(méi)有緩存線路。這為設(shè)備提供了最優(yōu)的延遲性能,使得設(shè)備偏置成為加速器執(zhí)行工作的主要操作模式。主機(jī)處于設(shè)備偏置模式時(shí),主機(jī)仍然可以訪問(wèn)設(shè)備連接的存儲(chǔ)器,但性能卻不是最優(yōu)。
主機(jī)偏置模式優(yōu)先考慮從主機(jī)到設(shè)備連接存儲(chǔ)器的一致性訪問(wèn)。該模式通常在工作提交期間使用,此時(shí)數(shù)據(jù)會(huì)從主機(jī)寫入設(shè)備連接的存儲(chǔ)器,而且在主機(jī)將數(shù)據(jù)從設(shè)備連接的存儲(chǔ)器中導(dǎo)出后,可使用該模式完成工作。在主機(jī)偏置模式下,設(shè)備連接的存儲(chǔ)器對(duì)于設(shè)備而言就像主機(jī)連接的存儲(chǔ)器一樣,如果設(shè)備需要訪問(wèn),就通過(guò)一條發(fā)送到主機(jī)的請(qǐng)求進(jìn)行處理。
可以使用軟件或硬件,通過(guò)軟件輔助和硬件自治這兩種受支持的模式管理機(jī)制來(lái)控制偏置模式。加速器或其他 2 型設(shè)備可以選擇偏置模式,如果兩種模式均未選擇,則系統(tǒng)默認(rèn)為主機(jī)偏置模式,這樣就必須通過(guò)主機(jī)路由對(duì)設(shè)備連接存儲(chǔ)器進(jìn)行所有訪問(wèn)。偏置模式可以使用 4KB 頁(yè)面的顆粒度進(jìn)行更改,并通過(guò) 2 型設(shè)備中執(zhí)行的偏置表進(jìn)行跟蹤。
CXL 標(biāo)準(zhǔn)的一個(gè)重要特征是一致性協(xié)議是不對(duì)稱的。Home 緩存代理僅停留在主機(jī)中。因此,主機(jī)控制存儲(chǔ)器的緩存,從而解決連接的 CXL 設(shè)備請(qǐng)求的給定地址的整個(gè)系統(tǒng)的一致性問(wèn)題。這完全不同于正在使用的現(xiàn)有專有和公開(kāi)的一致性協(xié)議,特別是那些用于 CPU 到 CPU 連接的協(xié)議,因?yàn)樗鼈兺ǔJ菍?duì)稱的,會(huì)使得所有互連設(shè)備都變得對(duì)等。
雖然這樣有一些優(yōu)點(diǎn),但是對(duì)稱的高速緩存一致性協(xié)議更加復(fù)雜,并且所有設(shè)備都必須處理由此產(chǎn)生的復(fù)雜性。具有不同架構(gòu)的設(shè)備可以采用不同的方法來(lái)實(shí)現(xiàn)在微架構(gòu)級(jí)別優(yōu)化的一致性,而這一情況可能會(huì)為實(shí)現(xiàn)廣泛的行業(yè)采用增加難度。通過(guò)使用主機(jī)控制的非對(duì)稱方法,可以將不同的 CPU 和加速器輕松納入新興 CXL 生態(tài)系統(tǒng)。
4、CXL的未來(lái)
可以設(shè)想在具有內(nèi)存一致性的大型系統(tǒng)中同時(shí)使用多個(gè)協(xié)議來(lái)處理 CPU 到 CPU、CPU 到連接設(shè)備以及更長(zhǎng)距離的機(jī)箱到機(jī)箱要求。目前,CXL 致力于為服務(wù)器提供經(jīng)過(guò)優(yōu)化的解決方案。CXL 固有的不對(duì)稱性意味著它可能不適用于 CPU 到 CPU 或加速器到加速器的連接。
- 
                                cpu
                                +關(guān)注
關(guān)注
68文章
11199瀏覽量
222088 - 
                                協(xié)議
                                +關(guān)注
關(guān)注
2文章
615瀏覽量
40772 - 
                                互聯(lián)技術(shù)
                                +關(guān)注
關(guān)注
0文章
13瀏覽量
8475 
原文標(biāo)題:一文讀懂CXL協(xié)議
文章出處:【微信號(hào):gh_873435264fd4,微信公眾號(hào):FPGA技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
一文讀懂 PWM控制背光亮度原理
PCIe協(xié)議分析儀能測(cè)試哪些設(shè)備?
一文讀懂CAN XL協(xié)議
    
新思科技解讀CXL 3.1標(biāo)準(zhǔn)
    
SMART Modular CXL AIC內(nèi)存擴(kuò)充卡獲CXL聯(lián)盟認(rèn)證
一文讀懂:LED 驅(qū)動(dòng)電路二極管挑選要點(diǎn)
一文讀懂什么是「雷電4」
    
SMART Modular世邁科技CXL內(nèi)存擴(kuò)充卡獲CXL聯(lián)盟認(rèn)證
瀾起科技CXL?內(nèi)存擴(kuò)展控制器芯片通過(guò)CXL 2.0合規(guī)性測(cè)試
瀾起科技MXC芯片列入首批CXL 2.0合規(guī)供應(yīng)商清單
    
一文讀懂EAP認(rèn)證協(xié)議:保障網(wǎng)絡(luò)安全的利器
    
韓國(guó)無(wú)晶圓廠初創(chuàng)公司Panmnesia展示第一個(gè)支持CXL的AI集群
杰和課堂|一文讀懂什么是雷電4
    
          
        
        
一文讀懂CXL協(xié)議
                
 
    
    
           
            
            
                
            
評(píng)論