Рассмотрим особенности работы кэш-памяти в случае, когда одновременно несколько МП используют общую ОП (рис. 4). Здесь могут возникнуть проб-лемы, связанные с кэшированием информации из ОП в кэш-память МП В.
Рис. 4. Структура мульти МП системы с общей ОП
Предположим, что МПА считал некоторую строку данных из ОЗУ в свою внутреннюю КП и изменил данные в этой строке в процессе работы.
Существует два основных механизма обновления оперативной памяти:
1. сквозная запись, которая подразумевает, что как только изменилась информация во внутренней кэш-памяти, эта же информация сразу же копируется в то же место оперативной памяти, и
2. обратная запись, при которой МП после изменения информации во внутреннем кэше отражает это изменение в ОП не сразу, а лишь в тот момент, когда происходит вытеснение данной строки из кэш-памяти в ОП.
Т.о. существуют определенные моменты времени, когда информация, например, по адресу 2000 имеет разные значения: МП А ее обновил, а в ОП осталось старое значение. Если в этот момент МП В, использующий ту же ОП, обратится по адресу 2000 в ОЗУ, то он прочитает оттуда старую информацию, которая к этому времени уже не актуальна.
► Для обеспечения согласованности (когерентности) памяти в мульти МП системах используются аппаратные механизмы, позволяющие решить эту проблему. Они называются протоколами когерентности кэш-памяти и призваны гарантировать, что любое считывание элемента данных возвращает последнее по времени записанное в него значение.
Существует два класса протоколов когерентности:
· протоколы на основе справочника (directory based): информация о состоянии блока физической памяти содержится только в одном месте, называемом справочником (физически он мб распределен по узлам ВС);
· протоколы наблюдения (snooping): каждый кэш, который содержит копию данных некоторого блока физической памяти, имеет также копию служебной информации о его состоянии; централизованная система записей отсутствует; кэши расположены на общей шине, и их контроллеры наблюдают за шиной, чтобы определять, какие обращения по адресам в пределах этого блока происходят со стороны других МП.
►Для поддержания когерентности применяется два основных метода.
● Один из методов заключается в том, чтобы гарантировать, что МП должен получить исключительные права доступа к элементу данных перед выполне-нием записи в этот элемент данных. Этот тип протоколов называется протоколом записи с аннулированием(write invalidate protocol), поскольку при выполнении записи он аннулирует другие копии. Это наиболее часто используемый протокол как в схемах на основе справочников, так и в схемах наблюдения. Исключительное право доступа гарантирует, что во время выполнения записи не существует никаких других копий элемента данных, в которые можно писать или из которых можно читать: все другие кэшированные копии элемента данных аннулированы.
● Альтернативой протоколу записи с аннулированием является обновление всех копий элемента данных в случае записи в этот элемент данных.
Этот тип протокола называется протоколом записи с обновлением (write update protocol), или записи с трансляцией (write broadcast protocol).
Ключевым моментом реализации этих методов является использование для выполнения этих операций механизма шины. Для выполнения операции МП просто захватывает шину и транслирует по ней адрес, по которому должно производиться обновление или аннулирование данных.
▪ Все МП непрерывно наблюдают за шиной, контролируя появляющиеся на ней адреса.
▪ Они проверяют, не находится ли в их кэш-памяти адрес, появившийся на шине.
▪ Если это так, то соответствующие данные в кэше либо аннулируются, либо обновляются в зависимости от используемого протокола.
При обеспечении когерентности памяти возможны ситуации:
· RH (Read Hit) -кэш-попадание при чтении;
WH (Write Hit) -кэш-попаданиепри записи;
RME (Read Miss Exclusive) - кэш-промахпри чтении;
RMS (Read Miss Shared) -кэш-промах при чтении, но соответствующий блок есть в кэш-памяти другого МП;
WM (Write Miss) -кэш-промах при записи;
SHR (Snoop Hit Read) - обнаружение копии блока при прослушивании операции чтения другого кэша;
SHW (Snoop Hit Write) - обнаружение копии блока при прослушивании операции записи другого кэша.
Наибольший интерес представляют две последние позиции.
▪ Современные микропроцессоры имеют двунаправленную шину адреса. Выдавая информацию на эту шину, МП адресует ячейки ОП или устройства ввода-вывода. В силу того, что в рассматриваемой мультипроцессорной системе микропроцессоры связаны общей шиной, в том числе и шиной адреса, принимая информацию по адресным линиям, МП определяет, было ли обращение по адресам, содержащимся в его кэш-памяти, со стороны других микропроцессоров.
▪ При обнаружении такого обращения меняется состояние строки кэш-памяти микропроцессора.
Краткие итоги.
ü Рассмотрены общие принципы функционирования кэш-памяти микропроцессора, организация кэш-памяти с прямым отображением, полностью ассоциативной и множественно-ассоциативной КП.
ü Рассмотрены основные механизмы обновления оперативной памяти: кэширование со сквозной и с обратной записью.
ü Представлена организация внутренней кэш-памяти микропроцессора.
ü Разобраны способы обеспечения согласованности кэш-памяти микропроцессоров в мультипроцессорных системах.
Лекция 6, Часть 2
Аппаратные средства защиты информации в микропроцессоре