借助AlderLake,英特尔首次在从9-15WU15到W台式机“S”系列的整个产品堆栈中转向混合内核架构。
AlderLake将结合两种不同的核心架构,即GoldenCove和Gracemont(均为10nmESF)以获得更灵活的性能和电源效率方法。虽然这看起来像是使处理器更节能的简单修复,但实际情况更为复杂。
操作系统调度程序应该能够巧妙地区分两者并决定哪些工作负载最适合每个核心集群。此外,这两种架构支持的ISA并不相同。“小”Atom内核不支持“大”内核支持的所有指令,最显着的是AVX2和带有Tremont的FMA。因此,当利用这些指令的应用程序在Tremont上运行时,它们会比在Skylake上慢很多。
在这篇文章中,我想看看即将推出的Gracemont内核的前身(将是AlderLake中的低功耗内核),并将其与Skylake进行比较,后者基本上已成为“事实上的”架构(不是从字面上看,请注意)在过去的4-5年中。
如果GC能够提供与Skylake相当或优于它的性能,那么很难将其视为低功耗的替代方案。相反,即使在GoldenCove内核空闲时,这些内核在大多数工作负载中的性能也应该类似于旧的-Lake处理器。我们将查看两个核心架构的ISA、前端、后端和频率,并了解Atom架构这些年来是如何成熟的。
IntelBigCorevsSmallCore:TremontvsSkylake,前端和后端
虽然将Gracemont(尚未发布的架构)与5年前的设计进行比较并不完全公平,但值得注意的是,目前,75%或更多的Blue用户群仍在使用某种形式的天湖。由于我们仍然没有Gracemont的框图,我们将使用Tremont作为参考,并在这里和那里进行一些推测。从分支预测器开始,Tremont有一个核心级预测器,其性能与Skylake非常相似,但对预测表大小有所妥协。就BP而言,Gracemont甚至应该比Skylake更接近。后者使用14nm节点,而前者基于较新的10nm工艺,这一事实应该提供所需的芯片面积。
Tremont有一个非常有趣的指令解码器。它具有两个3-wide解码器,每个解码器都由来自L1I缓存的单独的(16Bx2)指令流馈送。与Skylake(和SunnyCove)不同,Tremont没有单独的预解码阶段(或宏融合?)。虽然这并不重要,但缺少op-cache应该会产生显着的差异。Skylake有四个1:1解码器和一个1:4复杂解码器,此外还有一个微操作缓存,每个周期最多可提供6个微操作。Tremont本质上只有一个三宽解码器。
双解码器的主要优点是两者是分开馈送的,因此在处理两个不同的分支预测时可以同时进行它们。但是,当没有分支时,其中一个解码器会关闭以节省电量。虽然英特尔的白皮书另有说明,但缺少微操作缓存应该会对前端的功能产生显着影响。总体而言,Tremont(因此,Gracemont)有一个构建良好的前端,能够在大多数情况下保持后端充足。
我们可能会在Gracemont上看到一个,因为与Skylake相比,SunnyCove的容量提高了50%。即使使用Ivy和Sandybridge等较旧的架构,操作缓存也将吞吐量提高了20-25%。这只会随着几代人的增加而增加,并且Tremont或Gracemont在没有它们的情况下表现不佳的可能性很小。AMD使用标准x86解码器,每个周期能够解码四个宏指令,微操作缓存提供多达8个缓存指令,使其比标准解码管道更有效。正是因为这个原因,大多数现代处理器的u-op缓存在大多数情况下具有超过75%的高命中率..
Skylake的另一个优点是它可以将多个类似的微操作融合为一条指令,然后可以一次性处理。Tremont似乎缺乏这一点,而且我们不太可能看到它被修补到Gracemont中。
后端最值得注意的部分包括重新排序缓冲区、执行单元和寄存器文件。Tremont有一个相当大的ROB,能够容纳条指令,而Skylake上有条指令,SunnyCove上有条指令。英特尔大核和小核的主要区别在于微操作等待执行或用于寄存器重命名的保留站(指令调度程序)。虽然Skylake和SunnyCove有一个(大型)RS包含多达97个条目,但Tremont(最有可能是GM)为每个端口都有单独的站点。两个向量EU具有共享预留,另外一对地址生成单元(AGU)也用于两个16字节存储/加载或每个存储/加载。
Skylake可以在每个周期执行两次加载和一次存储,同时有四个端口专用于它们。此外,虽然Tremont具有用于整数和浮点执行的单独端口,但Skylake和SunnyCove为两者共享公共端口。另一个区别在于ALU本身。虽然Skylake有多个位矢量单元,但Tremont仅限于b宽的EU,尽管几乎可以肯定Gracemont预计b单元支持原生AVX2和FMA。
L1和L2缓存:Tremont/GracemontvsSkylake
Tremont具有个入口的L2TLB,而SunnyCove最多可包含2,个。相比之下,Skylake最多可容纳1,个条目,而Zen3仅限于个。与SunnyCove类似,Zen2和Zen3都有一个8路32KBL1I缓存,L1分支目标缓冲区加倍至1,个条目(Zen2上的)在Zen3上,L0保持不变为16,L2BTB略宽,为6.5K(Zen2上为6K)。
Tremont的L1D缓存大小为32KB,具有8路关联性,L1I缓存也是如此。Gracemont预计将后者扩展到64KB/核,具有16路关联性。Skylake也具有与Tremont相同的L1缓存大小,但延迟更高,为4个周期。SunnyCove拥有更大的48KB12路L1D缓存,但延迟甚至更高,为5个周期。Tremont和Gracemont都应该具有相对较低的3周期延迟。
Tremont为一组四个核心(一个模块)提供高达4MB的L2缓存,每个核心可以访问大约1.5MB。这比Skylake甚至SunnyCove多一点,但更大的容量也意味着更高的延迟。
说明和频率:Tremont/GracemontvsSkylake
最后,还有跨两种不同体系结构支持的指令的问题。虽然Tremont在本机级别上缺乏对AVX2或FMA的支持,但Gracemont有望同时支持这两者,在常用的ISA方面或多或少与Skylake持平。Monts上仍然缺少一些说明,例如AVX、SGX和AMX,但这对普通用户应该没什么影响。
归根结底,与Skylake相比,最终会阻碍Gracemont内核的是工作频率。虽然较新的Skylake设计通过达到5GHz+的升压时钟和接近5GHz的全核频率仍然具有相关性,但前者预计将保持在3.5GHz以下。这意味着尽管在架构上接近平等,但两者之间应该存在显着的差异。Tremont的基本时钟为1.5-2GHz的事实应该进一步重申这一点。然而,这些是低功耗内核,为了保持“低功耗”,它们被设计为在这个频率范围内运行。要回答最初的问题,是的,Gracemont应该几乎与Skylake一样强大,但它可以被认为是在省电模式下运行的低功耗Skylake内核,两者之间存在显着的性能差异。
#科技日报#