Definition
Store Unit
A store unit is the part of the load-store unit that handles store instructions. It computes the store address, buffers the store data, and writes the data to the data cache or lower memory.
Store buffer
The store unit typically contains a store buffer — a queue of pending stores that have been issued but not yet written to cache. This decouples the pipeline from cache write latency: once a store is buffered, the pipeline can proceed without waiting for the write to complete.
A later load that reads the same address as a pending store must receive the buffered value. The store unit performs store-to-load forwarding to supply the correct data.
In-order vs. out-of-order
In-order
In a static in-order pipeline, stores write to cache in program order. The store buffer mainly hides cache write latency.
Out-of-order
In an out-of-order pipelined processor, stores are typically held in the store buffer until retirement. This preserves precise exceptions: a store only becomes visible to the memory system after all earlier instructions have committed.