Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Реальный и защищённый режимы работы процессора



Широко известно, что первым микропроцессором, на базе которого была создана IBM PC, был Intel 8088. Этот микропроцессор отличался от первого 16-разряд­ного микропроцессора фирмы Intel – 8086 – прежде всего тем, что у него была 8-битовая шина данных, а не 16-битовая (как у 8086). Оба эти микропроцессора предназначались для создания вычислительных устройств, которые бы работали в однозадачном режиме, то есть специальных аппаратных средств для поддерж­ки надёжных и эффективных мультипрограммных ОС в них не было.

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

Подробно рассматривать архитектуру первых 16-битовых микропроцессоров i8086/i8088 мы не будем, поскольку этот материал должен изучаться в предыду­щих дисциплинах учебного плана. Для тех же, кто с ним не знаком, можно реко­мендовать такие книги, как [52, 73], и многие другие. Однако напомним, что в этих микропроцессорах (а значит, и в остальных микропроцессорах семейства i80x86 при работе их в реальном режиме) обращение к памяти с возможным адресным пространством в 1 Мбайт осуществляется посредством механизма сегментной адресации (рис. 3.1). Этот механизм был использован для увели­чения количества разрядов, участвующих в указании адреса ячейки памяти, с которой в данный момент осуществляется работа, с 16 до 20 и тем самым уве­личения объёма памяти.

Конкретизируем задачу и ограничимся рассмотрением определения адреса ко­манды. Для адресации операндов используется аналогичный механизм, только участвуют в этом случае другие сегментные регистры. Напомним, что для опре­деления физического адреса команды содержимое сегментного регистра CS (code segment) умножается на 16 за счёт добавления справа (к младшим битам) четы­рех нулей, после чего к полученному значению прибавляется содержимое указа­теля команд (регистр IP, instruction pointer). Получается двадцатибитовое зна­чение, которое и позволяет указать любой байт из 220.1

 
 

Рис. 3.1. Схема определения физического адреса для процессора 8086

В защищённом режиме работы определение физического адреса осуществляется совершенно иначе. Прежде всего используется сегментный механизм для орга­низации виртуальной памяти. При этом адреса задаются 32-битовыми значения­ми. Кроме этого, возможна страничная трансляция адресов, также с 32-битовыми значениями. Наконец, при работе в защищённом режиме, который по умолча­нию предполагает 32-битовый код, возможно исполнение двоичных программ, созданных для работы микропроцессора в 16-битовом режиме. Для этого введён режим виртуальной 16-битовой машины и 20-битовые адреса реального режима транслируются с помощью страничного механизма в 32-битовые значения защищённого режима. Наконец, есть ещё один режим – 16-битовый защищённый, по­зволяющий 32-битовым микропроцессорам выполнять защищённый 16-битовый код, который был характерен для микропроцессора 80286. Правда, следует отме­тить, что этот последний режим практически не используется, поскольку программ, созданных для него, не так уж и много.

Для изучения этих возможностей рассмотрим сначала новые архитектурные воз­можности микропроцессоров i80x86.

Новые системные регистры

Микропроцессоров i80x86

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

¨ указатель команды EIP – 32 битовый регистр, младшие 16 разрядов этого ре­гистра есть регистр IP;

¨ регистр флагов EFLAGS – 32 бита, младшие 16 разрядов представляют ре­гистр FLAGS;

¨ регистры общего назначения ЕАХ, ЕВХ. ЕСХ, EDX, а также ESP, ЕВР, ESI, EDI – 32-битовые, однако их младшие 16 разрядов представляют собой из­вестные регистры AX, BX, CX, DX, SP, ВР, SI, DI;

¨ сегментные регистры CS, SS, DS, ES, FS, GS – 16-битовые. При каждом из регистров CS, SS, DS, ES, FS, GS изображены пунктиром скрытые от про­граммистов (недоступны никому, кроме собственно микропроцессора) 64-би­товые регистры, в которые загружаются дескрипторы соответствующих сег­ментов;

¨ регистр-указатель на локальную таблицу сегментов текущей задачи – LDTR (16 битов). При этом регистре также имеется «теневой» (скрытый от программиста) 64-битовый регистр, в который микропроцессор заносит дескрип­тор, указывающий на таблицу дескрипторов сегментов задачи, описывающих её локальное виртуальное адресное пространство;

¨ регистр-указатель задачи TR1 (16 битов). Указывает на дескриптор в глобаль­ной таблице дескрипторов, позволяющий получить доступ к дескриптору за­дачи TSS2 – информационной структуре, которую поддерживает микропро­цессор для управления задачами;

¨ регистр GDTR1 (48 битов) глобальной таблицы GDT, содержащей как деск­рипторы общих сегментов, так и специальные системные дескрипторы. В ча­стности, в GDTR находятся дескрипторы, с помощь которых можно получить доступ к сегментам TSS;

 
 

¨ регистр IDTR (48 битов) таблицы дескрипторов прерываний. Содержит ин­формацию, необходимую для доступа к «таблице прерываний» IDT;

¨ управляющие регистры CR0 – CR3 (32-битовые) и некоторые другие регистры.

Управляющий регистр CR0 содержит целый ряд флагов, которые определяют режимы работы микропроцессора. Подробно об этих флагах можно прочитать в книгах [2, 22, 48]. Мы же просто ограничимся тем фактом, что самый млад­ший бит (РЕ, protect enable) этого регистра определяет режим работы процессо­ра. При РЕ=0 процессор функционирует в реальном режиме работы, а при еди­ничном значении микропроцессор переключается в защищённый режим. Самый старший бит регистра CR0 (бит PG, paging) определяет, включен (PG=l) или нет (PG=0) режим страничного преобразования адресов.

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

Регистр CR3 содержит номер физической страницы, в которой располагается таблица каталогов таблиц страниц текущей задачи. Очевидно, что, приписав к этому номеру нули, мы попадем на начало этой страницы.


Поделиться:



Популярное:

  1. АНТИДЕМОКРАТИЧЕСКИЕ РЕЖИМЫ И ИХ ХАРАКТЕРИСТИКИ
  2. Государственно-властные режимы: понятие, виды. Научные подходы к их определению (государственно-правовой, государственно-политический)
  3. Государственно-политические режимы.
  4. Идеальный эксперимент и реальный эксперимент
  5. Идеальный эксперимент и реальный эксперимент
  6. Лекция VI. Режимы работы питательных установок электростанции на частичных нагрузках
  7. Лекция VIII. Режимы работы энергоблока в номинальном режиме и на частичных нагрузках
  8. Лекция XII. Выбор оптимального режима резервирования при прохождении провалов нагрузки. Режимы разгружения. Остановочно-пусковые режимы
  9. Лекция XIII. Выбор оптимального режима резервирования при прохождении провалов нагрузки. Малопаровые режимы резервирования
  10. Методы, способы, типы правового регулирования. Правовые режимы
  11. Организация внутренней памяти процессора.
  12. Основные двигательные режимы в системе физкультурно-оздоровительной работы


Последнее изменение этой страницы: 2016-05-29; Просмотров: 1457; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь