首页资讯科技 揭开了我国使用英特尔的序幕

揭开了我国使用英特尔的序幕

徐昌宇8月19日,2021年英特尔架构日大会正式召开。架构日是英特尔向外界展示其新技术和新产品的例行窗口,今年的大会内容更是特别丰富,英特尔几乎倾囊而出,将自己在消费级CPU、GPU、服务器CPU、并行计算产品以及各类配套软硬件技术方面的积…

揭开了我国使用英特尔的序幕

徐长玉

8月19日,2021英特尔架构日大会正式召开。架构日是英特尔向外界展示其新技术和新产品的常规窗口。今年的会议内容特别丰富。英特尔几乎倾其所有,向外界详细介绍了其在消费级CPU、GPU、服务器CPU、并行计算产品以及各种配套软硬件技术方面的积累,可谓“干货满满”。本文将选取一些与普通消费者密切相关的重要内容进行详细介绍。

本次大会是英特尔近年来最重要、最详细、最广泛、最有影响力的技术大会。会上,英特尔提出了处理器与封装、互连技术、内存技术、软件技术、架构等六大关键技术领域的创新,分别与标量、矢量、矩阵、空四种基础计算架构相关。

在这些技术的背后,英特尔的目标是在2025年实现比当前产品性能提升1000倍。“1000倍”这个数字听起来很不可思议,但实际上,英特尔指出,计算机系统的性能提升是一个乘数关系。如果上述处理器和封装、互连技术、存储器技术、软件技术和架构(处理器和封装算作一个部分)的每个部分都实现4倍的性能提升,最终整个系统在理想情况下将实现4到5的power | energy提升,也就是1024倍。

为了实现这一目标,英特尔在2021年带来了11项全新的产品和技术,其中大量创新技术由英特尔首次详细介绍。

本次发布会的重头戏自然是阿尔德湖。它是英特尔设计的“大小核混合”的产品,配备基于Gracemont架构的能效核和基于Golden Cove架构的性能核。我们先来看看这两种架构的技术亮点。需要提醒大家的是,英特尔的发布会全程直播,大量关于处理器的新技术都做了非常详细的介绍,有些并不是很重要。本文不做深入讲解,重点给大家展示一些背后的技术,重要的设计和有趣的对比。有兴趣的读者不妨边看这篇文章边看英特尔的发布会视频,效果会更好。

新能效核心:英特尔Gracemont架构分析

英特尔在小核(即高性能功耗比核)上的RD有着非常深厚的技术积累。早在2008年,英特尔就为当时流行的上网本等产品发布了凌动系列处理器。该系列处理器并没有一直以性能为第一位,而是更加注重能耗控制。早期产品在架构设计上采用了简单且节省面积的双启动、顺序执行架构,性能有限。但是随着生产技术的发展,英特尔开始给这个系列增加更多的资源和功能。

2019年,英特尔推出了当时最新的Tremont架构。Tremont产品在内部架构上做了很多调整。前端包括两个3宽解码单元,在理想情况下可以达到6发射宽——这是x86处理器的第一款6发射产品,而同期SunnyCove只有5发射。Tremont的后端执行部分采用乱序设计,加强了计算资源。得益于规模的提升,在CINEBENCH R20和R15测试软件中,Tremont基本可以达到Skylake或者Zen 2架构的80% ~ 95%的性能——这其实与很多人认为的“该系列性能较弱”的认知完全不符。

继Tremont之后,英特尔今年发布的产品就是本文的主角之一:Gracemont。在英特尔之前的路线图中,Gracemont是Tremont的继任者,属于Atom家族。不过在这次大会上,Gracemont有了一个全新的名字:高效x86核心,也就是性能x86核心。上一篇文章解释了这么多关于Tremont的内容,主要是简单描述一下这一系列Intel架构的发展历史,并介绍

五个部分和三个特点:格雷斯蒙特的宏观结构

在本次大会上,英特尔明确表示,Gracemont采用了高度可扩展的架构,以满足未来十年高效数据吞吐量的需求。有鉴于此,Gracemont需要达到以下四个目标:

