Infinity Fabric 是一种高带宽、低延迟的互连架构,用于在单个芯片和芯片之间、以及芯片内部不同组件之间传输数据. 它由两部分组成: Infinity Scalable Data Fabric(SDF) 和 Infinity Scalable Control Fabric(SCF). SDF 是系统中数据在各端点(例如 NUMA 节点、PHYs)之间流动的主要方式. SDF 可能有数十个连接点将 PCIe PHYs、内存控制器、USB 集线器以及各种计算和执行单元连接在一起. SDF 是先前 HyperTransport 的超集. SCF 是一个补充平面,负责传输许多杂项系统控制信号——这包括诸如热管理和电源管理、测试、安全以及第三方 IP 等内容. 通过这两个平面,AMD 能够有效地扩展许多基本的计算模块.
Infinity Scalable Data Fabric(SDF) 是 Infinity Fabric 的数据通信平面. 所有来自核心的数据以及发送到其他外设(例如内存控制器和 I/O 集线器) 的数据都通过 SDF 路由. 一项关键特性是,这种一致性数据结构不局限于单个芯片,而且可以在多个芯片上的 MCP 以及通过 PCIe 链路的多个插座之间扩展(甚至可能跨独立系统,尽管这是推测). 此外连接在结构上的节点的拓扑没有限制,通信可以直接从节点到节点、在总线拓扑中进行岛屿跳跃,或作为网状拓扑系统. 在基于 Zeppelin SoC 和 Zen 核心的 AMD 处理器中,SDF 的框图如上图所示。 两个 CCX 直接通过 Cache-Coherent Master(CCM) 连接到 SDF 平面,CCM 提供核心之间一致数据传输的机制. 还有一个 I/O Master/Slave(IOMS) 接口用于 I/O 集线器通信. 集线器包括两个 PCIe 控制器、一个 SATA 控制器、USB 控制器、以太网控制器和南桥. 从操作角度看,IOMS 和 CCM 实际上是能够进行 DRAM 请求的唯一接口.
- DRAM 通过 DDR4 接口连接到统一内存控制器(UMC). 每个 DDR 通道有两个统一内存控制器(UMC), 也直接连接到 SDF. 值得注意的是,所有 SDF 组件都以 DRAM 的 MEMCLK 频率运行. 例如使用 DDR4-2133 的系统将整个 SDF 平面运行在 1066 MHz, 这是 AMD 为了消除时钟域延迟而做出的基本设计选择.
- 连接 SDF 和各种 SerDes 的工作机制是 CAKE. Coherent AMD socKet Extender(CAKE) 模块每个周期将本地 SDF 请求编码为 128 位序列化数据包,并通过任何 SerDes 接口发送. 响应也由 CAKE 解码回 SDF. 与连接到 SDF 的所有其他设备一样,CAKE 在 DRAM 的 MEMCLK 频率下运行, 以消除时钟域交叉延迟.
- Infinity Scalable Data Fabric(SDF) 使用两种不同类型的 SerDes 链路: Infinity Fabric On-Package(IFOP) 和 Infinity Fabric InterSocket(IFIS).
- Infinity Fabric On-Package(IFOP) SerDes 处理同一封装内的芯片间通信. AMD 设计了一种相当简单的定制 SerDes,适用于短距离封装内走线长度,可以实现约 2pJ/b 的功率效率. 这是通过使用 32 位低摆幅单端数据传输和差分时钟实现的,消耗的功率约为等效差分驱动的一半. 他们利用从 TX/RX 阻抗终端到地的零功率驱动状态,驱动上拉被禁用时. 这允许传输零比传输一消耗更少的功率,当链路空闲时也利用了这一点。此外,还使用了反转编码以每比特节省另外 10% 的平均功率. 由于封装内链路的性能敏感性,与 DDR4 通道带宽相比,IFOP 链路的过度配置约为两倍,用于混合读/写流量. 他们是双向链路,每个周期的数据传输都伴随着 CRC. IFOP SerDes 每个 CAKE 时钟进行四次传输.
由于 CAKE 以与 DRAM 的 MEMCLK 频率相同的频率运行,带宽完全依赖于此. 对于使用 DDR4-2666 DIMM 的系统,这意味着 CAKE 将以 1333.33 MHz 运行,这意味着 IFOP 将具有双向带宽 42.667 GB/s(=16B per clock per direction).
- IFIS Infinity Fabric InterSocket(IFIS) SerDes 是第二种类型,用于 package-to-package 的通信,例如在两路多处理中. IFIS 设计为可以与其他协议(如 PCIe 和 SATA)复用.
它们在 TX/RX 16 差分数据线上大约以 11pJ/b 的速度运行. 这些链路也与标准 PCIe 通道的封装引脚对齐. 因为它们是 16 位宽,所以每个 CAKE 时钟运行 8 次传输. 与 IFOP 相比,IFIS 链路的带宽为 8/9.
Infinity Scalable Control Fabric(SCF) 是 Infinity Fabric 的控制通信平面. SCF 将系统管理单元(SMU) 连接到所有各种组件. SCF 拥有自己的专用 IFIS SerDes, 允许系统内多个芯片的 SCF 相互通信. 在多路多处理配置中,SCF 还扩展到第二个插槽上的芯片. AMD 使用 Infinity Fabric 技术的系列包括:
- Ryzen 系列: 从最初的 Ryzen 1000 系列开始,到目前最新的 Ryzen 5000 系列,都采用了 Infinity Fabric 来连接处理器内的不同组件,例如核心复合单元(CCX)与输入/输出子系统.
- EPYC 服务器处理器: 从第一代 EPYC “Naples” 到最新的 EPYC “Milan” 和即将推出的 “Genoa”,这些服务器级处理器使用 Infinity Fabric 连接多个芯片,以实现高效的数据传输和低延迟.
- Radeon GPU: 部分高端 Radeon GPU,如 Radeon VII 和某些 RDNA 架构的 GPU,也利用 Infinity Fabric 技术提高芯片内的通信效率
- Threadripper 系列: AMD 的高端桌面平台 Threadripper 也采用了 Infinity Fabric,以连接多个芯片以实现更高的核心数和更好的性能