- プロセッサ、メモリ、拡張デバイス、アクセラレーターなどをキャッシュコヒーレンスを維持しながら相互接続する業界標準インターコネクト規格 - PCIeの仕様を流用。Gen5以降 - 最新仕様 v4.0 - PCIe 7.0へ依存 - Linuxでどのバージョンを使えるかは別 - [Compute Express Link Subsystem Maturity Map — The Linux Kernel documentation](https://docs.kernel.org/driver-api/cxl/maturity-map.html) - CXLをどう開発するのか?デバイスがないのでは? - QEMUを拡張してCXLデバイスをエミュレーション - プロトコル - Gen 5.0以降のPCIeを利用し、論理レイヤでCXLプロトコルを動作する。 - CXL デバイス 3種類 - キャッシュをもつかメモリをもつか - Type 1 - キャッシュをもちメモリ内蔵なし - SmartNICなど - Type2 - キャッシュもメモリも内蔵 - GPUなど - Type3 - メモリ内蔵のみ - 一番需要がある - SSDや拡張メモリをPCIeデバイスに刺せる - 揮発・不揮発サポート - ![[Pasted image 20260121162906.png|600]] - CXLはLinuxからはキャラクタデバイスからみえる - メモリシステムかファイル・システムから使うか - Famfs:ストレージではなくメモリを操作するファイルシステム - ユースケース:Memory Pooling / ラックレベル接続 - [CXL-2.0-Memory-Pooling.pdf](https://computeexpresslink.org/wp-content/uploads/2023/12/CXL-2.0-Memory-Pooling.pdf)