Кэш оказывается эффективным потому, что большинство компьютерных программ обращаются к памяти не случайным образом, а закономерно: обращения к памяти обладают временно́й и пространственной локальностью:
- временна́я локальность: если произошло обращение к ячейке оперативной памяти, то с большой вероятностью эта ячейка памяти вскоре понадобится снова.[/*:m:3qhhlj87]
- пространственная локальность: если произошло обращение к ячейке оперативной памяти, то с большой вероятностью будет произведено обращение к соседним ячейкам памяти;[/*:m:3qhhlj87]
Используя эти предположения, кэш-контроллер ##### обращения процессора к памяти, заранее загружая в кэш-память необходимые данные.