AMD Zen 2处理器架构为何要如此设计?
AMD在E3 2019前夕的Next Horizon Gaming大会上正式发布了Ryzen 3000系列第三代锐龙桌面处理器,新的处理器拥有最高16核心32线程的规格,CPU架构也从现在的Zen+升级为Zen 2,性能上会有明显的提升,按照AMD提供的数据显示,第三代锐龙桌面处理器的游戏性能已经追平甚至超过同价位下英特尔的第九代酷睿处理器,在创作性能方面则是全面碾压对方,在加上主板平台支持PCI-E 4.0的优势,从各种意义上说已经展现出足够的优势来超越对手。
不过当我们仔细去看第三代锐龙桌面处理器时,我们发现了一个很有趣的事情,那就是CPU的内部不是一个封装在一起的大核心,而是被分为了CPU核心以及I/O核心两个部分,其中CPU核心采用的是7nm工艺打造,而I/O核心则采用12nm工艺打造,内存控制器也不再整合于CPU核心中,而是被拿出来放到了I/O核心中,通过Data Fabric总线与CPU核心进行数据交换。
实际上不仅仅是内存控制器与CPU进行数据交换时要用到I/O核心上的Data Fabric总线,由于提供PCI-E 4.0通道的PCI-E控制器也整合在I/O核心中,因此CPU、内存与GPU直接的数据交换都会通过Data Fabric总线进行。看到这里大家是不是觉得这样的结构有点眼熟呢?是的,此时处理器的I/O核心实际上就相当于很久之前主板上的北桥芯片,是整个平台的数据交换中心,因此我们甚至可以说,第三代锐龙桌面处理器对应的整个平台,似乎又回到了很久之前的“CPU+北桥+南桥”结构。
那么为什么AMD要在自家最新款的桌面处理器中使用这种看起来已经落后的结构呢?这点我们不妨从内存控制器的发展进程看起,来看看内存控制器放在不同的位置会有些什么优点和缺点,这样或许我们可以更好地理解AMD为什么要在第三代锐龙桌面处理器中,把内存处理器放到I/O核心中。
传统的南北桥主板芯片组时代
在AMD的K8架构处理器、英特尔的第一代酷睿处理器登场之前,他们两家的CPU平台都是最传统的“CPU+北桥+南桥”结构。此时的CPU就是纯粹的CPU,除了运算指令外并不具备其他功能。北桥芯片则是整个主板的数据交换中枢,整合有内存控制器以及AGP/PCI-E控制器等重要的控制功能,CPU、GPU与内存之间的数据交换都要通过北桥芯片进行;南桥芯片则用于扩展外围I/O接口,例如SATA和USB接口等。
经典的英特尔3系列南北桥主板芯片搭配
在这个时代,主板能支持什么样的内存和显卡,都是由北桥芯片决定的,南桥芯片则决定主板可以提供多少外围I/O接口。因此当时不少主板都是以其北桥芯片来划分市场的,产品型号命名上也会想法嵌入北桥芯片的名字,以此来强调自己产品的定位。这样的架构同时也赋予了平台极高的灵活性,通过不同的北桥和南桥芯片的搭配,厂商可以进一步细分产品线,同时旧款的CPU也可以通过用在新主板上的方式来获得新的功能,例如英特尔Pentium E5200处理器在搭配P965主板使用时可支持DDR2内存,搭配P45主板使用的话就可以使用DDR3内存了。
但是这种结构有个缺点,那就是北桥芯片的负荷实在太重了,由于整个平台的数据交换都需要经过北桥芯片,因此北桥芯片的数据带宽必须要非常充足才能满足整个平台的使用需求。而随着各种应用对CPU、内存与显卡性能的需求越来越高,三者之间的数据交换速率也越来越快,这种传统架构开始不堪重负,特别是CPU与内存之间的数据交换,北桥芯片与CPU之间的总线带宽越来越难以满足需求,在一定程度上也制约了CPU性能的发挥,这时候就需要一种新的结构来满足整个平台的性能需求了。
CPU核心整合内存控制器时代
从时间点来看,AMD要比英特尔更早地在桌面CPU中整合内存控制器,早在K8架构处理器时代他们就已经这么做了,而那个时候英特尔的平台还处于传统的南北桥结构阶段,AMD也因此实现了技术层面上的逆袭。内存控制器整合到CPU内部带来的最大好处,就是CPU与内存之间的数据访问延迟得到了大幅度的缩短,两者的运行几乎达到了同步的水平,使得CPU核心的性能可以得到完全的发挥。
AMD的推土机架构,其CPU内部整合了内存控制器,但没有整合PCI-E控制器
同时由于北桥芯片剥离了内存控制器,其负荷可以说是大大降低了,因此自身的体积、功耗和发热量都得到了缩减。但由于本身还需要承担PCI-E控制器的功能,因此这个时候北桥芯片仍然是区分主板级别的重要判定标准,但至少主板能支持什么样的内存,已经不再需要由北桥芯片来决定,不同等级的主板之间的差别在一定程度上是减少了。
英特尔X58平台上的Core i7-9xx系列只整合了内存控制器
英特尔直到第一代酷睿处理器才在CPU中整合了内存控制器,同时也是那个时候开始酷睿处理器有了我们熟悉的i3/i5/i7等级划分。不过与AMD在整合内存控制器后仍然维持南北桥主板芯片组的做法不同,第一代酷睿处理器除了X58平台的Core i7-9xx系列外,其余产品都只需要搭配一个主板芯片即可,因为英特尔不仅在CPU中整合了内存控制器,就连PCI-E控制器都已经整合到了CPU当中(Core i7-9XX系列并无整合PCI-E控制器),所以这个时候的CPU就像是“CPU+北桥”的结合体,不过由于原本北桥芯片的部分功能仍然需要主板芯片来实现,因此这个时候主板芯片的作用就不仅仅是南桥了,而是要比传统的南桥芯片承担更多的工作。
Clarkdale核心处理器结构
不过第一代酷睿处理器的“整合”也并非是将所有组成都放在一个核心中,实际上基于32nm工艺和Clarkdale核心打造的第一代酷睿处理器实际上还是会分为CPU+GPU两个独立的核心,CPU核心提供的仍然是纯粹的运算功能,而内存控制器和PCI-E控制器都位于GPU核心中,但毕竟两者之间的距离被大大缩短,内部走线也可以得到最佳的优化,所以从综合性能仍然有着很明显的增长。
反观AMD,虽然他们从K8架构就在CPU内部整合了内存控制器,但是一直到推土机、打桩机架构CPU,其仍然没有将PCI-E控制器整合到CPU中,因此从整个主板的结构来看也仍然是传统的“CPU+北桥+南桥”设计,这对于主板的生产制造就产生了一定的难度,也不利于整机综合性能的进一步提升。
全面整合内存控制器与PCI-E控制器的时代
英特尔在经历了第一代酷睿处理器的“CPU+北桥”简单整合后,从第二代酷睿处理器开始就全面将内存控制器、PCI-E控制器与核芯显卡都整合到了一个核心当中,当然为了让不同主板芯片的档次得到区分,有部分平台部分功能仍然需要搭配相应主板芯片才能实现,例如只有P系列与Z系列的主板才能支持K系列处理器超频,而P系列主板不支持核显输出等等。
第一代锐龙桌面处理器中,内存控制器与CPU核心是封装在一起的
而AMD虽然要到第一代锐龙处理器才将北桥芯片的主要功能整合到CPU当中,不过他们家的APU倒是更早地就实现了相应的技术,在AMD的第一代桌面APU上我们就可以看到其拥有完整的“CPU+GPU+北桥”功能,而且三者是封装到一个核心当中,有着很高的整合度,相应的主板平台也因此从“芯片组”变为了“芯片”。从这里我们也可以看出,AMD并非在技术上无法将北桥芯片整合到CPU当中,而是出于各种各样的原因和需求,要到第一代锐龙处理器的时候才全面引入这样的设计而已。
AMD:Zen 2架构是平衡度最佳的设计
现在我们把目光返回到第三代锐龙桌面处理器的身上,从其目前的结构来说,其实它是用回了类似于英特尔第一代酷睿处理器的结构,就是CPU核心与I/O核心(相当于传统意义上的北桥核心)分别封装,然后整合到一个PCB上。从理论上来说,这样的结构并不利于CPU核心与内存控制器之间的数据交换,即便在是同一块PCB上,其内存延迟相比整合到CPU核心内部是要更高一些的。而且我们也可以看到,如果是对应8核以上产品,那么两个CCD之间想要交换数据,那么也得通过I/O核心上的Data Fabric总线进行,这也不是一个有利于提升CPU性能的设计。从这些方面来看,我们甚至可以说第三代锐龙处理器反而有点像是走了回头路。
大缓存设计很大程度上可以解决内存延迟问题
那么AMD为什么会采用这种“回头路”设计呢?对比AMD表示所有的设计其实都在他们的考虑当中,实际上你不能单独这些设计的任何一个单独的部分都剥离出去看,你要从整个CPU的设计来进行看待,不可否认这样的设计并不是CCD模块相互之间交换数据的最佳设计,也不是CPU核心与内存控制器通讯的最佳方式,但是在综合考量多方面的表现后,这种设计是平衡度最佳的,首先凭借CPU内部的大缓存设计以及Zen 2架构种的指令预测机制,这些问题其实很大程度上已经得到了解决,最终的CPU性能表现可以说明一切。
不同数量的CCD模块与I/O核心搭配可以衍生出不同的级别的CPU产品
其次这是一种灵活度很高的结构,通过不同数量的CCD核心与I/O核心搭配,是可以轻松衍生出各种不同级别的产品,例如8核心16线程的处理器,就只需要搭配1个CCD模块即可,或者也可以将其中一个CCD模块换成GPU,那么就可以衍生出对应的APU产品了。而且这种模块化的设计在更换或去掉其中一个模块后,并不会影响其它模块的运作和性能表现,这让CPU或者APU的设计可以变得更为简单。
退一步讲,目前7nm工艺对于AMD来说仍然是一种新工艺,产能与成熟度都处于爬升阶段,在这个时期就应该把产能分配最优化,把最重要的组成部分放在7nm工艺上,剩下的部分使用更为成熟的12nm工艺,这样也有利于提升产品的良品率,进而提升有效产能,让玩家可以在第一时间感受到新架构处理器的威力。
那么未来Zen 2架构会不会有整合度更高的产品呢?AMD方面并未进行透露,但可能性还是很大的,例如当7nm工艺足够成熟,产能非常充足的时候,Zen 2架构的CPU和APU很有可能会回归到全整合型设计。如果真的有那个时候,Zen 2架构是否还会迸发出更高的性能呢?大家不妨拭目以待。