Inter电源管理技术Intel Speed Shift与Thread Director
Intel Speed Shift
Intel Speed Shift 技术为从Intel 第六代 Core 处理器开始的搭载的。
Intel Speed Shift一种动态电压频率切换技术SpeedStep,它可以动态调节处理器的工作频率、电压,这样可以
- 在处理器负载较低的时候降低系统功耗和处理器工作温度。
- 在处理器负载较高的时候全速运转,提供全部的性能。
从Intel Skylake是英特尔第六代微处理器开始,Intel Speed Shift技术让处理器直接与电源控制模块连通,也将所有的电源状态都开放给了操作系统,因此可以实现最快1毫秒的响应时间。
Speed Shift EPP(Energy Performance Preference)(能源性能偏好):即硬件自主根据提示工作量快速变化频率以获得最优能耗。调整其 EPP 参数可以影响 CPU 对任务的响应性能。比如当 CPU 利用率较低时,通过提高 CPU 主频,可以缩短任务运行时间。 EPP 允许设置范围为 0~255 :0 表示 CPU 更倾向于工作在最大睿频(性能),255 表示 CPU 更倾向于工作在较低频率(节能),通过降低该数值可以解决某些情况的降频。 插电/希望获得最大性能:推荐设置在 0~32 之间。 不插电/希望延长电池使用时间:至少设置为 128。
- realtime,在低负载下提供最好的实时性能,EPP=0
- fast,在负载较轻时保证低延时的场景,EPP=16
- steady,保证重负载下温度稳定时,适当倾向低负载的速度,EPP=128
- energystar,主频保持最低,目前我认为是最有利于节能的方式,EPP=255
Thread Director
INTER 12代酷睿开始,英特尔使用了混合架构,在一个CPU中集成了两种核心。
- P核:面向少量线程应用的性能核心 (Performance Core, P-core),继续加宽架构获得更高IPC性能并保持最高可达5.2 GHz工作频率,为传统应用提供最优秀的交互体验;
- E核:面向需要大量线程处理海量数据的各种新兴应用的能效核心 (Efficient Core, E-core),可以提供更高的能效比,同时大幅降低消耗晶体管数量从而减少芯片面积,单个CPU可以容纳下数量更多的E-core,提供更高的多线程吞吐性能。
为了解决两种核心的使用调度情况,英特尔推出了Intel Thread Director技术。在CPU中集成的硬件电路,以纳秒级的间隔监视各核心和线程的运行情况,向操作系统提供运行时反馈。而在最新的Windows 11可以根据CPU反馈的运行时数据,结合当前的电脑使用环境,例如使用交流电还是电池供电、用户设置的电源模式、应用是需要快速响应的前台应用还是后台服务,把线程分配到适合的核心上去执行。
Intel将任务根据IPC在P核和E核上的比值,将任务分为了四类:
- Class0:大部分的应用 Most Applications
- Class1:使用AVX/AVX2指令的工作负载 Workloads using AVX/AVX2 instructions
- Class2:使用AVX-VNNI 指令的工作负载Workloads using AVX-VNNI instructions
Class3:瓶颈不是计算引起的,而是IO或者不可调节的死循环。Bottleneck is not in the compute, e.g. IO or busy loops that don’t scale