Принцип действия кэш-памяти

Кэш-память(cache) – это способ совместного функционирования двух типов запоминающих устройств, который позволяет ускорить доступ за счет динамического копирования часто используемой информации из “медленного” в “быстрое” запоминающее устройство (ЗУ).

Свойство кэш-памяти – это прежде всего прозрачность для программ и пользователей. Другими словами функционирование кэш происходит незаметно для программ.

Кэш-памятью или кэшем, также часто называют одно из устройств – “быстрое” ЗУ. Оно дороже и быстрее (рис.1).

 Рис.1. Принцип действия кэш – памяти

 

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

Содержание кэш-памяти представляет собой совокупность записей обо всех данных из основной памяти (ОП), загруженных в нее.

 

Рис.2 Содержание кэш – памяти

Время доступапропорционально вероятности попадания в кэш, которая составляет не менее 90%. Чем объясняется такая высокая степень попадания.попадания в кэш, которая составляет не менее 90%. Чем объясняется такая высокая степень попадания.

Высокая степень попадания в кэш объясняется некоторыми объективными свойствами компьютерных данных. К таким свойствам относятся:

Временная локальность

Если произошло обращение по некоторому адресу, то следующее обращение с большой вероятностью произойдет в ближайшее время.

Пространственная локальность

Если произошло обращение по некоторому адресу, то с высокой степенью вероятности в ближайшее время произойдет обращение к соседним адресам.

Временная локальность позволяет надеяться, что имеет смысл копировать данные в кэш, т.к. вскоре вероятно все равно к ним будет обращение.

Свойство пространственной локальности делает целесообразным копировать в кэш не одну единицу данных, а целый блок данных.

 

Рис.3 Алгоритм действия кэш – памяти

Проблема согласования данных

Две копии данных: в памяти и кэше порождает проблему согласования. Т.е. версии данных в памяти и КЭШе в конечном итоге должны совпадать.

Применяется два подхода при записи в память:

Сквозная запись (write through) – если данные находятся в кэше, то запись производится и в кэш и в память(анимация)

Обратная запись (write back) - если данные находятся в кэше, то запись производится только в кэш и устанавливается признак модификации (в кэш)(анимация).

http://www.bgsha.com/ru/learning/course/print.php?COURSE_ID=7&LESSON_ID=339

Категории: 

Метки: