はじめに
12/10(日)の半導体チップ雑談のお題「arm CMN-600/CMN-700」を説明した時にarm CoreLinkについて調べたので記録のためのブログに残します。
来週日曜日の11:00-12:00に半導体チップに関する雑談をやっています
— Vengineer@ (@Vengineer) 2022年12月4日
第67回、
来週日曜日(12/11)は、
ARM CMN-600/700
https://t.co/Q4ZzgROorV
arm CoreLink
下図は 上記のCCI-400のサイト(ここ)から説明のために引用します。
CCI-400は、
- 2つのACE (fully coherent processors / Arm Cortex CPU cluster) を接続することができます。1つのACEには4つのCPUコアを搭載できるので、2つのACEでは8個のCPUコアになります。
- CCI-400の発表時では、Cortex-A7/A15/A17 や Cortex-A53/A57 が接続できるようになっていました。
- 1-3 IO interfaces
- 1-2 Memory Interfaces
1 System Interfaces
下図は 上記のCCI-500のサイト(ここ)から説明のために引用します。
CCI-500は、
- 2つのACE (fully coherent processors / Arm Cortex CPU cluster) を接続することができます。1つのACEには4つのCPUコアを搭載できるので、2つのACEでは8個のCPUコアになります。
- CCI-500の発表時では、Cortex-A53/A72 が接続できるようになっていました。その後、Cortex-A73が発表されました。
- 1-5 IO interfaces
- 1-4 Memory Interfaces
- 1-2 System Interfaces
- Snoop filter なるものが追加されました
下図は 上記のCCI-550のサイト(ここ)から説明のために引用します。
CCI-550は、
- CCI-500 と基本的に同じ
- CPUの部分が DynamIQ Shared Unit対応
- CPUは、Cortex-A75/A55
下図は 上記のCMN-600のサイト(ここ)から説明のために引用します。
CNM-600は、
- 1-32 fully coherent requesers (Armv8-Aなど)
- 1-96 IO interfaces
- 1-8 Memory Interfaces
1-8 System Interfaces
Cortex-A CPU
- DMC-6200/DDR4-3200
- PCIe 4
- NIC-450
- CCIX
下図は、Arm CoreLink CMN-600 Coherent Mesh Network Technical Reference Manual r3p2 から説明のために引用します。
下図では、
- 3-96 IO interface
になっています。
また、
- 0-2 CXS interfaces
となっています。これは上の図の Cohrent mutihip link 経由で CCIX に接続するポートが最大2個あるということを意味しています。
CXSは、AMBA CXS Protocol Specification です。PDF版のみ提供されています。
下図は、PDFの15ページ目の図です。説明のために引用します。
下図は、PDFの19ページ目の図です。説明のために引用します。上の図と対応させると、
- On-chip Interconnect = CCIX and CXL protocol layer interface
- Off-chip Transport Logic = PCIe data link and PHY layers
になります。
下記の図は、上記のページから説明のために引用します。
自動車用の安全性を向上したもの。
- Integrated RAM with ECC, CRC protection on transport, transaction error detection and memory protection unit. Fault Management Unit built in.
下図は 上記のCMN-700のサイト(ここ)から説明のために引用します。
CNM-700は、
- Up to 12x12 mesh size with single and dual data paths
- 0-128 coherent cluster of CPUs or accelertors per die, 512 total
- 0-128 system cache instances for 0-512MB shared cache per mesh
- 1-40 I/O nodes supporting up to 120 AXI5/ACE5-lite interfaces
- 1-32 I/O nodes supporting ACE-lite ports, optimized for PCIe peer to peer
- 0 - 40 single or dual channel memory controllers
- Distributed snoop filter with perfect match up to 128 cores or DSUs
Up to 32 CCIX or CXL gateways for SMP links, memory, or accelerators
Neoverse CPU
- DDR5/HBM3
- PCIe 5
- NIC-700
- Chip-to-chip gateway
CMN-600 と CMN-700 の違いは、CMN-600 は Cortex-Aシリーズ用、CMN-700 は Neoverseシリーズ 用という感じのようです。また、CMN-700は multi die を前提にしているようです。
下図は、Arm Neoverse CMN-700 Coherent Mesh Network Technical Reference Manual (PDF版) の Page.265から説明のために引用します。
CXL へのアクセスは、CMN-700 の中の CCG(CXL Gateway) 経由で CXL IP に接続するようです。
chip 間は、CML SMP経由で接続しています。
おわりに
このブログでも何度も取り上げたCCN-50Xというのもあったのですが、今は使われていないようですね。
下記のCoreLinkキャッシュ・コヒーレント・ネットワーク・ファミリの部分をクリックすると、「404 - NOT FOUND」となります。
スマホは、CCI-500 なんですかね。とは言え、System Level Cache なるものがあるので、無くなった CCN-50X の方だと思うのですが、どうなんでしょうか?
ちょっと調べてみたら、
という論文を見つけました。この論文の中に下図がありましたので、説明のために引用します。
CCN-5xxでは、内部にSystem Level Cache (L3 Cache) があったのですが、Dynamic Shared Unit が登場し、この中に System Level Cache が入ったので、CCN-5xx は必要無くなったということですかね。
DynamIQ を発表したのは、2017年3月21日
CCN-504 は、2012年10月10日
- ARM On-Chip内部接続技術となる“CoreLink CCN-504”を発表
CCN-5xx => DynamIQ => CCI-500 の順なので、CCN-5xxは必要無くなり、arm のサイトからも削除されちゃったんですね。
納得しました。
関連ブログ