您的位置首页>科技金融>

Windows Scheduler不会选择错误的Ryzen 3000内核来增强

摘要 在过去的两周中,我们一直看到各种各样的报道,关于AMD的Ryzen Master在如何为AMD的Ryzen 3000系列CPU评估其内核方面可能是错误的。同时

在过去的两周中,我们一直看到各种各样的报道,关于AMD的Ryzen Master在如何为AMD的Ryzen 3000系列CPU评估其内核方面可能是错误的。同时,我们也看到了另一方面的报道,指出在Windows 10中,由于CPPC中的错误信息,错误的CPU内核得到了增强,尽管这两个只是同一问题的一部分。同时,事实证明AMD一直在自行研究这一问题,并于今天上午发表了一份声明。

简而言之,两个报告都不是完全错误的。但是,这不一定意味着存在问题。事实证明,Ryzen Master对CPU内核进行排名的方式与CPPC对其评分的方式不同,并且Windows调度程序遵循CPPC的评分。尽管Ryzen Master可能会表明一个特定的内核客观上是绝对最快的,但是Windows调度程序不会仅基于该内核选择使用哪个内核。相反,它将选择具有另一个内核的最快内核,其速度几乎与同一CCX相同。

这自然使事情复杂化了一点,但是这种行为有一个很好的理由:Windows的调度程序希望有两个内核来拆分单线程任务,以便它可以在两个内核之间跳过任务以管理热量。和其他变量,以确保每个核心都能提升得更高。所选的两个内核必须在同一CCX上,因为如果它们不在同一内核上,则在两个内核之间跳转任务的延迟会导致太大的性能损失,并因此抵消了从内核跳转行为中获得的收益。

剩下的问题是:为什么Windows不选择在同一CCX上来回跳任务的最快的内核和第二快的内核?为此,我们举一个AMD自己的例子:

“让我们假设一个16核AMD CPU,并挑选一些核。第一个裸片上第一个CCX的Core 0和Core 1可以分别提高到2.2GHz和2.15GHz,平均频率为2.175GHz。另一个芯片上第二个CCX中的Core 13和15可以分别提高到2.25GHz和2.05GHz,平均为2.150GHz。核心0和1将是Windows的CPPC首选核心,但是Ryzen Master会将金星分配给核心13。核心13可能是芯片中最快的核心,但是您可以看到,它并不是自动提升的最快整体选择。将Core 13与Core 0配对(理论上是最高平均频率),可能会因为跨越CCX边界而被抵消。”

上述行为是Windows May 2019更新和更高版本的标准行为,鉴于这些新信息,AMD关于如何获得最佳性能的建议没有改变。他们建议用户确保满足以下条件:

全局C状态和CPPC设置在UEFI中设置为“自动打开”或强制打开

运行Windows 10安装的2019年5月更新或更高版本

使用带有AGESA 1.0.0.2微码或更高版本的BIOS固件

使用2019年7月以后的AMD X570芯片组驱动程序

这似乎是一个相对较长的清单,但是鉴于1.0.0.2 AGESA与7月份的Ryzen 3000 CPU,X570主板以及相应的芯片组驱动程序于7月一起发布,很有可能您已经满足这些标准。还有可能您已经在2019年5月的Windows更新中,因此剩下的就是您应该确保启用UEFI CPPC设置。因此,您应该看到正确的调度行为-前提是您不根据AMD Ryzen Master所说的最佳内核来判断增强内核的选择。

为了解决任何进一步的混乱,AMD正在为Ryzen Master进行更新,该更新将显示与CPPC2数据匹配的信息。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。