In TSO, there is a write buffer for each core.
Read on the same core can access the buffer, but other cores cannot.

In this case, the memory state is a function from location to value, M, plus a buffer for each thread:

TSO transitions:

Note that the buffer is propagated to main memory in the order it is fired.