8086

8086
<<   Intel 8086   >>
Центральный процессор
I8086.jpg
Микропроцессор Intel 8086
Производство: 8 июня 1978
Производители:
Частота ЦП: 4—10 МГц
Технология производства:
HMOS, CHMOS, 3 мкм
Наборы инструкций: x86
Разъём: DIP40, QFP56, PLCC44
Микропроцессор KP1810BM86, советский клон Intel 8086

Intel 8086 (также известный как iAPX86) — первый 16-битный микропроцессор компании Intel, разрабатывавшийся с весны 1976 года и выпущенный 8 июня 1978 года. Процессор имел набор команд, который применяется и в современных процессорах, именно от этого процессора берёт своё начало известная на сегодня архитектура x86.

Основными конкурентами микропроцессора i8086 были Motorola 68000, Zilog Z8000, чипсеты F-11 и J-11 семейства PDP-11, MOS Technology 65C816. В некоторой степени, в области военных разработок, конкурентами являлись процессоры-реализации MIL-STD-1750A.

Аналогами микропроцессора i8086 являлись такие разработки, как NEC V30, который был на 5 % производительнее i8086, но при этом был полностью с ним совместим. Советским аналогом являлся микропроцессор К1810ВМ86, входивший в серию микросхем К1810.

Содержание

История

Предшественники

В 1972 году Intel выпустила 8008, первый 8-битный микропроцессор. Он использовал набор инструкций, разработанный корпорацией Datapoint для программируемых компьютерных терминалов, пригодный и для универсальных процессоров. Этот процессор требовал нескольких дополнительных микросхем для использования в полноценном компьютере, отчасти потому, что использовал маленький 18-пиновый корпус от микросхем DRAM, производимых Интел, и соответственно не мог иметь отдельную шину адресов.

