Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура вычислительных систем(шпоры и лекции).doc
Скачиваний:
274
Добавлен:
10.05.2014
Размер:
534.02 Кб
Скачать

27. Сегментно-страничная виртуальная память.

В настоящее время в большинстве ЭВМ, работающих в мультипрограммных режимах и использующих воз­можности коллективного доступа, применяется сегментно-страничная организация памяти. Такая организация представляет собой комбинацию сегментного и страничного распределения па­мяти и поэтому сочетает достоинства обоих подходов. Виртуаль­ное пространство процесса делится на сегменты, а каждый сегмент, в свою очередь, делится на страницы, которые нумеруются в пре­делах сегмента. Оперативная память разделяется на физические страницы (кадры). Загрузка процесса выполняется операционной системой постранично. Загружаемые в ОП смежные виртуальные страницы не обязательно должны находиться в смежных физиче­ских страницах. При сегментно-страничной организации памяти применяется трехкомпонентная адресация, использующая двух­уровневое преобразование виртуального адреса в физический. Но с помощью соответствующего оборудования с ассоциативными ре­гистрами, предназначенными для быстрого преобразования адре­сов, стоимость дополнительных обращений к памяти удается со­хранить в разумных пределах.

Процесс преобразования виртуального адреса происходит сле­дующим образом. Начальный адрес и длина таблицы сегментов предварительно загружаются в управляющий регистр. По началь­ному адресу из управляющего регистра (регистр 1 в IBM 370) оп­ределяется таблица сегментов, ее физический адрес. По номеру сегмента, который содержится в виртуальном адресе, произво­дится выборка соответствующей таблицы сегментов. По номеру страницы в виртуальном адресе определяется физический адрес страницы в ОП, который представляет старшие разряды реального адреса. В качестве младших разрядов реального адреса использует­ся смещение, определяющее относительный адрес байта в физи­ческой странице.

Каждое преобразование виртуального адреса требует выполне­ния двух обращений в ОП.

При отсутствии необходимой копии виртуальной страницы в ОП производится автоматическая ее загрузка из ВЗУ.

При отсутствии сегмента в ОП происходит прерывание по от­сутствию сегмента, - ОС находит необходимый сегмент в ВЗУ, формирует для него таблицу страниц и загружает соответствую­щий сегмент в ОП.

При выходе адреса виртуальной памяти за пределы сегмента происходит прерывание по выходу за пределы сегмента.

28. Подсистема памяти в мп x86.

Физическая память на шине микропроцессоров организована как последовательность байтов, каждому из которых соответствует уникальный адрес, значение которого находится в интервале 0-231 (4 Гбайта), а логическое адресное пространство составляет 64 байта.

Для управления памятью в процессоре предусмотрен диспетчер памяти ДП (англ. - Memory Management Unit (MMU)), аппаратно-реализованное устройство управления памятью, которое состоит из блока сегментации и блока страничной адресации, поддерживаю­щих сегментную и страничную организацию памяти. ДП осущест­вляет двухступенчатое формирование физического адреса сначала в пределах сегмента, а затем в пределах страниц. Механизм сег­ментации формирует линейный адрес. При использовании только сегментного распределения памяти линейный адрес соответствует физическому адресу.

ДП обеспечивает возможность работы процессора в одном из двух режимов: режиме реальных адресов и защищенном режиме. Режим реальных адресов (Real Address Mode) полностью совмес­тим с МП 8086. В этом режиме возможна адресация до 1 Мбайт физической памяти. Защищенный режим (Protected Virtual Address Mode), допускающий адресацию физической памяти до 4 Гбайтов, через которые при использовании страничной адресации может отображаться до 64 Тбайтов виртуальной памяти каждой задачи. Это основной режим 32-разрядных моделей машин. Дополнитель­но реализован виртуальный режим 8086 (Virtual 8086 Mode), кото­рый представляет особое состояние задачи защищенного режима и в котором процессор работает как 8086, допуская возможность использования 32-разрядных адресов и данных. На одном процес­соре в этом режиме могут одновременно исполняться несколько задач с изолированными друг от друга ресурсами.

Защищенный режим основан на сегментации памяти. Сегмент представляет область пространства памяти определенного назначе­ния. К элементам сегмента возможно обращение с помощью инст­рукций процессора, использующих разные режимы адресации в пределах адресного пространства сегмента. Применение сегмента­ции обеспечивает защиту пользовательских программ друг от друга и операционную систему (ОС) от них, предотвращая несанкциони­рованное вмешательство в их работу. В МП реализовано разграни­чение сегментов по назначению: данных, кода и стека. При работе МП каждый из этих типов сегментов характеризуется соответст­вующими атрибутами, которые определяют расположение сегмен­та в памяти, права обращения к нему и ряд других. Атрибуты сег­мента представляются в виде 8-байтовой структуры, получив­шей название дескриптора. Обращение к памяти возможно косвен­ным образом, только используя соответствующие дескрипторы.

С целью обеспечения защиты и структуризации прав использо­вания информации в памяти реализована система привилегий, ко­торые регулируют доступ к тому или иному сегменту в зависимо­сти от уровня его защищенности и степени важности (привилеги­рованности) запроса. Определено четыре уровня привилегий - PL, которые задаются значениями от 0 до 3. Наиболее привилегиро­ванным является уровень с наименьшим значением. Степень за­щищенности сегмента также имеет четыре уровня, которые часто представляются в виде вложенных колец защиты, рис.8.2. Уровень 3 (11) - это пользовательский уровень в памяти, он имеет самые ограниченные права и обычно присваивается прикладным про­граммам.

Остальные три уровня 2, 1 и 0 предназначены для системных программ, которые распределяются по уровням следующим обра­зом: уровень 0 (00) - ядро ОС, инициализация работ, управление доступом к памяти, защита и другие важные системные функции. Он обеспечивает неограниченные возможности доступа. Уровень 1 (01) - основная часть ОС, содержащая различные системные сер­висы и утилиты. Уровень 2 (10) предназначен для служебных про­грамм ОС - расширения ОС, драйверов ВУ, специальных подсис­тем программ, систем управления базами данных и т.п.