Lukas' Notes

computer-architecture

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.