答疑解惑英特尔12代CPU:性能混合架构不难理解
英特尔预计将于2021年第四季度正式推出其第12代酷睿台式机处理器以及配套的600系列主板。在不久前进行的英特尔架构日2021上,英特尔官方已经介绍了有关第12代酷睿台式机处理器的大量信息。此次笔者根据官方资料,答疑解惑一些关于第12代酷睿台式机处理器的热门话题,希望能够帮助大家进一步了解第12代酷睿台式机处理器。
一,首先了解一下英特尔第12代酷睿台式机处理器的一些重要特性和术语。
为什么英特尔这里用性能混合架构,而不是传统讲的“大小核”?是因为英特尔在设计混合架构的时候是有不同的技术诉求的。(另外,我们不使用“大小核”说法,而是用“能效核和性能核”的说法)
英特尔在原来Atom Mont核上换成了混合处理器的能效核(E-Core),它更追求能效,它会在多线程以及线程吞吐上有所加强。再看传统酷睿用的Cove-core是在几个层面,包括单线程的性能、降低延迟以及多线程性能和吞吐上也有对应的提升,也就是说,它并不同于英特尔传统意义上的Cove和Mont,这两者之间,英特尔进行了一个架构的结合,也就是今天大家看到的性能混合的组合。
这一点就是为什么英特尔一直在强调英特尔会采用性能核(P-Core)和能效核(E-Core),而不是说像传统其他的混合处理器所采用“大小核”的称谓,主要就是因为性能混合的架构所追寻的更大跨度的产品,从超轻薄的处理器一直到台式机的高性能的处理器。同时,它不仅仅是追求能效,它更多是如何在获得更好性能的情况下,同时兼顾能耗,这些诉求和传统的混合处理器是不太一样的。
另外,英特尔在交付性能混合处理器架构的时候,还有一个非常重要的线程调节机制,也就是硬件线程调度器。英特尔这个基于硬件的线程调节器非常重要的是做到了两件事情:第一,它不是静态的,它不同于以往的混合处理器的分配原则,不是一个固化的原则,而是根据实时的监控内核状态然后做出一个动态和智能的反应,这一点是不同以往的。这一点带来的最大好处是软件不需要为这样的策略去重新写代码。如果是固定线程调配,软件就需要考虑把哪些线程放到更高性能的核上,哪些线程要放到更追求能耗的核上面,而通过硬件线程调度器这种实时动态智能调整,软件不需要做这样的适配和调优。第二个比较重要的点,英特尔在做硬件线程调度器的时候,英特尔率先是在微软的Windows11这个操作系统上实现了硬件级别的线程调整,这是跟操作系统线程调节之间非常好的互动。英特尔把更多内核信息通过我们的这项技术分享给操作系统的调度器,操作系统就更有信心,也可以更好的在系统级别去做操作系统的调度,这也是一个非常好的“软硬结合”的整套体系,而这套体系也能更好服务于性能混合的性能核和能效核。
二,桌面级处理器用到能效核(E-Core)的主要价值是什么?
英特尔4个能效核的Die Size和1个性能核的是一样的,同样一个Die Size当中可以放4个能效核。所以即便在桌面端,能效核的价值也很重要。
稍微补充一点,引入了这样一个能效核会带来两个方面的好处,一个好处是可以让性能核更专注于服务那些需要更高性能的线程,这样更可以充分发挥能效核对性能需求更大的线程处理效率。另外一个,在整个的 PC 处在相对低任务负载情况下,通过能效核可以让整个处理器具有更好的能耗表现。
三,Windows 10系统未来是否会得到硬件线程调度器支持?
硬件线程调度器在Windows 10上还在做一些工作,但是目前还没有细节的披露。在没有操作系统级别的调度情况之下,实际上英特尔还是有一些线程调度策略的。比如英特尔在线程方面会优先考虑性能核,然后再去考虑能效核,最后再做多线程的考虑,本身也会做优先级的排序。
四,硬件线程调度器调度不需要软件调优适配的话,英特尔如何保证实现的调度机制是准确无误、能分配给应用真实需要的资源?
硬件线程调度器是没有采用固定的线程性能核和能效核的分配的逻辑,采用的是动态的。它所带来的好处是说不需要软件去指定我去分配到哪一个核,因为你如果是固定策略,那么软件就需要考虑线程是在哪一个核上面,按照这种固定的规则更合理。但是动态的话,它带来的最大好处是说,它是根据实时的性能核和能效核的运行状态和马上要到来的线程,是需要更多的性能还是不需要做这样的智能调整。
如果说到准确无误,这个东西很难讲,因为在真实世界发生的所有的事情我们很难在某一个时间片段,说它是百分之百做出一个正确的选择。但是总的来说,这样一个动态、实时以及更智能的,尤其是还有操作系统调度介入的情况下,相对来说它的这种调度机制会更加合理一些,而且它也会更加灵活。如果是固化的调度机制,一旦出现不合理的地方需要改进就比较难,因为它是固化过的。
五,不管桌面、移动处理器,超低压移动处理器用的都是8能效核,主要是性能核数量不同,这是出于什么目的设计的?
基本上是这样一个原则,就是在英特尔设计新的Alder Lake的性能混合混合体系架构的时候,因为它要匹配超轻薄的处理器到移动处理器以及更高性能台式机处理器,它需要不同的TDP的设定以及不同的功率和性能表现,这些都要对应匹配相应的混合处理器CPU的number。就像刚刚提到的,因为能效核,4个能效核才相当于一个性能核硅的面积,所以它可以提供更好的高集成度。随着能效核更多追求多线程和线程吞吐,所以在混合处理器当中,它扮演很重要的角色,而且它的多少并没有影响到整个处理器非常大的功率的变化,这也就是人们从视频当中看到这个幻灯片所显示的,为什么这种超轻薄的核会在性能核上有这样显著的差异。
六,在游戏中的运算线程是如何分配给性能核与能效核的?
硬件线程调度器会让CPU看到性能核和能效核现在的情况,以及整个CPU的电源和功耗状态,然后去提供硬件线程调度器的信息给到系统,让系统来做调整。从不同的应用场景来说,比如游戏当中的某个场景,每个游戏都有不同的线程,根据不同线程的要求,硬件线程调度器自己去做分配,有一些给到能效核,有一些给到性能核。因为即便在同一个游戏里也有不同的线程,也并不是所有的线程都需要性能核来处理。根据硬件线程调度器看到的一些CPU内部的情况,由系统来进行比较智能的调度。
七,如果单个对单个的话,能效核频率最高可以到性能核的多少?
这个要到产品发布的时候才会有更多的资料。
其实大家不要把这个架构想得太复杂,所有的分配并不是英特尔用固件做的,所有的分配都是系统做的,英特尔做的只是把每一个 Core 的状况负载报告给系统,让系统判断。所以英特尔一直强调目前英特尔和Windows 11合作非常密切的原因是Windows 11的系统会做这样的判断。英特尔只是说把每一个核心的执行的状态非常细节的报告给系统,然后让系统根据现在有哪些软件进来再去分配资源。