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个端口。
▲EPYC 9004的4CCD连接模式,每个CCD采用2个GMI总线连接IO芯片。
在宽连接模式中,每个CCD的2个GMI3端口将被激活,并和IO芯片上的GMI3端口进行连接。以4个CCD为例,每个CCD的第一个GMI3端口将先和GMI0~GMI3端口连接,然后第二个GMI3端口会和GMI8~GMI11端口连接,GMI7、GMI5、GMI4和GMI6端口将被闲置。