三种CPU核心:3D混合架构 关键在于调度
其实,单纯的计算模块没什么好讲的(缓存容量都暂未公开),最大的变化来自于SoC模块中新增的两个低功耗E核(LPE),专门用于处理器轻负载任务,能够让整个计算模块可以按需关闭,节省功耗。
这两个LPE核心,加上内存子系统、媒体引擎、显示引擎、IPU单元、NPU单元、可扩展交叉总线等,共同构成了所谓的低功耗岛(Low Power Island)。
Intel称之为3D性能混合架构。
两个LPE核与E核、P核虽然位置不同,但地位是相等的,对于系统也都是透明的,所以会在Windows任务管理器中会看到三种核心及其各自的使用率。
目前已知酷睿Ultra的最高规格是6+8+2核心,也就是6个P核、8个E核、2个LPE核,组成16核心22线程。
当然,这种更复杂的混合架构,非常依赖软硬件两个层面的调度优化,比如操作系统当时最好使用最新版的Windows 11。
与此同时,Intel对线程调度器做了大幅的革新,比如增强的系统反馈机制、增强的模块间能效分配、动态的IP间功耗分配、基于SoC运行时能力的更新、基于系统运行模式与硬件特性的指导,等等。
需要强调的是,线程调度器并不是直接调度线程的,不会直接把某个线程分配到某个核心上,严格来说是介于处理器硬件、Windows系统软件中间的一层机制,基于P核、E核、LPE核的实时状态与能力,向操作系统进行反馈、推荐,由操作系统最终决定线程的分配。
如上图,Intel和微软联合对不同的线程负载进行了分类,其中Class 0代表在P核、E核上执行时的每时钟周期指令数基本一致,也就是让谁跑都无所谓,就看谁闲着。
Class 1代表P核执行效率高于E核,比如大部分浮点运算,会优先分配给P核,如果P核不够用了也可以分一些给E核。
Class 2则代表P核执行效率远大于E核,比如AI运算,就必须让P核来做。
Class 3是新增的,代表那些在LPE核上的执行效率与能效反而更高。
线程调度器会随时将这样的指令/线程分类反馈给系统调度器,然后共同形成一份“表格”,对线程负载进行打分,在多大程度上追求高性能(Perf)还是追求高能效(EE),再结合每个核心当前的实时能力,决定让哪个核心执行哪个指令。
这样的反馈和推荐机制是实时的,还会根据当下的功耗情况,甚至某个核心是不是刚刚执行完一条指令,动态报告给操作系统。
就是这样一套机制,可以尽可能保证在正确的时间,让正确的核心运行正确的线程,保证硬件效率的最大化。
举个例子:一个前端应用需要高性能,它有四个线程分配给P核,然后有两个轻负载的线程分配给E核。
之后经过一段时间,P核上的四个线程执行完毕,E核上的两个线程还在执行。
此时,线程调度器很可能就会建议系统将这两个线程转移到LPE核上,然后关掉整个计算模块。
再比如,有两个线程正运行在LPE核上,此时SoC模块开启、计算模块关闭,然后来了四个要求高性能的线程,于是计算模块打开,它们被分配到P核上。
这个时候,线程调度器就会提出建议,将LPE核上的两个核心转移到E核上继续执行,同时就可以关闭SoC模块上的LPE核以及相应的内部总线。
酷睿Ultra的这种设计无疑是为了进一步提高能效,使用最合适的核心运行最合适的负载。
同时它还加入了专门的NPU AI引擎,可以非常高效地持续执行一些AI推理任务负载,无需动用CPU核心,可以让后者随时关闭。
正是这些设计,使得Intel喊出了酷睿Ultra是其史上能效最高的消费级处理器,让我们对酷睿Ultra笔记本的续航充满了期待。