Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПиП МПС(Ассемблер Левицкий экт 4) / MProc / M9 / Системная архитектура часть 4..doc
Скачиваний:
73
Добавлен:
16.04.2013
Размер:
751 Кб
Скачать

4.4.3. Атрибуты кэшируемости и когерентности

Страница может быть либо кэшируемая (cacheable), либо не кэшируемая (uncacheable). Если страница помечена как кэшируемая, то процессор разрешает разместить локальную копию соответствующей физической памяти во всех уровнях иерархии процессорной памяти и кэша. Размещение может быть изменено путем указания в инструкциях обращающихся к памяти, подсказок управления кэшем.

Страница, которую кэшировали, является когерентной с памятью, т.е. процессор и система памяти гарантируют, что для каждого процессора здесь есть непротиворечивый образ памяти. Процессоры, поддерживающие когерентность мультипроцессорного кэша, основываются на физических адресах между всеми процессорами в когерентном домене (сильно связанные (tightly coupled) микропроцессоры). Когерентность поддерживается в присутствии виртуальных псевдонимов, хотя, чтобы избежать любой возможной деградации эффективности, программе рекомендуется использовать псевдонимы обособленно, на расстоянии кратном 1М.

Для кода типа Itanium, процессоры не требуются для обслуживания когерентности между кэшами данных и инструкций локального процессора; т.е. локально инициируемые сохранения типа Itanium, не могут наблюдаться с помощью локального кэша инструкций. Но, процессоры требуются в случае кода типа IA-32, для обслуживания когерентности между кэшами данных и инструкций локального процессора. Также, не требуются кэши инструкций для когерентности мультипроцессорного набора инструкций типа Itanium, порожденного обращениями к памяти. Но, кэши инструкций требуются для когерентности мультипроцессорного набора инструкций типа IA-32, порожденного обращениями к памяти. Процессор должен гарантировать, что транзакции от других агентов ввода/вывода (таких как DMA), являются физически когерентными с кэшем инструкций и данных.

Для не кэшируемых обращений, процессор обеспечивает не когерентные механизмы; система памяти должна убедиться, что содержимое образа памяти видимо каждому процессору. См. раздел 4.4.5 «Атрибут объединения» для описания когерентности для атрибута объединенной памяти.

4.4.4. Атрибут политики записи кэша.

Кэшируемым страницам с отложенной записью (write back) нужно только модифицировать процессорную копию расположения физической памяти; записанным данным нужно только быть переданными в систему памяти при изменении места процессорной копии, либо запускается инструкция fc (flush cache – смыть кэш), чтобы смыть виртуальную адресацию. Запись строки кэша в память может быть отложена, если без ошибки выполнилась, указывающая на эту строку инструкция – сохранения, семафорная (успешная либо нет), ld.bias, принудительное сохранение RSE или lfetch с подсказкой .excl. Эти события допускают отложенную запись. Синхронизирующая инструкция fc, запрещает последующую отложенную запись (после того как строка будет смыта).

Как описано в разделе первого тома 4.4.5.3.2 «Аннулирование элементов ALAT», платформо видимое удаление строк кэша из кэшей процессоров (например, откладывание записи строк кэша или платформо видимые замены) вызывает аннулирование соответствующих элементов ALAT.