Dynamic Address Translation (в архитектуре Z)
В архитектуре Z динамическим преобразованием адреса (Dynamic Address Translation или DAT) называется преобразование виртуального адреса в реальный.
Задание адресных пространствПравить
В архитектуре Z может существовать до 216 адресных пространств, задаваемых уникальным 16-битным номером (Adress Space Number или ASN). Смена адресных пространств в процессоре выполняется путём загрузки ASN в соответствующие управляющие регистры процессора привилегированными и полупривилегированными командами. Далее код ASN транслируется в код управления адресным пространством ASCE(Address Space Control Element), определяющий параметры процесса динамического преобразования адреса в данном адресном пространстве.
Динамическое преобразование адресаПравить
После того как идентификатор ASN транслирован в код ASCE начинается непосредственно процесс преобразования.
Виртуальный адрес имеет следующий формат :
Идентификатор | RFX | RSX | RTX | SX | PX | BX |
Длина в битах | 11 | 11 | 11 | 11 | 8 | 11 |
Формат в общем случае включает четыре типа индексов, используемых при обращении в таблицы DAT : индекс байта(BX), индекс страницы(PX), индекс сегмента(SX) и первого, второго и третьего индекса региона. Использование всех трёх индексов допускает объём памяти до 16 EB (Exa Byte = 260 байт), без RFX — до 8 PB (Peta Byte = 250 байт), а без RFX и RSX — до 4 TB (Tera Byte = 240 байт). Индексы регионов используются только при 64-битной адресации, при 32-битной адресации старшие 32 бита обнуляются.
При реализации DAT может быть использовано до пяти уровней преобразования, каждый из которых определяется отдельной таблицей:
- Первая региональная таблица (Region First Table);
- Вторая региональная таблица (Region Second Table);
- Третья региональная таблица (Region Third Table);
- Сегментная таблица (Segment Table);
- Страничная таблица (Page Table).
Строка каждой из таблиц содержит идентификатор своего типа (table Type или TT) и базовый адрес таблицы следующего уровня (RSTO — для второго уровня регионов, RTTO — для третьего уровня регионов, STO — для сегментной таблицы, PTO — для страничной таблицы) и после суммирования с соответствующим индексом из виртуального адреса определяет строку этой таблицы. Длина следующей таблицы (число блоков по 4KB) указывается в поле TL(Table Length). Кроме того, в поле TF указывается смещение начала следующей таблицы относительно конца текущей в тех же единицах измерения. Бит I определяет доступность регионов сегментов и страниц, охватываемых строкой.
Формат ACSE :
TO | R | DT | TL |
TO — адрес первой таблицы : первой, второй или третьей региональной или сегментной таблицы, в зависимости от значения поля DT, а также длину той таблицы TL. Например при DT = 11 в TO будет находиться адрес первой региональной таблицы и при реализации DAT будут задействованы все 5 уровней преобразования. Бит R определяет тип адресного пространства (реальное или виртуальное).
Управление числом уровней DAT:
DT | Первая таблица DAT |
00 | Первая региональная таблица |
01 | Вторая региональная таблица |
10 | Третья региональная таблица |
11 | Сегментная таблица |
Когда тип поля TO в таблице ASCE определён начинается непосредственно процесс преобразования. А именно базовый адрес таблицы из ASCE суммируется с соответствующим индексом из виртуального адреса. При обращении в первую региональную таблицу используется индекс RFX, во вторую региональную таблицу — индекс RSX, в третью региональную таблицу — индекс RTX и в сегментную таблицу — индекс SX. Отсюда мы получаем адрес таблицы следующего уровня и суммируем его соответствующим индексом из виртуального адреса. По базовому адресу из сегментной таблицы и индекса PX из виртуального адреса мы получает адрес страничной таблицы, откуда по индексу BX находим искомый реальный адрес.
Поскольку все таблицы хранятся в реальной памяти, а при DAT может произойти до пяти преобразований, время преобразования может быть недопустимо большим. Для его уменьшения в состав устройства DAT вводится буфер быстрой переадресации TLB(Translation-Lookaside Buffer)
СсылкиПравить
- Архитектура платформ IBM eServer zSeries. В.А. Варфоломеев, Э.К. Лецкий, М.И. Шамров, В.В. Яковлев. ISBN 5-9556-0036-1. Глава "Архитектура zSeries"
На эту статью не ссылаются другие статьи Википедии. |