"two store are seen in a consistent order by other processors" 是什么意思?

What does it mean that "two store are seen in a consistent order by other processors"?

在英特尔的手册中:

部分:“8.2.2 P6 和更新的处理器系列中的内存排序”

Any two stores are seen in a consistent order by processors other than those performing the stores

这句话是什么意思?

这意味着没有 IRIW 重新排序(独立的读者,独立的作家;至少 4 个独立的核心,至少 2 个作者和读者)。 2 位读者将始终同意任何 2 家商店执行其他核心的顺序。

较弱的内存模型保证这一点,例如ISO C++11只保证seq_cst操作,而不是acq_rel或任何较弱的订单。

一些硬件内存模型在纸面上允许它,包括 ARMv8 之前的 ARM。但在实践中,POWER 硬件实际上很少会违反这一点:请参阅我的回答 以了解可以实现它的硬件机制的解释(store-forwarding 在同一物理上的 SMT“超线程”之间核心使商店在全局可见之前对某些核心可见。

x86 禁止这样做,因此超线程之间的通信必须等待提交到 L1d 缓存,即等待存储在 之前 全局 可见(感谢 MESI) ]any 其他核心可以看到。