TSO: The reason why a processor can read A (I assume that is a typo of "B" there) before its write to A is that A exists in the processor's own cache, is that right? Other processors have to wait until the write to A is finished and observed by all processors.
PC: I am not sure if the write to A refers to the processor's own write or any write to A?
TSO: I believe "B" is not a typo - processor can read B before A is written because they're different values. Correctness is guaranteed. PC: can read A before write to A is observed by all processors --- Read old (incorrect) value of A??
TSO: I think other processors will read the old value of A instead of stalling.
PC: does it mean that we can have a processor read the new value of A and then have another processor read the old value of A?
Please log in to leave a comment.
"Reads by other processors cannot return a new value of A until the write to A is observed by all processors" -- does this mean that if one of the "other" processors reads A before the write is observed by all processors, the processor will stall? Or will it return the old value of A?