我将分支目标与NOP对齐,有时CPU执行这些NOP,最多15个NOP。 Skylake在一个周期内可以执行多少个1字节的NOP?那么其他兼容Intel的处理器(例如AMD)呢?我不仅对Skylake感兴趣,而且对其他微型体系结构也很感兴趣。执行15个NOP序列需要多少个周期?我想知道添加这些NOP的额外代码大小和额外执行时间是否值得。这不是我添加这些NOP的人,而是每当我编写align
指令时自动地汇编程序的人。
更新:我已经设法自动插入多字节的NOP
。
最佳答案
Skylake通常可以在一个周期内执行四个单字节点操作。至少回到桑迪桥(以下称SnB)微体系结构,这是正确的。
Skylake和返回SnB的其他人通常也可以在一个周期内执行四个长于一个字节的nop
,除非它们长到遇到前端限制。
现有的答案更加完整,可以解释为什么您不希望使用此类单字节nop
指令,因此我将不添加更多内容,但是我想有一个答案可以清楚地回答标题问题,这是很好的。
关于assembly - Skylake可以在一个周期内执行多少个1字节的NOP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45041031/