Pstate

(1)P-State (processor performance state)

P-State (processor performance state):处理器支持的 voltage-freq 列表

处理器可以工作在不同的频率,对应不同的电压(最终体现为功耗)。这些 voltage-frequency 组合就称为 P-State(处理器性能状态)。 比如下面这个 P-State Table(这个 table 会保存在一个名为 MSR (model specific register) 的 read-only 寄存器中)

Voltage Frequency
1.21 V 2.8 GHz (HFM)
1.18 V 2.4 GHz
1.05 V 2.0 GHz
0.96 V 1.6 GHz
0.93 V 1.3 GHz
0.86 V 600 MHz (LFM)

P-State 是 CPU 电压和频率的操作点的集合,电压和频率都会随着 P state 状态的改变而同时发生变化。P state 目的根据负载是动态的增加和减少 cpu 电压和频率,以达到用户在节能和性能方面的需求

LFM/HFM (low/high freq mode):p-state 中的最低和最高频率;在 p-state table 中

  • 最低频率模式称为 Low Frequency Mode (LFM),工作频率和电压不能比这个更低
  • 最高频率模式称为 High Frequency mode (HFM),工作频率和电压不能比这个更高

amd_pstate CPPC 有 3 种操作模式:自主(active)模式、非自主(passive)模式和引导自主(guided)模式。通过不同的内核参数可以选择 active/passive/guided 模式

  • 在自主模式下,平台会忽略所需的性能级别请求,并仅考虑设置为最小、最大和能量性能首选项寄存器的值
  • 在非自主模式下,平台直接通过所需性能寄存器从操作系统获取所需的性能水平
  • 在引导自主模式下,平台根据当前工作负载并在操作系统通过最小和最大性能寄存器设置的限制内自主设置操作性能级别

(2)基频(base frequency)与超频(overclocking)

根据 p-state 的定义,处理器的最低(LF)和最高(HF)频率

但在市场宣传中,厂商将 HF —— p-state 中的上限频率 —— 称为基础频率或基频(Base Frequency)

将 HF 称为基频,那处理器(至少在某些场景下)肯定能工作在更高的频率

  • 处理器厂商出于功耗、散热、稳定性等方面的原因,会给出一个官方认证的最高稳定频率 (clock rate certified by the manufacturer)但这个频率可能不是处理器的物理极限(最高)频率。 厂商承诺在这个最高稳定频率及以下可以长时间稳定运行,但超出这个频率, 有的厂商提供有限保证,有的厂商完全不保证
  • 工作在比处理器厂商认证的频率更高的频率上,就称为超频(overclocking)

“官方认证的最高稳定频率”就是基频(HF), 工作在基频以上的场景,就称为超频。比如基频是 2.8GHz,超频到 3.0GHz

(3)Intel Turbo(睿频) 或 AMD PowerTune:动态超频

Turbo 是 Intel 的技术方案,其他家也都有类似方案,基本原理都一样:根据负载动态调整频率 —— 但这句话其实只说对了一半 —— 这项技术的场景也非常明确,但宣传中经常被有意或无意忽略: 在部分处理器空闲的情况下,另外那部分处理器才可能动态超频

所在官方文档说,我们会看到它一般都是写“能支持的最大单核频率”(maximum single-core frequency) 叫 Max Turbo Frequency,因为它们在设计上就不支持所有核同时运行在这个最大频率。

原因其实也很简单: 频率越高,功耗越高,散热越大。整个系统软硬件主要是围绕基频(HF)设计和调优的, 出厂给出的也是和基频对应的功耗(TDP,后面会介绍)。 另外,TDP 也是数据中心设计时的主要参考指标之一,所以大规模长时间持续运行在 TDP 之上, 考验的不止是处理器、主板、散热片这些局部的东西,数据中心全局基础设施都得跟上