Режимы работы кэш-памяти
Все преимущества в использовании кэш-памяти относятся, в основном, к операциям чтении информации. При выполнении операций записи процессор передает в контроллер памяти команду записи и записываемые данные. На этом действия процессора по записи заканчиваются. Процессор может терять время на ожидание окончания записи только при последующих обращениях к памяти. Команда записи может относиться к данным в формате меньшем номинальной ширины обращения к оперативной памяти, например в формате байта или слова, вместо двойного слова. В этих случае временные потери могут быть увеличены. Это операции чтения "с намерением записи", которые реализуются последовательностью операций: чтение, модификация, запись.
При записи в систему памяти возможны варианты записи без буферизации данных и с буферизацией данных.
В вариантах записи с буферизацией данных процессор передает данные в буфер записи и освобождается для выполнения следующих команд. При этом данные помещаются в очередь данных буфера по записи. Это не простая очередь, а очередь с элементами логики. Данные команд записи, помещенные в буфер, становятся видимы и читаемы командами чтения еще до записи их в память. Такой буфер был реализован еще в ЭВМ IBM 7030 (прототип архитектуры моделей семейства IBM 360).
При записи с использованием кэш-памяти возможны различные варианты выполнения операции записи в зависимости от ситуации (кэш-промах или кэш-попадание).
При кэш-попадании возможны следующие процедуры записи:
· сквозная запись,
· обратная запись.
Процедура сквозной записи. Запись данных производится в оперативную память и, одновременно, в строку кэш-памяти. При этом строки (в кэш-памяти и оперативной памяти) помечаются битом "модифицированные". Эти признаки учитываются при удалении страниц из строки кэш-памяти (в оперативную память) или страницы из оперативной памяти (в накопитель на магнитных дисках). Сквозная запись гарантирует нахождение в оперативной памяти "более свежей" копии данных, но без использования буферизации данных приводит к задержкам процессора.
Процедура обратной записи
При обратной записи запись данных производится только в строки кэш-памяти. Обновление данных в оперативной памяти по адресам записи откладывается до замещения модифицированной строки. Замещение строки производится, если страница признается "устаревшей" алгоритмом "листания".
Обратная запись уменьшает количество обращений к памяти по записи. Запись производится построчно, т.е. одновременно по всем блокам оперативной памяти с расслоением, и записываются только самые последние копии данных. Недостатком обратной записи является нарушение когерентности данных в оперативной памяти и в кэш-памяти. Это затрудняет работу в многопроцессорных системах с общей оперативной памятью, но с разделенными (индивидуальными) блоками кэш-памяти для каждого процессора.
При кэш-промахах возможны следующие процедуры записи:
· сквозная,
· сквозная с размещением.
Дата добавления: 2015-08-14; просмотров: 1037;