1.极高的能效比

2.芯片尺寸小,可以大大扩展。

3.支持向量和人工智能计算

4.它有很宽的频率范围

仔细观察Intel的设计目标,可以发现Gracemont对能耗比和可扩展性的要求很高。此外,与之前的Atom系列产品不同,Gracemont增加了对高级向量扩展和AI计算的支持,这一点非常特别。一般来说,小核架构通常会避免像向量计算这样的计算密集型设计,因为小核架构的内部设计和资源布局并不适合运行这些内容。但Intel在Gracemont中加入了向量计算,可见其并不仅仅偏向于能耗比的考虑,其架构设计更关注的是使用中的平衡。最终,Gracemont能够以极低的功耗在低压低频下运行,可应用于一体机、ATM、机顶盒、平板设备等对功耗非常敏感的设备。同时还可以面对极高频率和性能的高功耗负载。

这使得英特尔有必要在Gracemont架构的设计阶段同时考虑这两个因素。其实这个很难。毕竟,为了提高性能功耗比,通常会使用较短的流水线。然而,为了增加频率,流水线阶段的数量不能太短。英特尔在这里的平衡非常独特。

在架构设计部分,Gracemont分为五个区域,分别是前端、乱序执行引擎、标量引擎、矢量引擎和内存系统。英特尔表示,Gracemont的设计特点是根据所需长度进行更深的前端解码,更宽的后端,大量的执行端口,以及针对Intel7工艺的全面优化。

前端:3+3解码器设计,相比上一代大大加强的架构。

我们先来看看Gracemont前端设计的基本情况。Gracemont的前端设计其实和之前的Tremont有着很高的相似度,但显然被大大加强了。从架构图来看,前端设计包括双IP队列,后面是64KB指令缓存,后面是Bypass模块和OD-ILD(按需指令长度解码器),这是本文介绍的重点。接下来,数据将进入指令数据单元,然后被发送到两个3宽度解码器,最后进入uop队列。此外,在分支预测方面,Gracemont有I-TLB和I-cache标记,还有一个大大增强的分支预测单元。

只对比架构图就能看出Gracemont在前端设计上明显强于Tremont。Tremont缺少的单元包括OD-ILD、旁路和uop队列。分支预测单元部分,Tremont只有取指令和分支预测单元,弱于Gracemont大幅增强的分支预测单元。那么,Gracemont增加的这些单元的功能是什么呢?

从宏观上看,Gracemont前端的增加大大提高了有效指令流的吞吐量,符合Gracemont的整体设计目标和后端规模的增加。首先,Gracemont增加了更大的指令缓存,容量为64KB,是Tremont 32KB指令缓存的两倍。也是目前所有x86处理器使用的最大的指令缓存。这种设计可以存储更多的指令,在提高效率的同时可以减少内存的频繁读写,从而降低能耗。

Gracemont的OD-ILD单元是这一设计的亮点。我们知道,x86指令编码非常频繁,长度不固定。最坏的情况下,编码指令的长度可以达到15个字节。对如此长的指令进行预解码是一个非常消耗资源的线性操作。另外,由于x86指令的长度不相等,处理器不可能在该指令的预解码完成之前找到下一条指令。一般来说,处理器需要知道一条指令的代码包含什么,有多长,是否与后续指令相关。基本上它要处理指令的很大一部分,消耗大量的时间和资源。因此,对于高性能的x86处理器,设计者会设计一个大的微操作缓存,在微操作缓存中存储大量的指令解码信息。下一次遇到同样的指令,不需要解码,可以直接从微操作缓存中取出预解码信息或指令解码结果。

