CPU memory model
Weak and strong
preshing Weak vs. Strong Memory Models
A memory model tells you, for a given processor or toolchain, exactly what types of memory reordering to expect at runtime relative to a given source code listing. Keep in mind that the effects of memory reordering can only be observed when lock-free programming techniques are used.
NOTE: program order and memory order
Four type memory ordering and hardware memory model
素材
1、preshing Weak vs. Strong Memory Models
其中有着非常好的总结
2、zhihu 如何理解 C++11 的六种 memory order? # A