はじめに
業界標準では、I/Oに関しては PCI から PCI Express になり、現在は Gen5、その次の Gen6 も決まり、Gen7 を策定中です。 また、CXL という Cache Coherency もサポートするものも出てきました。CXL 1.0/1.1/2.0 は、PCIe Gen5 と同等で、CXL 3.0 は PCIe Gen6 になっています。
マルチソケット間のインターフェースでは、色々なものが出ていましたが、CCIX が Arm Server 用CPU に利用されています。このブログでも何度も取り上げている Ampere Computing や ロシアのBaikal Electronicsが CCIX を使っています。
そして、半導体プロセスが 3nm になり、SRAM density が変わらないことになり、何でもかんでも詰め込むのではなく、色々なプロセスで作った chiplet を使うという感じになっています。その chiplet を接続するためのインターフェースとして、UCIe (Universal Chiplet Interconnect Express) です。
UCIe
UCIe は下記の10社により策定されました。その後、色々な会社や団体が参加し、業界標準になりました。たぶん。
UCIe は PCI Express/CCIX/CXL とは違って、下記のようにデータ線を差動ではなく、Single-end になっています。Standard Package では 16GbpsのDDRで x16 にて、512Gbpsの転送帯域です。Advanced Packageでは x64になり、4倍の 2Tbps になります。
- Standard Package : x16@16Gbps/DDR, 512Gbps => 64GB/s
- Advanced Package : x64@16Gbps/DDR, 2Tbps => 256GB/s
32Gbpsもサポートしているので、Standard Packge で 1Tbps (128GB/s)、Advanced Package で 4Tbps (512GB/s) になります。
この値は片方向なので、双方向になると倍になります。
Standard Package と Advanced Packedg の時では、利用できる部材が変わります。お安い organic substrate や laminate を使いたい時は、Standard Packageになります。
- Standard packages (organic substrate or laminate), Bump Pitch = 110um
- Advanced packages (silicon interposer, silicon bridge or RDL fanout), Bump Pitch = 45um
下図は、Synopsys記事、What Is UCIe? / Multi-Die SoCs Gaining Strength with Introduction of UCIeから説明のために引用します。
データ線は single-end ですが、クロックは差動です。その他に、Valid、Track という信号があります。また、Sideband信号もあります。Sidband信号は800MHzになっています。
下図も説明のために引用します。
- Protocol Layer
- Die-to-Die Adapter
- Physical Layer
の3層構造になっています。
Synopsysの UCIe IP のページによると、下記のように、TSMC N5/N3E の PHY があるようです。となると、N5かN3Eのデバイスしか UCIe が使えないということになりそうです。Samsung は 5LPe で Standard Package のみPHYがあります。
TSMC N6 に実装したものに対しては、現状 Synopsys の IP を使うことができなさそうです (もしかしたら、やっているかもしれませんが)
おわりに
UCIe Standard だと、32Gbpsを使うと、Advantage Package で4Tbps = 512GB/s 。NVIDIA の Grace-Hopper Superchip の GraceとHopper間のNVLink C2Cが900GB/s です。片側450GB/s なのでだいたい同じことになります。
NVIDIAも UCIe に入っていますので、NVLink C2Cだけを使うわけではないでしょうかね。