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

4.3.3 Поведение инструкций с не реализованными адресами

Использование не реализованного адреса влияет на выполнение инструкции следующим образом:

  • Не спекулятивные обращения к памяти (не спекулятивные загрузки, сохранения и семафоры), следующие обращения без доступа: fc, tpa, lfetch.fault иprobe.fault, а также обязательныеRSEоперации, для нереализованных адресов приводят к ошибке «Не реализованный адрес данных».

  • Проверяются виртуальные адреса, используемые операциями сброса/вставки инструкций и данных, и если базовый адрес (регистр r3 при сбросе,IFAпри вставке) указывает на не реализованный виртуальный адрес, то вызывается ошибка «Не реализованный адрес данных». Размер страницы вставки или сброса игнорируется.

  • Спекулятивные загрузки для нереализованных адресов, всегда возвращают в приемный регистр бит NaT.

  • Безошибочная инструкция probe, для нереализованного адреса возвращает ноль в приемный регистр.

  • Инструкция tak, для нереализованного адреса возвращает единицу в приемный регистр.

  • Безошибочная инструкция lfetch, для нереализованного адреса, безмолвно игнорируется.

  • Активные RSEоперации для нереализованных адресов не дают ошибки.

  • Переход (принятый или пропущенный), rfi,либо выборка инструкций для нереализованного виртуального адреса приводит к ловушке «Не реализованный адрес инструкции» на переходе,rfi,либо последней выполненной инструкции.

  • Когда операции ptc.gилиptc.gaпомещают виртуальный адрес на шину, тогда виртуальный адрес расширяется знаком до полного 64-битного формата. Если приходptc.g илиptc.gaпредставляет базу виртуального адреса, которая указывает на не реализованный виртуальный адрес, то верхние (не реализованные) биты виртуального адреса теряются, а сброс выполняется с усеченным адресом.

4.4. Атрибуты памяти

Если разрешена виртуальная адресация, то с помощью TLBзадаются атрибуты памяти, которые определяют спекулятивность, кэшируемость и политики записи виртуального отображения физической страницы. Если разрешена физическая адресация, то атрибуты памяти поддерживаются так, как это описано в разделе 4.4.2 «Атрибуты памяти физической адресации».

4.4.1. Атрибуты памяти виртуальной адресации

Для обращений к виртуальной памяти, поле атрибутов памяти каждой виртуальной трансляции, описывает свойства физической памяти так, как это показано в табл. 4.10.

Табл. 4.10. Коды атрибутов памяти виртуальной адресации

Атрибут

Мне­моника

ma

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

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

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

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

Обратная запись

WB

000

Да

WB

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

WB, WBL

Объединенная запись

WC

110

Нет

Объеди­нение

Не МР когерентностьB

Не кэшируемо

UC

100

Нет

Не объе­динение

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

UC,UCE

Экспортная не кэшируемость

UCE

101

Нет

РезервированоC

001

Резервировано

010

Резервировано

011

NaTPage

NaTPage

111

Да

нет

Спекулятивная

нет

  1. Столбец когерентности относится к мультипроцессорной (MP–multiprocessor) когерентности в нормальной, свободной от побочных эффектов памяти. Правила зависимости данных, заданные в разделе первого тома 4.4.7 «Упорядочение обращений к памяти», гарантируют однопроцессорную (uni-processor) когерентность для атрибутов памяти, перечисленных в каждой строке.

  2. WCне являетсяMPкогерентной для любых операций с атрибутами памяти, но является однопроцессорно когерентной для операций с самим собой.

  3. Этот атрибут памяти зарезервирован для использования программным обеспечением.

Атрибут UCEидентиченUC, за исключением выполнения инструкцииfetchadd. АтрибутUCEразрешает экспортирование инструкцииfetchaddза пределы процессора. Поддержка дляUCEявляется модельно зависимой: детальнее см. раздел 4.4.9 «Эффекты атрибутов памяти в инструкциях обращения к памяти».

Инструкции TLBвставки (itc, itr), которые пытаются вставить атрибуты зарезервированной памяти вTLB, вызывают ошибки «Зарезервированный регистр/поле». Работа внешней системы является не определенной, если программа вставляет атрибуты памяти, поддерживаемые процессором, но не поддерживаемые внешней системой.

Если программное обеспечение изменяет атрибуты памяти для страницы, то оно должно следовать требованиям перемещения атрибутов в разделе 4.4.11 «Требования перемещения атрибутов».

Рекомендуется, чтобы модели процессоров сообщали об аварийном выходе «Машинная проверка», если обнаружены следующие переименования атрибутов памяти:

  • Кэш попадание на не кэшируемой странице, не являющееся адресатом локальной или удаленной инструкции fc(см. раздел 4.4.9 «Эффекты атрибутов памяти в инструкциях обращения к памяти»).