はじめに
PCI Express がかなり前?から使われています。ざっくり、20年ぐらい。。
Wikipedia(日本語)によると、2002年にPCI-SIGで策定されたので。あっている。
- Gen1 : 2005年にPCI-SIGが発表
- Gen2 : 2007年にPCI-SIGが発表
- Gen3 : 2010年にPCI-SIGが発表
- Gen4 : 2017年にPCI-SIGが策定、公開
- Gen5 : 2017年にPCI-SIGが発表、2019年策定
- Gen6 : 2019年にPCI-SIGが発表、2021年策定
CXL (Compute Express Link) の Wikipedia では、
- 1.0 : 2019年3月11日 (PCIe Gen5ベース)
- 1.1 : 2019年6月 (PCIe Gen5 PHYベース)
- 2.0 : 2020年11月 (PCIe Gen5 PHYベース)
- Next : H1 2022 (PCIe 6.0 PYHベース)
PC Watch 大原さんの記事
- CXL.IO : PCI Express互換 (I/Oプロトコル)
- CLX.Cache (キャッシュコヒーレンシ)
- CXL.Memory (メモリアクセス)
CCIXはキャッシュコヒーレンシを双方向で維持するのに対し、CXLではCPU側のキャッシュコヒーレンシしか保証しない(つまりアクセラレータのキャッシュまでは考慮しない)といった具合に、CCIXに比べると実装の負荷が軽減されるような規定になっていた。
そうなんだ。。。
- OpenCAPI
- CCIX
- CXL
Sapphire RapidsはCXL.ioとCLX.cacheは実装されているが、CXL.memoryは未実装である。
え、そうなんだ。
しかもSapphire RapidsのPCIe/CXLには問題があり、少なくとも最初に出る製品はCXLが一切使えない(CXL.cacheの実装に問題があった、と聞いたが真偽のほどは不明)
ええええ。
Genoaベースの第4世代EPYCは、PCIe Gen5に加え、CXL 1.1のメモリ拡張機能
おう。。。
おわりに
PCIe Gen6 って、どうなるんだろうか。。。。
追記)、2023.02.22
CXL 3.0はこれをPCIe 6.0に引き上げ、スループットを2倍の64GT/s(x16接続では最大256GB/sのスループット)としながら、レイテンシの増加はゼロだと主張している。CXL 3.0では、レイテンシを最適化した新しい256バイトフリット形式を採用し、レイテンシを2~5ns短縮することで、従来と同じレイテンシを維持している。
- CXL 3.0 == PCIe Gen6