Реферат: Микропроцессоры Intel 8086 и Intel 80286

Название: Микропроцессоры Intel 8086 и Intel 80286
Раздел: Рефераты по коммуникации и связи
Тип: реферат

Центральные процессоры: Intel 8086

В 1978 г. рынок 8-битных микропроцессоров был переполнен, и вместо того, чтобы продолжать борьбу на нём, фирма Intel сделала качественный шаг вперёд и выпустила первый в мире 16-битный микропроцессор.

16-битный микропроцессор Intel 8086, выпущенный 8 июня 1978 г., содержал на кристалле размером 5,5x5,5 мм около 29000 транзисторов. Производительность процессора 8086 значительно превышает производительность его 8-битного предшественника – микропроцессора 8080 – и составляет от 330 до 750 тыс. операций в секунду. Хотя и имеется определённая совместимость микропроцессора 8086 с архитектурой ЦП 8080, разработчики не ставили перед собой цели достичь её полностью. Число линий адреса увеличено с 16 до 20, что позволяет адресовать память 1 Мбайт вместо 64 Кбайт. Увеличение ёмкости памяти упрощает переход к мультипрограммированию, поэтому в микропроцессоре 8086 предусмотрено несколько мультипрограммных возможностей. Кроме того, в микропроцессор 8086 встроены некоторые средства, упрощающие реализацию мультипроцессорных систем, что позволяет применять его с другими процессорами, например с процессором числовых данных 8087.

То обстоятельство, что 16 из линий адреса микропроцессора используются и как линии данных, приводит к тому, что на системную шину нельзя одновременно выдавать адреса и данные. Мультиплексирование адресов и данных во времени сокращает число контактов корпуса до 40, но и замедляет скорость передачи данных. Однако благодаря тщательно разработанной временной диаграмме работы скорость передачи уменьшается не столь значительно, как этого следовало бы ожидать. Микропроцессор имеет 16 линий управления, предназначенных для сигналов квитирования во время передач данных и внешнего управления ЦП. Он рассчитан на одно напряжение питания +5 В и однофазную синхронизацию, частота которой достигает 5 МГц. (Модель 8086-2 имеет частоту синхронизации до 8 МГц, а модель 8086-1 – до 10 МГц.) Потребляемая процессором 8086 мощность составляет 1,75 Вт.

Хотя микропроцессор 8086 может обращаться к слову по любому адресу, при нечётном адресе требуются два обращения к памяти: для младшего и для старшего байтов. Следовательно, возможна некоторая экономия времени, если хранить слова только по чётным адресам.

Внутри микропроцессора имеются следующие регистры: регистр команд, которым фактически служит 6-байтная очередь; 4 регистра данных, представляющих собой, по существу, набор арифметических регистров; группа указательных регистров, содержащая базовый и два индексных регистра, а также программный счётчик и указатель стека; группа из четырёх сегментных регистров; 16-битное слово состояния процессора (регистр флажков). Все регистры имеют длину 16 бит. Регистры данных допускают адресацию не только целых регистров, но и их младшей и старшей половин.

Из 16 бит слова состояния процессора семь не используются, а остальные делятся на флажки условий (флажки знака, нуля, чётности, переноса, вспомогательного переноса и переполнения), отражающие результат предыдущей операции, и флажки управления (флажки направления, прерываний и трассировки), от которых зависит выполнение специальных функций. Все флажки условий, кроме флажка переполнения, размещены в младшем байте регистра.

Как говорилось ранее, участвующие в формировании адреса указательные регистры имеют длину всего 16 бит, поэтому эффективный адрес (сумма базового и индексного адресов и смещения) имеет такую же длину. Но, с другой стороны, выдаваемый на шину адреса физический адрес должен содержать 20 бит. Дополнительные 4 бита образуются при сложении эффективного адреса с содержимым одного из сегментных регистров, умноженным на 16. Если результат сложения превосходит 220 – 1, 21-й бит отбрасывается; это называется «заворачиванием» адреса, потому что за максимальным адресом как бы следует нулевой.

