Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзу по ОС.doc
Скачиваний:
1
Добавлен:
19.09.2019
Размер:
450.05 Кб
Скачать

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

Быстродействующая память основана на организации SRAM, её объем – несколько мегабайт, скорость доступа не превышает 8 мс. Регистры процессора – несколько байтов, скорость – 2-3 мс.

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

  1. если кэширование применятся к ОП, то в качестве КЭШа использует быстродействующая статическая память SRAM.

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

  3. виртуальную память тоже можно считать одним из вариантов реализации принципа кэширования, при котором ОП выступает в роли КЭШа по отношению к внешней памяти. Только в этом случае кэширование используется не для уменьшения времени доступа к данным, а для того, чтобы частично подменить ОП диском. В результате наиболее интенсивно используемые данные оседают в ОП, остальная информация хранится в более объемной и менее дорогой внешней памяти.

11 апреля 2012 г.

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

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

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

Цель – повысить количество кэш-попаданий. Вероятность обнаружения данных зависит от разных факторов: объема КЭШа, объема кэшируемой памяти, алгоритма замещения данных в КЭШе, особенностей выполняемой программы, времени её работы и других особенностей вычислительного процесса. Высокая вероятность нахождения данных объясняется наличием 2 свойств: пространственная и временная локальность.

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

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

Проблемы:

  1. проблема согласования данных. В процессе работы содержимое в КЭШе постоянно обновляются, значит должно выполняться вытеснение. Вытеснение может происходить 2 способами: если данные не были изменены во время нахождения – путем простого объявления некоторой области свободной (сброс бита действительности); если данные были модифицированы – в дополнение к первому пункту происходит копирование в ОП. Наличие в компьютере 2 копий данных порождает проблему согласования данных. Если происходит запись в ОП по некоторому адресу, а содержимое этой ячейки находится в КЭШе, то в результате соответствующая запись в КЭШе становится недостоверной. Поэтому при каждом запросе к ОП в том числе и при записи должен просматриваться кэш. Если данные отсутствуют, то запись выполняется только в ОП, а если данные находятся в КЭШе, то возможны 2 решения:

    • Сквозная запись – запись выполняется одновременно и в кэш и в ОП.

    • Обратная запись – запись производится только в кэш-память, при этом в описателе данных делается отметка (признак модификации), которая указывает на то, что при вытеснении данных из КЭШа их необходимо переписать в ОП, чтобы актуализировать устаревшее содержимое ОП.

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