1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

科技 CPU基准测试变慢了?那可能是英特尔微码更新禁用了零存储优化

Discussion in '新闻聚焦' started by 漂亮的石头, 2021-06-23.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    488,439
    Likes Received:
    48
    Travis Downs 在一篇新文章中指出,某件原以为可以给 CPU 提速的事情,最终被证实反而拖了处理器的后腿。在基于英特尔 Skylake 和 Ice Lake 芯片的基准测试平台上,他尝试了用 0 来填充给定大小(于 x 轴上变化)区域的吞吐量。可即便是相同的二进制文件,其在不同日期的基准测试成绩却显现了较大的差异。

    [​IMG]

    据悉,两次测试分别发生于 6 月 7 / 8 号(周二 / 周三),但前一次用零填充的表现、较后一次跑同样的基准测试要快得多,让人不得不怀疑是 L2 缓存策略要背锅。

    Travis Downs指出,两套主机运行的是 Ubuntu 20.24 Linux 发行版,而 6 月 8 号(周三)那天恰好迎来了英特尔微码的操作系统更新。CPU 会在系统重启后加载新版微码,结果就出现了这种诡异的现象。

    [​IMG]

    Skylake 平台 - 跑分对比​

    仔细查看后可知,该微码禁用了 Travis Downs 在上一篇文章中讨论过的“硬件零存储优化”功能,以缓解CVE-2020-24512安全漏洞(英特尔在INTEL-SA-00464安全公告中有详细解释)。

    虽然英特尔明面上没有提及,但微码禁用了零存储优化这件事的证据还是铺天盖地。更新后,填充零数据时的性能,已经变得和其它值相同了。

    [​IMG]

    Ice Lake 平台 - 跑分对比​

    追踪 CPU L2 缓存的性能计数器表明,零存储优化有重要作用的 Silent Evictions 操作,现几乎都是 non-silent 了。

    考虑到大多数 Linux 发行版和Windows操作系统都会默认启用相关更新,Travis Downs 建议有疑惑的朋友也尝试重现一下对比跑分。
     
Loading...