Применение сегментных регистров, по существу, разделяет пространство памяти на перекрывающиеся сегменты, каждый из которых имеет размер 64 Кбайт и начинается на 16-байтной границе (называемой границей параграфа), т.е. начинается с адреса, кратного 16. 16 сегментов, начинающихся с адресов, кратных 64К, называют страницами памяти, а такие адреса – границами страниц. Как нетрудно увидеть, страницы не пересекаются между собой и покрывают всю доступную память. Обычно деление на страницы используется для совместного функционирования устройств, интерфейсы которых отображены на адресное пространство памяти; тогда каждое такое устройство использует одну страницу памяти, и адрес ячейки в адресном пространстве устройства будет совпадать с её адресом в сегменте, начинающемся там же, где и эта страница памяти. Также страничное деление упрощает разработку устройств, совместимых друг с другом, поскольку оно допускает лишь 16 типов устройств, отображающих свои интерфейсы на память. Так, в компьютере IBM PC страницы памяти с A по E используются как «видеопамять» (адресное пространство видеоадаптера), а страница F занята БСВВ, размещённой в ПЗУ. Это ограничивает память, доступную пользователю, до 640 Кбайт. В защищённом режиме при использовании виртуальной памяти понятию «страница памяти» придаётся совершенно иное значение. Об этом будет рассказано в дальнейшем.

Наличие сегментных регистров обеспечивает следующие преимущества:

· ёмкость памяти может доходить до 1 Мбайт, хотя команды оперируют 16-битными адресами;

· секции кода, данных и стека могут иметь длину более 64 Кбайт благодаря использованию нескольких сегментов кода, данных или стека;

· упрощается использование отдельных областей памяти для программы, её данных и стека;

· при каждом выполнении программы она сама и (или) её данные могут размещаться в разных областях памяти. (Это связано также с мультипрограммированием, поскольку позволяет динамически перемещать программы между различными областями памяти.)

Сигнал сброса процессора обнуляет все его регистры, кроме регистра сегмента кода, в который загружается шестнадцатеричное значение FFFF. Таким образом, при перезагрузке процессора управление передаётся по физическому адресу FFFF0 (шестнадцатеричное значение). Обычно блок памяти, адресуемый этим значением, располагается в ПЗУ и содержит инструкции инициализации компьютера.

Очередь команд микропроцессора непрерывно заполняется, когда системная шина не требуется для других операций. Такое «опережение» значительно увеличивает пропускную способность ЦП, так как к моменту завершения текущей команды следующая команда чаще всего уже находится в ЦП, и нет необходимости дополнительно считывать её из памяти. В случае перехода очередь сбрасывается и заполняется заново, что не даёт экономии времени, но в среднем это происходит нечасто. Длина команд микропроцессора 8086 составляет от одного до шести байт, но организация очереди позволяет считывать команды только словами по чётным адресам. Имеется только одно исключение, связанное с переходом по нечётному адресу. В этом случае ЦП считывает сначала один байт, а затем продолжает считывать слова по чётным адресам.

Система команд микропроцессора 8086 состоит из 98 команд: 19 команд передачи данных, 38 команд их обработки, 24 команд перехода и 17 команд управления процессором. Каждая команда состоит из кода операции (КОП, или опкод), идентифицирующего её, и операндов, несущих требуемую для операции информацию. Команды могут содержать несколько операндов, но чем больше операндов и чем они длиннее, тем больше места занимает команда в памяти и тем больше времени требуется для передачи её в ЦП. КОП и операнды могут иметь произвольную длину и не обязаны быть непрерывными; в то же время общая длина команды должна выражаться целым числом байт. Часто КОП занимает первый байт команды и три средних бита второго байта (это 3-битовое поле часто называют mod). КОП других команд занимает часть первого байта команды, а остальные биты этого байта занимает(ют) операнд(ы). Команды, добавленные к системе команд процессора 8086 в более совершенных процессорах (главным образом, в процессорах 80186 и 80386), содержат КОП в первых двух байтах и операнд(ы) – в остальных. Всего же в системе команд процессора 8086 насчитывается более 3800 команд вместе со всеми их вариантами.

Чтобы минимизировать общее число бит в команде, большинство команд процессора 8086 имеют не более двух операндов, причём минимум одним из операндов в двухоперандной команде является регистр, так как адреса памяти и ввода-вывода требуют сравнительно много бит (8…20), а из-за ограниченного числа регистров для определения регистра требуется всего несколько бит. Ограничение двумя операндами, конечно, уменьшает гибкость многих операций, но в действительности излишняя гибкость и не нужна. Например, команда сложения, в которой необходимо указывать два слагаемых и результат, приводится к двум операндам посредством загрузки суммы на место одного из слагаемых. При этом оно теряется, но обычно это не играет роли. Если же слагаемое потребуется в дальнейшем, его приходится дублировать (запоминать где-то ещё) до выполнения сложения.

Для микропроцессора 8086 фирмой Digital Research была разработана операционная система CP/M-86, совместимая с её предыдущей версией CP/M-80 для 8-битных процессоров, а затем и её многопользовательская однозадачная версия MP/M-86 и мультизадачная версия Concurrent CP/M. Однако эти ОС не применялись в персональных компьютерах и потому не получили большого распространения.

В персональных компьютерах микропроцессор 8086 практически не использовался, т.к. до 1980 г. 16-битные микросхемы поддержки для него были весьма дороги и дефицитны, а в 1979 г. уже был выпущен микропроцессор 8088, системы на базе которого дешевле в производстве. Однако в компьютерах Compaq DeskPro использовался именно этот процессор, что повышало производительность таких ПК по сравнению с IBM PC, построенным на основе микропроцессора 8088.

Технические характеристики

· Дата анонса: 8 июня 1978 года

· Тактовая частота (МГц): 5 (модель 8086), 8 (модель 8086-2), 10 (модель 8086-1)

· Разрядность регистров: 16 бит

· Разрядность шины данных: 16 бит

· Разрядность шины адреса: 20 бит

· Объём адресуемой памяти: 1 Мбайт

· Количество транзисторов: 29 000

· Техпроцесс (нм): 3000 (3 мкм)

· Площадь кристалла (кв. мм): ~30

· Максимальное тепловыделение: 1,75 Вт

· Напряжение питания: +5 В

· Разъём: нет (микросхема припаивалась к плате)

· Корпус: 40-контактный керамический DIP

· Поддерживаемые технологии: 98 инструкций

Центральные процессоры: Intel 80286

Процессор 80286, выпущенный фирмой Intel 1 февраля 1982 г., является усовершенствованным вариантом микропроцессора 8086, содержащим схемы управления памятью и её защиты для упрощения реализации мультизадачных систем. На кристалле процессора размещено около 134000 транзисторов новой 1,5-микронной технологии, позволившей оформить микропроцессор в таком же, как и у микросхемы 80186, корпусе с 68 контактами, расположенными в четыре ряда. Выпускались модели процессора 80286 с частотами синхронизации 6, 8, 10 и 12,5 МГц производительностью 0,9, 1,2, 1,5 и 2,6 млн операций в секунду соответственно. Все модели микропроцессора имели одно напряжение питания +5 В.

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

· слово состояния машины (16 бит) для хранения дополнительных бит состояния, связанных с расширенными возможностями процессора 80286, например, бита разрешения защиты, определяющего, в реальном или защищённом режиме работает процессор;

· расширения сегментных регистров (по 48 бит) для хранения текущих сегментных дескрипторов;

· регистр задачи (16 бит) для адресации системного дескриптора сегмента, который определяет базовый адрес, права доступа и размер сегмента состояния текущей задачи;

· регистры дескрипторной таблицы (один 64-битный и два 40-битных) для адресации дескрипторных таблиц, которые содержат дескрипторы различных сегментов.

· Система команд микропроцессора 80286 включает в себя все команды процессоров 8086 и 80186, а также 16 новых команд для работы со средствами управления памятью. Программы микропроцессоров 8086/8088 могут выполняться на процессоре 80286 без повторного ассемблирования или с переассемблированием с минимальными модификациями. Это – первый микропроцессор фирмы Intel, принципиально отличающийся от предыдущего и в тоже время способный выполнять все программы для него. Позже такая совместимость стала промышленным стандартом.

После сброса процессор работает в режиме реального адреса (реальном режиме), но возможен переход в режим защищённого виртуального адреса (защищённый режим) путём сброса бита разрешения защиты в слове состояния машины. Вновь перевести процессор в реальный режим может только его сброс.

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

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

Каждый элемент в сегментной таблице (длиной до 8192 элементов) называется дескриптором сегмента. Кроме сегментных дескрипторов для сегментов кода, данных и стека, в микропроцессоре 80286 имеются системные управляющие дескрипторы для специальных системных данных и операций передач управления. Дескриптор содержит начальный адрес сегмента, а также следующие атрибуты:

