诚然,我有一个有点愚蠢的问题。基本上,我想知道是否 英特尔处理器提供了一些特殊的机制来有效地 执行一系列虚拟指令,即 NOP 指令?例如,我可以想象那里 可能是某种识别 NOPS 并丢弃它们的预取机制 并尝试获取一些有用的指令。或者这些 NOPS 是否已派出 作为正常指令发送到执行单元,这意味着我可以粗略地处理 每个周期5个nops(假设有5个执行单元)
谢谢, 莱因哈特
最佳答案
丢弃它们是一个非常糟糕的主意:它们通常用于忙等待。如果丢弃 NOP
,等待循环就会比应有的更紧,并且可能会带来相当大的通信开销。
如果您觉得NOP
效率低下,您可以尝试HLT
,它可以节省一些能源。或者您甚至可以让 CPU 进入休眠状态。但是,只有当您想在相当长的时间内“不执行任何操作”时,这些才有意义并且它们通常需要管理员权限。
关于assembly - Intel 处理器的虚拟操作处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2123000/