結論:CXL(Compute Express Link)とPCIe(PCI Express)の違いは?
CXLとPCIeの最大の違いは「キャッシュコヒーレンシーの有無」です。PCIeは汎用の高速シリアルI/Oバスでキャッシュ一貫性には非対応、デバイスとの同期はソフトウェアが担います。CXLはPCIeの物理層の上にCXL.io/CXL.cache/CXL.memの3層を構築し、CPUとデバイス間のキャッシュ一貫性を保証したうえで、CXL.memにより外部メモリを主記憶として透過的に利用できるため、AI/HPCサーバーのメモリプーリングを実現します。
比較表
| 観点 | CXL(Compute Express Link) | PCIe(PCI Express) |
|---|---|---|
| プロトコル構造 | CXL.io(PCIe互換)+CXL.cache(ホストキャッシュ協調)+CXL.mem(メモリアクセス)の3層構造 | シリアル転送プロトコル(TLP/DLLP)。汎用I/Oバス |
| キャッシュコヒーレンシー | CPU-デバイス間のキャッシュ一貫性を保証(CXL.cache) | 非対応(ソフトウェアによる同期が必要) |
| メモリ拡張・プーリング | CXL.memによりCPUから外部メモリを主記憶として透過的に利用可能 | DMAベースでの転送のみ(メモリとして透過的利用は困難) |
| レイテンシ | PCIeより低いがDDR5より高い(~100〜300ns追加) | ~500ns〜数μs(デバイスとドライバ処理含む) |
| 最大帯域幅 | CXL 3.0(PCIe 6.0ベース):256GT/s(×16)で約512GB/s | PCIe 5.0 ×16:約128GB/s、PCIe 6.0 ×16:約256GB/s |
| 主な用途 | AI推論サーバーのメモリプーリング・スマートNIC・AIアクセラレータ接続 | GPU・SSD・NIC・FPGA等の汎用周辺機器接続 |
| ホスト側対応CPU | Intel Sapphire Rapids以降・AMD EPYC Genoa以降・ARM Neoverse V2 | 全モダンCPU/SoC(Intel/AMD/ARM/Apple等) |
| エコシステム成熟度 | CXL 2.0〜3.0標準化完了、スイッチIC・メモリモジュールが登場中 | 成熟した業界標準(PCIe 5.0が現行主流) |
AIサーバーでCXLが必要になる理由
大規模言語モデル(LLM)の推論では数百GB〜数TBのモデルウェイトをメモリに保持する必要があります。1ソケットあたりのDDR5最大容量(数TB)でも足りないケースでCXLメモリ拡張が有効です。CXL.memを使えばCPUのDRAMコントローラ経由ではなくCXLバス上のメモリプールを主記憶として透過的に活用でき、メモリ容量を柔軟にスケールできます。MetaやGoogleなどのクラウド事業者がCXLメモリサーバーの早期トライアルを実施しています。
PCIeとCXLの棲み分けと将来展望
PCIeはGPU・NVMe SSD・NICなどの汎用周辺機器接続で2030年代も主流を維持します。CXLはその上位レイヤーとして、特にメモリ拡張・ホスト協調キャッシュが必要なAI/HPC用途で普及が進む見通しです。CXL 3.0ではスイッチを介した多対多接続(ファブリック型)が可能になり、データセンター規模のメモリプーリング・リソース分解(Disaggregation)アーキテクチャの基盤技術となります。