Дисциплины записи в кэш-память
При выполнении команд «Запись содержимого регистра в оперативную память» используются следующие дисциплины записи:
немедленная (сквозная) запись (write through). При «удачном» попадании в кэш-память первого уровня иерархии - информация записывается в два места: в блок кэш-памяти первого уровня иерархии и в блоки памяти всех более низких уровней иерархии подсистемы памяти (в том числе и в оперативную память). При «неудачном» попадании в кэш-память первого уровня иерархии - информация записывается только в оперативную память.
Обратная (отложенная) запись (запись с обратным копированием - write back). При «удачном» попадании в кэш-память первого уровня иерархии информация записывается только в блок кэш-памяти первого уровня иерархии.
Модифицированный блок кэш-памяти i-го уровня иерархии записывается в блок кэш-памяти (i+1)-го уровня иерархии, только когда он замещается. Для сокращения частоты копирования блоков при замещении обычно с каждым блоком кэш-памяти связывается так называемый признак модификации (dirty bit). Этот признак состояния показывает, был ли модифицирован блок, находящийся в кэш-памяти. Если он не модифицировался, то обратное копирование отменяется, поскольку более низкий уровень содержит ту же самую информацию, что и более верхний уровень иерархии кэш-памяти. При «неудачном» попадании в кэш-память первого уровня иерархии выполняются действия аналогичные «промаху» при чтении: читается необходимый блок из памяти более низкого уровня иерархии и выполняется запись данных в этот блок.
Оба подхода к организации записи имеют свои преимущества и недостатки. При записи с обратным копированием операции записи выполняются со скоростью кэш-памяти верхнего уровня иерархии, и несколько записей в один и тот же блок требуют только одной записи в память более низкого уровня иерархии. Поскольку в этом случае обращения к памятям более низких уровней иерархии происходят реже, требуются меньшие полосы пропускания между памятями соседних уровней иерархии (в том числе и оперативной памяти, что очень привлекательно для мультипроцессорных систем).
Дисциплина «сквозная» запись проще для реализации, чем запись с обратным копированием. Она имеет также преимущество в том, что оперативная память имеет наиболее свежую копию данных. Это важно в мультипроцессорных системах, а также для организации ввода/вывода.
Когда процессор ожидает завершения записи при выполнении «сквозной» записи, то говорят, что он приостанавливается для записи (write stall). Общий прием минимизации остановов по записи связан с использованием буфера записи (write buffer), который позволяет ядру процессора продолжить выполнение команд во время обновления содержимого оперативной памяти. Следует отметить, что остановы по записи могут возникать и при наличии буфера записи.
Дата добавления: 2015-09-29; просмотров: 744;