这是关于锁定该地址的内存总线。Intel 64和IA-32体系结构软件开发人员手册-卷3A:系统编程指南,第1部分告诉我们:“7.1.4 LOCK操作对内部处理器缓存的影响。对于Intel486和Pentium处理器,在LOCK操作期间,即使被锁定的内存区域在处理器中被缓存,LOCK#信号也始终在总线上断言。对于P6及更高版本的处理器系列,如果在LOCK操作期间被锁定的内存区域在执行LOCK操作的处理器中作为写回内存被缓存在一个缓存行中,并且完全包含在其中,则处理器可能不会在总线上断言LOCK#信号。相反,它将在内部修改内存位置,并允许[其]缓存一致性机制确保以原子方式执行操作。此操作称为“缓存锁定”。缓存一致性机制自动防止具有相同内存区域的两个或多个处理器同时修改该区域中的数据。(重点添加)”在这里,我们了解到P6和更新的芯片足够聪明,可以确定它们是否真的必须阻止总线,还是可以依靠智能缓存。我认为这是一个很好的优化。我在我的博客文章中更详细地讨论了这个问题 "锁是如何锁住的?"。
lock
指令的内部执行。 - Peter Cordes