AMD 新技术可让 Linux 直接读取 CPU 最大频率,未来有望用于提升 Win11 系统调度能力

文章报道AMD为Linux的AMD P-State驱动提交补丁,增加对CPPC HighestFreq寄存器的支持。该特性允许固件直接向操作系统报告每个核心的真实最高加速频率,避免当前依赖CPPC抽象性能值做线性插值而带来的估算误差,从而能更准确地计算CPU容量和加速比,帮助调度器(如识别“首选核心”)将高负载任务分配到更能维持高频的核心。该寄存器正在通过ACPI规范工作组提案(有望入ACPI 6.7),若被采纳并且操作系统厂商(例如微软)添加支持,未来Windows也可能受益。

5 月 10 日消息,Gazlog 发现,AMD 为 Linux AMD P-State 驱动提交了一项名为“CPPC HighestFreq”的新特性。

该特性允许 CPU 通过固件直接向操作系统(预计也将应用于 Win11)报告每个核心最真实的最大加速频率,从而跳过操作系统频率估算环节。

目前,Windows 和 Linux 等操作系统无法直接从固件读取 CPU 的加速频率信息,只能依赖 CPPC(IT之家注:Collaborative Processor Performance Control)提供的抽象性能数值,通过线性插值方法来估算加速行为。然而,在新款 Ryzen 处理器上,不同核心的性能与频率映射关系并非线性,这使得估算方法的准确性有所下降。

针对这一局限性,AMD 工程师 Mario Limonciello 于 5 月 4 日提交了上述 Linux 内核补丁,引入了 CPPC HighestFreq 寄存器的支持。

Limonciello 解释称,在某些系统上,由于各核心的性能与频率映射不呈线性关系,无法通过 CPPC 性能值的线性插值准确计算加速比。这一寄存器目前正通过 ACPI 规范工作组(ASWG)进行提案,有望纳入即将发布的 ACPI 6.7 规范。该寄存器可直接提供实际最高频率,从而消除系统估算需求,用于确定更精确的 CPU 容量计算和加速比。

现代 Ryzen 处理器已经依赖于 CPPC 技术来管理性能和频率。引入 HighestFreq 后,操作系统能够识别每个核心的真实最高频率上限,这对于充分利用 Ryzen 处理器已有的“首选核心”机制具有重要意义。

简单来说,由于半导体制造差异,同一芯片上不同核心的加速性能也存在不同差异,而调度器需要知晓哪些核心最能维持高频,才能将游戏等高负载任务优先分配到这些核心上。在当前 CPPC 技术中,操作系统因缺乏真实频率信息而无法进行最优的核间任务分配。该补丁未来将帮助操作系统更准确地选择最佳核心。

目前这一补丁针对 Linux 操作系统,旨在为 AMD P-State 驱动提供支持。ACPI 6.7 规范若正式包含该寄存器,Windows 11 也可能在后续版本中支持此功能,但这取决于微软是否在操作系统中添加相应支持。

相关阅读:

  • 《Windows 任务管理器 CPU 使用率为何不准?微软前工程师揭秘背后复杂原理》
  • 《微软工程师解释系统 CPU 速度显示机制:基于 Windows 估算推测而非实时监测》

版权声明:本站文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

评论加载中...