Режимы работы кэш-памяти
Все преимущества в использовании кэш-памяти относятся, в основном, к операциям чтении информации. При выполнении операций записи процессор передает в контроллер памяти команду записи и записываемые данные. На этом действия процессора по записи заканчиваются. Процессор может терять время на ожидание окончания записи только при последующих обращениях к памяти. Команда записи может относиться к данным в формате меньшем номинальной ширины обращения к оперативной памяти, например в формате байта или слова, вместо двойного слова. В этих случае временные потери могут быть увеличены. Это операции чтения "с намерением записи", которые реализуются последовательностью операций: чтение, модификация, запись.
При записи в систему памяти возможны варианты записи без буферизации данных и с буферизацией данных.
В вариантах записи с буферизацией данных процессор передает данные в буфер записи и освобождается для выполнения следующих команд. При этом данные помещаются в очередь данных буфера по записи. Это не простая очередь, а очередь с элементами логики. Данные команд записи, помещенные в буфер, становятся видимы и читаемы командами чтения еще до записи их в память. Такой буфер был реализован еще в ЭВМ IBM 7030 (прототип архитектуры моделей семейства IBM 360).
При записи с использованием кэш-памяти возможны различные варианты выполнения операции записи в зависимости от ситуации (кэш-промах или кэш-попадание).
При кэш-попадании возможны следующие процедуры записи:
· сквозная запись,
· обратная запись.
Процедура сквозной записи. Запись данных производится в оперативную память и, одновременно, в строку кэш-памяти. При этом строки (в кэш-памяти и оперативной памяти) помечаются битом "модифицированные". Эти признаки учитываются при удалении страниц из строки кэш-памяти (в оперативную память) или страницы из оперативной памяти (в накопитель на магнитных дисках). Сквозная запись гарантирует нахождение в оперативной памяти "более свежей" копии данных, но без использования буферизации данных приводит к задержкам процессора.
Процедура обратной записи.При обратной записи запись данных производится только в строки кэш-памяти. Обновление данных в оперативной памяти по адресам записи откладывается до замещения модифицированной строки. Замещение строки производится, если страница признается "устаревшей" алгоритмом "листания".
Обратная запись уменьшает количество обращений к памяти по записи. Запись производится построчно, т.е. одновременно по всем блокам оперативной памяти с расслоением, и записываются только самые последние копии данных. Недостатком обратной записи является нарушение когерентности данных в оперативной памяти и в кэш-памяти. Это затрудняет работу в многопроцессорных системах с общей оперативной памятью, но с разделенными (индивидуальными) блоками кэш-памяти для каждого процессора.
При кэш-промахах возможны следующие процедуры записи:
· сквозная,
· сквозная с размещением.
Сквозная запись. При кэш-промахе, размещение новой информации связано с освобождением одной из строк (признанной устаревшей) кэш-памяти. Чтение записываемых данных в ближайший промежуток времени после их записи маловероятно. Сквозная запись производится, минуя записи в кэш-память. Записанная информация становится доступной при чтении, через кэш-промах при чтении и обновлении информации в кэш-памяти. Сквозная запись не затрагивает кэш-память и оптимизирует очередь обращений к ней.
Обычно в кэш-памяти со сквозной записью при промахе используется и сквозная запись при кэш-попадании.
Сквозная запись с размещением (в кэш-памяти). Запись производится в кэш-память и в оперативную память. Этот вид записи может быть полезен в многопроцессорных многозадачных системах с общей оперативной памятью, но разделенными системами кэш-памяти.
Вопросы для самопроверки:
1. Кэш-память с буферизацией.
2. Кэш-память со сквозной записью при кэш- попадании.
3. Кэш-память с обратной записью при кэш- попадании.
4. Кэш-память со сквозной записью при кэш- промахе.
5. Кэш-память с обратной записью при кэш- промахе.
Дата добавления: 2021-01-26; просмотров: 359;