4 ms·
The store buffer helps keeps stores in order, sure, but the store buffer is the main reason (on x86) that reordering happens. So positioning it as the savior of
by BeeOnRope 6y ago
The store buffer helps keeps stores in order, sure, but the store buffer is the main reason (on x86) that reordering happens. So positioning it as the savior of consistency doesn't seem right.
Store buffer is there for some key reasons apart from consistency: (a) in OoO execution stores must not escape the core until instruction retirement (or else speculative results could become visible), so you need to buffer them and (b) performance.
(a) already implies an ordered buffer, and you also have to keep some notion of ordering to satisfy store forwards correctly.