0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CXL在PCIe 5.0的基礎(chǔ)上復(fù)用三種類型的協(xié)議

安芯教育科技 ? 來源:安芯教育科技 ? 作者:安芯教育科技 ? 2022-09-06 10:05 ? 次閱讀

前言:

CXL的全名是Compute eXpressLink。CXL是Intel在2019年提出的,希望用CXL來實現(xiàn)計算、內(nèi)存、存儲和網(wǎng)絡(luò)的解耦,并在CXL總線上提供持久內(nèi)存。

CXL發(fā)展到現(xiàn)在已經(jīng)有幾十家的會員。目前CXL協(xié)議共有個版本,分別是1.0,1.1,2.0和剛剛發(fā)布的3.0,協(xié)議規(guī)范可以在官網(wǎng)上下載(https://www.computeexpresslink.org/)。關(guān)于CXL,協(xié)議里面是這樣說的“CXL is alow-latency, high-bandwidth link that supports dynamic protocol muxing ofcoherency, memory access, and IO protocols, thus enabling attachment ofcoherent accelerators or memory devices”。從協(xié)議給出的定義可以看出,CXL是一種低延時,高帶寬的連接技術(shù),主要支持一致性緩存,內(nèi)存和IO擴展。

CXL是基于PCIe 5.0實現(xiàn)的連接技術(shù),復(fù)用了很多PCIe協(xié)議的東西,這一點上與CCIX比較像,但又不完全一樣。說起CCIX和CXL,難免要相互對比。其實與其說是兩種技術(shù)對比,不如說是ARM和Intel兩大陣營的對抗。Intel具有一定的技術(shù)優(yōu)勢(至少在PCIe上);但是ARM如日中天,客戶群體巨大。本文旨在一窺CXL協(xié)議,無意探討CCIX和CXL的路線之爭。相信大家經(jīng)過學習,會對兩種技術(shù)有自己的認識。孰優(yōu)孰劣,誰會笑到最后,那是大佬們的事情。

滄海一聲笑,滔滔兩岸潮

浮沉隨浪,只記今朝

蒼天笑,紛紛世上潮

誰負誰勝出,天知曉

扯完閑話,書歸正傳。接下來的內(nèi)容是基于CXL 2.0協(xié)議的學習筆記。由于是第一次刷CXL協(xié)議,就還是按照協(xié)議的章節(jié)來。內(nèi)容主要是三方面,一是對協(xié)議的翻譯,由于英語水平和技術(shù)水平都有限,有些地方會不通順;二是自己的理解,直白說就是中翻中,把不通順的或者難懂的描述轉(zhuǎn)成大白話,這里可能會有一些不太準確;三是一些基礎(chǔ)知識的補充,前面提到,CXL是在PCIe的基礎(chǔ)上發(fā)展而來,因此有不少復(fù)用PCIe協(xié)議的地方,但是CXL協(xié)議里面又不會闡述這些。我把暫時看不懂或者不太關(guān)心的部分都略過了,尤其是后半部分章節(jié),日后如果有需要,二刷三刷的時候再補上。

背景知識之PCIe:

既然CXL是以PCIe 5.0為基礎(chǔ),我們還是有必要先簡單了解一下PCIe協(xié)議。

PCIe是點到點的傳輸,采用的是低壓差分技術(shù),一條通道(Lane)在發(fā)送(TX)和接收(RX)方向上共有四條信號線。PCIe 5.0的最大傳輸速率是32GT/s,也就是說單通道的最大速率是32Gb/s。如果想要提高PCIe的帶寬,就需要多條通道,就像高速公路要提高交通流量就需要擴展更多的車道。所以經(jīng)常會看到x32,x16,x8這些描述,后面的數(shù)字就代表通道數(shù)。通道數(shù)不是隨意的,PCIe 5.0支持x1,x2,x4,x8,x12,x16和x32。簡單計算可以得知,PCIe5.0最大的帶寬是32*32/8=128GB/s,但這只是理論值,實際應(yīng)用中需要考慮編碼,數(shù)據(jù)包頭等開銷,有效帶寬肯定要小于理論值。

PCIe的拓撲結(jié)構(gòu)如下圖。

2ebbec9a-2d86-11ed-ba43-dac502259ad0.png

Rootcomplex:簡稱RC,root complex主要負責PCIe報文的解析和生成。RC接受來自CPU的IO指令,生成對應(yīng)的PCIe報文,或者接受來自設(shè)備的PCIe TLP報文,解析數(shù)據(jù)傳輸給CPU或者內(nèi)存。

Endpoint:簡稱EP,PCIe終端設(shè)備,是PCIe樹形結(jié)構(gòu)的葉子節(jié)點。EP可以分為三類,legacy endpoint,PCI Express endpoint和Root Complex IntegratedEndpoints (RCiEPs)。

Switch:PCIe的轉(zhuǎn)接器設(shè)備,提供擴展或聚合能力,并允許更多的設(shè)備連接到一個PCle端口。它們充當包路由器,根據(jù)地址或其他路由信息識別給定包需要走哪條路徑。

PCIe可以分為三個獨立的邏輯層:事務(wù)層(TransactionLayer),數(shù)據(jù)鏈路層(Data Link Layer)和物理層(Physical Layer)。

2edc0a02-2d86-11ed-ba43-dac502259ad0.png

在發(fā)送端,PCIe傳輸?shù)臄?shù)據(jù)從上到下,都是以數(shù)據(jù)包(packet)的形式傳輸?shù)?,每個都是有其固定的格式的。事務(wù)層負責創(chuàng)建TLP(Transaction Layer packet);數(shù)據(jù)鏈路層接收事務(wù)層發(fā)來的TLP并創(chuàng)建DLLP(Data LinkLayer packet);物理層接收DLLP,然后加上幀頭和幀尾,把數(shù)據(jù)分發(fā)到各個Lane傳輸。在接收端,物理層接收Lane上傳輸?shù)臄?shù)據(jù),去掉幀頭和幀尾信息,發(fā)給數(shù)據(jù)鏈路層;數(shù)據(jù)鏈路層提取出TLP發(fā)給事務(wù)層;事務(wù)層解析TLP,取出有效負載數(shù)據(jù)。

