TURBO PASCAL |
Новости
|
8.2.1. Адресация памятиДля адресации памяти в реальном режиме процессор использует два регистра, в одном из которых хранится сегмент, а в другом — смещение. Их совокупность определяет логический адрес памяти, физический адрес получается сдвигом содержимого регистра сегмента на 4 разряда влево и сложением полученного с содержимым регистра смещения. Такая схема реализуется аппаратно и дает 20—разрядный физический адрес в пределах первого мегабайта оперативной памяти.В защищенном режиме также используются два регистра для логического адреса: селектор и смещение. Регистр селектора не сдвигается влево, как в реальном режиме, а указывает на один из элементов так называемой таблицы дескрипторов. В отличие от реального режима регистр смещения содержит 32 разряда, т.к. в защищенном режиме сегмент может быть любого размера вплоть до 4 Гбайт (в процессоре 80286 используется 16-разрядный регистр смещения и поэтому размер используемых в нем сегментов по—прежнему составляет 64 Кбайт). Совместное использование выбираемого селектором дескриптора и смещения в конечном счете формирует физический адрес (см. рис.8.1).Важную роль в этой схеме играет таблица дескрипторов, 8—байтные элементы которой хранят три поля: базовый адрес, предел и поле доступа. Базовый адрес используется для получения физического адреса, предел содержит размер сегмента в байтах или страницах по 4096 байт, а поле доступа — ряд признаков, определяющих способ использования сегмента. В защищенном режиме сегменты могут быть либо сегментами кода, либо сегментами данных. В сегмент кода нельзя записывать информацию, а в сегменте данных нельзя исполнять программу или какую-либо ее часть. Тип сегмента хранится в поле доступа и, если программа нарушила правила доступа к сегменту (например, попыталась изменить собственный код), возникает аппаратное прерывание, которое обычно приводит к выгрузке программы из памяти. Другим признакоМг хранящимся в поле доступа, является уровень привилегий, которыми обладает владеющаясегментом программа. Для этого признака выделено 2 бита, поэтому в защищенном режиме используется 4 уровня привилегий, причем нулевой уровень — высший.Логический адрес Логический адрес 15 32 16 16 |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |