Порождает проблему согласования данных. Если происходит запись в



Основную память по некоторому адресу, а содержимое этой ячейки

Находится в кэш, то в результате соответствующая запись в кэш становится недостоверной.

Рассмотрим два подхода к решению этой проблемы.

Сквозная запись (write through). При каждом запросе к основной памяти, в том числе и при записи, просматривается кэш. Если строка с

Запрашиваемым адресом отсутствует в кэш (для этого просматривают поле тегов), то запись выполняется только в основную память. Если же адрес, по которому выполняется обращение, находится и в КЭШе, то запись производится одновременно в кэш и основную память. Такая операция по времени равносильна обращению в основную (оперативную) память и не дает большого выигрыша от применения кэш-памяти.

Обратная запись (write back). Аналогично при возникновении запроса к памяти выполняется просмотр кэш, и если строка с запрашиваемым адресом там отсутствует, то запись выполняется только в основную память. В противном же случае запись производится только в

Кэш-память, при этом в поле управления делается специальная отметка

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

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

Контроллер кэш-памяти осуществляет копирование модифицированной строки при любых замещениях строки. Модифицированные данные могут выгружаться не только при освобождении места в кэш-памяти для новых данных, но и в «фоновом режиме», то есть в промежутках, когда шинный интерфейс не занят процессором или другими устройствами.                                                            

В некоторых алгоритмах замещения предусматривается первоочередная выгрузка модифицированных, или, как еще говорят, «грязных» данных.

Способы отображения основной памяти на кэш. Алгоритм поиска и алгоритм замещения данных в кэш непосредственно зависят от того,

Каким образом основная память отображается на кэш-память. Принцип

Прозрачности требует, чтобы правило отображения основной памяти на

Стр.14

Кэш-память не зависело от работы программ и пользователей. При

Кэшировании данных из оперативной памяти широко используются две

Основные схемы отображения: случайное отображение и

Детерминированное отображение.

При случайном отображении элемент оперативной памяти в общем

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

Для кэш со случайным отображением используется так называемый

полный ассоциативный поиск, при котором сравнение выполняется не

Последовательно с каждой записью кэш, а параллельно со всеми его записями (рис.1.11). Признак, по которому выполняется сравнение, называется тегом (tag). В данном случае тегом является адрес данных в оперативной памяти. Электронная реализация такой схемы приводит к удорожанию памяти, причем стоимость существенно возрастает с увеличением объема запоминающего устройства. Поэтому полностью ассоциативная кэш-память используется в тех случаях, когда для обеспечения высокого процента попадания достаточно небольшого объема памяти.

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

Стр.15


Дата добавления: 2018-04-15; просмотров: 381; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!