问题描述
《英特尔优化参考》在3.5.1节中建议:
The Intel Optimization Reference, under Section 3.5.1, advises:
重要的单微操作指令。
避免使用复杂的指令(例如输入,离开或循环),这些指令具有4个以上的微操作,并且需要多个周期才能解码。请改为使用简单指令序列。
"Avoid using complex instructions (for example, enter, leave, or loop) that have more than 4 micro-ops and require multiple cycles to decode. Use sequences of simple instructions instead."
尽管Intel自己告诉编译器编写者使用可解码为几个微操作的指令,但我在他们的任何手册中都找不到任何内容,该手册解释了每条ASM指令可解码多少个微操作。至!这些信息在任何地方都可用吗? (当然,我希望答案对于不同代的CPU也会有所不同。)
Although Intel themselves tell compiler writers to use instructions which decode to few micro-ops, I can't find anything in any of their manuals which explains just how many micro-ops each ASM instruction decodes to! Is this information available anywhere? (Of course, I expect that the answers will be different for different generations of CPUs.)
推荐答案
Agner Fog的PDF (链接自Hans引用的主页)。在指令时间和微操作上。我从未见过有关微操作故障的英特尔文档。
Agner Fog's PDF document on x86 instructions (linked off of the main page Hans cites) is the only reference I've found on instruction timings and micro-ops. I've never seen an Intel document on micro-op breakdown.
这篇关于我如何找到在Intel x86 CPU上的指令解码为的微操作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!