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

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.

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

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

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

  • Ключ защиты (Protection Key) задается обращением к значению идентификатора региона (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

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

it

+16

Бит недействительного тега (Invalid Tag). Если он 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 бита при запуске сохранений.