Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОС_ответы.doc
Скачиваний:
35
Добавлен:
27.10.2018
Размер:
21.59 Mб
Скачать

7. Пошук фізичної адреси у реальному режимі

Процессор 80286 и более поздние процессоры поддерживают два режима операций: защищенный режим и реальный режим. Реальный режим совместим с работой процессора 8086 и позволяет прикладной программе адресоваться к памяти объемом до одного мегабайта. Защищенный режим расширяет диапазон адресации до 16 мегабайт. Основное отличие между реальным и защищенным режимом заключается в способе преобразования процессором логических адресов в физические. Логические адреса - это адреса, используемые в прикладной программе. Как в реальном, также и в защищенном режиме логический адрес - это 32-разрядное значение, состоящее из 16-битового селектора (адреса сегмента) и 16-битового смещения. Физические адреса - это адреса, которые процессор использует для обмена даными с компонентами системной памяти. В реальном режиме физический адрес представляет собой 20-битовое значение, а в защищенном режиме - 24-битовое.

Когда процессор обращается к памяти (для выборки инструкции или записи переменной), он генерирует из логического адреса физический адрес. В реальном режиме генерация физического адреса состоит из сдвига селектора (адреса сегмента) на 4 бита влево (это означает умножение на 16) и прибавления смещения. Полученный в результате 20-разрядный адрес используется затем для доступа к памяти.

.

Каждая запись в таблице дескрипторов называется дескриптором и определяет сегмент в памяти. Запись таблицы дескрипторов занимает 8 байт, а записанная в дескрипторе информация включает в себя базовый адрес, предельное значение и флаги полномочий доступа к сегменту.

Записи предельного значения сегмента и полномочий доступа в дескрипторе определяют размер и тип сегмента. Сегменты могут иметь размер от 1 до 65536 байт и могут быть сегментами кода или сегментами данных. Сегменты кода могут содержать выполняемые ма шинные инструкции и доступные только по чтению данные. Сегменты данных могут содержать данные, доступные по чтению и записи. За писывать данные в сегменты кода или выполнять инструкции в сег ментах данных невозможно. Любая попытка сделать это или попытка доступа к данным вне границ сегмента вызывает общий сбой по нарушению защиты (сокращенно сбой GP). Поэтому режим и называется защищенным.

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

8.Пошук фізичної адреси у захищеному режимі

Процессор 80286 и более поздние процессоры поддерживают два режима операций: защищенный режим и реальный режим. Реальный режим совместим с работой процессора 8086 и позволяет прикладной программе адресоваться к памяти объемом до одного мегабайта. Защищенный режим расширяет диапазон адресации до 16 мегабайт. Основное отличие между реальным и защищенным режимом заключается в способе преобразования процессором логических адресов в физические. Логические адреса - это адреса, используемые в прикладной программе. Как в реальном, также и в защищенном режиме логический адрес - это 32-разрядное значение, состоящее из 16-битового селектора (адреса сегмента) и 16-битового смещения. Физические адреса - это адреса, которые процессор использует для обмена даными с компонентами системной памяти. В реальном режиме физический адрес представляет собой 20-битовое значение, а в защищенном режиме - 24-битовое.

Чтобы получить физический адрес в защищенном режиме, селекторная часть логического адреса используется в качестве индекса таблицы дескрипторов. Запись в таблице дескрипторов содержит 24-битовый базовый адрес, к которому затем для образования физи ческого адреса прибавляется смещение логического адреса.

Каждая запись в таблице дескрипторов называется дескриптором и определяет сегмент в памяти. Запись таблицы дескрипторов занимает 8 байт, а записанная в дескрипторе информация включает в себя базовый адрес, предельное значение и флаги полномочий доступа к сегменту.

Записи предельного значения сегмента и полномочий доступа в дескрипторе определяют размер и тип сегмента. Сегменты могут иметь размер от 1 до 65536 байт и могут быть сегментами кода или сегментами данных. Сегменты кода могут содержать выполняемые ма шинные инструкции и доступные только по чтению данные. Сегменты данных могут содержать данные, доступные по чтению и записи. За писывать данные в сегменты кода или выполнять инструкции в сег ментах данных невозможно. Любая попытка сделать это или попытка доступа к данным вне границ сегмента вызывает общий сбой по нарушению защиты (сокращенно сбой GP). Поэтому режим и называется защищенным.

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