Learning path

Full curriculum

Full curriculum

Unit content

Memory latency, bandwidth and the memory wall

Processor performance can be limited by how quickly data reaches the execution units rather than by how quickly arithmetic itself can be performed.

Latency

Memory latency is the delay between requesting data and being able to use it. If an instruction depends on a value that is still arriving from memory, later work may have to wait unless independent work can proceed.

Bandwidth

Memory bandwidth is the amount of data that can be transferred per unit time. A workload can have tolerable latency for individual accesses yet still saturate the available transfer rate when it streams large amounts of data.

The memory wall

Processor execution throughput has grown much faster than main-memory access speed. This mismatch is often called the memory wall.

Caches, prefetching, out-of-order execution and data-locality optimizations all try to reduce how often useful execution must wait for distant memory.

A program is therefore not characterized only by the number of arithmetic operations it performs. Its data movement and access pattern can dominate real execution time.