TA的每日心情 | 怒 前天 10:56 |
---|
签到天数: 85 天 [LV.6]常住居民II
三级逆天
- 积分
- 53741
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
上周的Intel Architecture Day上,Intel有一些重磅发布,包括:
[li]采用混合架构(类似于传统意义上的大小核设计)的12代酷睿处理器Alder Lake;[/li][li]面向服务器的至强处理器产品Sapphire Rapids;[/li][li]以及面向游戏玩家(Xe HPG,Alchemist)与数据中心(Xe HPC,Ponte Vecchio)的Xe架构GPU;[/li][li]还有在数据中心负责“基础设施任务”的新品IPU(infrastructure processing unit,Mount Evans),在概念上有些偏向于如今流行的DPU;[/li] 另外自然还包括生态相关的一些发布和更新,比如说针对各类不同硬件(GPU/CPU/FPGA/VPU等)面向开发者的统一OneAPI。而作为“Architecture Day”,这次的主要信息量其实并不集中在产品上,更在于产品“架构”。所以Alder Lake的两种核心Golden Cove和Gracemont,自然成为细节阐述中的重点。
广告
有关Intel Architecutre Day的报道,我们将分成两篇。本篇要详细阐述的是Intel的新版CPU架构Golden Cove和Gracemont,产品层面会主要谈这两种核心架构构成的Alder Lake处理器,以及混合架构核心调度策略Intel Thread Director,并顺便稍微带到Sapphire Rapids。
Xe架构多款GPU将在后续文章更新中另外做阐述。这次Intel给的信息量相当密集,Sapphire Rapids和IPU皆可做大篇幅的探讨——这两者将不会作为本文报道的主体。
值得一提的是,这次发布的一些核心IP对Intel而言,可能成为奠定其后续数年架构发展的基础。用Intel的话来说,像Golden Cove这样的核心是“十多年来,最为重大的架构改变和创新”,且其性能提升幅度“甚至大过Sunny Cove相比Skylake的提升”。这就让这次的发布相当有看头。
本文篇幅较长,分成5个部分,可选择性阅读。也可直接越过中间部分,看文末给的总结。
[li]十二代酷睿Alder Lake概览,捎带提及Sapphire Rapids[/li][li]能效核Gracemont架构分析;[/li][li]性能核Golden Cove架构分析[/li][li]两种核心的调度机制[/li][li]总结[/li]
12代酷睿Alder Lake
感觉11代酷睿出现的时间都还不久,12代酷睿就来了。有关Alder Lake的发布也是预期之中的,毕竟Intel也不是第一回做预告了。而且我们也普遍知道了Alder Lake将采用“混合架构”——也就是我们传统意义上所说的“大小核”,虽然Intel不用“大小核”这个称谓。
Intel如今的市场压力着实不小,市场上有AMD和Arm的双重夹击,所以在产品更新节奏上加快也是必然。而且从这次的核心架构更新幅度来看,Intel也的确让人惊艳了一把——这些将在后文详细聊到。首先还是来看看相关Alder Lake的已知信息。
因为这次并不偏向具体的产品发布,所以详细配置资料并不多,主要信息包括:
[li]CPU混合架构设计,性能核Golden Cove,能效核Gracemont——至少包括桌面平台8+8(24线程,能效核心不支持超线程)、移动平台6+8(20线程)、超低功耗平台(Ultra Mobile)2+8(12线程)的设计方案;LLC缓存至多30MB;[/li][li]沿用至多96EU的Xe核显(桌面平台还是32EU);[/li][li]内存支持:DDR5-4800/DDR4-3200/LPDDR5-5200/LPDDR4x-4266;[/li][li]总共20条PCIe lane,支持最高x16 PCIe Gen 5(桌面平台,最高64GB/s带宽),同时支持PCIe Gen 4;[/li][li]支持Thunderbolt 4、Wi-Fi 6E;[/li][li]TDP 9W-125W;[/li][li]基于Intel 7制造工艺(即此前的10nm Enhanced SuperFin);[/li]
其实从图上来看,还有类似于GNA 3.0(Gaussian Neural Accelerator)这样的组成部分,这里的IPU指的是Image Processing Unit,TBT则是指Thunderbolt 4——这两者好像只面向移动平台,桌面平台是没有的。
这其中的亮点自然就是“混合架构”了,Intel将性能核称作P-core,能效核称作E-core——在Alder Lake上自然就是指Golden Cove和Gracemont了。Intel在接受采访时也多次提到,之所以在Alder Lake的选配方案中,我们看到的E-core都是8个,是因为其面积很小。从上图来看,4个E-core连带cache才相当于1个P-core。
这种混合架构设计,此前的Lakefield中就用到了。不过先前我们剖析Lakefield的文章里有谈到过Lakefield属于Intel在混合架构设计上的练手之作。在这次的Alder Lake处理器中,P-core负责那些有高性能、低延迟需求,尤其是单线程低延迟需求的任务;而E-core自然能够应对低功耗,实现更高的效率。
Intel这次依然没有像AMD那样,在消费级处理器产品中采用chiplet式的方案(也就更不利于堆出高核心数)。不过这种混合架构设计,尤其是E-core的加入一方面的确有利于实现低功耗和诸多负载任务下的能效提升,而且还有利于提高多线程性能跑分——不会像Ice Lake/Tiger Lake那么囧。
我们有特别问到Intel为什么桌面平台需要用到E-core,毕竟桌面平台对于功耗并不是很敏感。Intel的回答是:“即便是桌面端,能效核(E-core)的价值也很大。引入能效核有两方面的好处,一是可以让性能核(P-core)专注于那些需要更高性能的线程,这样更可以充分发挥能效核对需求更大的线程处理效率;另外一个,在整个PC处在相对低任务负载的情况下,通过能效核可以让整个处理器具有更好的能耗表现。”
除了处理器核心,还有各种细节可以一谈。比如有关其中DDR支持,以及对PCIe Gen 5/Gen 4的同时支持都有对应的效率提升方案,还有Xe-LP核显等,由于篇幅原因这里不再赘述。
互联方面,处理器内部“Compute Fabric”依然是双ring设计,带宽1000GB/s(每个P-core,或者每一个集群的E-core是100GB/s),通过LLC把核心和图形单元连起来,通往内存——据说其中一条ring可在需要时关闭以实现节能,这个Compute Fabric ring的频率有个动态可调范围,针对延迟、带宽优化也能动态选择数据路径;且LLC也能做动态调节。
而I/O Fabric最高是64GB/s的带宽;内存Fabric标注的数字是204GB/s,PC平台估计很难达到这个极值,内存本身的带宽会成为瓶颈。
从ring互联的图来看,4个E-core在ring上仅作为一个stop,这个待遇和P-core还是大不一样的。不知道这会否造成拥塞。
另外有一点格外值得一提,就是这次的Alder Lake将不再支持AVX-512,这主要是因为Gracemont作为E-core并不支持AVX-512。一般同处理器中不同架构的CPU核心,会采用相同的指令支持——虽然不同指令支持也可以实现,但这在设计上会造成显著的复杂性。Arm那边也是这么做的。
虽然和Lakefield一样,Alder Lake的P-core部分对于AVX-512仍然有对应做出支持的晶体管,不过由于E-core的存在,这部分区域对于PC市场而言就“屏蔽”掉了。不知道通过BIOS禁用E-core之类的手段能不能把AVX-512的支持找回来;以及下一代酷睿产品上,AVX-512会不会回来。不过Gracemont依然支持AVX2,典型如VNNI指令(用于神经网络),表明Intel还是不曾放弃原属AVX-512的部分特性。
之所以在设计上,没有去掉Golden Cove的AVX-512硅实现部分,是因为Sapphire Rapids并没有像PC平台那样用上混合架构设计,而仅启用了P-core。Sapphire Rapids至强处理器的Golden Cove自然就支持AVX-512了。有关Sapphire Rapids的部分,这里稍微谈一谈。
Sapphire Rapids也是很早就预告了会与Alder Lake共同到来的服务器处理器产品。除了Golden Cove应有的特性一应俱全,Sapphire Rapids本身为弹性扩展终于用上了chiplet式的方案,不同die之间采用Intel拿手的EMIB 2.5D封装技术,“55μm bump间距”方案。上图就能看到4片die的连接。
作为面向数据中心的至强处理器,Sapphire Rapids SoC之上也出现了不少专门的加速器,比如说DSA数据流加速器,“用于offload最常见的数据移动任务”;Quick Assist Technology引擎,加速加密和压缩/解压缩等等。符合时下走向高效“专用”的路线。
与此同时I/O方面,CXL技术用于数据中心内的内存扩展和加速器用途,此前其实就已经有了这方面的消息;DDR5、PCIe Gen 5支持不用多说,QoS,DDI/O;提升UPI技术实现多socket性能扩展,实现更高的速度、更宽的宽度。存储方面,增加共享LLC(全核共享LLC至多>100MB),以及有产品版本是在封装中集成了HBM内存的,且可做HBM+DDR多层级内存实施方案。Sapphire Rapids并非本文要探讨的重点,更多特性此处不再多做介绍。
能效核,据说比以前的大核彪悍
我们在Lakefield产品分析中就谈到过,Intel的“能效核”E-core——或者我们日常探讨时习惯说“小核心”,与Arm那边的“小核”可完全不是一个概念,核心宽度、乱序架构等都不是Arm的“小核”在规模上可相提并论的。Intel的能效核——又可以叫mont家族核心,缘起自其Atom处理器产品线。
此前Lakefied所用的E-core代号为Tremont,而今年Alder Lake的E-core则叫做Gracemont。这次Gracemont的改进可谓相当的巨幅。Intel将其与Skylake做了比较。我们知道,Skylake是Intel最初于2015年推向市场的,后续Kaby Lake、Coffee Lake、Whiskey Lake、Comet Lake等都基本共享了Skylake微架构——一直到Ice Lake问世才打破了传统。
Intel表示,以1C1T(单核单线程)来比较Gracemont与Skylake,则相同功耗下前者性能比后者高出40%+;相同性能下,功耗<40%,“换句话说,Skylake内核要达到同样的性能,功耗会增加2.5倍。”
多线程性能上,Intel比较了Gracemont的4C4T与Skylake的2C4T(E-core不支持超线程),则前者性能比后者高出80%;相同性能下,前者功耗比后者降低80%。
这两组数字实在是有些恐怖的。是不是可以说3年前的电脑CPU,性能还不及现在的小核?当然也不能这么说。一方面是预计Gracemont的频率不会提得太高,毕竟这是“能效核”。另一方面,这是SPECrate2017_int测试,要说浮点性能也非这类小核的强项。
但其效率提升绝对是实打实的,而且在某些基准测试中预计可以刷一波存在感。另外就是为达成指令支持与大核的对等,Gracemont加入了AVX2支持,似乎也是首个支持AVX2的mont家族核心。接下来就来看看Gracemont核心的架构变化情况,可参照此前我们对Tremont核心的解读。Intel概括其为“深前端,宽后端,优化设计”。
Gracemont前端部分是6-wide解码,实际上是和Tremont一样的两条3-wide路径,两路解码并行每周期3条。不过这次L1-I cache尺寸显著增大至64KB。此外分支预测器有显著加强,配套5000条目的BTB分支目标缓存大小,据说是比以前加深了,让指令队列做到预测更精准。
有关解码的部分,x86指令变长是众所周知的。预解码操作开销比较大;在确定前一条指令长度之前,是无法明确下一条指令的。Mont家族核心不像性能核,并没有μop cache,所以指令在获取的时候每次都需要做解码。
在Gracemont的设计中,引入了一种按需式(on-demand)指令长度解码器(图中的OD-ILD)。这种方案会产生预解码信息,和指令cache一起存储。如此一来,就能从L1-I cache二次取指(在指令长度数据存在于cache中的情况下),绕过(Bypass)预解码阶段,节省周期了。
架构中段部分(乱序引擎),ROB(重排序buffer)尺寸这次增加到了256条目——这对小核心而言是比较大的size了,就这一点也在乱序度上胜过了Skylake。与此同时比较令人惊讶的是配套的总共17个执行端口,比上代Tremont核心不知多到哪里去了。放在后端里面,的确是“宽后端”的设计(性能核Golden Cove也就12个)。
后端执行单元部分包含4个整数ALU,其中2个能做MUL/DIV(乘法/除法);4个AGU(地址生成单元),2 Load、2 Store;2个分支端口;2个额外的整数存储端口;2个浮点/矢量存储单口;3个浮点/矢量ALU(2x AES/FMUL/FADD,1x SHA/IMUL/FDIV)。
这么宽的后端,相较Tremont而言是一次比较大的跃进,前端怎么喂饱后端是个问题。前文提到了Gracemont在指令集支持方面,加入了AVX2,而且有加速AI任务的AVX-VNNI;以及一些安全相关(如CET,Control-Flow Enforcement Technology)的支持。想必这种指令对称性实现,也增加了设计的复杂性和规模。
存储子系统部分, 前面提到AGU相关的规模加倍(每周期2 load +2 store地址生成操作),还包括32KB L1-D cache,意即2x16字节load与2x16字节store至L1-D cache。
前面的大图中已经看到了每4个Gracemont核心共享最多4MB L2 cache(可选配2MB),17周期延迟。L2 cache可支持每核每周期读/写64字节。L2 cache带一个64条目的fill buffer,用以支持所有cache未命中至LLC或内存。
共享L2 cache以每核心分配到512KB来算,满载场景下,如前文所述这一整个集群(即4个核心)的E-core在CPU内部的Compute Fabric上只是一个stop,未知是否可能产生瓶颈。
性能核,驱动下一个10年的基础
接下来就该看看这次最大的重头戏Golden Cove性能核了,“专为速度而设计,推进低延迟与单线程应用性能的限制”。Intel对于Golden Cove的总体评价是,“更宽、更深、更智能”(wider, deeper, smarter),这次更新在这三者的体现上还是相当有趣;另外从下面这张图来看新增了Matrix Engine矩阵乘引擎,用于AI加速——不过主要是面向Sapphire Rapids,而非Alder Lake的;以及PM电源管理控制器,实现更高精度的电源预算管理。
首先来看总体性能提升描述。Intel提到,“本次微架构提升水平,从通用性能来看,覆盖较大范围的工作负载,平均提升大约是19%。”这里19%的数字指的是同频下的性能提升,意即可理解为IPC提升。19%的IPC隔代性能提升绝对是相当大的幅度。
Intel方面说,“这种程度的提升,甚至比Sunny Cove核相较Skylake核的提升还要大。”不过针对这张表有两点需要注意,其一是注意小字部分提到,这里与Golden Cove做对比的是Cypress Cove,也就是桌面端11代酷睿处理器的核心。11代酷睿的桌面版处理器用的仍是14nm架构,属于Sunny Cove的向前移植版本;在性能上应当会略弱于Tiger Lake的Willow Cove核心。不过19%也依然是相当惊艳的数字。
另一点是,这个19%的数字是个均值。是Intel从SPEC CPU2017、SYSmark 25、Crossmark、PCMark 10、WebXPRT 3、Geekbench 5.4.1等测试综合后的结果。从这张图来看,某些性能测试甚至能够实现1.6倍的性能提升,但似乎也有一些测试是存在倒退的。这是未来需要研究的部分。
从这19%的数字也能看出一件事:在AMD那边推行Zen/Zen 2架构之际,Intel慌忙迭代了Skylake,以实现性能上的一次飞跃。其实以以前PC/服务器行业的常规来看,以Sunny Cove为基础做改进和迭代,还是可以沿用数年的——当时Sunny Cove就实现了相比Skylake大约15%左右的IPC提升,后续的Willow Cove就属于一个小改款。只是如今的市场格局不似从前了,Intel也早就无法像过去那样高枕无忧;不过短短两年时间就又来了一次IPC飞跃。不得不慨叹,如今的电脑真是撑不了多久就得被淘汰;以及PC处理器市场竞争的愈发激烈。
另一方面,Intel也提到这次的P-core“不仅是Intel有史以来所造最高性能的CPU核心,也会成为驱动未来下一个10年计算的CPU架构性能基石(step function)”。所以这次的Golden Cove在微架构改进上,还是相当的大胆,并且对Intel而言必须具备前瞻性。
Golden Cove的前端部分有了显著的加宽,此前苹果M1刚发布之际所有人还在大肆盛赞M1的架构有多宽。而且似乎基于AMD此前所述,x86变长指令做解码,要做前端拓宽是存在难度的。但Intel这次好像反手给了一记耳光。
Golden Cove的解码宽度从4-wide增加到了6-wide,以及解码宽度增加50%,虽然我们不清楚Intel具体是怎么做的,不过对x86而言这必然会增加前端电路的复杂度。此外配套fetch宽度每周期增至32字节,fetch带宽翻倍。
μop cache自2.25K条目增加至4K,发出从6μop/周期增至8μop/周期——跟上主流步伐的节奏,增加命中率并进一步减少需要走解码路径的开销。μop队列单线程队列容量跨越至144条目,开启超线程则小幅增至72条目。I-Cache仍为32KB,不过iTLB 4K页从128条目增至256条目,2M/4M页增至32条目,实现更大代码覆盖能力,针对大代码也能实现延迟表现的提升。
解码宽度加宽以后,指令预测机制自然也需要进一步优化,否则会面临预测错误后更大的惩罚。Intel提到有关这方面的努力,主要包括L2分支目标缓存(BTB)结构由5K条目增长至12K条目,近2.5倍的大幅提升,比隔壁家的Zen 3大了很多。Intel在这页PPT上标注“smarter”,意指分支预测精度提升。演讲中提到“更智能的代码预取机制”,“用机器学习算法,动态缩放其(BTB)尺寸,不需要的时候就关闭多余容量来节电,需要的时候开启额外容量以提升性能”。
前端的拓宽看起来是全方位的,也最能体现Golden Cove在架构改进上的革新。核心中段(乱序引擎)的变化也很大,μop rename/allocation从前端过来的宽度从以前的5-wide变为6-wide,往后端去。
ROB(重排序buffer)则加深到了512条目,以前是352——还记得我们分析M1的时候强调苹果的ROB深度极深吗?Golden Cove上的ROB部分配置目前应该也仅次于苹果,远超Zen 3了。感觉加了能效核心以后,这种大核上的拓宽操作也能变得更放心?未知高性能区间的能耗表现是否会因此有什么影响。
Intel方面谈到P-core有个智能机制,可通过在allocation分配阶段执行一些简单的指令,来打破指令的依赖链(collapsing dependency chains),以此实现资源节约,提升效率。似乎从前端开始的比如BTB,和此处allocation阶段等细微处的“smarter”改进,可能都着意于在架构拓宽后尽可能地提升效率,在必要时降低能耗。
Golden Cove的执行端口由10个变为12个,仍然是融合型的执行端口设计:前文提到Gracemont的时候,从图片中可以看到,其整数和浮点/矢量执行端口是分开的管线,但Intel的大核普遍都不走这个路线。
整数执行单元部分,多加了一个执行端口和对应的管线,其下是ALU和LEA。“所有5个LEA执行单元,都能用于做一般算数计算,如加法、减法和一些固定数字的乘法。添加在 port 10上的LEA,也可在单周期内执行各类操作。”
浮点/矢量执行单元部分,在port 1和5之上新增专门的FADD(浮点加),相比以前用FMA显著提升了效率。另外,AVX-512引入了FP16数据类型支持,虽然Alder Lake上并不会表现出这项特性了。其实后端的宽度相比前端的大幅变化,似乎没有发生什么大改,也许一方面是在为将来的架构更新做铺垫,以及需要兼顾数据中心端Golden Cove更多特性的实现。
这里另外可以额外展开的是AMX(Advanced Matrix Extensions),上面的后端执行单元部分也能看到。这是用于AI应用IPC显著提升的加速单元,用于机器学习inference和training,主要其实是面向数据中心,是Sapphire Rapids的主要组成部分,理应不会在Alder Lake的混合架构设计中得到支持。我们简单地说说。
其实VNNI已经主要提供了INT8 inference能力,不过Intel认为这是不够的,所以AMX对此推升了8倍,每核每周期可实现2048次INT8操作,和2-wide FMA上运行的VNNI相比,计算吞吐量高出8倍,功耗则少于3倍。AMX也能每周期执行大约1000次的Bfloat16运算。其具体构成,我们在未来有机会聊Sapphire Rapids的时候再说。
接着说Golden Cove的存储子系统。新增了一个port 11执行端口,带load AGU,提升load操作带宽,每周期3x256bit load操作,针对数据中心维持从L1的2x512bit load操作。
为实现进一步的存储并行度,Intel提到其“内存子系统学习如何想必以前,以更高的效率识别独立的load和store操作。识别到冲突以后,可立即响应,实现极低限度扰乱下的恢复。”包括存储数据直接load操作的时延优化等,虽然具体的也没怎么细说。除此之外,L1-D TLB相比之前增大50%到96条目,L1-D cache本身可并行fetch更多25%的未命中。
另外load与store buffer增大,增大多少未知;L1-D fill buffer由12条目增多至16。L1-D prefetcher提升方面据说有很大幅度的提升(confidently lock on a stride patterns…extended its reach 8x compared to the previous generation);以及Page walker由2增至4,主要对大型、不规则数据集的工作负载有显著提升。
L2 cache部分,对Alder Lake这个消费端处理器产品而言分配每核心1.25MB大小,数据中心的Sapphire Rapids则为每核2MB。另外,缓存未命中可并行处理的数量从此前的32提升为48。此处,Intel强调“全新的L2 prefetch预取引擎,更深入地理解程序行为。这个引擎会观察运行中的程序,估算未来的存储访问模式。”
除了以上提到的这些,这次的P-core也有“核心自主、细粒度的功耗管理技术”,P-core继承了“新型微控制器,能够以微秒的粒度(而非毫秒)来捕捉、负责事件,基于实际的应用行为来提升功耗预算利用率。最终实现对于任意应用更高的平均频率。”这是文章这部分最开头那张图提到的PM提升。
核心间的调度机制
最后一部分来谈谈Intel这次着重强调的Intel Thread Director机制,用于核心间的线程调度的。在用多种不同核心的情况下,处理器或者操作系统就需要对此有感知,分析行进中的每个线程,实现智能的调度,才能给到真正比较好的体验。
Arm及合作伙伴,以及谷歌Android在配合上也已经有相当多年的经验了——虽然这个部分似乎并不怎么为外人所知。比如高通骁龙810比较早地应用了类似Energy Aware Scheduler的方案,是更早从PELT做转向的——此前Arm也在这方面多有探索,毕竟大小核甚至更多集群的核心是Arm阵营的常规。在线程于大小核心的迁移上,Intel对面阵营可是做出了多年尝试的。
而微软和Intel,除了有前期的Lakefield练手,在Alder Lake上做这种实践还算是新手。而且需要考虑一个问题,就是Intel处理器普遍还在用超线程技术,这给线程调度增加了进一步的难度。Intel对此提出的就是Intel Thread Director方案。
Intel这边作为芯片厂商来说,其角色应该是帮助操作系统做出智能决策,应付游戏、内容创作、生产力工具等各种类型的负载,令其动态适应温度、功耗的变化。与此同时,在生态方面Intel和微软应该做的,也是在几乎不需要软件开发者重写代码的情况下,就实现软件任务方面的调度工作。
这种Thread Director方案,在Intel这一侧是以较细的粒度监测指令组合、每个核心当前的运行状态、相关微架构的情况。把这些信息都收集起来,提供给操作系统,让操作系统做调度决策。这里的操作系统当然就是Windows 11了——Windows 10应当并不支持硬件级的Thread Director,而会用一种叫做Hardware Guided Scheduling的机制就操作系统层面做调度。
虽然Intel并没有具体说这种Thread Director方案是怎么做的,但举了两个例子。比如用户启动了游戏或者内容创作软件,这属于性能需求比较高的任务,很多线程首先肯定分配到P-core上;而后台如邮件同步、网络驱动备份之类的低优先级任务,会主要放在E-core上跑。
如果现在发生了这样一个情况:P-core处于满载状态,又有个线程正需求高性能——比如AI指令。在这种情况下,Thread Director就会给操作系统做出一个反馈,提出有高性能线程需求存在。与此同时Thread Director又能够发现,基于目前的情况,目前在P-core中跑的某个“候选”线程可以迁移到E-core,那么就会腾出空间来,让位于后面的AI线程。
Intel强调在此一切软件都是动态的。再比如,有个跑在P-core上的线程进入了回调状态、等待工作出现,则Thread Director会把情况汇报给操作系统。该线程会移往E-core。
似乎在实现上,Thread Director是将一个嵌入式微控制器放进处理器中,用以监控每个线程在做的事情,以及其需求;参详其load、store、分支、平均存储访问时间、访问模式、指令类型等。然后给Windows 11操作系统scheduler提供反馈。操作系统本身自然也需要综合各种信息来做判断。
尤为值得一提的是,Intel表示Thread Director对一个线程做这种分析可短至30μs的时间,而传统操作系统scheduler层面做出类似的推断则可能需要数百毫秒,所以其延迟带来的体验差异会很大。另外,Thread Director也能对频率、电压和功耗做调优,主要在移动处理器上会表现出价值,而且频率调节的响应速度也以μs计。在笔记本平台,尤其适用电池的功耗敏感场景下,保证体验基础上的线程迁移与调度,还是相当考验功力的,也是未来的Intel笔记本能否真正实现续航显著提升的关键。
有个比较有趣的场景是,国外媒体AnandTech获取到的信息,对于超线程的问题,会在处理器上的所有核心(包括P-core和E-core)每个核心每个线程占满后,才考虑启用P-core的超线程。比如对于桌面处理器8个P-core,8个E-core的情况,来了个16线程工作负载,则它们将占满8个P-core和8个E-core。据说这么做会比单纯用8核P-core做超线程实现更高的性能(果然E-core是可以刷分的)…
微软在Intel Architecture Day当天也为Intel站了台,提到Windows 11与Intel之间的配合工作。微软谈到操作系统scheduler对于线程上的工作负载是没有可视性的,不管是复制内存操作,还是执行什么复杂的计算。所以在Thread Director配合以后,Windows 11的线程scheduler就能够基于工作负载动态选择合适的核心,获得最佳性能和功耗。
最后值得一提的是,Windows 11在系统层面扩展了PowerThrottling API,开发者可以指定其线程的QoS属性,新的EcoQoS类指定scheduler线程倾向于能效还是性能。Windows 11中的各部分组件,如Edge浏览器等都已经应用了EcoQoS API。另外就是微软未来还会对scheduler做更进一步的优化,许多特性都已经在规划阶段了。
总结:大跨步,待实践检验
这次Alder Lake,以及其能效核E-core和性能核P-core,在架构层面的确称得上是大跨步。怪不得性能核Golden Cove极有可能成为未来多年的架构更新基础。这次我们没有详谈Sapphire Rapids,事实上这代至强处理器在SoC层面的更新也是相当彪悍的,未来有机会我们会撰文单独做阐述。
总结一下这次的Alder Lake首次采用了混合架构设计,CPU部分同时采用性能核Golden Cove和能效核Gracemont,无论对于效率(功耗)还是性能,预计都会有不小程度的提升,尤其x86阵营首次采用这种设计,应用于移动平台的功耗表现是相当值得期待的。
能效核Gracemont后端显著加宽,并且首次加上了AVX2支持,令其性能显著提升;甚至在中频性能区间内,都能以显著更节能的状态,在性能上碾压几年前的Skylake了,而且差距显著。不过也因为能效核与性能核需要做到指令集支持对等,所以Alder Lake失去了AVX512支持——即便可能对很多个人用户而言,这也未见得是个坏事。
而性能核Golden Cove的IPC跃升19%,相较Cypress Cove/Willow Cove,甚至比此前Skylake->Sunny Cove的提升还要大(虽然貌似最早Intel宣称Sunny Cove比Skylake的提升也是19%),成为十多年来Intel处理器性能提升幅度最大的一代产品。Golden Cove显著拓宽的前端,尤其decoder加宽至6-wide和分支预测精度的对应变化,以及乱序引擎显著增加的深度和乱序度,都是x86阵营改进中比较激进的;虽然其后端变化似乎并不是很大。
Golden Cove应用于Sapphire Rapids,仅作为一种处理器核心存在时,AVX512方面的加强,以及增加AMX实现成倍的AI性能提升都是本文未曾细谈的。
不过这些大跨步式的跃进仍然有待最终产品实际表现的检验,尤其将架构在很多层面拓宽到比隔壁Zen显著更激进的程度,以Inte 7工艺(原10nm Enhanced SuperFin)制造能不能获得理想的效果;性能核拓宽的前端是否能带来预期中对等的性能核效率提升。以及Intel在不同核心间的调度,与微软的配合都属首次,对家Arm在这方面已经做了很多年了,毕竟操作系统做线程调度的高效性,会极大程度影响到实际的用户体验。这也是有待实际产品经受日常使用的考验的。
我们非常期待这次的Alder Lake产品。Alder Lake的预期上市时间是今年第四季度,看起来在11代酷睿之后这么短的时间就推12代酷睿,现在的市场竞争果然是越来越激烈了。另欢迎持续关注接下来要更新的Xe GPU篇。 |
|