loop tiling
Rewriting nested loops to work on one small square of the data at a time, sized to fit in the cache, before moving on to the next square.
Loop tiling (cache blocking) strip-mines loops and reorders the resulting loops so each tile's working set fits in a target cache level, turning capacity misses into hits; matrix multiply and transpose are the classic cases.
See also