Скачиваний:
84
Добавлен:
13.03.2016
Размер:
52.74 Кб
Скачать

Лекция 6

2.5. Устройство управления памятью

Главная функция УУП(MMU) состоит в преобразовании (трансляции) логических (эффективных) адресов в физические (действительные) адреса для доступа к ОП и УВВ, отображенных на память. Дополнительно УУП обеспечивает различные уровни защиты доступа к блокам, сегментам и страницам. Рассмотрим организацию УУП на примере процессора с архитектурой PowerPC.

В случае реализации виртуальной памяти механизм трансляции адресов использует дескрипторы (описатели) сегментов и таблицы страниц. Информация о сегменте транслирует логический адрес во внутренний виртуальный адрес, а информация в таблице страниц транслирует виртуальный адрес в физический.

Дескрипторы сегментов размещаются в регистрах сегментов процессора или таблице сегментов в ОП. Буфер трансляции страниц (TLB) является кэш-памятью для недавно используемой страницы из таблицы страниц (PTE) расположенной в ОП.

В простом варианте (без виртуальной памяти) адресное пространство может быть разбито на четыре блока переменной длины, для каждого из которых назначается адресное пространство в ОП и выполняется трансляция адресов блоков (BAT). Информация о соответствии логических и физических адресов блоков сохраняется в регистрах специальных функций процессора - BAT-регистрах.

В самом простом варианте логический адрес один к одному преобразуется в физический – режим прямой адресации.

2.5.1.Трансляция адресов блоков

Под блоком понимается множество соседних ячеек памяти от 128 Кбайт до 256 Мбайт, выровненное по границе в 128 Кбайт. На рис.2.6. изображена структура BAT-регистра (всего таких регистров по 4 для адресов данных и команд).

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

Поле BL определяет длину блока в виде маски .00…0 –маска блока в 128 Кбайт, …, 11…1- маска блока в 256 Мбайт.

Поле BRPN совместно с BL генерируют физический адрес памяти.

Поле WIMG определяет режимы доступа к памяти/кэш-памяти:

W – сквозная запись;

I – запрет кэширования блока;

M – когерентность памяти;

G – защита от доступа по чтению;

PP–биты защиты блока.

На рис.2.7 изображена организация массива BAT-регистров, являющегося полностью ассоциативным. Пятнадцать старших разрядов логического адреса одновременно сравниваются со значениями поля BEPI всех BAT-регистров. При совпадении остальные поля найденного регистра используются для формирования физического адреса, как показано на рис.2.8.

2.5.2. Трансляция адресов страниц

Трансляция адресов страниц использует дескрипторы сегментов, которые содержат виртуальный адрес и записи таблицы страниц (PTE), содержащие соответствие между виртуальным и физическим адресом.

PTE объединяются в группы PTEG по 8 записей. Дескрипторы сегментов и PTE настраиваются операционной системой. На рис.2.9 приведена структура таблицы страниц.

На рис.2.10. приведена схема трансляции адреса страницы, где:

SR – номер регистра сегмента;

PI – индекс страницы;

VSID - идентификатор виртуального сегмента;

VPN – номер виртуальной страницы;

PTE – запись таблицы страниц;

RPN – номер физической страницы.

На рис.2.11 приведена структура PTE, где:

V – бит достоверности записи;

H – признак алгоритма хеширования;

C – признак изменения страницы;

R – признак обращения к странице;

API – аббревиатура индекса страницы.

Поле VSID используется для идентификации записи при поиске в таблице страниц.

Биты C и R хранят историю обращения по записи и чтению и используются ОС для определения необходимости перезаписи страницы во вторичную память при необходимости освобождения места в ОП для новой страницы.

Таблица страниц размещается в ОП, но для повышения производительности ее недавно используемые записи кэшируется в TLB процессора. Это уменьшает время поиска нужной записи, необходимой для трансляции адресов страниц. Если требуемой PTE нет TLB, то поиск ведется в ОП и при попадании она копируется в TLB.

PTE может быть размещена в одном из двух PTEG, а внутри PTEG в одном из восьми возможных мест. Таким образом требуемая PTE может находится в 16 возможных местах и если ее там не окажется, то промах.

Физический адрес PTEG формируется конкатенацией базового адреса начала таблицы страниц, находящемся в специальном регистре процессора (SDR1) и хешированного VPN. Поиск внутри PTEG ведется на основании сравнения VSID из VPN с VSID PTE.

Соседние файлы в папке ВстроенныеСистемы