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

4.1.5.3. Короткий формат базирования региона vhpt

Короткий формат базирования региона VHPTпоказанный на рис. 4.10, использует 8-байтовые элементыVHPTдля поддержки конфигурации по-регионной таблицы линейных страниц. Для использования короткого форматаPTA.vfдолжно быть равно 0.

63

53

52

51

50

49

12

11

9

8

7

6

5

4

2

1

0

ig

ed

rv

ppn

ar

pl

d

a

ma

rv

p

11

1

2

38

3

2

1

1

3

1

1

Рис. 4.10. Короткий формат VHPT

Описание всех полей см. в разделе 4.1.1.5 «Формат вставки трансляции». Обходчик VHPTобеспечивает по умолчанию следующие значения, при установке элементов вTLB.

  • Номер виртуальной страницы (VirtualPageNumber) подразумевается позицией элемента вVHPT. Хэшированый элемент короткого формата рассматривается как соответствующая трансляция.

  • Идентификаторы регионов (RegionIdentifiers) не задаются в коротком формате. Для гарантии уникальности, программное обеспечение должно обеспечить уникальное отображениеVHPTдля каждого региона. Идентификаторы региона, полученные при обращении к регистрам региона, отмечаются трансляцией при вставке вTLB.

  • Размер страницы (PageSize) задается обращением к предпочтительному размеру страницы региона (RR[VA{63:61}].ps).

  • Ключ защиты (ProtectionKey) задается обращением к значению идентификатора региона (RR[VA{63:61}].rid). В результате, все реализации должны убедиться, что количество реализованных битов ключа не меньше, чем количество реализованных битов идентификатора региона.

Если трансляция отмечена как несуществующая, то игнорируемые поля пригодны для использования так, как отмечено на рис. 4.11.

63

1

0

ig

0

63

1

Рис. 4.11. Короткий формат несуществующего VHPT

4.1.5.4. Длинный формат vhpt

Длинный формат VHPTиспользует 32-байтовые элементыVHPTдля поддержки единой большой таблицы виртуальных хэш страниц. Для использования длинного форматаVHPT,PTA.vfдолжно быть установлено в 1. Длинный формат является охватывающим множеством формата вставкиTLB, как отмечено на рис. 4.12, и задает полную информацию трансляции (включая ключи защиты и размеры страниц). Дополнительные поля определены в табл. 4.8. Длинный формат обычно используется для построения конфигурации таблицы хэш страниц.

смещ.

63

53

52

51

50

49

32

31

12

11

9

8

7

6

5

4

2

1

0

+0

ig

ed

rv

ppn

ar

pl

d

a

ma

rv

p

+8

rv

key

ps

rv

+16

ti

tag

+24

ig

64

Рис. 4.12. Длинный формат VHPT

Табл. 4.8. Поля длинного формата VHPT

Поле

Смещение

Описание

tag

+16

Тег трансляции (TranslationTag), в конъюнкции с хэш индексомVHPTиспользуется для уникальной идентификации трансляции. Теги вычислены с помощью хэширования номера виртуальной страницы и идентификатора региона. Детальнее о генерации тегов и индексов хэширования см. раздел 4.1.6 «ХэшированиеVHPT».

it

+16

Бит недействительного тега (InvalidTag). Если он 1, то этот тег является недействительным.

ig

+24

Это поле доступно для программного использования и игнорируется процессором. Операционные системы могут сохранять любые значения, такие как, связи адресов для расширения цепочек коллизий в хэш коллизиях.

Если трансляция отмечена как несуществующая, то игнорируемые поля пригодны для использования так, как отмечено на рис. 4.13.

смещ.

63

8

7

2

1

0

+0

ig

0

+8

ig

ps

rv

+16

ti

tag

+24

ig

64

Рис. 4.13. Длинный формат не существующего VHPT

Для мультипроцессорных систем, элементарные обновления элементов VHPTдлинного формата, могут быть проверены программно следующим образом:

  • Перед выполнением множества не элементарных изменений в памяти для VHPTэлемента, программе требуется установить соответствующий битti в единицу.

  • После выполнения множества не элементарных изменений в памяти для VHPTэлемента, программа может очистить соответствующий битtiв ноль, чтобы снова разрешить совпадение тегов.

Изменения в памяти для VHPTэлемента должны быть ограничены для того, чтобы быть видимыми только после того, как станет видимым сохранение, которое установитtiбит в единицу. Это может быть выполнено инструкциейmf, либо путем выполнения обновления элементаVHPTпри запуске сохранений. Аналогично, должна быть ограничена очисткаtiбита, чтобы быть наблюдаемой только после того, как будут наблюдаемы все обновления элементаVHPT. Это может быть выполнено инструкциейmf, либо путем выполнения очисткиtiбита при запуске сохранений.