原子操作ABC

应用程序看到的原子操作需要内存控制器、CPU指令和编译器的协调实现。

底层硬件的支持

memory controller 的实现

load/store 操作本身在内存控制器级别是原子的,控制器保证不会同时对同一个地址进行读写。

LOCK# 总线信号

lock 指令和前缀保证实现的指令执行的内存只有一个core或者agent 在访问

cache coherence

MESI 协议

指令的支持

系列化指令

LFENCE

load fence
load fence 指令之后的load 操作不会reorded到load fence之前执行;

SFENCE

store fence
store fence 指令之后的store 操作不会reorded到store fence之前执行;

MFECE

load and store fence
MFECE 指令之后的load/store操作不会reordeded 到mfence之前执行。

##

##

编译器的支持

上一篇:B04-openstack高可用-pacemaker集群部署


下一篇:Android GraphicBuffer-Fence