1.3.1. Организация памяти 80286

Как и у процессоров 8086/8088, для обращения к памяти процессор (совместно с внешней схемой) формирует шинные сигналы MEMWR# (Memory Write) и MEMRD# (Memory Read) для операции записи и считывания соответственно. Шина адреса разрядностью 24 бита позволяет адресовать 16 Мб физической памяти, но в реальном режиме доступен только 1 Мб, начинающийся с младших адресов. С программной точки зрения память также организуется в виде сегментов, но управление сегментацией имеет существенные различия для реального и защищенного режимов.

В реальном режиме по адресации памяти декларируется полная совместимость с процессором 8086, который своей 16-битной адресной шиной охватывает пространство в 1 Мб. На самом деле на радость разработчиков программного обеспечения РС, 80286 имеет ошибку, “узаконенною” и в следующих поколения процессоров. При вычислении физического адреса возможно возникновение переполнения, которое с 20-битной шиной адреса просто игнорируется. Например, Seg=FFFFh и EA=FFFF, физический адрес, вычисленный по формуле PA=16*Seg+EA=10FFEF, процессором 8086 трактуется как 0FFEF – адрес, принадлежащий первому мегабайту. Однако на выходе А20 процессора 80286 в этом случае устанавливается единичное значение, что соответствует адресу ячейки из второго мегабайта физической памяти. Для обеспечения полной программной совместимости с 8086 в схему РС был введен специальный вентиль Gate A20, принудительно обнуляющий бит А20 системной шины адреса. Не оценив потенциальной выгоды от этой ошибки, управление вентилем узаконили через программно-управляемы бит контроллера клавиатуры 8042. Когда оперативная память подешевела, а “аппетит” программного обеспечения вырос, в эту небольшую область (64К-16 бит) стали помещать некоторые резидентные программы или даже часть операционный системы, а для ускорения управлением вентилем появились более быстрые способы (Gate A20 Fast Control).

В отличии от 8086 процессор 80286 имеет средства контроля за переходом через границу сегмента, работающие в реальном режиме. При попытке адресации к слову, имеющему смещение FFFh (его старший байт выходит за границу сегмента), или выполнения инструкции, все байты которой не умещаются в одном сегменте, процессор вырабатывает прерывание – исключение 13 (0Dh) – Segment Overrun Exception. При попытке выполнения инструкции ES-CAPE с операндом памяти, не умещаемся в сегменте, вырабатывается исключение 9 – Processor Extension Segment Interrupt.

В защищенном режиме работают не все режимы адресации, допустимые для 8086 и реального режима 80286. Отличия касаются определения сегментов:

сегментные регистры CS, DS, SS и ES хранят не сами базовые адреса сегментов, а селекторы, по которым из таблицы, хранящейся в ОЗУ, извлекаются дескрипторы сегментов;

дескриптор описывает базовый адрес, размер сегмента (1-64 Кб) и его атрибуты;

базовый адрес сегмента имеет разрядность 24 бита, что и обеспечивает адресацию 16 Мб физической памяти.

Селекторы, загружаемые в 16-битные сегментные регистры, имеют три поля:

RPL (биты 0, 1), TI (бит 2) и INDEX (биты 3-15):

RPL (Requested Privilege Level) – запрошенный уровень привилегий;

TI (Table Indicator) – индикатор использования GDT – глобальный (TI=0) или LDT – локальной (TI=1) таблицы дескрипторов;

INDEX – номер дескриптора в таблице.

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

Для функций передачи управления и переключения задач определенны специальные типы дескрипторов


1.3.2. Ввод-вывод

Как и 8086, процессор 80286 позволяет адресовать до 64К однобайтных или 32К двухбайтных регистров в пространстве, отдельном от памяти (команды ввода-вывода вызывают шинные циклы с активными сигналами IORD#, IOWR#). В адресном пространстве ввода-вывода область 00F8-00FF зарезервирована для использования сопроцессором. При операциях ввода-вывода старшие биты адреса (линии А[16:20]) не используются. Адрес устройства либо задается в команде (только младший байт, старший – нулевой), либо берется из регистра DX (полный 16-битный адрес). Строковые команды REP INSB/INSW, REP OUTSB/OUTSW обеспечивают блочный ввод-вывод со скоростью, превышающей аналогичные операции со стандартным контроллером DMA.

В защищенном режиме инструкции ввода-вывода являются привилегированными. Это означает, что они могут исполнятся задачами только с определенным уровнем привилегий, определяемым полем IOPL регистра флагов. Несанкционированная попытка выполнения этих инструкций вызывает исключение 13 – нарушения защиты (знаменитое сообщение “General Protection Error”).



Информация о работе «Процессоры. История развития. Структура. Архитектура»
Раздел: Информатика, программирование
Количество знаков с пробелами: 94709
Количество таблиц: 9
Количество изображений: 3

Похожие работы

Скачать
47142
1
0

... . В качестве такого разъема AMD решила использовать 462-контактный Socket A, который по своим размерам, да и по внешнему виду похож как на Socket 7, так и на Socket 370. Поэтому, с Socket A процессорами AMD можно использовать старые Socket 7 и Socket 370 кулеры. Единственное, не следует при этом забывать, что тепловыделение Duron несколько превосходит количество тепла, отдаваемое Celeron, поэтому ...

Скачать
27829
0
1

... меньше размер транзистора, тем меньше тепла он излучает при работе. Первые процессоры Итак, разобравшись с некоторыми основными свойствами процессоров, перейдем непосредственно к истории. В далеком 1971 году корпорация Intel явила миру первый микропроцессор, прадедушку того гигагерцового монстра, что стоит у тебя в компьютере. Первый микропроцессор имел индекс 4004. Это был четырехразрядный ...

Скачать
65135
0
1

... оснащать их дополнительными устройствами сотен различных производителей. Итак, после начала широкого внедрения персональных компьютеров в повседневную жизнь, продолжилось быстрое развитие вычислительной техники. Остановимся на наиболее важном элементе: микропроцессор – это эффективный с технологической и экономической точки зрения инструмент для переработки возрастающих потоков информации. Новое ...

Скачать
43133
1
6

... устройство выбор- ки/декодирования должно правильно предсказать для того, чтобы ра- бота устройства диспетчирования/выполнения не оказалась бесполез- ной. Небольшое количество регистров в архитектуре процессоров «Intel» приводит к интенсивному использованию каждого из них и, как следствие, к возникновению множества мнимых зависимостей меж- ду командами, использующими один и тот же регистр ...

0 комментариев


Наверх