Новосибирский государственный университетФакультет информационных технологий |
Протоколы на основе справочника предполагают сбор и отслеживание информации о содержимом всех локальных кэшей. Такие протоколы обычно реализуются с помощью централизованного контроллера, физически представляющего собой часть контроллера основной памяти.
Протоколы обеспечения когерентности на основе справочника характерны для сложных мультипроцессорных систем с совместно используемой памятью, где процессоры объединены многоступенчатой иерархической коммуникационной сетью. Сложность конфигурации сети приводит к тому, что применение протоколов наблюдения с их механизмом широковещания становится дорогостоящим и неэффективным.
Собственно справочник хранится в основной памяти. Когда контроллер локальной кэш-памяти делает запрос, контроллер справочника обнаруживает такой запрос и формирует команды, необходимые для пересылки данных из основной памяти либо из другой локальной кэш-памяти, содержащей последнюю версию запрошенных данных. Центральный контроллер отвечает за обновление информации о состоянии локальных кэшей, поэтому он должен быть извещен о любом локальном действии, способном повлиять на состояние блока данных.Справочник содержит множество записей, описывающих каждый кэшируемый блок основной памяти, который может быть совместно использован процессорами системы. Обращение к справочнику производится всякий раз, когда один из процессоров изменяет копию такого блока в своей локальной памяти. В этом случае информация из справочника нужна для того, чтобы аннулировать или обновить копии измененного блока в прочих локальных кэшах, где такие копии имеются.
Для разделяемого блока, копия которого может быть помещена в кэш-память, в справочнике выделяется одна запись, хранящая указатели на копии данного блока. Кроме того, в каждой записи выделен один бит модификации (D), показывающий, является ли копия «грязной» (D = 1 - dirty) или «чистой» (D = 0 - clean), то есть изменялось ли содержимое блока в кэш-памяти после того, как он был туда загружен. Этот бит указывает, имеет ли право процессор производить запись в данный блок.
В настоящее время известны три способа реализации протоколов обеспечения когерентности кэш-памяти на основе справочника: полный справочник, ограниченные справочники и сцепленные справочники.
Некоторые актуальные протоколы обеспечения когерентности на основе справочника:
Ключевые термины: когерентность кэш-памяти; аппаратные способы решения проблемы когерентности;
Федотова Ольга |
НГУ ФИТ НГУ ИВТ СО РАН |