然而,微操作缓存的成本并不低,其实际性能也受到多种因素的影响。所以如果不是特别追求性能的高性能核,一般不会用。所以Gracemont和之前的Tremont都没有微操作缓存,每次遇到相同的指令都需要重新解码,但还是有一些优化空-Gracemont加入了一个叫OD-ILD的单元,也就是按需指令长度解码器。这个单元的作用是产生预解码信息(预解码信息包括指令的长度和边界等。)并将其存储在64KB指令缓存中。这使得系统在第二次遇到相似码时,可以直接提出之前的预解码信息,节省了时间和周期,也可以大大提高解码器的效率。当然,虽然英特尔在这里的设计看起来像是“没有物理缓存的微操作缓存”,但OD-ILD只是在旁路单元和指令缓存的配合下存储预解码信息,与真正的微操作缓存还是有性能差距的。

我们来看看Gracemont的分支预测部分。Gracemont的分支预测器现在可以支持所有缓存级别。它增加了一个可以存储5000个条目的分支目标缓存,可以根据长期历史数据优化分支预测,生成精确的指令信息。这样的设计也能尽早发现错误的内容,并进行优化和修正。英特尔相信,包括网页浏览、数据库和数据包处理在内的任务都将受益于这种分支预测器的增强。实际上,英特尔之前在Tremont上使用了一个大大增强的内核级分支预测器,它在Gracemont上进一步扩大了规模,提高了性能。

Gracemont的第三大亮点是继承了Tremont的双3宽解码器。根据英特尔之前的介绍,在理想情况下,Gracemont的双3宽度解码器每个周期可以解码6条指令,并且保持与一些更窄的解码器相同的功耗。不仅如此,Intel还为Gracemont增加了硬件驱动的负载均衡器,可以直接在切换点插入长链顺序指令,保证两个解码器可以并行工作。此外,Gracemont还为前端增加了微指令队列单元,可以实现指令有序进入后端执行部分,效率更高。

后端:规模更大,性能更强大。

在后端部分,Gracemont的三个重要特性是5个宽度的分配和8个宽度的退休,256个条目的乱序执行窗口和17个执行窗口。让我们仔细看看这部分。

首先看乱序执行窗口大小。在Gracemont上,这个数据是256个条目,超过了Skylake和Zen 2的224个条目,和Zen 3站在同一水平线上。具有更多后端单元的更大无序执行窗口有助于更高效地填充指令。显然,随着处理器性能的不断提升,未来乱序执行窗口将进一步放大。

最多17个执行窗口是Gracemont最重要的改进之一。在之前的产品Tremont上,这个数字只有7。但是Tremont的很多执行单元都是多功能的,但是更多的端口和更强大的后端设计也意味着Gracemont在性能上可以达到更高的水平。从最终的性能评测来看,理论上Gracemont在很多方面都可以达到上一代Tremont的两倍甚至更高。比如Gracemont的整数性能,每个周期可以解析或完成两个分支,是Tremont的两倍。向量方面,相当于拥有三个支持SIMD的alu,比Tremont多一个,两个独立的FADD和FMUL流水线每个周期可以完成两次独立的加乘运算,也是在Tremont的基础上增加了一倍。在指令集支持方面,Gracemont基本达到了Haswell架构的水平。根据Intel的介绍,Gracemont可以支持AVX2指令集,并且加入了专为AI加速设计的AVX-VNNI指令集,以及一些新的安全或侧通道技术,比如控制流执行技术等从这个角度来说,Gracemont在执行端和ISA上的设计还是很丰富的。

高速缓存和内存子系统:最大4MB L2设计

Gracemont的缓存和内存子系统得到了极大的改进。在港口方面,Gracemont的AGU港口现在增加到四个,这意味着每个周期可以完成两次装载和两次存储,共四次操作。在之前的Tremont上,因为只有两个端口,每个周期要么完成两次加载,要么完成两次存储,要么一次加载一次存储,所以整体性能比Gracemont差很多。缓存方面,后端有32KB的数据缓存,指针跟踪延迟3个周期,还支持64个未命中(与缓存未命中后的工作机制有关)。

