在SMP系统的弱一致性模型中,它如何工作(在实现方面)内存屏障指令?

时间:2014-10-14 15:04:33

标签: synchronization shared-memory memory-barriers smp

我知道使用PowerPC汇编程序机器和其他系统(如Tilera)的系统采用弱存储顺序,这并不能保证内存操作在程序顺序中对系统可见(内存排序问题)。因此,在这些类型的系统中,在同步情况下需要显式的内存屏障指令......但是如果这些类型的系统采用具有异步(无请求 - 应答实现)语义的存储操作,该怎么可能呢?

1 个答案:

答案 0 :(得分:1)

通常情况下,Tilera架构中的商店操作只会像你描述的那样“发射并忘记”。但是,如果您需要在继续之前知道缓存是一致的,则会提供内存栅栏指令。 MF指令使CPU等待,直到从共享您编写的缓存行的所有磁贴接收到确认。这涉及来自磁贴的请求和响应消息,用于写入缓存行的主磁贴,以及从主磁贴到共享该缓存线的任何其他磁贴。