Mik*_*ang 8 computer-architecture multi-threaded
Dav*_*rtz 7
在大多数现代 CPU 上,原子操作通过锁定 CPU 缓存中受影响的内存地址来工作。CPU 仅在其高速缓存中获取内存地址,然后不允许任何其他 CPU 获取或共享该地址,直到操作完成。
Dan*_*man 5
细节很复杂;在单个处理器中,它很简单,可以在微代码级别实现某种等效的“锁定、修改、解锁”或其他技术。
一旦您拥有多个处理器,主题就会变得复杂,尤其是考虑到缓存效应。像MSI和衍生MESI、MOSI、MOESI这样的协议在现代英特尔处理器中支持这一点。
WikiPedia 在缓存一致性方面也有很好的总结。
关于互斥锁与原子指令:互斥锁或多或少是一种协议,即将使用一位内存以原子方式允许一个人将其设置为特定状态。这意味着它可以使用原子操作来保护非原子操作——双方都同意的协议,假装你可以在比实际更大的范围内实现原子操作。
归档时间:
14 年,3 月 前
查看次数:
3199 次
最近记录:
10 年,7 月 前