AMD|强大无须多言——第四代AMD EPYC处理器先进技术指南( 四 )



▲EPYC 9004的内存性能情况
在内存容量方面 , 所有EPYC 9004系列处理器都支持高达6TB容量 。 不过目前AMD只给出了1DPC(DIMM Per Channel) , 也就是12个内存通道、12条内存插槽下的配置情况 , 内存最高支持12通道的DDR5 4800 。 至于2DPC配置 , AMD宣称会在2023年第一季度再公布详细信息 。 不过考虑到EPYC 9004不小的面积 , 12通道DDR5内存插槽所占的体积以及接近400W的CPU供电所需要的PCB面积 , 未来出现24通道、48插槽的2DPC主板的可能性较低 , 并且6TB内存对大多数应用场景来说已经足够了 。

▲EPYC 9004设计有内存分区管理
最后再来看看内存分区 。 由于EPYC 9004系列处理器的规模很大 , 因此AMD也提供了NUMA域的管理和设置 , 使得用户可以在某些情况下对内存和核心进行调配 。 它包括了NPS1、NPS2和NPS4三种分区方式:NPS1就是整个处理器;NPS2是将处理器分为2个部分 , 每个部分有6个内存通道和6个GMI3接口;NPS4则是将处理器分为4个部分 。
IO芯片和总线连接系统:采用最新的GMI3连接
AMD在EPYC 9004上继续采用大获成功的Chiplet方案 。 整个处理器除了CCD之外 , 还有一个IO芯片 。 EPYC 9004的CCD由台积电5nm工艺制造 , 这也是首个使用5nm工艺的企业级CPU产品 。 IO芯片也采用了台积电6nm工艺制造 。

▲EPYC 9004架构简图和特性一览
因为EPYC系列一直采用Chiplet方案 , 因此在CCD和IO芯片之间需要通信协议予以连接 。 上一代EPYC处理器采用的是GMI2总线 , 其IO芯片内部有8个GMI2总线端口 , 因此总共能支持8个CCD单元连接 , 每个CCD拥有2个GMI总线接口 , 可以根据需要进行配置 。

▲EPYC 9004的Chiplet连接图一览
EPYC 9004升级为GMI3总线 。 其中Zen 4架构的8个CCD和12个CCD采用的是每个CCD与1个GMI3总线互联 , 4个CCD架构中每个CCD通过2个GMI3总线进行互联 , 从而实现更高的互联带宽 。 对于核心数量较少的型号 , 这样的设计能够为CCD数量较少时 , 带来更大的互联带宽 。 IO芯片的GMI3总线端口数量升级到12个 , 因此可以最多连接12个CCD 。
带宽和功耗方面 , 每个GMI3总线每周期可以实现32Bit的数据读取和16Bit的数据写入 , 能耗为2pj/bit 。 带宽方面最高可达36Gbps , 和FCLK的频率比值是20∶1 , 最高可达1.8GHz 。 AMD宣称 , GMI3的吞吐能力最高可达GMI2的2倍 。
值得一提的是 , IO芯片上的GMI3端口排序是经过设计的 。 它的端口序号排列如下:

显然 , GMI3的端口并不是按照常规的从小到大或者从大到小排列的 。 AMD这样做的原因 , 是考虑到CCD和IO芯片的距离和延迟 。 以96核的EPYC 9654为例 , 每个CCD有8个处理器核心 , 12个CCD分布在IO芯片两侧 , 每侧各6个CCD 。 考虑到几何和空间形状 , 将优先使用IO芯片周围的某几个端口 。 比如有8个CCD , 将使用GMI0~GMI7这几个端口 , 位于中间和最远端的GMI8、GMI9、GMI10和GMI11反而会空余 。 AMD还提到 , 靠近IO芯片的CCD位置将被优先使用 , 这意味着如果是8个CCD , 那么最远4个位置上的CCD要么彻底被屏蔽 , 要么干脆就是占位用的晶体块 。
AMD还特别对连接模式进行了说明 。 GMI3有两种连接模式 , 一种被称为窄连接模式 , 主要用在大于4个CCD也就是32核心以上的处理器上;另一种被称为宽连接模式 , 它是新加入的 , 主要用在小于等于4个CCD , 也就是32核心以下的产品 。

▲EPYC 9004的8CCD连接模式 , 注意GMI11和GMI9等端口的空闲 。
在窄连接模式中 , 如果8个CCD连接到IO芯片上 , 就像上文提到的那样 , 将使用GMI0~GMI7进行连接 。 此时每个CCD的1个GMI3端口将被激活 , 并与IO芯片相应的GMI3端口进行连接 , 空余剩下的4个端口 。