Способы отображения основной памяти на кэш.




Теоретические сведения.

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

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

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

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

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

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

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

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

 

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

 

Объективные свойства данных, объясняющие высокую вероятность кэш-попадания

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

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

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

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

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

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

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

Алгоритм действия кэш-памяти

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

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

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

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

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

 

Способы отображения основной памяти на кэш.

Существует два основных способа отображения: случайное и детерминированное.

Случайное. Элемент памяти находится в произвольном месте кэша. Элемент хранится вместе с адресом. Поиск ведется по адресу. Это сравнительно дорогой способ.

Детерминированный. Элемент памяти отображается всегда в одно и тоже место кэша. Строки кэша и элементы памяти соотносятся как “один ко многим”. Преобразование адреса элемента в номер строки кэша выполняется некоторой функцией. Этот способ более дешевый.

Случайное отображение

Недостаток этого способа в больших временных затратах на поиск нужного элемента.

Для преодоления недостатка применяется так называемый ассоциативный поиск, при котором сравнение выполняется параллельно со всеми записями кэша

Признак, по которому выполняется сравнение (например адрес) называется тегом (tag)

Электронная реализация удорожает память, поэтому используется в кэше небольшой емкости

Вытеснение старых данных происходит тогда, когда кэш будет заполнен

Рис.4 Ассоциативный поиск.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: