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

4.4.2. Атрибуты памяти физической адресации

Выбор атрибутов памяти для физической адресации осуществляется с помощью бита 63 адреса, содержащегося в регистре базового адреса, как это показано на рис. 4.20 и табл. 4.11.

63

62

Базовый регистр

0

62

0

атрибут

Физический адрес

Рис. 4.20. Физическая адресация памяти

Табл. 4.11. Коды атрибутов памяти физической адресации

Бит{63}

Мнемо­ника

Кэширу­емость

Политика записи

Спекулятивность

КогерентностьA по отношению

0

WLB

Да

WB

Не последовательная и ограниченная спекулятивность

WLB,WB

1

UC

Нет

Объединение

Последовательная и не спекулятивна

UC, UCE

  1. Здесь, когерентность относится к мультипроцессорной когерентности в нормальной, свободной от побочных эффектов памяти.

Для описания физической адресации ограничивающей спекулятивность см. раздел 4.4.6 «Спекулятивные атрибуты». Бит {63} отвергается при формировании физического адреса, в сущности, создавая пространство с обратной записью (WBL) и не кэшируемое пространство (UC), как это показано на рис. 4.21.

Программа должна использовать корректное имя пространства при использовании физической адресации, в противном случае, могут быть спекулятивные обращения к устройствам ввода/вывода с побочными эффектами. При физической адресации, обращения упорядочиваются, только если используются упорядоченные загрузки или упорядоченные сохранения. В других случаях обращения к физической памяти не упорядочиваются.

264

Не кэшируемое,

не спекулятивное пространство

263

UC

Физическое адресное пространство размером 263

Кэшируемое пространство ограниченной спекулятивности, с обратной записью

0

WBL

Рис. 4.21. Атрибуты адресуемой памяти.

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

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

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

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

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