Hotdry.

Article

Nvidia GB10内存子系统CPU侧架构:双集群不对称设计与带宽优化策略

深入分析Nvidia GB10 GPU内存子系统从CPU视角的架构设计,探讨双集群不对称缓存配置、CPU-GPU协同访问模式及带宽竞争优化策略。

2025-12-31systems-engineering

在集成 GPU 设计领域,Nvidia GB10 代表了 CPU-GPU 协同架构的重要演进。这款由 Nvidia 与 MediaTek 合作开发的 SoC,不仅集成了 48 个 Blackwell SM 的 GPU 核心,更在 CPU 侧内存子系统设计上展现了独特的工程权衡。本文将从 CPU 视角深入剖析 GB10 内存子系统的架构设计、带宽优化策略以及 CPU-GPU 协同访问模式的工程实现。

双集群 CPU 架构:不对称缓存与带宽配置

GB10 的 CPU 侧采用高度异构的双集群设计,每个集群包含 5 个 Cortex X925 高性能核心和 5 个 Cortex A725 密度优化核心。这种配置在内存子系统层面产生了显著的不对称性:

缓存层级的不对称:Cluster 0 仅配备 8MB L3 缓存,而 Cluster 1 拥有 16MB L3 缓存。这种设计反映了 Nvidia 与 MediaTek 在面积与性能之间的权衡。正如 Chips and Cheese 的分析指出:"缓存是现代芯片中最大的面积消耗者之一,将 L3 容量削减到 8MB 几乎肯定是为了节省面积。"

外部带宽的不对称:测试数据显示,Cluster 1 的外部读取带宽超过 100GB/s,而 Cluster 0 的带宽配置相对保守。这种差异可能源于 Arm DSU-120(DynamIQ Shared Unit 120)的配置灵活性,该单元最多可支持 4 个 256 位 CHI 接口。推测 Cluster 1 可能配置了更多的 CHI 接口,以实现更高的外部带宽。

核心级缓存配置:X925 核心配备 2MB L2 缓存,L3 延迟约 14ns(56 周期),而 A725 核心仅配备 512KB L2 缓存,L3 延迟超过 21ns(>60 周期)。这种差异反映了不同核心类型的定位:X925 专注于单线程性能,而 A725 则优化密度和能效。

内存子系统架构:CHI 接口与一致性管理

GB10 的内存子系统架构围绕 Arm 的 CHI(Coherent Hub Interface)协议构建,实现了高效的一致性管理:

DSU-120 的核心作用:每个 CPU 集群基于 Arm DSU-120 构建,该单元包含 Snoop Control Unit(SCU),通过窥探过滤器协调核心间的缓存一致性传输。DSU-120 最多可支持 4 个 256 位 CHI 接口,为集群间和 CPU-GPU 间通信提供高带宽通道。

系统级缓存(SLC)的设计:16MB 的 SLC 位于 L3 缓存之后,作为 CPU 的 L4 缓存,同时充当 CPU-GPU 数据共享的缓冲区。Nvidia 官方文档指出,SLC"支持引擎之间的高效数据共享",其关键功能是允许 CPU 和 GPU 交换数据而无需往返 DRAM。

高带宽低延迟的 DRAM 设计:GB10 采用 256 位 LPDDR5X 接口,带宽达到 273-300GB/s。最引人注目的是其 DRAM 延迟仅 113ns,这在 LPDDR5X 实现中表现优异。这种低延迟得益于 9400 MT/s 的高速内存总线,以及 CPU 核心与内存控制器位于同一芯片上的设计。

CPU-GPU 协同访问模式与带宽竞争

在集成 GPU 架构中,CPU 和 GPU 共享同一内存子系统,这带来了独特的带宽竞争挑战:

带宽分配的不对称性:256 位 LPDDR5X 总线主要服务于 GPU 的高带宽需求。CPU 工作负载通常对延迟更敏感,而对带宽需求较低。测试数据显示,单个 X925 核心的 DRAM 带宽为 38GB/s,A725 核心为 26GB/s,远低于 GPU 可达到的 231GB/s 峰值带宽。

GPU 带宽对 CPU 性能的挤压效应:当 GPU 以高带宽运行时,CPU 侧的延迟显著增加。测试表明,GPU 以 231GB/s 带宽运行时,CPU 侧延迟从 113ns 基准值上升至 351ns。更极端的情况下,当 GPU 和高性能 X925 核心同时高负载运行时,延迟可达近 400ns。

