Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Архитектура и процессоры персональных компьютеров

Особенности процессора 80286

Несмотря на то, что процессор 80286 остался 16-разрядным, как и его предшественник 8086, он представлял собой новое поколение процессоров, что определило его высокую популярность и обеспечило персональному компьютеру на его основе (IBM PC AT) довольно долгую жизнь. Этот процессор отличается тем, что он имеет специальные средства для работы в многопользовательских и многозадачных системах.

Наиболее существенное отличие от процессора 8086/8088 -- это механизм управления адресацией памяти, который обеспечивает четырехуровневую систему защиты и поддержку виртуальной памяти. (Виртуальная память -- это внешняя память большого объема, с которой процессор может взаимодействовать как со своей системной памятью, но с некоторыми ограничениями). Специальные средства предусмотрены также для поддержки механизма переключения задач (Task switching). To есть процессор способен выполнять несколько задач одновременно, переключаясь время от времени между ними. В процессоре 80286 также расширена система команд за счет добавления команд управления защитой и нескольких новых команд общего назначения.

Процессор 80286 может работать в двух режимах:

  • * Реальный режим (8086 Real Address Mode -- режим реальной адресации), полностью совместимый с процессором 8086/8088. В этом режиме возможна адресация только в пределах 1 Мбайта физической памяти. Он используется для обеспечения программной преемственности с процессором 8086/8088.
  • * Защищенный режим (Protected Virtual Address Mode -- защищенный режим виртуальной адресации). В этом режиме возможна адресация в пределах 16 Мбайт физической памяти. Такое решение связано с необходимостью построения компьютеров с большим объемом памяти, которые обеспечивали бы поддержку более сложных программ. В защищенном режиме система команд включает набор команд 8086, расширенный для обеспечения аппаратной поддержки многозадачного режима и виртуальной памяти.

Переключение в защищенный режим осуществляется одной командой (с предварительно подготовленными таблицами дескрипторов, описывающих параметры режима). Естественно, это довольно быстрый процесс. Обратное переключение в реальный режим гораздо сложнее: оно возможно только через аппаратный сброс процессора (по сигналу RESET), что требует гораздо больше времени.

В составе компьютера под управлением операционной системы MS DOS процессор 80286 работает в реальном режиме, а защищенный режим используют операционные системы типа UNIX, OS/2, NetWare286, а также операционные системы семейства MS Windows. Подробнее особенности этих режимов будут рассмотрены в следующем разделе.

Как и процессор 8086, 80286 имеет 16-разрядную внешнюю шину данных и 6-байтный конвейер команд. Однако быстродействие процессора 80286 при тактовой частоте 12,5 МГц примерно в 6 раз выше, чем у 8086 с тактовой частотой 5 МГц. Это достигается за счет усовершенствованной архитектуры и снижения количества тактов на одну команду. Для ускорения выполнения математических операций предусмотрено подключение к процессору 80286 микросхемы математического сопроцессора 80287.

Назначение внутренних регистров процессора 80286 такое же, как у процессора 8086/8088. Но в слове состояния процессора (PSW) добавлены три используемых разряда, и, кроме того, появился еще один внутренний регистр -- регистр управления со словом состояния машины (MSW -- Machine State Word), в котором используется только четыре бита (рис. 7.4).

Форматы регистров признаков (PSW) и управления (MSW) процессора 80286

Рис. 7.4. Форматы регистров признаков (PSW) и управления (MSW) процессора 80286.

персональный компьютер архитектура процессор

Дополнительные биты слова состояния процессора PSW имеют следующее назначение (подробнее о них -- в следующем разделе):

  • * IOPL (Input/Output Privilege Level) -- два бита, определяющие уровень привилегий ввода/вывода;
  • * NT (Nested Task flag) -- флаг вложенной задачи.

Регистр MSW управляет режимом процессора. Для изменения его содержимого и сохранения его в памяти предназначены специальные команды. Назначение его битов следующее:

  • * РЕ (Protection Enable) -- разрешение защиты. Установка этого флага переводит процессор в защищенный режим. Но очистка флага не переводит в реальный режим (требуется аппаратный сброс процессора).
  • * МР (Monitor Processor extension) -- мониторинг внешнего математического сопроцессора.
  • * ЕМ (Processor Extension Emulated) -- эмуляция математического сопроцессора.
  • * TS (Task Switch) -- переключение задач. Как и два предыдущих разряда, этот разряд управляет сопроцессором.

Сочетание МР=0 ЕМ=0 TS=0, устанавливаемое по аппаратному сбросу (по сигналу RESET), обеспечивает совместимость с 8086/8088. Сочетание МР=1 ЕМ=0 используется при совместном включении с сопроцессором 80287, а сочетание МР=0 ЕМ=1 применяется в случае программной эмуляции сопроцессора, при которой функции сопроцессора выполняются основным процессором, но гораздо медленнее.

Остановимся подробнее на организации памяти процессора 80286. 24-разрядная внешняя шина адреса позволяет адресовать 16 Мбайт физической памяти, но в реальном режиме доступен только 1 Мбайт, начинающийся с нулевого адреса (000000...0FFFFF). Так же, как и в 8086, применяется сегментация памяти, но управление сегментацией в реальном и защищенном режимах различно.

В реальном режиме процессор 80286, в отличие от 8086, имеет средства контроля перехода через границу сегмента. Например, при попытке обращения к слову, имеющему смещение FFFF (его старший байт выходит за границу сегмента), или при выполнении команды, все байты которой не умещаются в данном сегменте, процессор вырабатывает специальное прерывание -- Segment Overrun Interrupt.

В защищенном режиме существуют отличия от 8086, касающиеся определения сегментов:

  • * Сегментные регистры CS, DS, SS и ES хранят не сами базовые (начальные) адреса сегментов, а селекторы, определяющие адреса в памяти, по которым хранятся дескрипторы (описатели) сегментов. Область памяти с дескрипторами называется таблицей дескрипторов.
  • * Каждый дескриптор сегмента содержит базовый адрес сегмента, размер сегмента (от 1 до 64 Кбайт) и его атрибуты.
  • * Базовый адрес сегмента имеет разрядность 24 бит, что и обеспечивает адресацию 16 Мбайт физической памяти.
  • * Селекторы, загружаемые в 16-битные сегментные регистры, имеют три поля: RPL (Requested Privilege Level) -- запрашиваемый уровень привилегий, TI (Table Indicator) -- индикатор использования локальной или глобальной таблицы дескрипторов, INDEX -- номер дескриптора в таблице (формат показан на рис. 7.5).
Формат селектора сегмента процессора 80286

Рис. 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В.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

СКАЧАТЬ ОРИГИНАЛ
Архитектура и процессоры персональных компьютеров