TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

8.2.1. Адресация памяти

Для адресации памяти в реальном режиме процессор использует два регистра, в одном из которых хранится сегмент, а в другом — смещение. Их совокупность определяет логический адрес памяти, физический адрес получается сдвигом содержимого регистра сегмента на 4 разряда влево и сложением полученного с содержимым регистра смещения. Такая схема реализуется аппаратно и дает 20—разрядный физический адрес в пределах первого мегабайта оперативной памяти.

В защищенном режиме также используются два регистра для логического адреса: селектор и смещение. Регистр селектора не сдвигается влево, как в реальном режиме, а указывает на один из элементов так называемой таблицы дескрипторов. В отличие от реального режима регистр смещения содержит 32 разряда, т.к. в защищенном режиме сегмент может быть любого размера вплоть до 4 Гбайт (в процессоре 80286 используется 16-разрядный регистр смещения и поэтому размер используемых в нем сегментов по—прежнему составляет 64 Кбайт). Совместное использование выбираемого селектором дескриптора и смещения в конечном счете формирует физический адрес (см. рис.8.1).

Важную роль в этой схеме играет таблица дескрипторов, 8—байтные элементы которой хранят три поля: базовый адрес, предел и поле доступа. Базовый адрес используется для получения физического адреса, предел содержит размер сегмента в байтах или страницах по 4096 байт, а поле доступа — ряд признаков, определяющих способ использования сегмента. В защищенном режиме сегменты могут быть либо сегментами кода, либо сегментами данных. В сегмент кода нельзя записывать информацию, а в сегменте данных нельзя исполнять программу или какую-либо ее часть. Тип сегмента хранится в поле доступа и, если программа нарушила правила доступа к сегменту (например, попыталась изменить собственный код), возникает аппаратное прерывание, которое обычно приводит к выгрузке программы из памяти. Другим признакоМг хранящимся в поле доступа, является уровень привилегий, которыми обладает владеющая

сегментом программа. Для этого признака выделено 2 бита, поэтому в защищенном режиме используется 4 уровня привилегий, причем нулевой уровень — высший.

Логический адрес Логический адрес 15 32 16 16

h02081.jpg

э) б) Рис.8.1. Адресация в защищенном режиме: а) в процессорах 80386/80436;

б) в процессорах 80286

 

Глава 8

Оглавление

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz