Lukas' Notes

computer-architecture

Definition

Load Unit

A load unit is the part of the load-store unit that handles load instructions. It computes the load address, accesses the data cache, and returns the loaded value to the register file.

Load queue

The load unit maintains a load queue that tracks in-flight loads. Each entry records the load address and the destination register so that the unit can detect memory ordering violations and forward data from the store buffer when a later load reads an address still held by a pending store.

A non-blocking load issues without stalling the pipeline. Its entry stays in the load queue until the data returns from the memory system, at which point dependent instructions are woken up.

In-order vs. out-of-order

In-order

In a static in-order pipeline, the load unit processes one load at a time. Every load is effectively blocking, so the load queue is shallow or absent.

Out-of-order

In an out-of-order pipelined processor, the load unit can issue multiple loads while earlier loads are still in flight. The load queue tracks each outstanding load and checks for memory ordering violations when older store addresses resolve.