#### Принцип локальности. Два вида локальности.

Программы обычно обращаются к относительно небольшой области адресного пространства (инструкции и данных) в любой момент времени - к рабочему набору (working set)
**Working set** - набор адресов, с которыми программа работала в течение небольшого интервала времени.
Два вида локальности доступа:

- **Временная**

Обращение к элементу (инструкции или данным) имеет тенденцию повторяться.
Пример: инструкции во вложенном цикле.

- **Пространственная**

После обращения к некоторому элементу скорее всего вскоре произойдет обращение к другим элементам с близкими адресами.
Примеры: последовательное выполнение инструкций, последовательный доступ к элементам массива.
Пример программы, где нет временной локальности: поиск максимума в несортированном массиве, так как нам в любом случае придется просматривать содержимое массива от начала и до конца. Кэширование в этом случае практически бесполезно.