|
@@ -121,22 +121,22 @@ For example, consider the following sequence of events:
|
|
|
The set of accesses as seen by the memory system in the middle can be arranged
|
|
|
in 24 different combinations:
|
|
|
|
|
|
- STORE A=3, STORE B=4, x=LOAD A->3, y=LOAD B->4
|
|
|
- STORE A=3, STORE B=4, y=LOAD B->4, x=LOAD A->3
|
|
|
- STORE A=3, x=LOAD A->3, STORE B=4, y=LOAD B->4
|
|
|
- STORE A=3, x=LOAD A->3, y=LOAD B->2, STORE B=4
|
|
|
- STORE A=3, y=LOAD B->2, STORE B=4, x=LOAD A->3
|
|
|
- STORE A=3, y=LOAD B->2, x=LOAD A->3, STORE B=4
|
|
|
- STORE B=4, STORE A=3, x=LOAD A->3, y=LOAD B->4
|
|
|
+ STORE A=3, STORE B=4, y=LOAD A->3, x=LOAD B->4
|
|
|
+ STORE A=3, STORE B=4, x=LOAD B->4, y=LOAD A->3
|
|
|
+ STORE A=3, y=LOAD A->3, STORE B=4, x=LOAD B->4
|
|
|
+ STORE A=3, y=LOAD A->3, x=LOAD B->2, STORE B=4
|
|
|
+ STORE A=3, x=LOAD B->2, STORE B=4, y=LOAD A->3
|
|
|
+ STORE A=3, x=LOAD B->2, y=LOAD A->3, STORE B=4
|
|
|
+ STORE B=4, STORE A=3, y=LOAD A->3, x=LOAD B->4
|
|
|
STORE B=4, ...
|
|
|
...
|
|
|
|
|
|
and can thus result in four different combinations of values:
|
|
|
|
|
|
- x == 1, y == 2
|
|
|
- x == 1, y == 4
|
|
|
- x == 3, y == 2
|
|
|
- x == 3, y == 4
|
|
|
+ x == 2, y == 1
|
|
|
+ x == 2, y == 3
|
|
|
+ x == 4, y == 1
|
|
|
+ x == 4, y == 3
|
|
|
|
|
|
|
|
|
Furthermore, the stores committed by a CPU to the memory system may not be
|