Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
арх_лекция_03.doc
Скачиваний:
3
Добавлен:
17.04.2019
Размер:
189.44 Кб
Скачать

12

Лекция 03. Работа в реальном и защищенном режимах

В реальном режиме микропроцессор 80386 способен работать с памятью объе­мом до 4 Гбайт. Это достигается использованием адресов памяти как комбинации смещения команды и величины в специальном сегментном регистре. Реальный режим является упрощенным для микропроцессора 80386, в этом режиме он использует объектные коды микропроцессора 8086.

Регистры общего назначения.

Работа в защищенном режиме обеспечивает разбиение на страницы, виртуаль­ную адресацию, многоуровневую защиту, многозадачность и возможность отладки. В этом режиме сегментный регистр содержит селектор для области в таблице пре­образования адреса, называемой таблицей дескрипторов. Этот регистр служит вхо­дом в таблицу дескриптора и содержит абсолютный адрес сегмента базы. Защи­щенный режим активируется установкой одного из разрядов в регистрах управле­ния микропроцессора 80386.

Сегментация адреса

Микропроцессор 80386 снабжен шестью регистрами сегмента адреса, называе­мыми CS, DS, SS, ES, FS и GS, что позволяет разделять коды, данные, стек и другие определяемые пользователем внешние сегменты. Такая схема сегментации допускает модульность и большой объем программ. В реальном режиме регистры сегмента адреса содержат фактический адрес базы заданного сегмента. В защищенном режиме сегментные регистры содержат 16-разрядные адреса (называемые селекторами), указывающие на таблицу дескрипторов. Факти­ческий сегментный адрес базы вводится в таблицу дескрипторов.

Сегментная адресация в реальном режиме.

Сегментная адресация в защищенном режиме.

Длина сегмента

Отдельные сегменты могут быть длиной до 64 Кбайт или до 4 Гбайт- Это оп­ределяется атрибутами USE 16 или USE 32, вырабатывающими 16- или 32-разряд­ные смещения соответственно.

Разбиение на страницы

Разбиение на страницы является дополнительной адресной структурой, уни­кальной для защищенного режима микропроцессора 80386. Оно активируется раз­рядом разбиения на страницы в регистре управления CR0. Разбиение на страницы делит физическую зону адресов микропроцессора на секторы по 4 Кбайт, называ­емые страницами или фреймами страниц. Конкретная страница адресуется с по­мощью таблицы страниц объемом 1 Кбайт с каждым входом, указывающим на однокилобайтные фреймы страниц, каждая из которых занимает 4 Кбайт. Такая структура адресации позволяет микропроцессору получать доступ к адресам физи­ческим объемом до 4 Гбайт.

Сегментные регистры Сегментные регистры

Микропроцессор 80386 поддерживает четыре одновременно доступных участка кодов, называемые сегментами. Эти четыре сегмента адресуются как 16-разрядные регистры CS, DS, SS, ES, FS и GS.

Код выполняемой в данный момент программы, находящийся в памяти, адре­суется с помощью регистра CS (сегмента кода). База активного в данный момент сегмента данных адресуется с помощью регистра DS (сегмента данных). Стеки, ис­пользуемые обычно для промежуточных результатов и вызова подпрограмм, также адресуются с помощью собственного сегмента памяти. Адрес базы активного в дан­ный момент сегмента стека находится в регистре SS (сегмент стека). Кроме того, программист имеет доступ к трем активным в данный момент сегментам данных, называемым внешними и адресуемыми как регистры ES, FS и GS.