· поле состояния, которое показывает, находится в памяти или нет сегмент, к которому производится обращение. Если требуемый сегмент в памяти отсутствует, возникает сегментное нарушение, инициирующее вызов монитора. Монитор загружает нужный сегмент в память, модифицирует сегментную таблицу и возобновляет выполнение программы. Когда достаточного пространства в памяти нет, один или несколько сегментов передаются во внешнюю память и удаляются из оперативной, освобождая в ней место;

· поле предела, показывающее размер сегмента (до 64 Кбайт). Эта информация предотвращает обращения к сегментам по недействительному адресу, вызываемые, например, переполнением стека. Когда смещение больше длины сегмента, генерируется прерывание с вызовом монитора;

· поле привилегий, 59 показывающее, каким минимальным уровнем привилегий должна обладать задача, чтобы получить доступ к сегменту. Микропроцессор 80286 поддерживает 4 уровня привилегий;

· поле типа, обеспечивающее защиту от несанкционированных считывания, записи или выполнения сегмента. Это поле содержит 4 бита, которые показывают следующие возможности по обращению к сегменту:

o выполнимый – содержимое сегмента можно выполнять как команды, запись в сегмент запрещена;

o считываемый (для невыполнимого сегмента) – содержимое сегмента можно считывать как операнды;

o записываемый (для выполнимого сегмента) – содержимое сегмента допускается модифицировать;

o направление расширения (для невыполнимого сегмента) – сегмент данных растёт вверх, сегмент стека – вниз;

o ограниченно выполнимый (для выполнимого сегмента) – содержимое сегмента может выполняться только задачами с уровнем привилегий не ниже привилегий данного сегмента.

Направление расширения сегмента влияет на то, какие адреса считаются недействительными – больше или меньше предела сегмента. Каждому сегменту, как логической единице программы, можно придавать несколько ограничений по доступу посредством установки комбинаций этих бит. Четвёртый бит поля типа определяет тип дескриптора – дескриптор сегмента или системный дескриптор. Системный дескриптор нельзя загрузить в расширение сегментного регистра;

· поле доступа, которое обеспечивает полезную информацию о выборе сегмента для замены в случае нехватки физической памяти, когда из внешней памяти вызывается новый сегмент. Были предложены и исследованы такие алгоритмы замены, как очередь, замена наименее часто используемого и замена наиболее давно используемого. Однако, за исключением алгоритма очереди, их реализации требуют сложных аппаратных средств. Альтернативой служат биты доступа, ассоциируемые с каждым сегментом. Когда к сегменту производится обращение, один из его битов доступа автоматически устанавливается в 1. После того, как все биты доступа установлены в 1, монитор может сбросить их в 0. Анализируя биты доступа, монитор выбирает сегмент, к которому давно не было обращений. В дескрипторах микропроцессора 80286 поле доступа имеет длину 1 бит;

· поле изменения, которое показывает, модифицировался сегмент или нет после передачи его в память. При замене сегмента, если он был изменен, необходимо передать его во внешнюю память перед загрузкой нового сегмента. Если же сегмент не модифицировался, монитор должен только загрузить новый сегмент из внешней памяти, что позволяет избежать относительно длительной операции записи.

Важно осознавать, что и в защищённом режиме процессора 80286 сегменты могут перекрываться в физической памяти. Это часто используется для создания нескольких дескрипторов одного сегмента с разными правами доступа, например, для передачи дочерней задаче. Другое применение «псевдонимов» сегментов состоит в самомодификации кода: запись в сегмент кода, помеченный как выполнимый, не допускается, но возможно создание записываемого сегмента данных по тому же физическому адресу и запись в этот сегмент с модификацией кода.

При обращении к памяти типичная последовательность операций, выполняемых схемой управления памятью, выглядит таким образом:

1. Определить номер сегмента и обратиться к соответствующему элементу сегментной таблицы;

2. Проверить состояние. Если в памяти нужного сегмента нет, генерировать прерывание в монитор, который инициирует процедуру обслуживания сегментного нарушения;

3. Сравнить смещение и длину сегмента. Если смещение слишком велико, генерировать прерывание в монитор;

