博客专栏

EEPW首页 > 博客 > 12代酷睿对比此前的CPU,异构设计到底是一场怎样的革命?

12代酷睿对比此前的CPU,异构设计到底是一场怎样的革命?

发布人:超能网时间:2021-11-17来源:工程师

说起现代处理器的设计,主要有两种常见模式,一种是优先采用多核心设计,通过多核心的方法来提高并行计算的能力,另一种就是优先高频率,通过高频率来直接的提高计算能力。然而我们知道,处理器频率的提升是越往后越困难的,这个困难并不是提升频率本身的技术方面有困难,而是提升之后产生的持续的高发热难以解决,同时在功耗方面,在频率超过一定的值以后,功耗会急剧的增加(这也是高发热量的根本原因),尽管这个功耗我们可以提供,但是显然并不值得。

1.jpg

当然,“优先高频率”的模式也有曲线救国的方法,比如通过改进架构设计、采用更先进的制程技术等等,这样就是可以在同样时钟频率的情况下实现更高的计算性能,但是无论如何这些方法都比“优先采用多核心设计”的模式要复杂和困难很多,于是“优先采用多核心设计”的模式不可避免的成为简单、取巧的解决方案。

异构设计实现全应用场景下的体验提升

然而,对于中央处理器CPU来说,“优先采用多核心设计”的模式在根本上是有问题的,与进行图像渲染的图形处理器GPU不同,CPU并不是用来做特定用途的一种处理器,拿笔者很喜欢的一个例子来说就是,如果说GPU是一个很擅长做粤菜的一个粤式餐饮店,那么CPU就是一栋大酒楼,八大菜系全都要会,或许它出品的粤菜方面并不及一个专精粤菜的粤式餐饮店,但是它保证了你走进它的时候,无论提出什么要求,起码它是能做出来这道菜的。

也就是说,CPU是用来处理复杂问题的,它涉及到的要处理的问题各种各样,所以很多时候它并不像GPU那样能把特定的问题分解成可以同时进行的小问题来解决。比如GPU要渲染一幅大图像,它可以将一幅大图像切成很多个小块,每个计算单元负责渲染一个小块,最终它们都渲染出来拼接好就是解决了最初的那个问题。

2.jpg

但是CPU要解决的问题,可能并不能分解成可以同时进行的,因为这个问题的每一步进行都需要上一步的结果,那么这种情况下,就只能通过提高频率,或者说提高单线程计算能力来加快计算时间了,“优先采用多核心设计”的模式在这里就行不通,这也是为什么对于很多游戏应用来说,多核心性能强的处理器并不能带来更好的体验的原因。

那么总结一下就是,CPU作为是用来解决复杂问题的中央处理器来说,它是需要采用“优先高频率”的设计模式才能提升它在所有应用场景下的体验提升的,然而,“优先高频率”的设计模式又相较于“优先采用多核心设计”的模式而言困难很多,并且在可以并行计算的应用场景(比如图像渲染)下,“优先采用多核心设计”的模式(比如GPU)就是能实现更快的计算。

正式由于这样的矛盾,Intel第12代酷睿处理器推出了异构设计,既没有放弃“优先高频率”的设计模式,用性能核(P-Core)继续增强了单线程的计算能力,同时又加入了能效核(E-Core)的设计,让其在可以并行计算的应用场景下,可以用多核心设计来实现更快的计算,这样,就可以说在全应用场景下,它的使用体验都得到了提升。

异构设计并不同于ARM架构的大小核

今天要说的另外一个重要的点是,由于此前ARM架构的大小核设计太深入人心,很多人以为Intel第12代酷睿处理器的异构设计就是把ARM架构的大小核设计搬入到X86体系中而已。

其实并不是这样。

要说明这个问题,我们还是得再深入了解一点性能核(P-Core)和能效核(E-Core)。

性能核:相比11代IPC性能提升19%

Intel第12代酷睿处理器性能核的曾用代号是Golden Cove,是Sunny Cove与Willow Cove这条核心线路下的直系后代。

3.jpg

性能核旨在提高速度,突破低时延和单线程应用程序性能的限制。全新性能核微架构带来了显著增速同时更好地支持代码体积较大的应用程序,与现有CPU架构相比,性能核的改动可以归纳为更宽、更深、更智能。

Golden Cove这次直接拓宽了前端,解码长度从16字节翻倍到32字节,****由4个增至6个,每时钟周期执行微指令从6增至8。微指令队列每个线程从70条目增加到72条目,单线程则从70增加到144。微指令缓存从2.25K扩大到4K,增加了命中率与前端带宽。

增强了编码预取能力,4K指令TLB从128条目增加到256条目,2M/4M指令TLB从16条目增加到32条目,分支目标从5K增至12K,同时改进了分支预测精度,具备更智能的编码预取机制。整数执行引擎增加了第五个通用执行端口,五个端口都有ALU和LEA单元,增加ALU数量很重要,因为ALU操作非常普遍,很多软件都对其加以利用。

矢量执行引擎在端口1和端口5下方各加了一个FADD快速加法器,此前Intel的处理器浮点加发都是交由FMA单元处理的,在端口0和1上需要4个时钟周期,而端口5上则要6个时钟周期,现在交由FADD做的话只需要3个时钟周期,效率更高而且延迟更低。FMA单元现在支持FP16浮点数据类型,它属于AVX-512指令集的一部分,这在加速网络应用方面非常有效。

