Lukas' Notes

computer-architecture

Definition

Load-Store Unit

A load-store unit (LSU) is a functional unit that executes load and store instructions. It calculates the effective memory address, translates it if needed, and transfers data between the register file and the data cache.

The LSU operates during the memory access stage, but in out-of-order or superscalar designs it may be a separate pipeline with its own issue queue and completion logic.

Components

A typical LSU contains:

Address generation

Computes the effective address from base register and offset.

Translates virtual addresses to physical addresses.

Holds pending store data so that stores can retire without waiting for cache write-through.

Tracks in-flight load instructions and detects memory ordering violations.

Pipelined vs. Serial

The LSU is usually pipelined — it accepts a new load or store every cycle. However, stores may be split into address generation and data write stages, and a cache miss stalls the pipeline until the data returns from lower memory levels.