Skip to the content.

memory model: IRIW

Litmus Test: Independent Reads of Independent Writes (IRIW) Can this program see r1 = 1, r2 = 0, r3 = 1, r4 = 0? (Can Threads 3 and 4 see x and y change in different orders?)

// Thread 1    // Thread 2    // Thread 3    // Thread 4
x = 1          y = 1          r1 = x         r3 = y
                              r2 = y         r4 = x

On sequentially consistent hardware: no. On x86 (or other TSO): no.

这个问题也是 aarch64 手册中的提到的 Multi-copy atomicity

这个问题是 memory model 中最后一个问题了,这里总是想不清楚如何控制 cache 的实现是如何做的, 但是先记住基本事情,就是 x86 的 cache 一致性让所有的 CPU 可以同时看到(也就是就像是到达 cache 后,是瞬间到达的所有的 CPU 的,没有传输时间)

本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。