当前位置:首页>Linux>Linux支持CPU大小核的原理

Linux支持CPU大小核的原理

  • 2026-10-21 13:27:22
Linux支持CPU大小核的原理
随着移动设备的快速发展,新电脑硬件设备近年来也开始了大幅度的创新。以前也许是移动设备在“抄”电脑PC的作业,现如今电脑硬件也开始学习移动设备。
比如手机,因为要保持更长的待机时间要采用低功耗CPU,又要兼顾高清视频播放和游戏体验使用高性能CPU,于是出现了大小核的CPU设计理念。
现如今,电脑CPU的主力Intel和amd,也纷纷推出了大小核的CPU设计,来保证笔记本电脑的使用体验。
就拿Intel来举例,其具有大小核能力的CPU,拥有P核(Performance Cores)主要为了高性能和E核(Efficient Cores)高效率也就是小马拉大车的低功耗省电。
这是硬件和软件互补的真实体验,毕竟无论现在的Windows还是Linux系统,都是多任务并行处理的操作系统,而多核就是最好的应用。
但是多任务不代表,任务的资源消耗是相同的,那么将不同资源消耗的任务进程分配到不同频率的CPU内核上,才是合理的方式。
于是乎,Intel就设计出了,不同的频率的CPU内核组合在一个CPU上的情况,随着几代产品的完善,如今已经较为成熟。
针对大小核的CPU,目前支持较好的操作系统还得是Windows11,Windows10在补丁的加持下,能够区分出CPU有大小核的区别,但是调度的并不十分好。
Windows 11 支持Thread Director模式的运行,按照CPU给到的不同的核的分数值,巧妙的分配正在运行的任务。
而Linux并不能像Windows11那样,将一个整合包含硬件启示行为的微控制器,加入到Linux内核调度机制中。但是Linux也想办法处理支持这一模式。
那么Linux对大小核的支持原理是什么样的?
其实,只是在Linux系统中不会经常看到Thread Director这名字,而是HFI(Hardware Feedback Interface)硬件反馈接口。
在2022年,Linux内核5.18版本时,开始出现对大小核的初步支持,现在如果你的设备的CPU是大小核的,建议升级内核到6.12版本以上。
在Linux内核5.18版本,HFI作为一个桥梁出现,它将大小核的分数值分别读取到一个表中。然后动态的调整它们在这个表中位置。
比如当一个P核处于高负载预算一段时间后,硬件设备告知HFI需要中断一下,HFI会转告Linux内核调度器,这个CPU核心要降频运行,请把繁重的任务转移到其他位置。
在后续的Linux内核中,Linux逐步将任务指令进行分类,比如一个线程在执行大量的AVX-512指令,硬件可以暗示到Linux调度器,该线程需要一个高性能的P核处理,以避免性能浪费损失。
如果设备是intel的新设备,就可以查看一下,当前的Linux是否完美支持:
dmesg | grep -i hfi
如果有显示,那么就是很好的支持了。
相关阅读:
Linux 要不要更新内核?
一代经典Linux内核Linux kernel 5.4落幕!
感谢关注

最新文章

随机文章