2eeae5ea-2d86-11ed-ba43-dac502259ad0.png

這些是PCIe最基本的知識,后面用到啥再介紹。

第一章 介紹 1.1– 1.2 略。

1.3參考文檔

PCI Express Base Specification Revision 5.0 or later

ACPI Specification 6.3 or later

UEFI Specification 2.8 or later

PCI Firmware Specification 3.2 or later

MCTP Base Specification (DSP0236) 1.3.1 or later

Security Protocol and Data Model Specification 1.1.0 or later

1.4 概述 1.4.1 CXL

CXL在PCIe 5.0的基礎(chǔ)上復(fù)用三種類型的協(xié)議,分別 CXL.io,CXL.cache,CXL.memory。CXL.io用來發(fā)現(xiàn),配置,寄存器訪問、錯誤報告,主機物理地址(Host Physical Address,HPA)查找,中斷等。CXL.cache用來擴展系統(tǒng)緩存。CXL.memory 用來擴展系統(tǒng)存儲。其中CXL.cache和CXL.memory是備選的。三種 CXL 協(xié)議分別對應(yīng)一個接口

2efb3aa8-2d86-11ed-ba43-dac502259ad0.png

如上圖中,右側(cè)的主機可以通過CXL連接左側(cè)的加速芯片,其中CXL.io擴展外部I/O設(shè)備,CXL.cache擴展緩存,CXL.memory擴展存儲。

