December 11 2017 07:49:34
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
отключенный процессор
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

Если выполняется захват шины другим процессором (активным устройством) в мультипроцессорной системе, то отключаемый от шины процессор продолжает выполнение команд и обработку данных, содержащихся в кэш-памяти. Активный процессор может обратиться к данным, копии которых уже находятся в отключенном от шины процессоре. Поэтому необходимо принять меры для обеспечения идентичности копий данных, используемых различными процессорами. Такие меры реализуются с помощью специальных средств, выполняющих снуппинг (snoop) -слежение за содержимым кэш-памяти разных процессоров, входящих в систему. При этом отключенный от внешней шины процессор принимает адреса, выдаваемые на адресные линии активным процессором. Если этот адрес совпадает с адресом данных, хранящихся в одной из заполненных строк кэш-памяти данных отключенного процессора, то выполняются следующие процедуры. Если активный процессор производил запись по данному адресу, то содержимое соответствующей строки в отключенном от шины процессоре аннулируется (устанавливается состояние I). Если активный процессор производил чтение по адресу строки, имеющей состояние М, то отключенный процессор выполняет специальный цикл выдачи адресованных данных на внешнюю шину, чтобы активный процессор получил их модифицированный вариант.

Когда отключенный процессор снова становится активным, т. е. принимает на себя управление системной шиной, то для заполненных строк его кэш-памяти данных устанавливается состояние S. Оно показывает, что содержимое строки может находиться в кэш-памяти данных другого процессора, который был активным ранее. Запись данных в строку, имеющую состояние S, вызовет также их запись в основную память, после чего строка устанавливается в состояние Е.

Отметим, что описанный протокол MESI, обеспечивающий когерентность содержимого основной и кэш-памяти, действует только при обращениях к внутренней кэш-памяти данных и общей кэш-памяти 2-го уровня. Во внутренней кэш-памяти команд процедура записи (модификации) не реализуется, поэтому при обращении к ней когерентность сохраняется без использования дополнительных средств.

Управление функционированием кэш-памяти осуществляется битами CD и NW в регистре CR0 (см. рис. 2.7,а), которые определяют три возможных режима работы в соответствии с табл. 2.5.

При нормальном функционировании кэш-памяти (биты CD = NW = 0) кэш-попадание вызывает чтение данных из кэша или их запись в кэш. Кэш-промах при чтении приведет к заполнению соответствующей строки кэша из основной памяти. Запись в основную память выполняется при кэш-промахе, а также в случае кэш-попадания при записи в строку, имеющую S-состояние (для обеспечения когерентности в мультипроцессорных системах).

При запрещенном заполнении кэш-памяти (бит CD = 1) ее содержимое сохраняется и может использоваться. В этом режиме кэш-память может служить в качестве быстрого статического ОЗУ, если предварительно загрузить в нее содержимое определенной области основной памяти. При кэш-попадании выполняется чтение данных из кэша или их запись в кэш. Кэш-промах при чтении или записи вызывает обращение к основной памяти для выборки операнда, но изменение содержимого кэша (заполнение строки) не производится. Если установлено значение бита NW = 0, то кэш-попадание при записи в строку, имеющую S-состояние, вызовет также запись данных в основную память для обеспечения когерентности. Если установлено значение NW = 1, то при кэш-попадании в строку, имеющую S-состояние, запись в основную память не производится, то есть когерентность не поддерживается. В этом случае строка, в которой зафиксировано кэш-попадание, сохраняет состояние S.

Чтобы полностью исключить использование кэш-памяти обоих уровней (L1 и L2), в процессоре Р6 необходимо выполнить команду WBINVD и затем установить в регистре CR0 значения битов CD = NW = 1. Обычно использование кэш-памяти запрещают в процессе отладки, чтобы по состоянию системной шины можно было контролировать каждый цикл функционирования системы.

При использовании страничной адресации памяти управление кэшированием осуществляется с помощью битов PCD, PWT в регистре CR3 и бита PGE в регистре CR4. Кроме того, используются биты G, PCD, PWT, которые содержатся в указателях разделов и страниц, хранящихся в основной памяти в виде специальных таблиц. Эти биты устанавливают различные режимы кэширования для отдельных разделов и страниц памяти.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.03 секунд 2,294,953 уникальных посетителей