内存屏障的硬件原理: 从 Store Buffer 到 ARM DMB/DSB/ISB

内存屏障是无锁编程的底层基石,但多数文章停留在 acquire/release 的使用层面,没有解释 为什么 CPU 会重排序。本文从 Store Buffer、Invalidation Queue 和 MESI 协议三个硬件机制出发,推导出四种屏障类型的必然性,区分编译器屏障、硬件屏障和 C++ memory_order 三个层次,最终详解 ARM DMB/DSB/ISB 三条指令的精确语义与适用场景。

February 17, 2026 · 10 min · 1979 words · map[name:DeguiLiu]