Двумя годами позже, в 1974, был запущен 8080, в новом, 40-пиновом DIP-корпусе, первоначально разработанном для микросхем калькуляторов. Он имел отдельную шину адресов и расширенный набор инструкций, кодово- (не бинарно-) совместимый с 8008, дополненный для удобства программирования несколькими 16-битными инструкциями. Процессор i8080 часто называют первым по-настоящему удобным и полезным микропроцессором. В 1977 году он был заменён на i8085, с одним питающим напряжением (+5В) вместо трёх различных на предшественнике и несколькими другими усовершенствованиями. Наиболее известными соперниками были 8-битные Motorola 6800 (1974), Microchip PIC16X (1975) (здесь наверное имеется в виду процессор CP1600 фирмы General Instrument, который является предком микроконтроллеров Microchip http://en.wikipedia.org/wiki/PIC_microcontroller#History), MOS Technology 6502 (1975), Zilog Z80 (1976), и Motorola 6809 (1978).

Разработка

Проект 8086 был начат в мае 1976 года, и первоначально задумывался как временная замена для амбициозного и задерживающегося проекта iAPX 432 (также известного как 8800). Это была попытка, с одной стороны, противостоять менее запаздывавшим 16-ти и 32-битными процессорам других производителей (таких как Motorola, Zilog и National Semiconductor), а с другой - борьбы с угрозой от Zilog Z80 (разработанного командой под руководством ушедшего из Интел Фредерико Фаджин), который стал очень успешным. Первая версия архитектуры 8086 (система команд, прерывания, работа с памятью и вводом/выводом) была разработана с середины мая до середины августа Стивеном Морзе. Потом команда разработчиков была увеличена до четырёх человек, которые представили два основных проектных документа - 8086 Architectural Specifications и 8086 Device Specifications. При разработке не использовалось специализированных CAD-программ, а диаграммы были исполнены из текстовых символов. Использовались уже опробованные элементы микроархитектуры и физической реализации, в основном от i8085.

Описание

Рынок 8-разрядных микропроцессоров в конце 1970-х был переполнен, и Intel оставляет попытки на нём закрепиться и выпускает свой первый 16-битный процессор. Процессор i8086 представляет собой модернизированный процессор i8080 и, хотя, разработчики не ставили перед собой цель достичь полной совместимости на программном уровне, большинство программ написанных для i8080 способны выполняться и на i8086 после перекомпиляции. Новый процессор несёт в себе множество изменений, которые позволили значительно (в 10 раз) увеличить производительность по сравнению с предыдущим поколением процессоров компании.

Регистры

Регистры общего назначения
AH AL AX (primary accumulator)
BH BL BX (base, accumulator)
CH CL CX (counter, accumulator)
DH DL DX (accumulator, other functions)
Индексные регистры
SI Source Index
DI Destination Index
Указательные регистры
BP Base Pointer
SP Stack Pointer
Регистр состояния
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 (bit position)
- - - - O D I T S Z - A - P - C Флаги
Сегментные регистры
CS Code Segment
DS Data Segment
ES ExtraSegment
SS Stack Segment
Указатель команды
IP Instruction Pointer
Регистры 8086

Всего в процессоре i8086 было 14 16-разрядных регистров: 4 регистра общего назначения (AX, BX, CX, DX), 2 индексных регистра (SI, DI), 2 указательных (BP, SP), 4 сегментных регистра (CS, SS, DS, ES), программный счётчик или указатель команды (IP) и регистр флагов (FLAGS, включает в себя 9 флагов). При этом регистры данных (AX, BX, CX, DX) допускали адресацию не только целых регистров, но и их младшей половины (регистры AL, BL, CL, DL) и старшей половины (регистры AH, BH, CH, DH), что позволяло использовать не только новое 16-разрядное ПО, но сохраняло совместимость и со старыми программами (правда, их необходимо было, по крайней мере, перекомпилировать).

Шины

Размер шины адреса был увеличен с 16 бит до 20 бит, что позволило адресовать 1 Мбайт (220 байт) памяти. Шина данных была 16-разрядной. Однако в микропроцессоре шина данных и шина адреса использовали одни и те же контакты на корпусе. Это привело к тому, что нельзя одновременно подавать на системную шину адреса и данные. Мультиплексирование адресов и данных во времени сокращает число контактов корпуса до 20, но и замедляет скорость передачи данных.

Работа с памятью

1-й вариант. Для того чтобы адресовать больший, чем i8080, объём памяти, потребовалось изменить способ адресации памяти. Ведь если использовать старые методы, когда адрес к ячейке памяти содержался в указательных регистрах, то пришлось бы увеличивать размер этих самых регистров, чтобы иметь возможность обращаться к большему объёму памяти. Поэтому для адресации 1 Мбайт памяти применили следующую схему. На шину адреса подавался физический адрес размером 20 бит, который формировался путём сложения содержимого одного из сегментных регистров (16 бит), умноженного на 24, с содержимым указательного регистра: таким образом, адресация ячейки памяти производилась по номеру сегмента и эффективному адресу ячейки в сегменте (называемому также смещением). Если результат сложения оказывался больше, чем 220 -1, то 21-й бит отбрасывался; такая процедура называется «заворачиванием» адреса (англ. address wraparound). Этот метод впоследствии (после появления защищённого режима) назвали реальным режимом адресации процессора, такой режим позволяет адресовать до 1 Мбайт памяти.

2-й вариант. Для того чтобы адресовать 1 мегабайт памяти (20 бит адреса) с использованием 16-битных регистров используется сегментирование. Старшие 4 бит адреса выводятся на отдельные контакты корпуса, а младшие 16 выводятся на совмещённую шину адреса-данных. Но граница сегмента не жёсткая, а плавающая. Для того чтобы адресовать нужный сегмент используются 16-битные регистры сегмента, значение которых сдвигается на 4 бита вверх и складывается с указательным 16-битным регистром. Полученное значение — 20 битный адрес памяти или устройства выводится на контакты. Если результат сложения оказывался больше чем 1 мегабайт, выводятся только младшие 20 бит адреса, 21-бит отбрасывается.

Схема, показывающая работу реального режима адресации процессора Intel 8086 и выше

Таким образом, память разделяется на сегменты, размером 64 Кбайт каждый и начинающиеся с адреса, кратного 16 (граница параграфа); память в 1 Мбайт разделялась, таким образом, на 16 сегментов. Эти 16 сегментов называют страницами памяти. В компьютере, подобном IBM PC, последние 6 страниц (A, B, C, D, E, F) памяти (т. н. верхняя память — англ. upper memory) использовались для видеопамяти и BIOS-а, это ограничивало память, доступную пользователю, объёмом в 640 Кбайт (т. н. обычная память — англ. conventional memory; страницы 0~9).

На то время такой режим адресации обеспечивал множество преимуществ: ёмкость памяти могла составлять до 1 Мбайт, хотя команды оперировали 16-битными адресами; упрощалось использование отдельных областей памяти для программы, её данных и стека; упрощалась разработка устройств, совместимых друг с другом.

Система команд

Система команд процессора i8086 состоит из 98 команд (и более 3800 их вариаций): 19 команд передачи данных, 38 команд их обработки, 24 команды перехода и 17 команд управления процессором. Возможно 7 режимов адресации. Микропроцессор не содержал команды для работы с числами с плавающей запятой. Данная возможность реализовывалась отдельной микросхемой, называемой математический сопроцессор, который устанавливался на материнской плате. Сопроцессор вовсе не обязательно должен был быть произвёден Intel (модель i8087), к примеру, некоторые производители микросхем, такие как Weitek, выпускали более производительные сопроцессоры, чем Intel.

Система команд процессора i8086 включает в себя несколько очень мощных строчных инструкций. Если инструкция имеет префикс REP (повтор), то процессор будет выполнять операции с блоками - перемещение блока данных, сравнение блоков данных, присвоение определённого значения блоку данных определенной величины, и т.д., то есть, одна инструкция 8086 с префиксом REP может выполнять 4-5 инструкций, выполняемых на некоторых других процессорах. Но следует упомянуть, что подобные приёмы были реализованы и в других процессорах - Zilog Z80 имел инструкции перемещения и поиска блоков, а Motorola 68000 может выполнять операции с блоками, используя всего две команды.

В микропроцессоре i8086 была использована примитивная форма конвейерной обработки. Блок интерфейса с шиной подавал поток команд к исполнительному устройству через 6-байтовую очередь команд. Таким образом, выборка и выполнение новых команд могли происходить одновременно. Это значительно увеличивало пропускную способность процессора и лишало необходимости ожидать считывание команды из памяти при занятом другими операциями интерфейсе микросхемы (в то время скорость памяти значительно опережала скорость этого процессора).

Микрокомпьютеры на основе i8086

1-й вариант. В персональных компьютерах процессор i8086 практически не использовался из-за дороговизны специализированных микросхем, которые были необходимы для работы процессора. Это поняли и в Intel, в 1979 году она выпускает процессор i8088, у которого шина данных была 8-битной.

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

Но всё же в некоторых микрокомпьютерах применялся и i8086, одним из таких является Mycron 2000 — первый коммерческий микрокомпьютер на базе i8086. Машина для обработки текстов IBM Displaywriter, Compaq DeskPro и Wang Professional Computer также использовали i8086.

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

  • Дата анонса: 8 июня 1978 года
  • Тактовая частота (МГц): от 4 до 10
    • 5 (модель 8086), при частоте 4,77 производительность - 0,33 MIPS
    • 8 (модель 8086-2, 0,66 MIPS)
    • 10 (модель 8086-1, 0,75 MIPS)
    • Приблизительные затраты времени на операции, процессорных циклов (EA - время, необходимое для расчета эффективного адреса памяти, которое варьируется от 5 до 12 циклов):
      • Суммирование: 3-4 (регистровое), 9+EA - 25+EA - при операциях с памятью
      • Умножение: 70-118 (регистровое), 76+EA - 143+EA - при операциях с памятью
      • Перемещение данных: 2 (между регистрами), 8+EA - 14+EA - при операциях с памятью
  • Разрядность регистров: 16 бит
  • Разрядность шины данных: 16 бит
  • Разрядность шины адреса: 20 бит
  • Объём адресуемой памяти: 1 Мбайт
  • Адресное пространство I/O: 64 Кбайт
  • Количество транзисторов: 29 000
  • Техпроцесс (нм): 3000 (3 мкм)
  • Площадь кристалла (кв. мм): ~30 (по другим данным, 16 мм²)
  • Максимальное тепловыделение: 1,75 Вт
  • Напряжение питания: +5 В
  • Разъём: нет (микросхема припаивалась к плате)
  • Корпус: 40-контактный керамический или пластиковый DIP, позже - 56-контактный QFP и 44-контактный PLCC
  • Поддерживаемые технологии: 98 инструкций
  • Объём очереди команд: 6 байт

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "8086" в других словарях:

  • 8086 — Intel D8086. 8086 Clone KP1810BM86 aus der ehemaligen UdSSR. Der Intel 8086 ist ein 16 Bit Mikroprozessor von Intel. Entwickelt 1978, wurde er zum Urvat …   Deutsch Wikipedia

  • 8086 — Intel 8086 8086 en boitier céramique. L Intel 8086 est un microprocesseur CISC 16 bits fabriqué par Intel à partir de 1978. C est le premier processeur de la famille x86, qui est devenu l architecture de processeur la plus répandue dans le monde… …   Wikipédia en Français

  • 8086-Prozessor — 8086 Prozessor,   ein Prozessor, der 1978 von der Firma Intel vorgestellt wurde. Der Nachfolger des 8080 Prozessors verfügte über 29 000 Transistoren und war (je nach Taktfrequenz) fünf bis zehnmal so leistungsfähig wie sein Vorgänger. Er… …   Universal-Lexikon

  • 8086 Peterthomas — Infobox Planet minorplanet = yes width = 25em bgcolour = #FFFFC0 apsis = name = Peterthomas symbol = caption = discovery = yes discovery ref = discoverer = E. Bowell discovery site = Palomar discovered = September 1, 1989 designations = yes mp… …   Wikipedia

  • 8086 — ● np. m. ►PUCE processeur commercialisé par Intel en 1978, le premier de la série des i80x86. Il fonctionne en 16 bits (pour ses registres et son bus de données) avec un adressage de 20 bits (soit 1 Mo maxi de mémoire vive). Son cadencement… …   Dictionnaire d'informatique francophone

  • Intel 8086 — 8086 en boitier céramique. L Intel 8086 est un microprocesseur CISC 16 bits fabriqué par Intel à partir de 1978. C est le premier processeur de la famille x86, qui est devenu l architecture de processeur la plus répandue dans le monde des… …   Wikipédia en Français

  • Intel 8086 y 8088 — Intel 8088 Microprocesador Microprocesador Intel 8088 Producción 1979   1982 Fabricante(s) …   Wikipedia Español

  • Intel 8086 — Produced From 1978 to 1990s Common manufacturer(s) Intel, AMD, NEC, Fujitsu, Harris (Intersil), OKI, Siemens AG …   Wikipedia

  • Intel 8086 — <<   Intel 8086   >> Intel D8086. Produktion: 1978 bis 90er Produzenten …   Deutsch Wikipedia

  • Intel 8086 — <<   Intel 8086   >> Центральный процессор Микропроцессор Intel 8086 Производство: 8 июня 1978 Производители …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»