Операционные системы: управление памятью. Макаров П.С. - 60 стр.

UptoLike

Составители: 

кэш-память целый фрагмент программы. Аналогично, если программа ведет
обработку некоторого массива данных, то ее работу можно ускорить, загрузив в
кэш-часть или даже весь массив данных. При этом учитывается высокая
вероятность того, что значительное число обращений к памяти будет
выполняться к адресам массива данных.
Проблема согласования данных
В процессе
работы содержимое кэш-памяти постоянно обновляется, а
значит, время от времени данные из нее должны вытесняться. Вытеснение
означает либо простое объявление свободной соответствующей области
кэш-памяти (сброс бита действительности), если вытесняемые данные за время
нахождения в кэше не были изменены, либо в дополнение к этому копирование
данных в основную память, если
они были модифицированы. Алгоритм замены
данных в кэш-памяти существенно влияет на ее эффективность. В идеале такой
алгоритм должен, во-первых, быть максимально быстрым, чтобы не замедлять
работу кэш-памяти, а, во-вторых, обеспечивать максимально возможную
вероятность кэш-попаданий. Поскольку из-за непредсказуемости
вычислительного процесса ни один алгоритм замещения данных
в кэш-памяти
не может гарантировать оптимальный результат, разработчики ограничиваются
рациональными решениями, которые по крайней мере, не сильно замедляют
работу кэшазапоминающего устройства, изначально призванного быть
быстрым.
Наличие в компьютере двух копий данныхв основной памяти и в кэше
порождает проблему согласования данных. Если происходит запись в
основную память по
некоторому адресу, а содержимое этой ячейки находится в
кэше, то в результате соответствующая запись в кэше становится
недостоверной. Рассмотрим два подхода к решению этой проблемы:
Q Сквозная запись (write through). При каждом запросе к основной
памяти, в том числе и при записи, просматривается кэш. Если
данные по запрашиваемому адресу отсутствуют, то запись
выполняется только в основную память. Если же данные, к
которым выполняется обращение, находятся в кэше, то запись
выполняется одновременно в кэш и основную память.
Q Обратная запись (write back). Аналогично при возникновении
запроса к памяти выполняется просмотр кэша, и если
запрашиваемых данных там нет, то запись выполняется только в
основную память. В
противном же случае запись производится
только в кэш-память, при этом в описателе данных делается
специальная отметка (признак модификации), которая указывает на
то, что при вытеснении этих данных из кэша необходимо
переписать их в основную память, чтобы актуализировать
устаревшее содержимое основной памяти.
В некоторых алгоритмах замещения предусматривается первоочередная
выгрузка модифицированных, или
, как еще говорят, «грязных» данных.
60