Все преимущества в использовании кэш-памяти относятся, в основном, к операциям чтении информации. При выполнении операций записи процессор передает в контроллер памяти команду записи и записываемые данные. На этом действия процессора по записи заканчиваются.
При записи с использованием кэш-памяти возможны различные варианты выполнения операции записи в зависимости от ситуации (кэш-промах или кэш-попадание).
Когда клиент кэша (ЦПУ, веб-браузер, операционная система) обращается к данным, прежде всего исследуется кэш. Если в кэше найдена запись с идентификатором, совпадающим с идентификатором затребованного элемента данных, то используются элементы данных в кэше. Такой случай называется попаданием кэша. Если в кэше не найдена запись, содержащая затребованный элемент данных, то он читается из основной памяти в кэш, и становится доступным для последующих обращений. Такой случай называется промахом кэша. Процент обращений к кэшу, когда в нём найден результат, называется уровнем попаданий или коэффициентом попаданий в кэш.
При кэш-попадании возможны следующие процедуры записи:
сквозная запись,
обратная запись.
Процедура сквозной записи. Запись данных производится в оперативную память и, одновременно, в строку кэш-памяти. При этом строки (в кэш-памяти и оперативной памяти) помечаются битом "модифицированные". Эти признаки учитываются при удалении страниц из строки кэш-памяти (в оперативную память) или страницы из оперативной памяти (в накопитель на магнитных дисках). Сквозная запись гарантирует нахождение в оперативной памяти "более свежей" копий данных, но, без использования буферизации данных, приводит к задержкам процессора.
Процедура обратной записи
При обратной записи запись данных производится только в строки кэш-памяти. Обновление данных в оперативной памяти по адресам записи откладывается до замещения модифицированной строки. Замещение строки производится, если страница признается "устаревшей" алгоритмом "листания".
Обратная запись уменьшает количество обращений к памяти по записи. Запись производится построчно, т.е. одновременно по всем блокам оперативной памяти с расслоением, и записываются только самые последние копии данных. Недостатком обратной записи является нарушение когерентности данных в оперативной памяти и в кэш-памяти. Это затрудняет работу в многопроцессорных системах с общей оперативной памятью, но с разделенными (индивидуальными) блоками кэш-памяти для каждого процессора.
При кэш-промахах возможны следующие процедуры записи:
сквозная,
сквозная с размещением,
Сквозная запись
При кэш-промахе, размещение новой информации связано с освобождением одной из строк (признанной устаревшей) кэш-памяти. Чтение записываемых данных в ближайший промежуток времени после их записи маловероятен. Сквозная запись производится, минуя записи в кэш-память. Записанная информация становится доступной при чтении, через кэш-промах при чтении и обновлении информации в кэш-памяти. Сквозная запись не затрагивает кэш-память и оптимизирует очередь обращений к ней.
Обычно, в кэш-памяти со сквозной записью при промахе используется и сквозная запись при кэш-попадании.
Сквозная запись с размещением (в кэш-памяти)
Запись производится в кэш-память и в оперативную память. Этот вид записи может быть полезен в многопроцессорных многозадачных системах с общей оперативной памятью, но разделенными системами кэш-памяти.
Do'stlaringiz bilan baham: |