4. Проверить тип доступа. При попытке несанкционированного обращения генерировать прерывание в монитор;

5. Прибавить начальный адрес сегмента к смещению для образования физического адреса и выдать результат на шину адреса;

6. Модифицировать поля доступа и изменения, а затем ожидать следующего обращения к памяти.

Процедура обслуживания сегментного нарушения реализует следующие действия:

1. Проверить таблицу карты памяти. Если требуемый сегмент помещается в свободную область памяти, перейти к шагу 4;

2. Выбрать удаляемый сегмент, анализируя биты доступа, и модифицировать состояние выбранного сегмента;

3. Проверить бит изменения заменяемого сегмента и, если этот сегмент был модифицирован, записать его во внешнюю память;

4. Загрузить требуемый сегмент в память и модифицировать карту памяти и сегментную таблицу;

5. Возвратиться к команде, которая вызвала сегментное нарушение.

Прерывания, которые возникают во время преобразования адреса, но не связаны с сегментным нарушением, обычно вызывают прекращение текущего задания.

Таким образом, в режиме защищенного виртуального адреса (защищенном режиме) микропроцессора 80286 содержимое сегментного регистра используется как селектор сегмента, показывающий, где в дескрипторной таблице хранится дескриптор сегмента. Микропроцессор 80286 поддерживает одну дескрипторную таблицу прерываний, одну глобальную дескрипторную таблицу и неограниченное число локальных дескрипторных таблиц. Каждая задача имеет свою локальную дескрипторную таблицу, которая, следовательно, защищена от других задач, и использует глобальную дескрипторную таблицу для доступа к разделенным сегментам. Эти таблицы могут находиться по любым адресам памяти и адресуются регистром дескрипторной таблицы прерываний, регистром глобальной дескрипторной таблицы и регистром локальной дескрипторной таблицы соответственно. Регистры дескрипторных таблиц должны загружаться операционной системой с помощью специальных команд.

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

Селектор сегмента, хранимый в сегментном регистре, состоит из бита, определяющего использование для хранения дескриптора сегмента локальной или глобальной дескрипторных таблиц, 13-битного индекса сегмента в этой таблице, и 2-битного уровня привилегий, запрашиваемого для доступа к этому сегменту. Уровень привилегий сегмента можно настраивать для защиты этого сегмента от обращений задач с меньшими уровнями привилегий.

Обращение к памяти в защищённом режиме процессора 80286 происходит следующим образом. Если при этом обращении используемый сегментный регистр не менялся, 24-битный физический адрес формируется сложением эффективного адреса и 24-битного базового адреса сегмента из расширения сегментного регистра (при условии, что предел и права доступа не нарушаются). Если же сегментный регистр изменялся явно (например, командой передачи данных) или неявно (например, командой межсегментного перехода), старшие 13 бит сегментного регистра используются как индекс, который прибавляется к содержимому соответствующего регистра дескрипторной таблицы для получения местоположения дескриптора, автоматически затем загружаемого микропроцессором из дескрипторной таблицы в расширение сегментного регистра. После загрузки нового расширения микропроцессор проверяет, находится ли нужный сегмент в памяти, и если его там нет, генерируется прерывание; тогда операционная система передает сегмент из внешней памяти. Когда сегмент загружен, эффективный адрес прибавляется к базовому адресу сегмента для получения физического адреса операнда в памяти.

Чтобы упростить переключение процессов (или задач), каждая задача имеет сегмент состояния задачи размером 104 байта, который служит областью хранения всего состояния выполнения. Текущий сегмент состояния задачи определяется системным сегментным дескриптором, который адресуется регистром задачи. Сегмент состояния задачи в основном предназначен для запоминания регистров. Во время переключения задач микропроцессор 80286 запоминает все состояние выполнения в текущем сегменте состояния задачи и загружает в регистр задачи адрес сегмента состояния новой задачи. Затем из выбранного сегмента состояния задачи загружается новое состояние выполнения и процессор возобновляет новую задачу. Это позволяет переключать задачи всего за 250 – 300 тактов, что соответствует нескольким десяткам микросекунд (до десятков тысяч переключений задач в секунду).

В режиме реального адреса процессор 80286 функционирует так же, как микропроцессор 8086, и дополнительные регистры не используются.

