x86 - 如何找到英特尔 x86 CPU 上的指令解码到的微操作?

标签 x86 intel compiler-optimization

《英特尔优化引用》第 3.5.1 节建议:

“偏爱单微操作指令。”

“避免使用具有超过 4 个微操作并且需要多个周期来解码的复杂指令(例如,进入、离开或循环)。改用简单指令序列。”

尽管英特尔自己告诉编译器编写者使用解码为很少微操作的指令,但我在他们的任何手册中都找不到任何解释每条 ASM 指令解码为多少微操作的内容!这些信息在任何地方都可用吗? (当然,我预计不同代 CPU 的答案会有所不同。)

最佳答案

Agner Fog 的 PDF document关于 x86 指令(从 Hans 引用的主页链接)是我找到的关于指令时序和微操作的唯一引用。我从未见过有关微操作故障的英特尔文档。

关于x86 - 如何找到英特尔 x86 CPU 上的指令解码到的微操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26735240/

相关文章:

winapi - 如何在 MASM 中为一个项目编写和组合多个源文件?

python - 安装了 beignet 以在 Intel 上使用 OpenCL,但 OpenCL 程序仅在以 root 身份运行时才有效

optimization - 加载和转置八个 8 元素浮点向量

c - 如何使用 XADD 来增加内存中的值?

x86 - 异常处理问题

debugging - 我无法在 gdb 中将英特尔设置为反汇编风格

c - GCC 优化掉无法优化的 if 子句

python - 为什么字符串乘法的字节码不同?

cross-compiling - 启用编译器优化时未找到 glibc

assembly - LEA指令?