硬件专家启动“CPU降效”计划,探寻最慢x86指令,并设立“低效榜”
2 小时前 / 阅读约5分钟
来源:Tomshardware
硬件研究员Domas创建了CPU去优化排行榜,旨在寻找执行最慢的汇编指令。其中,fxrstor64指令耗时最长,达62秒。Domas通过特定方法增加指令延迟,并计划将实验扩展至ARM和RISC-V架构。

(图片来源: Getty Images)

  • 复制链接
  • Facebook
  • X
  • Whatsapp
  • Reddit
  • Pinterest
  • Flipboard
  • Email
分享本文
0
参与讨论
关注我们
在Google上将我们设为首选资讯来源
订阅我们的新闻通讯

在追求软件在硬件上高效运行的道路上,指令延迟分析扮演着至关重要的角色。它聚焦于低级指令在处理器上的执行时间,旨在优化硬件架构或调整应用程序以适配特定架构。然而,硬件研究员Christopher Domas(GitHub昵称@xoreaxeaxeax)却独辟蹊径,他创立了CPU降效排行榜,其目标并非让汇编指令运行得更快,而是尽可能慢,以此来测量单条指令的最高延迟。

深入探索TH高级版:CPU

(图片来源: Tom's Hardware)

  • 利用DLSS技术扩展CPU性能
  • 锐龙崛起:AMD在游戏CPU市场的创新之路
  • ARM如何逐步渗透PC市场
  • AMD CES 2026游戏趋势发布会问答圆桌会议纪要

在这场“慢”的竞赛中,“赢家”是fxrstor64指令,它耗时长达62秒,即超过1980亿个周期才完成执行。该指令负责将SIMD计算所需的寄存器状态恢复到512字节的内存位置。为了获得这一“最高”(即最慢)分数,Domas首先利用他们自主研发的mmiotic工具在内部PCIe结构中定位了一个高延迟区域,随后强制CPU从MMIO(内存映射I/O)加载512字节的状态,本质上是以最慢的速度处理这全部512字节的数据。这一过程耗时740亿个周期,即超过23秒。

随后,Domas更进一步,“在加载过程中让结构处于负载饱和状态”。他们通过从另一个高延迟MMIO寄存器进行一系列4字节的读取操作,从而压垮了CPU的PCIe根复合体,并迫使状态恢复操作在无关紧要的读取操作之后排队等待。接下来,他们利用英特尔Sapphire Rapids中提供的AMX指令进行xrstore64操作,将状态区域从512字节扩展至8KB,这可能导致指令挂起超过1万亿个周期。

Tom's Hardware最新视频
观看完整视频:
当众人皆致力于提升CPU速度时,我却反其道而行之,致力于让它们变得更慢。新项目:CPU降效计划。探寻最慢的x86单条指令记录:198,002,498,236个周期,62秒。汇编“低效榜”:https://t.co/G4QnFQjsZx pic.twitter.com/WNaRPf2kRCAugust 7, 2026

x86排行榜现已在GitHub上公开,Domas还计划推出ARM和RISC-V的排行榜。排行榜制定了一些规则,Domas表示,任何测试设置均可,但评分仅针对单条指令的执行。不允许使用可中断指令,也不允许对在处理程序上运行的模拟指令进行评分。所有时间均根据CPU的基础时钟进行归一化处理,且所有平台均在未进行硬件修改的情况下运行。

我们讨论的是汇编代码,因此排名更多取决于如何使用那条指令,而非指令本身。

Domas主要使用了两款CPU进行测试:英特尔酷睿i7-8559U和AMD锐龙7 5800H(搭载于Trigkey S5中)。然而,在测试rdmsr指令时,他们选用了威盛Eden芯片,这是一款21世纪初的嵌入式处理器。rdmsr指令用于读取模型特定寄存器(MSR)。据Domas称,威盛“使用了一个未记录的0x133寄存器,其响应时间极长”。该指令执行耗时202微秒,即161,602个周期。

这并非Domas首次涉足低级指令的疯狂实验。他更早的一个项目,名为movfuscator,是一个仅使用mov(移动)指令的C编译器。

在Google新闻上关注Tom's Hardware,或将我们设为首选资讯来源,以在我们的订阅源中获取最新新闻、深度分析和专业评测。

下一篇:没有更多了