Основы микропроцессорной техники



             

Особенности процессора 6 - часть 4


Рис. 7.5.  Формат селектора сегмента процессора 80286.

О порядке вычисления адреса памяти в защищенном режиме процессора 80286 уже говорилось в разделе 3.1.2 (см. рис.3.7). На сумматор, вычисляющий физический адрес памяти, подается не содержимое сегментного регистра, а базовый адрес сегмента из таблицы дескрипторов.

Дескрипторы хранятся в памяти и занимают по четыре смежных 16-разрядных слова (то есть 8 байт). При загрузке нового значения селектора дескрипторы считываются из памяти и сохраняются во внутренних программно недоступных (и невидимых) регистрах процессора. До смены значения селектора при обращениях к памяти используются значения дескрипторов только из этих невидимых регистров (их называют кэш-регистрами).

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

Как и 8086, процессор 80286 может обрабатывать до 256 типов прерываний. Прерывания подразделяются на аппаратные (маскируемые или немаскируемые), вызываемые сигналами на входах процессора, программные, вызываемые командой INT, и исключения инструкций. При этом аппаратные и программные прерывания работают точно так же, как в 8086/8088.

Исключения инструкций (Instruction Exceptions) или просто исключения случаются при возникновении особых условий при выполнении операций (в 8086 аналогом исключений являлись внутренние прерывания процессора). Обработка исключений проводится аналогично обработке прерываний.

Каждому номеру прерывания соответствует свой элемент в таблице дескрипторов прерываний IDT (Interrupt Descriptor Table). В реальном режиме эта таблица организована так же, как у 8086/8088, то есть содержит двойные слова, определяющие адрес начала процедур обработки прерываний. В защищенном режиме таблица содержит 8-байтные дескрипторы прерываний. Ее размер может быть от 32 до 256 дескрипторов, и располагаться она может в любом месте памяти.

Система команд процессора 80286 включает, помимо полного набора8086, ряд дополнительных команд, например:

  • сохранение константы в стеке, сохранение в стеке и восстановление из стека всех регистров одной командой;
  • целочисленное умножение на константу;
  • сдвиги (включая циклические) на заданное в константе количество шагов;
  • вход и выход из процедур;
  • команды управления защитой.

Попытка выполнения недействительной команды (или попытка выполнения в реальном режиме команды, предназначенной только для защищенного режима) вызывает специальное исключение.

Процессор 80286 выпускался в 68-выводных корпусах. Внешние шины адреса и данных были разделены. Напряжение питания процессора составляет +5В.




Содержание  Назад  Вперед