近年来,在服务器和数据中心等企业级市场,AMD凭借持续更新的“Zen”架构,其EPYC(霄龙)系列处理器的市场占有率上升势头非常迅猛。2022年11月,AMD推出全新第四代EPYC处理器。新处理器将单插槽处理器核心数量提升到最多96核,并且采用了最新的“Zen 4”架构,带来大量全新特性。接下来,本文就对第四代EPYC处理器进行详细解读。
AMD在EPYC 9004上继续采用大获成功的Chiplet方案。整个处理器除了CCD之外,还有一个IO芯片。EPYC 9004的CCD由台积电5nm工艺制造,这也是首个使用5nm工艺的企业级CPU产品。IO芯片也采用了台积电6nm工艺制造。
因为EPYC系列一直采用Chiplet方案,因此在CCD和IO芯片之间需要通信协议予以连接。上一代EPYC处理器采用的是GMI2总线总线个CCD单元连接,每个CCD拥有2个GMI总线接口,能够准确的通过需要进行配置。
EPYC 9004升级为GMI3总线个CCD采用的是每个CCD与1个GMI3总线个CCD架构中每个CCD通过2个GMI3总线进行互联,从而实现更高的互联带宽。对于核心数量较少的型号,这样的设计能够为CCD数量较少时,带来更大的互联带宽。IO芯片的GMI3总线个CCD。
带宽和功耗方面,每个GMI3总线Bit的数据写入,能耗为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核心以下的产品。
在窄连接模式中,如果8个CCD连接到IO芯片上,就像上文提到的那样,将使用GMI0~GMI7进行连接。此时每个CCD的1个GMI3端口将被激活,并与IO芯片相应的GMI3端口进行连接,空余剩下的4个端口。
在宽连接模式中,每个CCD的2个GMI3端口将被激活,并和IO芯片上的GMI3端口进行连接。以4个CCD为例,每个CCD的第一个GMI3端口将先和GMI0~GMI3端口连接,然后第二个GMI3端口会和GMI8~GMI11端口连接,GMI7、GMI5、GMI4和GMI6端口将被闲置。
EPYC 9004的插槽上也被更新。新插槽被称作Socket SP5,不兼容上一代Socket SP3。不兼容的原因主要是因为EPYC 9004系列处理器的基板为了放下12个CCD和IO芯片,变得更大。更多的内存通道、供电和CPU核心,也要求有更多的触点来传输数据。
Socket SP5在安装方式上没有做出太多改变,依旧采用先让处理器模块“滑入”扣具,然后扣下并固定在主板上的方式。这种安装方式和桌面处理器需要手动将处理器放入插槽的方法完全不同,起固定作用的主要是扣具。值得注意的是,之前在Socket SP3处理器上出现过3个紧固螺丝由于紧固不到位导致接触不良,从而使得某些内存通道消失的情况。因此在Socket SP5上,AMD选择了多达6个紧固螺丝来实现主板和CPU的稳定连接,并平衡应力。相比上代产品,Socket SP5在耐久性方面更为出色。
再来看有关双CPU互联的内容。EPYC 9004系列中2P型号的处理器可以搭建双路系统,而在2个CPU的互联上,它有一些新的变化。
▲AMD依旧采用IF总线个处理器,不过EPYC 9004多了很多功能和设置。
每个EPYC 9004处理器能够对外提供128条PCIe 5.0通道。当组建2P系统时,通过IF总线使用的SerDes(串行器-解串器,AMD的SerDes支持两种类型的连接,一种类型是支持标准的GMI或者PCIe接口、Infinity Fabric总线等,另一种则是支持其他类型的接口,包括SATA、CXL等,用户可以根据自身的需求进行配置),最多有64条通道被设置为4条Infinity Fabric总线(后文简称IF总线个CPU的互联传输。也就是说,在AMD的定义中每一条IF总线实际上相当于PCIe 5.0 x16的规格。
早期的IF总线规格,带宽较低。在升级到PCIe 5.0 x16规格后,其带宽大增,所以可能有部分用户觉得3条IF总线个CPU的互联工作。AMD允许用户自行选择启用3条还是4条IF总线条的线条IF总线可以被释放为PCIe 5.0 x16通道。这样一来,两个CPU在3路IF总线连接的情况下,每个CPU最多可以空余80条PCIe 5.0通道,2个CPU就是160条。另外,IO芯片还能够对外释放12条PCIe 3.0通道。
AMD对走线也进行了更新。现在IO芯片中的总线控制器(SerDes)被分为2个,体现在CPU的物理结构上,就是背部触点两侧都可以连接总线输出。在上一代EPYC 7003上,只有一侧可以输出IF总线或PCIe总线,并往往在主板上部。此时如果要连接主板下部的设备,就要比较长的走线并增加主板设计的复杂性。在EPYC 9004上,由于有两个总线控制器且线路可以从CPU两侧走,因此更方便。AMD将CPU上部的线路称为P总线,下部称为G总线。其中P总线往往用于组成IF总线连接CPU,G总线用于连接外部设备。当然厂商也可以自由设置,比如使用“2P+2G” 的方式来连接CPU,或者其他厂商认为方便的设计亦可。