| 開発年 | 2019年 |
|---|---|
| 速度 |
Full duplex 1.x, 2.x (32 GT/s):
3.0 (64 GT/s): 7.563 GB/s (×1) 121.0 GB/s (×16) |
| 外部リンク |
www |
Compute Express Link(CXL)は、高性能なデータセンターコンピューター向けに設計された、CPU-デバイス間およびCPU-メモリ間を高速に接続するためのオープンスタンダードである。
CXLは、PCI Express(PCIe)の物理的・電気的インターフェイス上に構築されており、PCIeベースのブロック入出力プロトコル(CXL.io)、システムメモリ(CXL.cache)およびデバイスメモリ(CXL.mem)にアクセスするための新しいキャッシュコヒーレントプロトコルから構成される。
この標準は、主にIntelによって開発された。CXL Consortiumは、2019年3月にAlibaba Group、Cisco、Dell EMC、Facebook、Google、HewlettPackard Enterprise(HPE)、Huawei、Intel、Microsoftからなる創設メンバーによって立ち上げられ、2019年9月に正式に設立された。2022年1月の時点で、取締役会の創設者にAMD、NVidia、Samsung、Xilinxが加わり、contributing memberとしてARM、Broadcom、Ericsson、IBM、Keysight、Kioxia、Marvell、Mellanox、Microchip、Micron、Oracle、Qualcomm、Rambus、Renesas、Seagate、SK Hynix、Synopsys、WesternDigitalなどが参加した。業界パートナーには、PCI-SIG、Gen-Z、SNIA、DMTFが参加している。
2020年4月2日、Compute Express LinkとGen-Zコンソーシアムは、両者のテクノロジー間の相互運用性を実装する計画を発表し、最初の成果が2021年1月に発表された。2021年11月10日、単一の業界標準の開発に注力するため、Gen-Zの仕様と資産がCXLに移管された。この発表の時点で、Gen-Zメンバーの70%はすでにCXLコンソーシアムに参加していた。このコンソーシアムに参加していた企業には、OpenCAPI(IBM)、CCIX(Xilinx)、Gen-Z(HPE)オープンスタンダードなどのメモリコヒーレント相互接続テクノロジー、プロプライエタリのInfiniBand/RoCE(Mellanox)、Infinity Fabric(AMD)、Omni-PathおよびQuickPath/Ultra Path(Intel)、NVLink/NVSwitch(Nvidia)プロトコルの背後にある企業がある。
2019年4月2日、IntelはCXLを搭載したAgilex FPGAファミリを発表した。
2021年5月11日、Samsungは128 GByte DDR5ベースのメモリ拡張モジュールを発表した。これを利用すると、データセンターや潜在的な次世代のPCに適した、テラバイトレベルのメモリ拡張が可能になる。2022年5月10日には、プロプライエタリなメモリコントローラーを利用した、更新版の512 GByteバージョンがリリースされた。
2021年には、IntelのSapphire Rapidsプロセッサ、AMDのZen 4 EPYC「Genoa」および「Bergamo」プロセッサでのCXL1.1のサポートが発表された。
CXLデバイスは、Intel、Astera、Rambus、Synopsys、Samsung、Teledyne LeCroyなどにより、SC21 Conferenceで展示された。
2023年8月7日(米国時間)、マイクロンがサンプル出荷を開始。
CXLの標準では、3種類の独立したプロトコルが定義されている。
CXL.cacheとCXL.memプロトコルは、CXL.ioプロトコルリンクとトランザクションレイヤーとは別の共通のリンク/トランザクションレイヤーで動作する。これらのプロトコル/レイヤーは、Arbitration and Multiplexing(ARB/MUX)ブロックによって多重化されてから、4つの16バイトデータslotsと2バイトの巡回冗長検査(CRC)値からなる固定幅528ビット(66バイト)のフロー制御ユニット(Flow Control Unit、FLIT)ブロックを使用して標準のPCIe 5.0 PHYで転送される。CXL FLITは、PCIe標準のトランザクション層パケット(TLP)とデータリンク層パケット(DLLP)データを可変フレームサイズ形式でカプセル化する。
CXLは、次の3種類の主要なデバイスタイプをサポートするように設計されている。
Type 2のデバイスは、デバイスドライバーが管理する2つのメモリコヒーレンスモードを実装する。デバイスバイアスモードでは、デバイスはローカルメモリに直接アクセスし、CPUによるキャッシュは実行されない。ホストバイアスモードでは、ホストCPUのキャッシュコントローラーがデバイスメモリへのすべてのアクセスを処理する。コヒーレンスモードは、4 KBページごとに個別に設定でき、Type 2のデバイスのローカルメモリの変換テーブルに保存される。他のCPU間メモリコヒーレンシプロトコルとは異なり、この配置では、ホストCPUメモリコントローラがキャッシュエージェントを実装するだけで済む。このような非対称的なアプローチにより、実装の複雑さが軽減され、待ち時間が短縮される。