通常,如果缓存未命中,就需要在下一个存储单元中寻找信息(通常是L2或内存)。在这个过程中,缓存是管道无法访问的,除非找到信息并返回,这意味着数据搜索的过程会浪费很多时间。未命中失误改变了这种僵化的工作流程,即使缓存未能在内存中找到信息,管道也可以继续使用缓存并查找其他信息。Gracemont目前支持64个未命中,某些同类型处理器一般只支持20个左右。因此,当缓存未命中时,Gracemont应该能够显示更好的性能。

在L2缓存方面,英特尔的数据显示,一个集群中的四个Gracemont内核将共享高达4 MB的L2缓存,延迟为17个周期。共享L2支持每个内核每个周期64字节的读写操作,英特尔认为这种设计足以满足Gracemont等能效比内核的要求。此外,Gracemont的L2缓存还支持64个未命中,但它需要在所有四个内核之间共享。

性能:比Skylake高出约8%

英特尔给出了Gracemont的一些性能数据。资料显示,与采用14nm技术的Skylake相比,采用Intel 7技术的Gracemont在1CIT的情况下,在相同功耗下,要么可以降低约40%的功耗,要么可以提升40%的性能。另一个值得关注的是多线程测试。与14nm Skylake 2C4T配置相比,相同性能的Gracemont集群降低了约80%的功耗,或者说Gracemont集群以更低的功耗提供了超过2C4T Skylake配置80%的性能。

这里需要注意的是工艺。由于不同的过程,单个Skylake核心的面积几乎与4个Gracemont的集群一样大。根据一些第三方数据,在CINEBENCH R20测试中,Gracemont的单核性能约为478,与基于Skylake的Core i7-6700K相比,这意味着Gracemont的单核性能比Skylake的某个版本高8%左右。考虑到前面提到的Tremont的性能大约是Skyla ke的80% ~ 95%,在综合测试中,Gracemont可能比Tremont实现了30%左右的性能提升。

金色港湾建筑解析

从发展的角度来看,黄金湾是柳树湾的继承者,但与柳树湾相比,黄金湾显然更宽、更深、更聪明。英特尔声称Golden Cove的设计目标是实现更高的速度、更低的延迟和更好的单线程性能。其重要特点包括大规模代码和大规模数据计算的优化,新的AI协处理器和新的细粒度电源管理智能电源控制器。

Intel Golden Cove分为八个部分,分别是前端(取指令)、微指令排序、乱序执行单元、向量引擎、标量引擎、全新的矩阵扩展单元和全新的PM控制器,最后是内存单元。值得注意的是,针对消费者市场和企业市场的Golden Cove存在一些差异。比如AMX(矩阵扩展单元)在消费级市场是完全禁用的,企业级市场只有蓝宝石Rapids有这个功能。

前端:首款6路x86处理器

纵观英特尔这些年的架构设计,他们对前端的改动非常用心。尤其是高性能核心,前端设计就像水龙头,有牵一发而动全身的影响。回顾历史,自2006年发布Conroe架构以来,英特尔一直保持着4次传输的“1次复杂解码+3次简单解码”的前端设计,直到2014年的Broadwell,8年都没有改变。之后,英特尔在2015年发布的Skylake上做了改动。它采用了全新的“1复解码+4简解码”5传前端,然后一直用到了Sunny Cove,又用了7年。

现在,Intel再次给Golden Cove增加了一个简单的解码器,变成了“1个复杂解码器+5个简单解码器”的设计。Golden Cove现在已经实现了一个6-launch前端,这是x86处理器设计中第一个真正的6-launch前端,也是目前x86处理器设计中的难点。英特尔似乎已经解决了这个技术问题,但也有一个成本——当微架构遇到错误预测时,Golden Cove会增加一个周期,从之前的16个周期增加到17个周期。不过,英特尔没有透露新解码器将带来多大的直接性能提升,以及新解码器的工作细节。一些比较明显的改进是:前端传输宽度增加到6个宽度后,前端带宽从之前的每周期16字节翻倍到32字节。