В отличие от микропроцессоров 8086/8088 и 80186, в процессоре 80286 линии данных и адресов не мультиплексируются: имеется 16 линий данных и 24 линии адреса, что позволяет процессору адресовать память до 16 Мбайт. В реальном режиме процессор формирует 20-битный адрес, и четыре старшие линии адреса не используются. Логический адрес, используемый в защищённом режиме микропроцессора 80286, состоит из 14-битного номера сегмента (13-битный индекс таблицы и однобитный индикатор таблицы) и 16-битного эффективного адреса. Это позволяет каждому заданию использовать виртуальную память до 1 Гбайт (230 байт).

Кроме средств управления памятью, увеличенной ёмкости памяти благодаря 24-битным адресам и дополнительных команд, производительность процессора 80286 в мультипрограммной среде в шесть раз выше производительности микропроцессора 8086. Имеются процессор числовых данных 80287, генератор синхронизации 82284, контроллер шины 82288 и арбитр шины 82289, совместимые с процессором 80286 и являющиеся аналогами микросхем 8087, 8284A, 8288 и 8289 для микропроцессоров 8086/8088. Защёлки адреса 8282/8283 и приёмопередатчики 8286/8287 совместимы с процессором 80286.

Отметим, что процессор числовых данных должен контролировать переключения задач центральным процессором, так как иначе он может сохранить результат вычислений одной задачи в памяти другой задачи. Поэтому когда сопроцессор 80287 перехватывает команду «ожидать готовности сопроцессора» после переключения задачи ЦП, он сохраняет своё текущее состояние в сегменте состояния старой задачи и восстанавливает из сегмента состояния вновь запущенной задачи своё новое состояние. Подразумевается, что каждая команда сопроцессора предваряется командой ожидания завершения его предыдущей операции, как это автоматически делают ассемблеры. Таким образом, сопроцессор 80287 также обладает средствами поддержки мультипрограммирования.

Самой известной мультизадачной операционной системой для микропроцессоров 80286 стала Microsoft Windows 3.0. Она позволяла запускать как программы, разработанные специально для неё, так и программы реального режима, разработанные для ОС MS-DOS. При этом программы реального режима не могли выполняться одновременно с программами защищённого режима. В более поздних версиях этой системы (использующих дополнительные возможности микропроцессора 80386) была добавлена возможность одновременного выполнения нескольких программ реального режима, а также возможность одновременного выполнения программ реального и защищённого режима.

Процессор 80286 стал невероятно популярным: на его базе фирмой IBM летом 1984 г. был выпущен персональный компьютер IBM AT, 65 с энтузиазмом воспринятый и деловыми кругами, и индивидуальными пользователями. К 1988 г., через 6 лет после выпуска процессора, по всему миру насчитывалось более 15 млн компьютеров на его базе. Микропроцессор 80286 показал, что персональные компьютеры могут быть также мощны, как и большие промышленные компьютеры.

В апреле 1987 г. фирма IBM объявила о создании нового семейства персональных компьютеров, названного PS/2. В компьютерах IBM PS/2-30 использовался микропроцессор 8088, как и в оригинальных IBM PC, а в компьютерах IBM PS/2-50/60 – новый микропроцессор 80286. Для последних фирмой Microsoft также была разработана мультизадачная операционная система OS/2. Эта система не имела графического интерфейса, в отличие от ОС Microsoft Windows, и потому была менее требовательна к ресурсам компьютера. Позже фирма IBM выкупила права на систему OS/2 и разрабатывала её самостоятельно.

Технические характеристики

· Дата анонса: 1982 год

· Тактовая частота (МГц): 6-12 МГц

· Разрядность регистров: 16 бит

· Разрядность шины данных: 16 бит

· Разрядность шины адреса: 24 бит

· Объём адресуемой памяти: 16 Мбайт

· Количество транзисторов: 134 000

· Техпроцесс (нм): 1500 нм

· Площадь кристалла (кв. мм): ~49

· Максимальное напряжение: 5 В

· Напряжение питания: +5 В

· Корпус: 68-контактный керамический DIP

Используемая литература:

1. http://cs.usu.edu.ru/study/chips.html#_Toc9352961

2. http://www.thg.ru/cpu/intel_cpu_history/intel_cpu_history-01.html