快科技8月8日消息,硬件研究人员Christopher Domas近日公布了一项名为CPU反优化的实验项目,目前登顶的最慢x86指令是fxrstor64,单次执行耗时约62秒,相当于1980亿个CPU周期。
与传统优化思路相反,该项目专门寻找执行延迟最高的单条机器指令。指令延迟分析通常用于研究低级指令执行时间、改进处理器架构或优化应用程序,这次却反其道而行之。
fxrstor64用于恢复SIMD(单指令多数据)计算相关的寄存器状态,正常情况下从内存加载512字节数据只需几十个周期。要让它慢下来,关键在于让CPU从哪里读取这批数据。
具体操作是先用自研工具mmiotic在处理器内部PCIe互连结构中寻找高延迟区域,再强制CPU直接从该区域读回512字节状态数据,仅此一步就耗时约740亿个CPU周期,超过23秒。
为继续压低速度,研究人员让多颗核心同时持续读取另一组高延迟的内存地址,占满CPU的PCIe根复合体通道,使fxrstor64的状态恢复操作被迫排队等待,最终把耗时推高到62秒。
后续实验还计划利用Sapphire Rapids处理器支持的AMX指令测试xrstor64,该指令的状态数据区域从512字节扩大到8KB,理论上单条指令执行时间可能超过1万亿个CPU周期。
排行榜规则严格:只计算单条指令自身执行时间,可被中断的指令不参与排名,处理程序中运行的模拟指令也不计入结果,所有时间按CPU基础频率标准化,且不允许硬件改装。
未来该项目还将建立ARM和RISC-V架构的同类榜单。



