assembly - Intel 处理器的虚拟操作处理

标签 assembly x86 intel cpu-architecture instruction-set

诚然,我有一个有点愚蠢的问题。基本上,我想知道是否 英特尔处理器提供了一些特殊的机制来有效地 执行一系列虚拟指令,即 NOP 指令?例如,我可以想象那里 可能是某种识别 NOPS 并丢弃它们的预取机制 并尝试获取一些有用的指令。或者这些 NOPS 是否已派出 作为正常指令发送到执行单元,这意味着我可以粗略地处理 每个周期5个nops(假设有5个执行单元)

谢谢, 莱因哈特

最佳答案

丢弃它们是一个非常糟糕的主意:它们通常用于忙等待。如果丢弃 NOP,等待循环就会比应有的更紧,并且可能会带来相当大的通信开销。

如果您觉得NOP效率低下,您可以尝试HLT,它可以节省一些能源。或者您甚至可以让 CPU 进入休眠状态。但是,只有当您想在相当长的时间内“不执行任何操作”时,这些才有意义并且它们通常需要管理员权限。

关于assembly - Intel 处理器的虚拟操作处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2123000/

相关文章:

assembly - 如何在汇编级编程中打印整数而不使用 c 库中的 printf ? (itoa,整数到十进制 ASCII 字符串)

c - 显示在给定地址 gdb 找到的值

c - 内联汇编时如何防止GCC警告函数没有返回?

c - 函数调用约定 Powerpc 与 Intel

linux - 预加载自定义 strchr() - ubuntu 崩溃

linux - NASM Linux x64 |将二进制编码为base64

assembly - %assign 和 %define 的区别

c++ - 为什么这个 `std::atomic_thread_fence`有效

math - 32 位定点溢出

android - 为什么 genymotion 运行这么慢?