Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс_лекций_ОС_П+И_2012.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
413.07 Кб
Скачать

Кэширование данных

Память компьютера представляет собой иерархию запоминающих устройств (ЗУ), которые отличаются друг от друга среднем временем доступа к данным, объемом памяти и стоимостью хранения одного бита. Всю память компьютера можно представить в виде пирамиды.

о бъем время доступа

Объем памяти

Время доступа

десятки байт

Р егистровая память

2 – 3 нсек

сотни Кбайт

Б ыстродействующая память SRAM

5 - 8 нсек

сотни Мбайт

Оперативная память DRAM

10 – 20 нсек

д есятки Гбайт

Внешняя память

10 – 50 милисек

стоимость

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

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

Кэширование – это универсальный метод ускорения доступа к оперативной памяти, диску и другим видам ЗУ. Для уменьшения среднего времени доступа к ОП в качестве КЭШа используется быстродействующая статическая память. Для ускорения доступа (уменьшения времени доступа) к данным на жестком диске в качестве КЭШа используются буферы ОП.

Принципы действия КЭШ памяти

Содержимое КЭШ – памяти представляет собой совокупность записей обо всех загруженных в нее данных из основной памяти. Разработано много способов выбора данных из основой памяти, в том числе и алгоритм случайного отображения. При использовании алгоритма «случайного отображения» структура КЭШ – памяти имеет следующий вид

Адрес данных в основной памяти

данные

Управляющая информация

……

……..

……..

Управляющая информация используется алгоритмами замещения данных и включает признак модификации.

Признак модификации равен 0, если данные в КЭШ – памяти не изменялись

1, если данные в КЭШ – памяти изменялись

При каждом обращении к основной памяти по физическому адресу просматривается КЭШ – память с целью определения есть ли там искомые данные. КЭШ – память не является адресуемой, поиск информации осуществляется по значению поля адреса в основной памяти, взятому из запроса. Далее возможно два варианта:

  1. Данные находятся в КЕШ – памяти, произошло КЭШ – попадание, данные считываются из КЕШ – памяти и передаются источнику запроса;

  2. Данные отсутствуют в КЕШ – памяти, произошел КЭШ - промах, данные считываются из основной памяти, передаются источнику запроса и одновременно копируются в КЕШ – память.

Вероятность обнаружения данных зависит от многих факторов, таких как объем КЕШ –памяти, объем кэшируемой памяти, время работы процесса и т.д. В современных системах вероятность обнаружения данных в КЕШ – памяти достигает 90 %, такая высокая вероятность нахождения данных основана на двух принципах:

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

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

В начале работы, когда КЕШ – память еще пуста, почти каждый запрос выполняется «по полной программе», то есть происходит КЭШ – промах, но по мере заполнения КЭШа вероятность нахождения данных в КЭШе возрастает.

Одним из свойств КЕШ – памяти является ее прозрачность для приложений и пользователей. Ни пользователи, ни приложения не принимают никакого участия в перемещении данных из одного ЗУ в другое, все это выполняется автоматически средствами операционной системы.

В процессе работы содержимое КЕШ – памяти постоянно обновляется, то есть происходит вытеснение данных. Вытеснение данных означает:

  1. Если данные не изменялись, то данная область КЕШ – памяти объявляется свободной;

  2. Если данные изменялись, то данные копируются в основную память и данная область КЕШ – памяти объявляется свободной. Для определения изменения данных в КЕШ - памяти проверяется бит модификации.

Наличие двух копий данных - в КЕШ – памяти и в основной памяти порождает проблему согласования данных. Для решения которой используется два способа:

Сквозная запись – при каждом запросе к основной памяти просматривается КЕШ.

  • если данные в КЕШ – памяти отсутствуют, то запись проводится только в основную память,

  • если данные есть в КЕШ – памяти, то запись проводится и в КЕШ – память и в основную память;

Обратная запись - при каждом запросе к основной памяти просматривается КЕШ.

  • если данные в КЕШ – памяти отсутствуют, то запись проводится только в основную память,

  • если данные есть в КЕШ – памяти, то запись проводится и в КЕШ – память и устанавливается признак модификации = 1. Признак модификации показывает, что данные обновлялись и при вытеснении данных из КЕШ – памяти, они будут переписаны в основную память.

Существует два класса КЕШ – памяти:

  • КЭШ 1- го уровня (внутренний КЭШ) – размещается на кристалле микропроцессора, имеет объем 16 / 32 кбайта.

  • КЭШ 2 – го уровня (внешний КЕШ) – устанавливается в виде отдельной микросхемы, имеет объем 256 / 512 кбайт

КЭШ 1- го уровня имеет более высокое быстродействие, чем КЭШ 2 – го уровня.