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

Synchronization SMP系统弱一致性模型中的内存屏障指令(在实现方面)是如何工作的?,synchronization,shared-memory,memory-barriers,smp,Synchronization,Shared Memory,Memory Barriers,Smp,我知道使用PowerPC汇编机器和其他机器(如Tilera)的系统采用弱存储顺序,这不能保证系统以程序顺序看到内存操作(内存顺序问题)。因此,在这类系统中,同步情况下需要显式内存屏障指令。。。但是,如果这些类型的系统采用具有异步(无请求-应答实现)语义的存储操作,怎么可能呢?通常,Tilera体系结构中的存储操作只会像您所描述的那样“触发并忘记”。但是,当您在继续之前确实需要知道缓存是一致的时,会提供内存围栏指令。MF指令使CPU等待,直到从共享您写入的缓存线的所有磁贴收到确认。这涉及到从写入缓

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

通常,Tilera体系结构中的存储操作只会像您所描述的那样“触发并忘记”。但是,当您在继续之前确实需要知道缓存是一致的时,会提供内存围栏指令。MF指令使CPU等待,直到从共享您写入的缓存线的所有磁贴收到确认。这涉及到从写入缓存线主磁贴的磁贴到共享该缓存线的任何其他磁贴的请求和响应消息。

单个执行线程的加载和存储看起来是按自身顺序进行的。引入多线程时,使用相同数据的其他线程可能会产生弱一致性的影响。