Hi,
Store Buffer holds store operation before it is commited to Cache or Main Memory.
So only if the proper store buffer entry is drained, can we get the right data by a load operation. Am I right?
If yes, is it possible that we read a unexpected value after a write without a drain request(e.g. DMB)?
Thanks&Regards.
That is correct, on both single- and multi- processors.
The single cpu reference was to highlight, through an example, that a cpu won't return wrong data as you feared (in the particular case of a cpu reading its own writes to a location not shared with other cpus).
Edit: For clarity.
OK, thank you very much!