Intel 8086 — первый 16-битный процессор компании Intel, выпущенный 8 июня 1978 года. Процессор имел набор команд, который применяется и в современных процессорах, именно от этого процессора берёт своё начало известная на сегодня архитектура x86.
Конкурентами микропроцессора i8086 являются такие разработки, как NEC V30, который был на 5% производительнее i8086, но при этом был полностью с ним совместим. Отечественным аналогом является микропроцессор К1810ВМ86, входивший в серию микросхем К1810.
Оглавление документа
Видео:История CPU Intel 8086Скачать
Описание
Рынок 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.
Читайте также: Шина 20х3 медная твердая
В микропроцессоре i8086 была использована примитивная форма конвейерной обработки. Блок интерфейса с шиной подавал поток команд к исполнительному устройству через 6-байтовую очередь команд. Таким образом, выборка и выполнение новых команд могли происходить одновременно. Это значительно увеличивало пропускную способность процессора и лишало необходимости считывать команды из медленной памяти.
Видео:Внутри CPU: Intel 8086Скачать
Микрокомпьютеры на основе i8086
В персональных компьютерах процессор i8086 практически не использовался из-за дороговизны специализированных микросхем, которые были необходимы для работы процессора. Это поняли и в Intel, в 1979 году она выпускает процессор i8088, у которого шина данных была 8-битной.
Но всё же в некоторых микрокомпьютерах применялся и i8086, одним из таких является Mycron 2000 — первый коммерческий микрокомпьютер на базе i8086. Машина для обработки текстов IBM Displaywriter, Compaq DeskPro и Wang Professional Computer также использовали i8086.
Видео:03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать
Intel 8086 — процессор, открывший эпоху
Видео:Процессор под микроскопом. Нанометровое путешествие.Скачать
История создания легенды
Сегодня, в 2018 году, мы отмечаем сорокалетие, пожалуй, ключевого в истории персональных компьютеров процессора, а именно – Intel 8086.
Именно с него началась эпоха архитектуры x86, заложившей основы развития процессоров на многие годы и десятилетия вперед, именно ему мы обязаны взлету популярности компьютера как индивидуальной единицы, доступной каждому пользователю. В честь 40-летнего юбилея процессора, с которого началось превращение Intel в многомиллиардную корпорацию, компания представила небольшой символический подарок своим поклонникам — им стал юбилейный i7-8086K, первым процессором в истории Intel, способным работать на частоте 5 ГГц прямо из коробки.
Но сегодня мы не будем петь дифирамбы инженерам современных процессоров-лидеров, а вернемся в далекое прошлое, в 1976 год, где и началась история Intel 8086. И началась она с совершенно другого процессора.
В 1976 году компания Intel поставила перед своими инженерами серьезную задачу – создать первый в мире микропроцессор, поддерживающий работу в формате многозадачности, а также обладающий встроенным в чип контроллером памяти. Сейчас эти технологические особенности можно без труда обнаружить даже в самых доступных процессорах на рынке, но 42 года назад подобные технологические новшества обещали перегнать целую эпоху – Intel планировала перейти на 32-битные вычисления в тот момент, когда господствовали 8-битные системы, и даже 16-бит были очень далеко. К сожалению, или к счастью, амбиции руководителей Intel столкнулись с суровой реальностью в виде нескольких переносов сроков, технологическими проблемами и осознанием того, что технологии 1976 года еще не шагнули так далеко, чтобы воплотить в жизнь такие смелые задумки. А главное – Intel настолько увлеклась созданием, как сказали бы на западе, over-engineered архитектуры, что упустила из виду практичность с точки зрения программного обеспечения. Именно непрактичность и нарочитую усложненность системы раскритиковал на одном из совещаний приглашенный эксперт по имени Стивен Морс – 36-летний инженер микроэлектроники, специализирующийся тогда на программном обеспечении. Тем не менее, Intel не торопилась учитывать критические замечания, поэтому заметки Морса отправились в долгий ящик.
Но как оказалось позже, они были крайне полезными – уже в июле 1976 года небольшая компания Zilog, основанная изобретателем Intel 4004 и Intel 8008 Федерико Фаджином, а также менеджером Intel Ральфом Унгерманном и еще одним разработчиком 4004, японцем Масатоси Сима, представила на рынке свой процессор Z-80, ставший фактической работой над ошибками на базе Intel 8080.
Усовершенствовав архитектуру оригинального процессора Intel, команда Zilog предложила недорогой и производительный процессор, сразу же полюбившийся многим производителям техники и ведущих платформ того времени. Именно Z-80 лег в основу легендарного ZX Spectrum, а также был установлен в не менее известный Commodore 128 в качестве сопроцессора. Z-80 стал невероятно успешным во многих уголках мира, и этот успех не мог остаться незамеченным – в Intel срочно решили, что Z-80 нужен достойный конкурент.
Именно здесь руководители компании вспомнили о замечаниях Стивена Морса, и предложили тому возглавить создание принципиально нового процессора, призванного составить конкуренцию новинке от Zilog. Intel не видели особенных причин задавать рамки в этом проекте – тогда всем казалось, что новый процессор будет быстрым ответом на Z-80, и забудется в течение следующих лет, поэтому Морс получил зеленый свет на любые эксперименты. Именно навязчивая мысль о том, что процессор должен строиться вокруг эффективности работы с ПО, как выяснилось позже, стала ключевой для развития всей индустрии.
Читайте также: Что значит вторая цифра в размере шин
В мае 1976 года Стив Морс приступил к работе над архитектурой нового процессора. В сущности, задача, поставленная перед Морсом, была проста. Если новый 16-битный чип должен давать значительное увеличение скорости по сравнению с 8-битным 8080-м, он должен отличаться по ряду параметров. Но Intel хотела добиться, чтобы потребители обращались к ней повторно. Как один из способов добиться этого рассматривалась возможность перевода на более высокий уровень системы, разработанной для менее мощного процессора, при замене которого новым она будет работать. Для этого, в идеале, новый процессор должен быть совместим с любой программой, написанной для 8080.
Морсу приходилось отталкиваться от проекта 8080, в соответствии с которым процессор назначал «адрес» каждому месту, где хранились числа, подобно ярлыкам классификатора. Адреса представляли собой 16-битные двоичные числа, что позволяло обозначить 65536 различных адресов. Этот потолок был приемлем, когда разработчикам требовалось экономно использовать память. Однако теперь потребителям понадобился больший объем, они настаивали на преодолении барьера в 64 Кбайт.
В июле 1978 года новый процессор, получивший название Intel 8086, появился на рынке.
Его выход не стал фурором или невероятным успехом. Впервые процессор попал на прилавки в составе нескольких бюджетных компьютеров, не пользующихся популярностью, а также использовался в различных терминалах. Чуть позже он лег в основу микроконтроллера NASA, где использовался для контроля над диагностическими системами ракетного пуска вплоть до начала 2000-х годов.
Морс покинул Intel в 1979 году, как раз перед тем, как компания представила Intel 8088, — практически идентичный 8086 микропроцессор, обеспечивавший совместимость с 8-битными системами через деление 16-битной шины на два цикла. Сам Морс назвал этот процессор «кастрированной» версией 8086.
Легендарный статус 8088 получил позже, когда в 1980 году IBM впервые задумалась о покорении рынка персональных компьютеров и создании компьютера, который был бы достаточно недорогим, и включал в себя комплектующие среднего класса. Именно IBM 5150, более известный под брендом IBM PC, и получил в основу процессор 8088 (по сути, все тот же 8086), благодаря чему Intel стала широко известной даже в кругах рядовых пользователей. А ведь на место 8088 претендовала и Motorola 68000 (основа первого Apple Macintosh), но руководство IBM отдала предпочтение Intel.
IBM PC быстро превратился в главную силу на рынке компьютерных систем, и Intel, следуя логике «дальше-лучше», продолжила выпускать процессоры – 80186, 80286, 80386, 80486, Pentium и так далее – на базе все той же основы Стивена Морса, заложенной им еще в 8086. Именно благодаря двум последним цифрам архитектура стала известна как «х86», а невероятная популярность компьютеров IBM обеспечила Intel огромные прибыли и узнаваемость в качестве бренда.
Видео:КАК работает ПРОЦЕССОР? ОБЪЯСНЯЕМСкачать
Архитектурные особенности 8086
В плане архитектурных особенностей Intel 8086 во многом опирался на опыт разработки процессора 8080, и его усовершенствованного собрата 8085, вышедшего на рынок летом 1976 года. Несмотря на некоторые параллели, 8086 стал первым 16-битным процессором компании, располагавшим 16 каналами данных и 20 адресными каналами, способными обрабатывать до 1 Мб данных, а также имел широкий набор инструкций, позволявших, среди всего прочего, проводить операции деления/умножения. Особенностью работы 8086 было наличие двух режимов – Минимального и Максимального, последний из которых предполагал использование процессора в системе с несколькими процессорами, а первый – в классических системах с одним процессором.
В Intel 8086 впервые появилась очередь инструкций, позволяющая хранить до шести байт инструкций напрямую из памяти, значительно сокращая время на их обработку. 16-битная природа процессора не была основана лишь на нескольких компонентах, ведь 8086 составляли 16-битный ALU, 16-битные регистры, а также внутренняя и внешняя шина данных, обрабатывающие данные по 16-битным инструкциям, благодаря чему система работала значительно быстрее, чем с более ранними процессорами Intel.
Конечно, из-за такого масштабного набора инноваций 8086 был значительно дороже предшественника, но и в подобном ключе у потребителя был выбор — Intel предлагала купить новинку в нескольких вариантах, зависевших от частот процессора – они варьировались от 5 до 10 МГц.
Читайте также: Шины зимние в азове
С точки зрения архитектуры микропроцессор Intel 8086 состоял из двух аппаратных модулей – модуля выполнения и модуля интерфейса шины. Модуль выполнения указывал модулю интерфейса шины, откуда получать данные инструкций, а после этого приступал к их подготовке и выполнению. Его суть сводилась к управлению данными с помощью декодера инструкций и блока ALU, при этом сам модуль не имел прямого соединения с шинами данных, и работал исключительно через модуль интерфейса шины.
Модуль выполнения содержал блок АЛУ, предназначенный для выполнения логических и арифметических операций, таких как умножение, деление, сложение, вычитание или операции по типу OR, AND и NOT. Также здесь был 16-битный регистр флагов, хранивший различные состояния операций в аккумуляторе – всего их было 9, 6 из которых были флагами состояния, а 3 являлись системными флагами, отражающими статус работы устройства.
К первым относились: флаг переноса, флаг четности, вспомогательный флаг переноса, флаг нуля, флаг знака и флаг переполнения. К системным флагам относились: флаг трассировки, флаг разрешения прерываний, а также флаг направления.
Помимо флагов модуль выполнения операций содержал 8 регистров общего назначения, которые использовались для передачи данных через шину в 16 бит. При этом сохранялась совместимость с предыдущим поколением программного обеспечения для 8-битных систем, потому что регистры общего назначения (AX, BX, CX, DX) могли работать как в режиме 16-битной шины, так и в режиме считывания данных с младших (AL, BL, CL, DL) и старших (AH, BH, CH, DH) регистров одновременно, обеспечивая двухканальную работу в формате 8-битной шины. Именно благодаря акценту на совместимость с предшествующими платформами с точки зрения программного обеспечения архитектура x86 стала ключевой и послужила основой для большинства последующих процессоров.
Наконец, последним из регистров в модуле стал 16-битный указательный регистр, который сохранял адрес сегмента данных в буфере памяти, необходимый для выполнения операции. Остальные функциональные части относились к соседнему модулю интерфейса шины.
Модуль интерфейса шины содержал в себе значительно больше функциональных компонентов – он отвечал на обработку всех данных и отправку инструкций в модуль выполнения, считывание адресов из памяти компьютера и информации со всех доступных портов ввода-вывода, а также за запись данных в доступную память и через вышеуказанные порты. Из-за того, что модуль выполнения не имел прямого соединения с модулем интерфейса шины, взаимодействие блоков происходило посредством внутренней шины данных.
В данном модуле содержится одна из ключевых архитектурных особенностей процессора 8086 – очередь инструкций. Модуль интерфейса шины включает очередь инструкций, способную хранить до 6 байт инструкций в буфере, отсылая новые инструкции по конвейеру после того, как от модуля выполнения поступит соответствующий запрос. Термин pipelining появился именно с выходом на рынок процессора 8086, так как он означает подготовку следующей инструкции в момент, когда предыдущая находится в процессе выполнения.
Здесь же располагается 4 сегментных регистра, отвечающих за буферизацию адресов инструкций и сопутствующих им данных в памяти компьютера, и тем самым обеспечивающих доступ к нужным сегментам центральному процессору. В регистре также содержится указатель команды (IP), содержащий адрес следующей инструкции, предназначенной для модуля выполнения.
Наконец, последним из регистров является 16-битный указатель команды, содержащий адрес следующей для выполнения инструкции.
Intel 8086 стал первым 16-битным процессором компании, доступном в 40-контактном DIP (ди ай пи) корпусе, который наряду со множеством прочих особенностей, стал одним из стандартов в микроэлектронике последующих лет.
Видео:169 секунд и ты знаешь как работает процессорСкачать
Влияние и наследие
Стивен Морс, создавая концепцию небольшого «дочернего» процессора в стенах Intel, едва ли мог предположить, что находится на пороге создания исторического микропроцессора. Выход Intel 8086 был скромным и неоднозначным, однако его младший брат 8088 обрел славу в составе IBM PC/XT, позволив компании Intel обрести известность и получить колоссальную прибыль.
Архитектура х86 легла в основу всех дальнейших процессоров Intel, осознавшей удобство и универсальность концепции Морса «сначала ПО — потом начинка». Каждый следующий процессор строился на фундаменте предыдущего, обрастая новыми технологиями, инструкциями и блоками, но по своей сути немногим отличался от 8086.
И даже сегодня, глядя на i7 8086K, нужно понимать, что где-то глубоко внутри него еще находятся корни того самого процессора, увидевшего свет 40 лет назад, ознаменовавшего открытие эпохи х86.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🎦 Видео
Как работает компьютер? Шины адреса, управления и данных. Дешифрация. Взгляд изнутри!Скачать
05. Основы устройства компьютера. Регистры и команды процессора. [Универсальный программист]Скачать
Системная шина процессораСкачать
Архитектура x86. Уверены, что знаете свой домашний компьютер?Скачать
История CPU IntelСкачать
Влияние шин PCI-e и внутренней шины видеокарты на производительностьСкачать
Чем отличаются x86 и ARM? CPU компьютеров против CPU смартфонов (перевод)Скачать
Разрядность ОС и процессоров. Что лучше x64 или x32 (x86)?Скачать
Все о маркировках процессоров INTEL COREСкачать
КАК РАБОТАЕТ ПРОЦЕССОР | ОСНОВЫ ПРОГРАММИРОВАНИЯСкачать
Как работает процессор, просто о сложном ✌Скачать
РАЗРАБОТКА NVIDIA и INTEL | НЕОБЫЧНЫЕ ПРОЦЕССОРЫСкачать
Внутри CPU: Intel 8008Скачать