Intel 8086
Intel 8086 — это 16-битный микропроцессор, разработанный корпорацией Intel и выпущенный в 1978 году. Он стал первым процессором в архитектуре x86, которая впоследствии легла в основу подавляющего большинства персональных компьютеров и серверов на протяжении нескольких десятилетий. Intel 8086 положил начало семейству процессоров, совместимых с системой команд x86, и определил стандарт для IBM-совместимых компьютеров.
История создания
Предпосылки
К середине 1970-х годов Intel доминировала на рынке 8-битных микропроцессоров, выпустив такие модели, как Intel 8080 (1974) и Intel 8085 (1977). Однако конкуренция со стороны Motorola 6800, Zilog Z80 и других производителей усиливалась. Кроме того, росла потребность в более производительных процессорах для сложных вычислительных задач, таких как обработка текстов, управление базами данных и инженерные расчёты. 8-битные процессоры имели ограничения по адресуемой памяти (обычно до 64 КБ) и производительности.
Разработка
Проект, известный как «8086», был начат в 1976 году под руководством главного архитектора Стивена П. Морса и команды инженеров, включая Брюса Рэйвена, Джима Маккевитта и Джона Бэйли. Ключевой задачей было создание процессора, который был бы программно совместим с существующими 8-битными процессорами Intel (особенно 8080) для облегчения миграции разработчиков, но при этом обеспечивал бы 16-битную архитектуру и значительно больший объём адресуемой памяти.
Intel решила не делать полную обратную совместимость на уровне двоичного кода, а реализовала совместимость на уровне исходного кода: ассемблерные программы для 8080 можно было относительно легко переписать для 8086. Для этого был разработан специальный транслятор, который конвертировал код 8080 в код 8086.
Анонс и выпуск
Процессор Intel 8086 был официально анонсирован 8 июня 1978 года. Первоначально он выпускался в корпусе DIP-40 (Dual In-line Package) с частотой 5 МГц. Вскоре появились версии с частотами 8 МГц (8086-2) и 10 МГц (8086-1). Производство осуществлялось по n-МОП технологии (HMOS) с разрешением 3 мкм.
Архитектура
Регистровая модель
Intel 8086 имел 14 16-битных регистров, разделённых на несколько групп:
- Регистры общего назначения (AX, BX, CX, DX) — могли использоваться как 16-битные, так и как два 8-битных регистра (например, AH и AL для AX). Каждый из них имел специализированное назначение: AX — аккумулятор, BX — база, CX — счётчик, DX — данные.
- Индексные и базовые регистры (SI, DI, BP, SP) — использовались для адресации памяти и работы со стеком. SP (Stack Pointer) указывал на вершину стека, BP (Base Pointer) — на базу кадра стека.
- Сегментные регистры (CS, DS, SS, ES) — обеспечивали механизм сегментации памяти.
- Регистр флагов (FLAGS) — содержал 9 бит, отражающих состояние процессора (например, флаг переноса, нуля, знака, переполнения).
Сегментация памяти
Одним из ключевых нововведений Intel 8086 стала сегментированная модель памяти. Процессор имел 20-битную шину адреса, что позволяло адресовать до 1 МБ (2^20 байт) памяти. Однако все регистры были 16-битными, что ограничивало прямой доступ к 64 КБ. Для преодоления этого ограничения использовалась сегментация: физический адрес вычислялся как (сегментный регистр × 16) + смещение. Таким образом, программа могла работать с четырьмя сегментами по 64 КБ одновременно (код, данные, стек и дополнительный сегмент).
Система команд
Intel 8086 поддерживал около 100 инструкций, включая:
- Арифметические операции (сложение, вычитание, умножение, деление)
- Логические операции (И, ИЛИ, исключающее ИЛИ, сдвиги)
- Операции с памятью (загрузка, сохранение, строковые операции)
- Условные и безусловные переходы
- Работа со стеком (PUSH, POP)
- Ввод-вывод (IN, OUT)
Система команд была спроектирована с акцентом на гибкость адресации — поддерживались различные режимы (регистровый, непосредственный, прямой, косвенный, базовый, индексный, базово-индексный). Это позволяло эффективно реализовывать сложные алгоритмы.
Конвейер и производительность
Intel 8086 использовал простой конвейер предвыборки команд (prefetch queue) длиной 6 байт. Пока текущая инструкция выполнялась, следующая инструкция (или несколько) уже загружалась из памяти в буфер. Это сокращало время простоя процессора при доступе к памяти, так как выборка команды и её выполнение могли частично перекрываться. Однако при выполнении команд перехода (jump) конвейер приходилось сбрасывать, что снижало эффективность.
Производительность 8086 составляла около 0,33 MIPS (миллиона инструкций в секунду) для версии 5 МГц и до 0,66 MIPS для версии 10 МГц. По сравнению с 8-битными процессорами, это был значительный шаг вперёд.
Сопутствующие микросхемы
Для построения полноценной вычислительной системы на базе Intel 8086 требовался набор вспомогательных микросхем, известный как «чипсет»:
- Intel 8087 — математический сопроцессор (FPU), выполнявший операции с плавающей запятой. Он подключался параллельно 8086 и значительно ускорял научные и инженерные расчёты.
- Intel 8089 — контроллер прямого доступа к памяти (DMA), позволявший обмениваться данными между памятью и периферийными устройствами без участия процессора.
- Intel 8284 — тактовый генератор.
- Intel 8288 — контроллер шины, формировавший сигналы управления для системной шины.
- Intel 8259 — программируемый контроллер прерываний (PIC), позволявший обрабатывать до 8 уровней прерываний.
- Intel 8255 — программируемый параллельный интерфейс (PPI).
- Intel 8253/8254 — программируемый таймер.
Применение
Персональные компьютеры
Intel 8086 не получил столь широкого распространения в персональных компьютерах, как его более дешёвая и упрощённая версия — Intel 8088 (1979), который использовал 8-битную внешнюю шину данных. Именно 8088 был выбран для IBM PC (1981), что обеспечило архитектуре x86 доминирование на десятилетия. Тем не менее, 8086 применялся в некоторых ранних ПК, таких как IBM PC AT (1984) в качестве процессора для задач ввода-вывода, а также в клонах IBM PC.
Встраиваемые системы
Благодаря своей архитектуре и относительно низкой стоимости, Intel 8086 и его производные (например, 80C86 — КМОП-версия) широко использовались во встраиваемых системах, промышленных контроллерах, терминалах, медицинском оборудовании и военной технике. Производство 8086 в различных модификациях продолжалось до 1990-х годов, а в некоторых нишах — и в начале 2000-х.
Влияние и наследие
Intel 8086 стал основой для целого семейства процессоров, известного как x86. Последующие поколения — 80286, 80386, 80486, Pentium, Core и другие — сохраняли обратную совместимость с системой команд 8086 на уровне двоичного кода. Это означало, что программы, написанные для 8086, могли выполняться на современных процессорах Intel и AMD (до 64-битных систем, которые перешли в режим совместимости).
Архитектура x86, начатая с 8086, стала стандартом де-факто для персональных компьютеров, серверов и многих рабочих станций. Она определила экосистему программного обеспечения, операционных систем (MS-DOS, Windows, Linux) и аппаратных платформ.
Интересные факты
- Первоначально процессор Intel 8086 проектировался как временное решение, пока Intel разрабатывала более совершенный 32-битный процессор iAPX 432. Однако iAPX 432 оказался коммерчески неудачным, а 8086, напротив, стал основой империи Intel.
- Сегментная модель памяти 8086, хотя и позволяла адресовать 1 МБ, была сложной для программирования и часто критиковалась. Однако именно она позволила сохранить совместимость с 16-битными регистрами.
- Название «8086» было выбрано по маркетинговым соображениям — оно продолжало линейку 8-битных процессоров (8080, 8085), но подчёркивало 16-битность (цифра «86»).
- В СССР выпускался клон Intel 8086 — микропроцессор КР1810ВМ86 (также известный как Н1806ВМ2), который использовался в советских компьютерах и системах управления.
Источники
- Intel Corporation. Intel 8086 Microprocessor Data Sheet. 1978.
- Morse, Stephen P. The 8086/8088 Primer. Hayden Book Company, 1980.
- Майоров, С. А., Новиков, Г. И. Микропроцессорные системы. М.: Радио и связь, 1985.
- The Intel Microprocessors: 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium II, Pentium III, Pentium 4. Barry B. Brey. Pearson, 2006.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →