Автор работы: Пользователь скрыл имя, 31 Октября 2010 в 20:19, Не определен
Доклад
В 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 может обращаться к слову по любому адресу, при нечётном адресе требуются два обращения к памяти: для младшего и для старшего байтов. Следовательно, возможна некоторая экономия времени, если хранить слова только по чётным адресам.
Внутри
микропроцессора имеются
Из 16 бит слова состояния процессора семь не используются, а остальные делятся на флажки условий (флажки знака, нуля, чётности, переноса, вспомогательного переноса и переполнения), отражающие результат предыдущей операции, и флажки управления (флажки направления, прерываний и трассировки), от которых зависит выполнение специальных функций. Все флажки условий, кроме флажка переполнения, размещены в младшем байте регистра.
Как говорилось ранее, участвующие в формировании адреса указательные регистры имеют длину всего 16 бит, поэтому эффективный адрес (сумма базового и индексного адресов и смещения) имеет такую же длину. Но, с другой стороны, выдаваемый на шину адреса физический адрес должен содержать 20 бит. Дополнительные 4 бита образуются при сложении эффективного адреса с содержимым одного из сегментных регистров, умноженным на 16. Если результат сложения превосходит 220 – 1, 21-й бит отбрасывается; это называется «заворачиванием» адреса, потому что за максимальным адресом как бы следует нулевой.
Применение сегментных регистров, по существу, разделяет пространство памяти на перекрывающиеся сегменты, каждый из которых имеет размер 64 Кбайт и начинается на 16-байтной границе (называемой границей параграфа), т.е. начинается с адреса, кратного 16. 16 сегментов, начинающихся с адресов, кратных 64К, называют страницами памяти, а такие адреса – границами страниц. Как нетрудно увидеть, страницы не пересекаются между собой и покрывают всю доступную память. Обычно деление на страницы используется для совместного функционирования устройств, интерфейсы которых отображены на адресное пространство памяти; тогда каждое такое устройство использует одну страницу памяти, и адрес ячейки в адресном пространстве устройства будет совпадать с её адресом в сегменте, начинающемся там же, где и эта страница памяти. Также страничное деление упрощает разработку устройств, совместимых друг с другом, поскольку оно допускает лишь 16 типов устройств, отображающих свои интерфейсы на память. Так, в компьютере IBM PC страницы памяти с A по E используются как «видеопамять» (адресное пространство видеоадаптера), а страница F занята БСВВ, размещённой в ПЗУ. Это ограничивает память, доступную пользователю, до 640 Кбайт. В защищённом режиме при использовании виртуальной памяти понятию «страница памяти» придаётся совершенно иное значение. Об этом будет рассказано в дальнейшем.
Наличие сегментных регистров обеспечивает следующие преимущества:
Сигнал сброса процессора обнуляет все его регистры, кроме регистра сегмента кода, в который загружается шестнадцатеричное значение 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.
Технические характеристики
Процессор 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 В.
Помимо
регистров микропроцессора
После сброса процессор работает в режиме реального адреса (реальном режиме), но возможен переход в режим защищённого виртуального адреса (защищённый режим) путём сброса бита разрешения защиты в слове состояния машины. Вновь перевести процессор в реальный режим может только его сброс.
Суть защищённого режима состоит в том, что физические адреса, которые схема управления памятью посылает в память, могут отличаться от логических, которые генерируются командами в соответствии с режимом адресации. Это позволяет пользователю разрабатывать программу в логическом пространстве, называемом также виртуальным, не учитывая ограничений реально доступной памяти (по общему размеру и особенностям размещения в адресном пространстве). При этом обеспечиваются два основных преимущества. Во-первых, при разделении программ на несколько частей, каждая из которых отображается на область реальной памяти, программа не обязательно должна занимать смежный блок памяти, что уменьшает фрагментацию памяти множеством одновременно выполняющихся программ и вместе с тем пространство, расходуемое впустую. Во-вторых, при выполнении не обязательно хранить в памяти всю программу. При обращении к той части программы, которой в данный момент в памяти нет, операционная система может приостановить программу, загрузить требуемую секцию кода из внешней памяти и возобновить выполнение программы. Следовательно, становятся допустимыми программы, размер которых больше объема имеющейся памяти. Другими словами, пользователю кажется, что он работает с большей памятью, чем на самом деле.
Информация о работе Микропроцессоры Intel 8086 и Intel 80286