CXL2.0支持熱插拔、安全增強、持久內(nèi)存支持、內(nèi)存錯誤報告和遙測。CXL 2.0還支持多扇出(Fan-out)單級交換,以及跨多個虛擬層次結(jié)構(gòu)共享設(shè)備的能力,包括對內(nèi)存設(shè)備的多域支持。如下圖,每種顏色標識一個虛擬層次結(jié)構(gòu)。其中的MLD是多邏輯設(shè)備(Multi-Logic Device),是一個Type 3的設(shè)備,后面會講什么是Type 3設(shè)備。

2f0c663e-2d86-11ed-ba43-dac502259ad0.png

1.4.2Flex Bus

關(guān)于Flex Bus,協(xié)議里面的原話是這樣說的“A Flex Bus port allowsdesigns to choose between providing native PCIe protocol or CXL over ahigh-bandwidth, off-package link; the selection happens during link trainingvia alternate protocol negotiation and depends on the device that is pluggedinto the slot.“

CXL也采用的是PCIe的物理層,所以對于同一個插槽上的設(shè)備,到底是CXL設(shè)備還是傳統(tǒng)PCIe設(shè)備呢?在上電啟動時,主機識別出是PCIe設(shè)備還是CXL設(shè)備,之后FlexBus就像是一個二選一,選擇采用哪個協(xié)議。這樣插槽就可以兼容CXL卡或是PCIe卡。在CPU和設(shè)備之間可以插入一個或兩個可選的重定時器(Retimer),以延長通道長度。下圖是Flex Bus的示意電路。

插播一句,關(guān)于PCIe Retimer。隨著PCIe協(xié)議的不斷升級,頻率越來越高,對數(shù)據(jù)在線路中的傳輸長度提出了強烈挑戰(zhàn)。為了解決這一問題,PCIe協(xié)議在4.0版本中提出了Retimer。Retimer實際上是一種協(xié)議感知設(shè)備,能更好地將信號傳輸?shù)礁h。

2f2f43de-2d86-11ed-ba43-dac502259ad0.png

下圖中顯示,通過此端口可將一致性加速器或智能I/O設(shè)備連接到主機處理器。

2f3e5bee-2d86-11ed-ba43-dac502259ad0.png

下圖顯示了如何通過Flex Bus.CXL來擴展內(nèi)存系統(tǒng)。

2f583140-2d86-11ed-ba43-dac502259ad0.png

下圖顯示了CXL下游端口(Downstream Port)支持的連接。

2f69f40c-2d86-11ed-ba43-dac502259ad0.png

1.5 Flex Bus鏈接功能

FlexBus提供了一種點對點互連,可以傳輸原始PCIe協(xié)議或動態(tài)多協(xié)議CXL,以支持I/O、緩存和內(nèi)存協(xié)議。主要的鏈接屬性包括對以下功能的支持:

原始的PCIe模式,支持PCIe協(xié)議的全部功能

CXL模式

PCIe或CXL配置

信號速率32GT/s,降級速率16GT/s和8GT/s(CXL模式)

CXL鏈路寬度x16,x8,x4,x2(降級模式)和x1(降級模式)

CXL模式下對x4的分叉支持

1.6 Flex Bus 分層概述

CXL事務(wù)(協(xié)議)層分為兩個部分:處理CXL.io的邏輯和處理CXL.cahce和CXL.mem的邏輯。CXL鏈路層以相同的方式細分。如下圖所示,CXL.io近似PCIe協(xié)議的事務(wù)層和鏈路層,但是CXL.cache和CXL.mem走的是自己單獨的事務(wù)層與鏈路層(這是CXL延遲低的原因之一)。CXL ARB/MUX接口將來自兩個通路的流量交織。

2f84532e-2d86-11ed-ba43-dac502259ad0.png

此外,CXL可以選擇是否實現(xiàn)PCIe事務(wù)層和數(shù)據(jù)鏈路層,如果實現(xiàn),則允許分別與CXL.io事務(wù)層和鏈路層聚合。作為鏈路training過程的結(jié)果,事務(wù)層和鏈路層被配置為在PCIe模式或CXL模式下運行。

1.7 文檔范圍 略。