此外,英特尔并不完全依赖6宽度解码器进行前端解码。英特尔提到,80%的时间,前端解码器受到时钟门控。在这种情况下,微指令缓存起着决定性的作用。考虑到更大更宽的前端,英特尔大幅提升了微指令缓存的性能和宽度。新的微指令缓存输出的能力从每周期6条微指令提高到8条微指令,可存储的条目数从2.25K提高到4K。这些变化大大提高了命中率和带宽。其中,条目数量的增加可以大大提高微指令缓存的效率,这与AMD在Zen2和Zen 3架构中的做法基本相似。至于微指令队列,在单线程的情况下,新的设计可以提高144个条目的队列,是之前70个条目的两倍多。在双线程的情况下,每个线程可以获得72个条目,略高于之前的70个条目。

最后,让我们看看前端指令TLB和指令缓存。对于4K·TLB来说,新的设计可以容纳256个条目,是之前128个条目的两倍。对于2M/4M TLB,新设计可容纳32个条目,是之前16个条目的两倍。尤其是2M/4M TLB的改进,带来了代码效率的显著提升。此外,L1指令缓存的容量并没有得到提升,依然是32KB,但增强了代码预取的功能。分支目标缓冲区的条目也从之前的5K增加到了12K,这是迄今为止x86处理器中最大的分支目标缓冲区条目(Zen 3为6.5K,Cortex-A77为8K),对于现代处理器来说非常重要。英特尔还提到,它在分支目标缓冲区中添加了机器学习算法,可以智能地扩大或缩小规模,并可以自动关闭一些缓冲区以节省电力。

总的来说,以上所有针对分支预测的改进都可以提高分支预测的效率,隐藏未命中延迟,提高分支预测的准确性以减少跳转的误预测,最终提高性能。

无序执行:更广、更深、更聪明

在核发动机方面,也就是OoO发动机,金色港湾也有很大的变化。因为前一段的解码从之前的五宽度进化到了六宽度,核心也改进到了六宽度,可以保持每周期6 IPC的微指令发射规模,相比上一代有了进一步的提升。此外,英特尔声称他们在分发阶段执行了一些简单的指令,减少了需要发送到后端执行的内容,节省了后端执行资源,但并没有透露太多。

在乱序执行窗口方面,Golden Cove的重新排序缓冲区(ROB)容量从之前Sunny Cove的352大幅提升至512,是AMD Zen 3架构的两倍多,仅低于苹果的Firestrom微架构(630)。一般来说,超过一定范围增加ROB的容量会带来边际递减的效果,同时会大大增加功耗。但苹果的案例说明,还是有办法实现性能的大幅提升,英特尔也应该找到这个关键点,才有信心大幅提升ROB的数量。乱序执行的后端部分是执行窗口。Golden Cove现在有12个执行窗口,比以前的产品多了两个。这一部分将在下面详细介绍。

综合执行引擎部分

英特尔的执行引擎分为三个模块,分别是矢量引擎、标量引擎和新的高级矩阵扩展(AMX)。

标量引擎方面,金色港湾新增了ALU和LEA计算的端口10,所以现在有5个端口00、01、05、06、10可以实现标量计算。值得注意的是,这五个执行端口后面的所有功能管道都是以复合方式设计的。随着新端口的加入,Golden Cove的标量执行端口现在是x86中最宽的。

在向量单元方面,Golden Cove在端口01和05上增加了两个新的FADD功能。与之前的FMA单元相比,FADD具有更高的效率和更低的延迟。此外,FMA单元现在可以支持FP16和复数计算,端口为05的FMA单元可以执行AVX512计算。英特尔特别指出,FADD执行浮点加法只需要三个周期,而在一些背对背浮点计算中,这个周期可以减少到两个。相比之下,上一代执行浮点计算的FMA在端口00和01上有4个周期的延迟,在端口05上有6个周期的延迟。相比Gracemont和GoldenCove的前端改进,后者英特尔执行单元的改进显得保守,这可能是英特尔内部资源一次次平衡的结果。

高速缓存和内存子系统:提高并行性

