至少在 x86 上面,out of order execution 是建立在 register renaming 的基础上的。汇编指令都是翻译成微指令执行的,而 renaming 和 OoO 都是微指令层面的事情,在汇编层你无法知道是怎样进行的。不了解 arm,但据说 rosetta 能高效率的模拟 x86,就是因为 apple 在硬件层面实现了一个兼容 x86 执行顺序语义的模式,在模拟 x86 时直接切到该模式下运行。
【 在 wjhtingerx 的大作中提到: 】
: 就是汇编级的指令不会乱序?
--
修改:eGust FROM 203.184.25.*
FROM 203.184.25.*