AMD Am286

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 13:33, 12 января 2019.
Am286
AMD 80286.jpg
Производство: C 1983
Производители:
  • AMD
  • Intel
Частота CPU: 8 МГц — 20 МГц
Разъемы:
  • LCC 68-pin socket
  • PLCC 68-pin socket

Am286 (AMD 80286) - 16-битный процессор спроектированный компанией Intel и разработанный AMD в 1983 году. Является копией процессора Intel 80286 содержащим схемы управления памятью и её защиты для упрощения реализации мультизадачных систем, отличается более высокой производительностью. Также это один из первых процессоров с раздельными шинами данных и адресов.

Характеристики

Архитектура 16 бит
Шина данных 16 бит
Шина адреса 24 бит
Макс. объем памяти 16 Мбайт
Кэш L1 нет
Кэш L2 нет
Тактовая частота 8-20 МГц
FSB Равна тактовой частоте
FPU 80287
SIMD нет
Техпроцесс 1500 нм
Число транзисторов 134 000
Напряжение 5 В
Площадь кристалла 49 мм²
Число ножек 68 контактов

Описание

Am286, клон процессора Intel 80286, производимый по лицензии, был идентичен чипу от Intel, но отличался большим преимуществом: более высокой тактовой частотой. Если процессор Intel 286 выпускался, максимум, на 12,5 МГц, то AMD выпускала версии с частотой до 20-МГц. В новом процессоре было увеличено количество регистров, добавлены новые инструкции, добавлен новый режим работы процессора — защищённый режим. На кристалле процессора размещено около 134000 транзисторов новой 1,5-микронной технологии, позволившей оформить микропроцессор в таком же, как и у микросхемы 80186, корпусе с 68 контактами, расположенными в четыре ряда. Процессор имел 6 байтовую очередь (как и Intel 8086). Шины адреса и данных теперь не мультиплексируются (то есть, адреса и данные передаются по разным ножкам). Шина адреса увеличена до 24 бит, таким образом объём ОЗУ может составлять 16 Мбайт. Кроме средств управления памятью, увеличенной ёмкости памяти благодаря 24-битным адресам и дополнительных команд, производительность процессора 80286 в мультипрограммной среде в шесть раз выше производительности микропроцессора 8086. Имеются процессор числовых данных 80287, генератор синхронизации 82284, контроллер шины 82288 и арбитр шины 82289, совместимые с процессором 80286 и являющиеся аналогами микросхем 8087, 8284A, 8288 и 8289 для микропроцессоров 8086/8088. Защёлки адреса 8282/8283 и приёмопередатчики 8286/8287 совместимы с процессором 80286.

Регистры

К 14 регистрам процессора Intel 8086 были добавлены 11 новых регистров, необходимых для реализации защищённого режима и других функций, такие как: слово состояния машины (16 бит) для хранения дополнительных бит состояния, связанных с расширенными возможностями процессора 80286, например, бита разрешения защиты, определяющего, в реальном или защищённом режиме работает процессор; расширения сегментных регистров (по 48 бит) для хранения текущих сегментных дескрипторов; регистр задачи (16 бит) для адресации системного дескриптора сегмента, который определяет базовый адрес, права доступа и размер сегмента состояния текущей задачи; регистры дескрипторной таблицы (один 64-битный и два 40-битных) для адресации дескрипторных таблиц, которые содержат дескрипторы различных сегментов.

Инструкции

Процессор имел тот же набор инструкций, что и процессор Intel 80186, к которому добавили 16 новых команд (LGDT, LIDT, LLDT, LMSW, LTR, SGDT, SIDT, SLDT, SMSW, STR, ARPL, CLTS, LAR, LSL, VERR, VERW) необходимых для работы со средствами управления памятью. Команда PUSH теперь могла сохранять в стеке константы. Программы микропроцессоров 8086/8088 могут выполняться на процессоре 80286 без повторного ассемблирования или с переассемблированием с минимальными модификациями. Это – первый микропроцессор фирмы Intel, принципиально отличающийся от предыдущего и в тоже время способный выполнять все программы для него. Позже такая совместимость стала промышленным стандартом. После сброса процессор работает в режиме реального адреса (реальном режиме), но возможен переход в режим защищённого виртуального адреса (защищённый режим) путём сброса бита разрешения защиты в слове состояния машины. Вновь перевести процессор в реальный режим может только его сброс.

Защищенный режим

