x86 汇编中的“lock”指令是一个前缀,它强制后续指令对总线的独占所有权。这可确保 CPU 在该指令的持续时间内完全控制缓存线。
与通常的理解相反,“lock”前缀不会导致 CPU 锁定无限期的公交车。执行后续指令后,锁会被释放。这允许 CPU 仅在绝对必要时锁定总线来保持最佳性能。
您提供的代码片段实现了长字的原子增量由 ecx 寄存器中的值指定的内存位置:
结果是变量被原子递增1,如果新值为 0,则 eax 寄存器设置为 0,否则设置为 1。注意,这个操作是增量,不是加法。
以上是x86 汇编中的'锁定”指令是否无限期地保留总线?的详细内容。更多信息请关注PHP中文网其他相关文章!