带宽控制机制的局限性:GB10 的带宽控制机制在面对 X925 核心的高带宽需求时表现出局限性。测试显示,当 X925 核心请求最大带宽时,系统似乎无法有效平衡资源分配,导致延迟增加而带宽反而下降。相比之下,A725 核心的加入有助于系统更好地平衡带宽需求。

工程优化策略与监控要点

基于 GB10 内存子系统的架构特点,提出以下工程优化策略:

1. 工作负载调度优化

  • 集群感知调度:操作系统调度器应识别 Cluster 1(16MB L3 + 高带宽)和 Cluster 0(8MB L3)的性能差异,将延迟敏感型工作负载优先调度到 Cluster 1。
  • 核心类型感知:将计算密集型任务分配给 X925 核心,而将后台任务和轻量级工作负载分配给 A725 核心。
  • 跨集群通信最小化:由于集群间缓存一致性延迟高达 240ns,应尽量减少跨集群的数据共享,将相关线程绑定到同一集群。

2. 内存访问模式优化

  • 缓存友好型算法:针对 A725 核心的 512KB L2 缓存和较高 L3 延迟,优化算法以减少缓存未命中。
  • 预取策略调整:根据核心类型调整预取策略,X925 核心可更激进地预取,而 A725 核心应采用更保守的策略。
  • 数据局部性优化:利用 SLC 作为 CPU-GPU 共享缓冲区,优化数据布局以减少 DRAM 访问。

3. 带宽监控与管理

  • 实时带宽监控:实现 CPU 和 GPU 带宽使用情况的实时监控,当 GPU 带宽超过阈值(如 150GB/s)时,动态调整 CPU 工作负载。
  • 延迟敏感型工作负载保护:为延迟敏感型应用设置带宽预留,确保在 GPU 高负载时仍能获得可接受的性能。
  • 带宽限制机制:在驱动层面实现可配置的带宽限制,防止单个核心或应用独占内存子系统资源。

4. 系统级优化参数

基于测试数据,建议以下关键参数阈值:

  • CPU 延迟警戒线:当平均 DRAM 访问延迟超过 200ns 时,应触发带宽调整机制
  • GPU 带宽阈值:设置 GPU 带宽使用上限为 200GB/s,为 CPU 保留至少 70-80GB/s 带宽
  • 缓存未命中率监控:监控 L3 缓存未命中率,当超过 15% 时考虑工作负载重新调度
  • 跨集群访问比例:监控跨集群缓存一致性流量,当比例超过 20% 时优化数据布局

架构演进建议

从 GB10 的设计中,我们可以看出几个可能的演进方向:

更极端的集群专业化:当前的双集群设计仍保持相同的核心配置(5X925+5A725)。未来设计可考虑将 10 个 A725 核心集中到 Cluster 0 实现密度优化,将 10 个 X925 核心集中到 Cluster 1 实现性能优化,简化调度并提高能效。

改进的一致性机制:当前集群间缓存一致性延迟高达 240ns,远高于 AMD Strix Halo 的约 100ns。未来可通过优化互连架构和一致性协议降低这一延迟。

更智能的带宽仲裁:当前的带宽控制机制在面对 X925 核心高需求时表现不佳。未来可引入更精细的 QoS 机制,基于工作负载类型动态调整带宽分配。

增强的系统级缓存:16MB SLC 在 CPU-GPU 数据共享中发挥重要作用,但容量相对有限。未来可考虑增大 SLC 容量或引入多级共享缓存架构。

结论

Nvidia GB10 的内存子系统设计展现了集成 GPU 架构中 CPU 侧设计的复杂权衡。双集群不对称配置、CHI 接口的灵活运用、以及 CPU-GPU 带宽竞争的精细管理,都体现了现代 SoC 设计的工程智慧。

对于系统工程师而言,理解这些架构特性至关重要。通过集群感知调度、内存访问模式优化、以及实时带宽监控,可以在 GB10 平台上实现最佳的性能平衡。同时,GB10 的设计也为未来集成 GPU 架构提供了宝贵的参考:在追求高性能的同时,必须精心管理 CPU-GPU 的资源竞争,确保整个系统的协同效率。

随着集成 GPU 在 AI 推理、内容创作和游戏等领域的应用日益广泛,GB10 这样的设计代表了硬件架构的重要发展方向。通过不断优化内存子系统设计,我们有望在未来看到更高效、更平衡的 CPU-GPU 协同计算平台。


资料来源

  1. Chips and Cheese: Inside Nvidia GB10's Memory Subsystem, from the CPU Side (2025-12-31)
  2. TechInsights: NVIDIA GB10 Superchip Advanced Packaging Analysis (2025-12-05)

systems-engineering