配合前端、核心和执行单元的改进,金海湾的缓存和内存子系统也进行了改进,变得更宽更深。对于L1缓存,在新增的11号端口上增加了一套AGU和读取单元,使每个周期可以加载的次数由两次增加到三次,其中,对于256位数据,即AVX2 256,每个周期可以加载三次,增加了50%。对于512位数据,即AVX 512,每个周期可以加载两次。

英特尔也提到了L1深度的提升,但没有具体数据。主要变化在于加载缓冲区和存储缓冲区大小的增加,更有利于提高内存级并行的性能。智能化,新设计降低了读取延迟,实现了更快的内存消歧——所谓内存消歧,就是微处理器无序执行内存访问,而是利用处理器内部的数字逻辑和真实依赖关系等。这项技术可以实现更大的指令集并行性。

对于L2的改进,L2的设计有些不同,因为英特尔的一个架构要同时面向消费市场和企业市场。对于消费市场,L2的缓存为每核1.25MB。考虑到企业市场对性能要求更加敏感,L2高速缓存增加到每核2MB。在性能方面,L2缓存将并行处理的未命中指令数量从之前的32条增加到48条。在智能处理方面,L2缓存现在包括基于反馈的预取节流、全线写带宽预测优化、基于多模式的路径预取器等功能。

最后,我们来看看一些新的PM(电源管理)控制器。英特尔声称,它可以通过内核自治、精细粒度和电源管理技术来实现额外的性能。对于新的PM控制器,英特尔表示可以将监控间隔从毫秒级提高到微秒级,并根据实际应用行为加强功耗预算的利用率,最终提升性能。这显示了英特尔对处理器内核和内部结构更精细的功率控制,可以在更短的时间内瞬间提高某些处理器结构的频率和供电量,以达到更好的性能。这是智能电源管理的一个重要突破。

性能:整体提升19%

预览了Intel Golden Cove的性能,其平均性能提高了19%。对比Alder Lake的performance core和Rocket Lake的Crypress Cove架构,两个频率都锁定在IS0 3.3GHz,从数据可以看出,Golden Cove在少数测试项目中输给了Crypress Cove,但在其余所有项目中均领先于Crypress Cove,最大领先60%,平均领先19%,是英特尔近年来跨代推广的最大值之一。Golden Cove如此高的性能提升应该主要归功于前端的大幅加强,包括六个宽发射单元、微指令输出宽度增加25%以及更深的乱序执行缓冲区等。但是,Golden Cove在后端执行资源上的提升并不那么明显,这大概是英特尔下一代架构要做的事情。

Av512:阿尔德湖不再受支持

在我们谈论硬件线程调度器之前,ISA中还有一些事情需要澄清。现在英特尔已经明确表示,面向消费者市场的Alder Lake将不再支持AVX 512。主要原因是Gracemont只支持AVX2。即使黄金湾支持AVX 512,黄金湾的AVX 512功能也必须关闭,以在最终合并到阿尔德湖时实现ISA的一致性。否则,两个不同内核中的任务无法迁移。

不过在Golden Cove的架构设计中,英特尔加入FMA 512的支持,另外还加入专门的AMX模块。但是为了保持不同架构处理器的ISA一致性,英特尔最终决定将Alder Lake的GoldenCove核心中的AVX 512功能彻底关闭,同时禁用AMX功能。这意味着消費者购买的Alder Lake处理器中的一部分晶体管和功能模块是不工作的。另外,由于Alder Lake不支持AVX 512,转而支持AVX 2,所以英特尔还将之前专门为AVX 512设计的VNNI以及VNNI2版本“降级”为AVX2版本,现在Alder Lake的能效核和性能核都能运行AVX2版本的VNNI,这意味着即使是以AVX2的形式,不少常见的AI加速功能也能够正常执行了o

本文来自网络,不代表管理窝立场。转载请注明出处: https://www.guanliwo.com/a/zx/61348.html
上一篇创意学业轻松满足系列设计本一本搞定
下一篇 千核能拥有怎样能力走近-超大规模人工智能芯片
管理窝

作者: 管理窝

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部