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

29. Сегментная виртуальная память в микропроцессорах (80486).

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

- глобальной таблице дескрипторов (GDT);

- локальной таблице дескрипторов (LDT);

- таблице дескрипторов прерывания (IDT).

Каждая задача может иметь отдельную LDT, которая содержит используемые ею дескрипторы. Кроме того, LDT может содержать специальные дескрипторы шлюзов (Gates), определяющих точки входа в программы или задачи, которые используются при вызовах программ (подпрограмм) и переключении задач.

Таблица GDT содержит дескрипторы сегментов, доступных всем программам и задачам, т.е. представляет собой главную об­щесистемную таблицу дескрипторов.

Таблица IDT содержит дескрипторы прерываний и рассчитана на хранение 256 дескрипторов. Она может содержать дескрипторы шлюзов задач, шлюзов прерываний и шлюзов ловушек.

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

Таким образом, селекторы сегмента косвенным образом, ис­пользуя дескрипторные таблицы, определяют сегменты памяти.

30. Страничное преобразование памяти в процессорах x86

В процессорах Intel X86, начиная с 386, поддерживается стра­ничное распределение памяти. Блок страничного распределения в устройстве управления памятью, наряду с сегментацией, реализует еще один уровень косвенной адресации при формировании физи­ческого адреса ОП. Страничное распределение памяти связано с преобразованием линейного адреса сегмента в физические адреса страниц, которые выдаются на внешнюю шину адреса. Базовым блоком памяти здесь служит блок размером в 4 Кбайта, называе­мый страницей. В последующих старших моделях процессоров Х86 величина страницы может регулироваться в определенных пределах, достигая 4 Мбайтов.

Все линейное адресное пространство процессора в 4 Гбайт раз­деляется на 1 М страниц по 4 Кбайт каждая. Физическая память также разделяется на физические страницы или страничные кадры того же размера. В физической памяти в любой момент присутст­вует только часть копии всех страниц виртуального адресного про­странства. Так как размер страниц фиксирован, любую физическую страницу в ОП можно загрузить любой копией страницы виртуаль­ной памяти (виртуальной страницы).

Прикладные программы не замечают страничного распределе­ния адресов и могут использовать всё виртуальное адресное про­странство. Если процессор обращается к странице, копия которой отсутствует в физической памяти, он автоматически формирует прерывание по особому случаю - страничному промаху. Операци­онная система при обработке этого прерывания загружает с диска копию отсутствующей в ОП страницы и, при необходимости, от­правляет ненужную страницу на диск.

Для страниц в отличие от сегментов принято всего два уровня привилегий, которые называются уровнем или режимом пользова­теля и уровнем супервизора. Уровень пользователя соответствует уровню 3, а уровень супервизора - уровням 0, 1, 2, назначаемых сегментам.