这篇文章详细讲述了作者在Xbox 360开发期间发现的一个严重CPU设计缺陷。为了性能,IBM在PowerPC芯片中加入了一条可绕过L2缓存的特殊预取指令`xdcbt`,但这破坏了内存一致性。作者最初发现因滥用该指令导致的数据损坏,但在修复代码后,神秘崩溃依然存在。最终调查发现,罪魁祸首是CPU的**分支预测与推测执行机制**:即便代码逻辑并未真正执行,分支预测器仍可能推测性地发起预取操作,且一旦发起无法撤销,导致内存状态被污染。这一发现早于Meltdown和Spectre,深刻揭示了推测执行的潜在危险。
原文链接:Hacker News

IT资源栈
评论前必须登录!
立即登录 注册