4.jpg

此外端口5上还多了个AMX单元,它的全称是Advanced Matrix Extensions高级矩形扩展,它可执行矩阵乘法运算,现在支持AVX512_VNNI的处理器每个内核每时钟周期可执行256次int8运算,而现在借助AMX可让这性能提升至8倍,达到每时钟周期执行2048次int8运算,这可用于AI学习推理和训练,让处理器的AI性能大幅加速。

缓存系统方面,增加了一个AGU Load的端口,载入端口从2个增加到3个,吞吐量提高了50%,可同时载入3组256bit的数据或2组512bit的数据,这有效的降低了L1缓存延迟, 同时加深了载入与存储缓存区,使其具备更强的内存并行性,对大型数据和代码体积较大的应用程序提供更好的支持。

L1数据TLB从64条目增加到96条目,L1数据缓存可并行多获取25%以上的未命中,数据预取器得到了增强,可面对更强的乱序执行架构,可同时服务4个page-table walks,较上代架构翻了一倍,这对现代大型、不规则数据集的工作负载更为有利。

L2缓存桌面与移动端每核心还是和Tiger Lake一样是1.25MB,但与现在11代桌面处理器相比则是增加了150%,服务器的Sapphire Rapids则是每核心2MB,优化了全写入预测带宽,减少内存读取。

5.jpg

Golden Cove相比目前第11代酷睿桌面处理器的Cypress Cove,在通用性能的ISO频率下,针对大范围的工作负载实现了平均约19%的性能提升,可以理解成IPC提升了这么多。

能效核:同频比10代还强1%

Gracemont是Intel第12代酷睿处理器能效核的曾用代号,它是Atom处理器所用的Mont系列的第七代架构,它更追求能效,会在多线程以及线程吞吐上有所加强。此高能效x86微架构在有限的体积内实现多核任务负载,并具备宽泛的频率范围。它能够通过低电压能效核降低整体功率消耗,为更高频率运行提供功率热空间。这也让能效核提升性能,以满足更多动态任务负载。

6.jpg

能效核可以利用各种技术进步,在不额外增加处理器功率的情况下对工作负载进行优先级排序,并改进处理器的IPC性能。

Gracemont大幅扩大了分支预测器,现在拥有5000个条目的分支目标缓存区,实现更准确的分支预测。一级指令缓存增大到64KB,在不耗费内存子系统功率的情况下保存可用指令,它还拥有Intel的首款按需指令长度****,可生成预解码信息,加速具有大量代码的现代工作负载。采用两组三宽度的簇乱序执行****,可在保持能效的同时,每时钟周期解码多达6条指令。

后端执行单元拓宽了,具备5组宽度分配、8组宽度引退、256个乱序窗口入口和17个执行端口,共计拥有4个整数ALU、2个载入AGU、2个存储AGU、2个跳转端口、2个整数存储数据、2个浮点/矢量存储、2个浮点/矢量堆栈、以及第3矢量ALU。

存储系统采用了双载入双存储的配置,每4个核心共享4MB二级缓存,缓存带宽高达64 Bytes/cycle,延迟则是17时钟周期,并支持深度缓冲、高级预取器和Intel资源调配技术。

7.jpg

指令集方面,支持控制流强制技术和虚拟化技术重定向保护等功能;同时它也是首款支持AVX2指令集的“Mont”核心,以及支持整数人工智能操作的新扩展。

与Skylake核心相比,能效核能够在相同功耗下实现40%的单线程性能提升,或者只有不到40%的功耗提供相同的性能。与双核四线程Skylake相比,四个能效核能够在功耗更低的情况下同时带来80%的性能提升,或者在提供相同性能的同时功耗减少80%。

P-Core性能核的目的是提升处理器的单线程性能,而E-Core效能核的目的设计目的则是用更低的功耗来提升多线程性能,根据Intel的示意图,四个效能核加起来才等于一个性能核那么大。

8.jpg

在相同频率下,P-Core的性能比10代酷睿(也就是Skylake)提升了28%,比11代酷睿提升了14%,而E-Core的性能也是要比经典的10代酷睿高1%的。可以看到,E-Core效能核的的性能并不低,这与ARM处理器的小核为了省电而几乎放弃性能的做法是不同的,E-Core存在的首要目的并不是省电,而是为了多线程性能,在同样的芯片面积下,将一个性能核P-Core换成四个效能核E-Core,可以极大的提升在执行并行计算时候的多线程性能。

总结

如同一个集大成者,12代酷睿的异构设计融合了“优先高频率”和“优先采用多核心设计”这两种现代处理器的设计模式,通过性能核(P-Core)和能效核(E-Core)的异构设计即增强了单线程的计算能力,同时又让其在可以并行计算的应用场景下,可以用多核心设计来实现更快的计算,实现全应用场景下的体验提升。

12代酷睿的异构设计尽管看起来有些像是ARM架构的大小核设计,实为全新的一种设计理念,能效核(E-Core)并不是如同ARM处理器中的小核那样为了省电的目的而去设计的,而是为了增加处理器的多线程计算能力而设计的,这样设计出来的能效核具有很小的核心面积,可以在同样尺寸的芯片面积下实现最大化的多线程计算性能,由于最终是为了计算性能,所以每个能效核的计算能力并不差,同频下相比10代的酷睿还有1%的性能水准提升。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: CPU

相关推荐

技术专区

关闭