Intel 8086

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая YurikBot (обсуждение | вклад) в 05:14, 9 июня 2006 (robot Adding: he:8086 (מעבד), sr:Intel 8086). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Процессор Intel D8086-2 (вид сверху)

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


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

Описание

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

Регистры

Всего в процессоре 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-разрядной. Однако в микропроцессоре шина данных и шина адреса использовали одни и те же контакты на корпусе. Это привело к тому, что нельзя одновременно подавать на системную шину адреса и данные. Мультиплексирование адресов и данных во времени сокращает число контактов корпуса до 40, но и замедляет скорость передачи данных.

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

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

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

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

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

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

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

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

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

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

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

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

  • Дата анонса: 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 инструкций

Ссылки