Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

load-use stall

The one-cycle wait when an instruction needs a value a load is still reading from memory; forwarding can't hide it, because the value doesn't exist yet.

In the five-stage pipeline a loaded value is available only at the end of the memory stage, so an instruction that uses it immediately must stall one cycle even with forwarding; compilers schedule an independent instruction into that slot.

Examples

  • ldr x1, [x0] then add x2, x1, #1 costs one stall cycle in the five-stage pipeline, even with forwarding.

Read the full section →