Суть защищённого режима состоит в том, что физические адреса, которые схема управления памятью посылает в память, могут отличаться от логических, которые генерируются командами в соответствии с режимом адресации. Это позволяет пользователю разрабатывать программу в логическом пространстве, называемом также виртуальным, не учитывая ограничений реально доступной памяти (по общему размеру и особенностям размещения в адресном пространстве). При этом обеспечиваются два основных преимущества. Во-первых, при разделении программ на несколько частей, каждая из которых отображается на область реальной памяти, программа не обязательно должна занимать смежный блок памяти, что уменьшает фрагментацию памяти множеством одновременно выполняющихся программ и вместе с тем пространство, расходуемое впустую. Во-вторых, при выполнении не обязательно хранить в памяти всю программу. При обращении к той части программы, которой в данный момент в памяти нет, операционная система может приостановить программу, загрузить требуемую секцию кода из внешней памяти и возобновить выполнение программы. Следовательно, становятся допустимыми программы, размер которых больше объема имеющейся памяти. Другими словами, пользователю кажется, что он работает с большей памятью, чем на самом деле. Преобразование логических адресов в физические происходит следующим образом. Как и в микропроцессоре 8086, программа разбивается на сегменты, причём не делается предположений о размещении сегментов в физической памяти. Номер сегмента в логическом адресе служит индексом сегментной таблицы, которая возвращает начальный физический адрес требуемого сегмента. Этот адрес суммируется со смещением ячейки памяти в сегменте, образуя физический адрес ячейки памяти. Если каждому заданию назначается отдельная область в сегментной таблице, то базовый адрес той секции сегментной таблицы, которая ассоциируется с текущим выполняемым заданием, находится в регистре, называемом регистром сегментной таблицы. Индекс сегмента берется относительно регистра сегментной таблицы. Поскольку преобразование адреса должно выполняться при каждом обращении к памяти, либо вся сегментная таблица, либо ее часть, содержащая начальные адреса сегментов выполняемого задания, должна храниться в регистрах, входящих в состав схемы управления памятью.

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

Шина адреса разрядностью 24 бита позволяет адресовать 16 Мбайт физической памяти, но в реальном режиме доступен только 1 Мбайт (640 КБайт обычной памяти и 384 КБайт расширенной), начинающийся с младших адресов. С программной точки зрения память так же, как и в 8086, организуется в виде сегментов, но управление сегментацией имеет существенные различия для реального и защищённого режимов. В реальном режиме по адресации памяти декларируется полная совместимость с процессором 8086, который своей 20-битной адресной шиной охватывает пространство физической памяти в 1 Мбайт. На самом деле, на радость разработчикам программного обеспечения PC, 80286 имеет ошибку, «узаконенную» и в следующих поколениях процессоров. При вычислении физического адреса возможно возникновение переполнения, которое с 20-битной шиной адреса просто игнорируется. Если, например, Seg=FFFFh и EA=FFFFh, физический адрес, вычисленный по формуле РА=16 х Seg + EA=10FFEF, процессором 8086 трактуется как 0FFEF — адрес, принадлежащий первому мегабайту. Однако на выходе А20 процессора 80286 в этом случае установится единичное значение, что соответствует адресу ячейки из второго мегабайта физической памяти. Для обеспечения полной программной совместимости с 8086 в схему PC был введен специальный вентиль Gate A20, принудительно обнуляющий бит А20 системной шины адреса. Не оценив потенциальной выгоды от этой ошибки, управление вентилем узаконили через программно-управляемый бит контроллера клавиатуры 8042. Когда оперативная память подешевела, а «аппетит» программного обеспечения вырос, в эту небольшую область (64К-16 байт) стали помещать некоторые резидентные программы или даже часть операционной системы, а для ускорения управления вентилем появились более быстрые способы (Gate A20 Fast Control). В отличие от 8086 процессор 80286 имеет средства контроля за переходом через границу сегмента, работающие и в реальном режиме. При попытке адресации к слову, имеющему смещение FFFFh (его старший байт выходит за границу сегмента), или выполнения инструкции, все байты которой не умещаются в данном сегменте, процессор вырабатывает прерывание — исключение типа 13 (0Dh) — Segment Overrun Exception. При попытке выполнения инструкции ESCAPE с операндом памяти, не умещающемся в сегменте, вырабатывается исключение типа 9 — Processor Extension Segment Overrrun Interrupt. В защищённом режиме работают все режимы адресации, допустимые для 8086 и реального режима 80286. Отличия касаются определения сегментов: сегментные регистры CS, DS, SS и ES хранят не сами базовые адреса сегментов, а селекторы, по которым из таблицы, хранящейся в ОЗУ, извлекаются дескрипторы сегментов дескриптор описывает базовый адрес, размер сегмента (1 — 64 Кбайт) и его атрибуты; базовый адрес сегмента имеет разрядность 24 бита, что и обеспечивает адресацию 16 Мбайт физической памяти.

Ссылки