原子指令是整体执行且不能被中断的指令。
在执行期间是否还必须操作它所操作的数据?,即在另一个核上执行的指令访问原子指令的数据。
我目前正在注册"操作系统"在我的大学课程。
答案 0 :(得分:2)
在执行期间是否还必须操作它所操作的数据?
是
这就是为什么这样的指令执行起来很昂贵,可能需要数百个周期,包括锁定CPU'总线和检查没有其他CPU(不只是其他核心:必须包括多插槽系统)正在访问受影响的内存。
另见this answer。
答案 1 :(得分:1)
这里有两个概念:
1)原子指令是处理器无法中断的指令。
2)互锁指令是锁定内存总线并使CPU缓存的[部分]无效的指令。
互锁指令始终是原子的。原子指令可能不是(通常也不是)互锁的。