![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В таблице 1 перечисляются состояния MESI и их свойства.
Таблица 1. Четыре состояния MESI | ||||
СостояниеMESI | Кэш-строка действительна? | Значения в памяти | Есть копияв кэш-памяти другого узла | Запрос на запись обращается к 1) |
М | да | недействительны | нет | кэш-памяти |
E | да | действительны | нет | кэш-памяти |
S | да | действительны | возможно | кэш/подсистема памяти |
I | нет | неизвестно | возможно | подсистема памяти |
1) подсистема памяти – это основная память или кэш L2 |
Состояние строки кэш используется, во-первых, для определения процессором ВМ возможности локального, без выхода на шину, доступа к данным в кэш-памяти, а во-вторых, – для управления механизмом когерентности.
Для управления режимом работы механизма когерентности используется бит WT, единичное состояние которого задает режим сквозной (write-through) записи, а состояние 0 – режим обратной (write-back) записи в кэш-память. Но действие бита WT=1, являетсяне прямым, а реализуемым через запрет на использование состояний E и M, в которых всегда используется обратная запись. Для строк в состояниях I используется сквозная запись без размещения, в состояниях S – с размещением (с модификацией строки в кэш памяти).
При исполнении команд чтения и записи состояние строки кэш-памяти, к которой выполняется доступ, определяется таблицей 2.
Таблица 2 Переходы состояний кэш памяти | ||
Исх. Состояние строки | Состояние после чтения | Состояние после записи |
I | Если WT=0, тогда Е, иначе S; Обновление строки путем ее чтения из основной памяти | Сквозная запись в основную память; I |
S | S | Сквозная запись в основную память; Если WT=0 тогда Е, иначе S |
Е | Е | Мзадержанная (обратная) запись |
М | М | М задержанная (обратная) запись |
Промах чтения в кэш-памяти заставляет вызвать строку из основной памяти с размещением в кэш и сопоставить ей состояние Е или S, в зависимости от значения бита WT. Кэш-память заполняется только при промахах чтения.
При WT=0 (режим обратной записи) состояние строки кэш определяется как E.
Состояние Е позволяет модифицировать данные строки кэш-памяти без немедленной модификации строки основной памяти, что, в свою очередь, увеличивает производительность. До тех пор, пока к данным строки не будет доступа со стороны других процессоров или внешних устройств, не будет записи в оперативную память.
При WT=1 (режим сквозной записи) состояние кэш-строки определяется как S, но по сути оно могла бы определиться как Е.
Дальнейшие операции записи и чтения при WT=1 оставляют кэш-строку в состоянии S, для которого определена только сквозная запись.
Сквозная запись снимает проблему когерентности модулей кэш-памяти, но повышает загруженность внешней шины и увеличивает задержки обращения к памяти. Но для определенных конфигураций многопроцессорных систем с частыми межпрограммными обменами данными этот режим может быть предпочтительным.
Для поддержки когерентности модулей кэш-памяти при обращениях к основной памяти на шине генерируются специальные циклы просмотра состояния строк модулей кэш-памяти процессоров, не участвующие в циклах записи или чтения и вмешательства. В них опрашиваются модули кэш-памяти на предмет хранения в них строки, которой принадлежит адрес, используемый в операции, инициировавшей циклы опроса состояния. Возможен режим принудительного перевода строки в состояние I, который задается сигналом INV.
Изменения состояний модулей кэш-памяти в протоколах MESI.
Состояние кэш-строки может измениться в результате чтения, записи или цикла просмотра и вмешательства. Приводимые ниже правила управляют переходами из одного состояния в другое. Они описаны отдельно для каждого из трех типов доступа.
На рисунке 1 показана соответствующая диаграмма переходов.
Дата публикования: 2014-11-03; Прочитано: 317 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!