本章總結(jié):這一章介紹了CXL的基本概念,CXL協(xié)議可以分為三個部分,分別是CXL.io,CXL.cache和CXL.mem。從Flex Bus分層結(jié)構(gòu)能夠看出來,CXL也是在PCIe的分層架構(gòu)上做了擴展。但是和CCIX不同,CXL為CXL.cache和CXL.mem增添了新的事務(wù)層(Transaction Layer)和鏈路層(Link Layer),所以也可以認為CXL.cache和CXL.mem是兩個全新的協(xié)議。

【待續(xù)】

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2894

    瀏覽量

    88227
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1247

    瀏覽量

    82887

原文標題:技術(shù)分享 | CXL學習(一)

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    內(nèi)存擴展CXL加速發(fā)展,繁榮AI存儲

    .cache和CXL.memory個子協(xié)議,分別處理I/O、緩存一致性和內(nèi)存訪問。PCIe物理層為CXL高效的數(shù)據(jù)傳輸提供技術(shù)底座,
    的頭像 發(fā)表于 08-18 00:02 ?4946次閱讀
    內(nèi)存擴展<b class='flag-5'>CXL</b>加速發(fā)展,繁榮AI存儲

    PCIe 6.0 互操作性PHY驗證測試方案

    ?和 UCIe?等協(xié)議。CXL提供緩存一致性互連,支持多臺機器間的內(nèi)存擴展,提供最低延遲和最高帶寬。CXL和NVM Express?利用 PCIe 的物理層和簡便的
    的頭像 發(fā)表于 01-02 08:43 ?111次閱讀
    <b class='flag-5'>PCIe</b> 6.0 互操作性PHY驗證測試方案

    pcie 4.0與pcie 5.0的區(qū)別

    per second),這意味著x16配置下,PCIe 4.0的理論最大帶寬為64 GB/s。而PCIe 5.0則進一步提升,每通道速率達到了32 GT/s,x16配置下的理論最大
    的頭像 發(fā)表于 11-13 10:35 ?4564次閱讀

    pcie接口類型及其應(yīng)用

    隨著計算機技術(shù)的飛速發(fā)展,數(shù)據(jù)傳輸速度和處理能力的需求也不斷提高。PCIe(Peripheral Component Interconnect Express)作為一高效的數(shù)據(jù)傳輸接口,已經(jīng)成為
    的頭像 發(fā)表于 11-13 10:22 ?1198次閱讀

    根據(jù)云服務(wù)器的部署方式和服務(wù)對象分為幾種類型

    云服務(wù)器已經(jīng)成為現(xiàn)代企業(yè)和組織IT基礎(chǔ)設(shè)施的核心組成部分。根據(jù)云服務(wù)器的部署方式和服務(wù)對象的不同,主要可以分為三種類型:公有云服務(wù)器、私有云服務(wù)器和混合云服務(wù)器。下面我們將詳細介紹這三種類型的云服務(wù)器的特點及其適用場景。
    的頭像 發(fā)表于 11-04 10:04 ?335次閱讀

    熱敏電阻主要有哪三種類型

    熱敏電阻是一利用電阻隨溫度變化的特性來測量溫度的傳感器。它們廣泛應(yīng)用于各種電子設(shè)備和系統(tǒng)中,用于溫度監(jiān)測、控制和補償。熱敏電阻主要有三種類型:負溫度系數(shù)(NTC)、正溫度系數(shù)(PTC)和臨界溫度
    的頭像 發(fā)表于 09-06 09:37 ?2244次閱讀

    如何利用CXL協(xié)議實現(xiàn)高效能的計算架構(gòu)

    構(gòu)建一個可橫向擴展的可組合分離架構(gòu)。眾所周知,CXL協(xié)議涵蓋了type1、type2、type3三種設(shè)備類型,而目前學術(shù)界和工業(yè)界的研究主要集中
    的頭像 發(fā)表于 09-03 09:14 ?652次閱讀
    如何利用<b class='flag-5'>CXL</b><b class='flag-5'>協(xié)議</b>實現(xiàn)高效能的計算架構(gòu)

    plc常見的三種通訊協(xié)議有哪些

    這一目標,PLC采用了多種通信協(xié)議。以下是三種常見的PLC通信協(xié)議的詳細介紹: Modbus協(xié)議 Modbus協(xié)議是一
    的頭像 發(fā)表于 07-01 10:12 ?2588次閱讀

    DS320PR1601 32Gbps 16通道PCIe 5.0CXL 2.0線性轉(zhuǎn)接驅(qū)動器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS320PR1601 32Gbps 16通道PCIe 5.0、CXL 2.0線性轉(zhuǎn)接驅(qū)動器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 06-22 10:40 ?0次下載
    DS320PR1601 32Gbps 16通道<b class='flag-5'>PCIe</b> <b class='flag-5'>5.0</b>、<b class='flag-5'>CXL</b> 2.0線性轉(zhuǎn)接驅(qū)動器數(shù)據(jù)表

    DS320PR410支持PCIe5.0、CXL 2.0的四通道線性轉(zhuǎn)接驅(qū)動器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS320PR410支持PCIe5.0CXL 2.0的四通道線性轉(zhuǎn)接驅(qū)動器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 06-21 11:07 ?0次下載
    DS320PR410支持<b class='flag-5'>PCIe5.0</b>、<b class='flag-5'>CXL</b> 2.0的四通道線性轉(zhuǎn)接驅(qū)動器數(shù)據(jù)表

    多路復(fù)用技術(shù)主要有幾種類型?它們各有什么特點?

    多路復(fù)用技術(shù)主要有幾種類型?它們各有什么特點? 多路復(fù)用技術(shù)主要有以下幾種類型:進程多路復(fù)用、I/O多路
    的頭像 發(fā)表于 03-28 15:36 ?3098次閱讀

    三種實現(xiàn)光模塊更高傳輸速率的技術(shù)

    本文介紹三種提高光模塊傳輸速率的技術(shù):波分復(fù)用技術(shù)、多路并行傳輸技術(shù)和高階調(diào)制技術(shù)。波分復(fù)用技術(shù)利用光的波長特性將不同波長的信號同時傳輸同一條光纖
    的頭像 發(fā)表于 03-11 15:31 ?799次閱讀

    LoRa協(xié)議層次及應(yīng)用場景

    Application,MAC,Modulation,其中Application為應(yīng)用層,用戶自定義的基于LoRaWAN技術(shù)的應(yīng)用程序、軟件接口等。常見的LoRaWAN協(xié)議即為LoRaMAC協(xié)議,協(xié)議定義的終端
    的頭像 發(fā)表于 03-06 16:39 ?3048次閱讀
    LoRa<b class='flag-5'>協(xié)議</b>層次及應(yīng)用場景

    邊緣計算分為哪三種類型?邊緣計算這項技術(shù)可以應(yīng)用在哪些領(lǐng)域?

    邊緣計算分為哪三種類型?邊緣計算這項技術(shù)可以應(yīng)用在哪些領(lǐng)域? 邊緣計算是一分布式計算的模式,它將數(shù)據(jù)處理和存儲的功能從傳統(tǒng)的集中式云計算中推向網(wǎng)絡(luò)邊緣設(shè)備,以便更快速、實時地進行計算和響應(yīng)。邊緣
    的頭像 發(fā)表于 02-06 14:38 ?1511次閱讀

    差分晶振的輸出波形解析:三種類型要知道

    差分晶振的輸出波形解析:三種類型要知道? 差分晶振是一常見的電路元件,用于產(chǎn)生高穩(wěn)定性的方波信號。它采用了一個振蕩電路,包含了一個典型的集成晶體振蕩器和兩個反向耦合的輸出信號。 差分晶振的輸出波形
    的頭像 發(fā)表于 01-24 13:46 ?1324次閱讀