Intel 8086 — первый 16-битный процессор компании Intel, выпущенный 8 июня 1978 года. Процессор имел набор команд, который применяется и в современных процессорах, именно от этого процессора берёт своё начало известная на сегодня архитектура x86.
Конкурентами микропроцессора i8086 являются такие разработки, как NEC V30, который был на 5% производительнее i8086, но при этом был полностью с ним совместим. Отечественным аналогом является микропроцессор К1810ВМ86, входивший в серию микросхем К1810.
Оглавление документа
Видео:05. Основы устройства компьютера. Регистры и команды процессора. [Универсальный программист]Скачать
Описание
Рынок 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 Мбайт (2 20 байт) памяти. Шина данных была 16-разрядной. Однако в микропроцессоре шина данных и шина адреса использовали одни и те же контакты на корпусе. Это привело к тому, что нельзя одновременно подавать на системную шину адреса и данные. Мультиплексирование адресов и данных во времени сокращает число контактов корпуса до 40, но и замедляет скорость передачи данных.
Работа с памятью
Для того чтобы адресовать больший, чем i8080, объём памяти, потребовалось изменить способ адресации памяти. Ведь если использовать старые методы, когда адрес к ячейке памяти содержался в указательных регистрах, то пришлось бы увеличивать размер этих самых регистров, чтобы иметь возможность обращаться к большему объёму памяти. Поэтому для адресации 1 Мбайт памяти применили следующую схему. На шину адреса подавался физический адрес размером 20 бит, который формировался путём сложения содержимого одного из сегментных регистров (16 бит), умноженного на 16, с содержимым указательного регистра: таким образом, адресация ячейки памяти производилась по номеру сегмента и эффективному адресу ячейки в сегменте (называемому также смещением). Если результат сложения оказывался больше, чем 2 20 -1, то 21-й бит отбрасывался; такая процедура называется «заворачиванием» адреса (англ. address wraparound). Этот метод назвали реальным режимом адресации процессора, такой режим позволяет адресовать до 1 Мбайт памяти.
Таким образом, память разделяется на сегменты, размером 64 Кбайт каждый и начинающиеся с адреса, кратного 16 (граница параграфа); память в 1 Мбайт разделялась, таким образом, на 16 сегментов. Эти 16 сегментов называют страницами памяти. В компьютере, подобном IBM PC, последние 6 страниц (A, B, C, D, E, F) памяти (т.н. верхняя память – англ. upper memory) использовались для видеопамяти и BIOS-а, это ограничивало память, доступную пользователю, объёмом в 640 Кбайт (т.н. обычная память – англ. conventional memory; страницы 09).
На то время такой режим адресации обеспечивал множество преимуществ: ёмкость памяти могла составлять до 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.
Видео:Внутри CPU: Intel 8086Скачать
Intel 8086
> Центральный процессор | |
Микропроцессор Intel 8086 | |
Производство: | 8 июня1978 |
Производители: |
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.
Читайте также: 8114000000000 клапан накачки шин беломо
Видео:15 Режимы работы процессораСкачать
Описание
Рынок 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 |
Всего в процессоре 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 Мбайт (2 20 байт) памяти. Шина данных была 16-разрядной. Однако в микропроцессоре шина данных и шина адреса использовали одни и те же контакты на корпусе. Это привело к тому, что нельзя одновременно подавать на системную шину адреса и данные. Мультиплексирование адресов и данных во времени сокращает число контактов корпуса до 40, но и замедляет скорость передачи данных.
Работа с памятью
1-й вариант. Для того чтобы адресовать больший, чем i8080, объём памяти, потребовалось изменить способ адресации памяти. Ведь если использовать старые методы, когда адрес к ячейке памяти содержался в указательных регистрах, то пришлось бы увеличивать размер этих самых регистров, чтобы иметь возможность обращаться к большему объёму памяти. Поэтому для адресации 1 Мбайт памяти применили следующую схему. На шину адреса подавался физический адрес размером 20 бит, который формировался путём сложения содержимого одного из сегментных регистров (16 бит), умноженного на 16, с содержимым указательного регистра: таким образом, адресация ячейки памяти производилась по номеру сегмента и эффективному адресу ячейки в сегменте (называемому также смещением). Если результат сложения оказывался больше, чем 2 20 -1, то 21-й бит отбрасывался; такая процедура называется «заворачиванием» адреса (англ. address wraparound ). Этот метод впоследствии (после появления защищённого режима) назвали реальным режимом адресации процессора, такой режим позволяет адресовать до 1 Мбайт памяти.
2-й вариант. Для того чтобы адресовать 1 мегабайт памяти (20 бит адреса) с использованием 16-битных регистров используется сегментирование. Старшие 4 бит адреса выводятся на отдельные контакты корпуса, а младшие 16 выводятся на совмещённую шину адреса-данных. Но граница сегмента не жёсткая, а плавающая. Для того чтобы адресовать нужный сегмент используются 16-битные регистры сегмента, значение которых сдвигается на 4 бита вверх и складывается с указательным 16-битным регистром. Полученное значение — 20 битный адрес памяти или устройства выводится на контакты. Если результат сложения оказывался больше чем 1 мегабайт, выводятся только младшие 20 бит адреса, 21-бит отбрасывается.
Таким образом, память разделяется на сегменты, размером 64 Кбайт каждый и начинающиеся с адреса, кратного 16 (граница параграфа); память в 1 Мбайт разделялась, таким образом, на 16 сегментов. Эти 16 сегментов называют страницами памяти. В компьютере, подобном IBM PC, последние 6 страниц (A, B, C, D, E, F) памяти (т. н. верхняя память — англ. upper memory ) использовались для видеопамяти и BIOS-а, это ограничивало память, доступную пользователю, объёмом в 640 Кбайт (т. н. обычная память — англ. conventional memory ; страницы 0
Читайте также: Направляющая шина для пилы einhell te ps 165
На то время такой режим адресации обеспечивал множество преимуществ: ёмкость памяти могла составлять до 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-байтовую очередь команд. Таким образом, выборка и выполнение новых команд могли происходить одновременно. Это значительно увеличивало пропускную способность процессора и лишало необходимости считывать команды из медленной памяти.
Видео:Что такое i3, i5, i7, i9? В чем разница? Как выбрать процессор?Скачать
Микрокомпьютеры на основе 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.
Видео:Все о маркировках процессоров INTEL COREСкачать
Технические характеристики
- Дата анонса: 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 — при операциях с памятью
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
💥 Видео
История CPU Intel 8086Скачать
169 секунд и ты знаешь как работает процессорСкачать
х64 или х86? Как узнать разрядность процессора и архитектуру windows?Скачать
Разблокировать все ядра процессора и оперативную память в Windows в msconfig (почему не нужно)Скачать
Внутри CPU: Intel 8080Скачать
История CPU IntelСкачать
#эволюция - процессоры Intel / Часть 1Скачать
Как узнать, подходит ли процессор к материнской плате?Скачать
Эволюция процессоров. От огромных шкафов до маленького чипа.Скачать
Архитектура x86. Уверены, что знаете свой домашний компьютер?Скачать
История процессоров: появление архитектуры x86Скачать
Архитектура микропроцессора 8085Скачать
MSCONFIG ИЛИ КАК ВАС ВВЕЛИ В ЗАБЛУЖДЕНИЕ!Скачать