Jump to content

Интел 8086

(Перенаправлено с IAPX 86 )
Интел 8086
Редкий процессор Intel C8086 в фиолетовом керамическом корпусе DIP с припаянными по бокам контактами.
Общая информация
Запущен 1978
Снято с производства 1998 [1]
Общий производитель
Производительность
Макс. процессора Тактовая частота от 5 МГц до 10 МГц
Ширина данных 16 бит
Ширина адреса 20 бит
Архитектура и классификация
Технологический узел 3 мкм
Набор инструкций х86-16
Физические характеристики
Транзисторы
Сопроцессор Интел 8087 , Интел 8089
Упаковка
Розетка
Продукты, модели, варианты
Вариант
История
Предшественник Интел 8085
Преемники 80186 и 80286 (оба были представлены в начале 1982 года)
Статус поддержки
Не поддерживается

8086 [3] (также называемый iAPX 86 ) [4] — это 16-битный микропроцессор, разработанный Intel в период с начала 1976 года по 8 июня 1978 года, когда он был выпущен. Intel 8088 , выпущенный 1 июля 1979 г. [5] представляет собой слегка модифицированный чип с внешней 8-битной шиной данных (позволяющий использовать более дешевые и меньшее количество поддерживающих микросхем ), [примечание 1] и примечателен тем, что процессор использовался в оригинальной конструкции IBM PC .

8086 дал начало архитектуре x86 , которая в конечном итоге стала самой успешной линейкой процессоров Intel. 5 июня 2018 года Intel выпустила ограниченную серию процессора в честь 40-летия Intel 8086 под названием Intel Core i7-8086K . [5]

В 1972 году Intel выпустила 8008 , первый 8-битный микропроцессор Intel. [примечание 2] В нем реализован набор команд , разработанный Datapoint Corporation для программируемых ЭЛТ-терминалов , который также оказался довольно универсальным. Устройству требовалось несколько дополнительных микросхем для создания функционального компьютера, отчасти из-за того, что оно было упаковано в небольшой 18-контактный «корпус памяти», что исключало использование отдельной адресной шины ( DRAM) в то время Intel была в основном производителем . ).

Два года спустя Intel выпустила 8080 . [примечание 3] использование новых 40-контактных DIL-корпусов, первоначально разработанных для микросхем калькуляторов, для обеспечения отдельной адресной шины. Он имеет расширенный набор команд, совместимый с исходным кодом (не двоично совместимый ) с 8008. [6] а также включает несколько 16-битных инструкций, упрощающих программирование. Устройство 8080 в конечном итоге было заменено устройством истощающей нагрузкой , работающим с 8085 (1977 г.), которому было достаточно одного источника питания +5 В вместо трех различных рабочих напряжений, как у более ранних чипов. [примечание 4] Другими хорошо известными 8-битными микропроцессорами, появившимися в эти годы, являются Motorola 6800 (1974 г.), General Instrument PIC16X (1975 г.), MOS Technology 6502 (1975 г.), Zilog Z80 (1976 г.) и Motorola 6809 (1978 г.).

Первый дизайн x86

[ редактировать ]
Изображение кристалла процессора Intel 8086

Проект 8086 стартовал в мае 1976 года и изначально задумывался как временная замена амбициозному и отложенному проекту iAPX 432 . Это была попытка привлечь внимание к менее запаздывающим 16-битным и 32-битным процессорам других производителей — Motorola , Zilog и National Semiconductor .

Хотя 8086 был 16-битным микропроцессором, он использовал ту же микроархитектуру , что и 8-битные микропроцессоры Intel (8008, 8080 и 8085). Это позволило программам на языке ассемблера , написанным на 8-битной версии, беспрепятственно переходить на . [7] Были добавлены новые инструкции и функции, такие как целые числа со знаком, адресация по основанию + смещению и самоповторяющиеся операции. Были добавлены инструкции, помогающие компилировать исходный код вложенных функций в ALGOL семействе языков , включая Pascal и PL/M . По словам главного архитектора Стивена П. Морса , это стало результатом более ориентированного на программное обеспечение подхода. Другие улучшения включали инструкции микрокода для инструкций языка ассемблера умножения и деления. Конструкторы также предусмотрели наличие сопроцессоров , таких как 8087 и 8089 , поэтому структура шины была спроектирована гибкой.

Первая редакция набора команд и архитектуры высокого уровня была готова примерно через три месяца. [примечание 5] а поскольку инструменты САПР практически не использовались, над чипом одновременно работали четыре инженера и 12 макетчиков. [примечание 6] От идеи до работающего продукта 8086 потребовалось чуть больше двух лет, что в 1970-х годах считалось довольно быстрым для сложной конструкции.

8086 был секвенирован. [примечание 7] используя смесь случайной логики [8] и микрокода и был реализован с использованием схемы nMOS с истощающей нагрузкой примерно с 20 000 активных транзисторов (29 000, если считать все участки ПЗУ и PLA ). Вскоре он был переведен на новый усовершенствованный производственный процесс nMOS под названием HMOS (от High Performance MOS), который Intel изначально разработала для производства продуктов с быстрой статической оперативной памятью . [примечание 8] За этим последовали версии HMOS-II, HMOS-III и, в конечном итоге, полностью статическая версия CMOS Intel CHMOS . для устройств с батарейным питанием, изготовленная с использованием процессов [примечание 9] Оригинальный чип имел площадь 33 мм², а минимальный размер элемента составлял 3,2 мкм. Инструкции MUL и DIV работали очень медленно из-за микрокодирования, поэтому программисты x86 обычно вместо этого просто использовали инструкции битового сдвига для умножения и деления. [ нужна ссылка ]

Модель 8086 была уменьшена до 2 мкм в 1981 году; в этой версии также исправлена ​​ошибка регистра стека в исходных чипах 3,5 мкм. Позже варианты 1,5 мкм и КМОП были переданы другим производителям и не разрабатывались собственными силами.

Архитектура была определена Стивеном П. Морсом при некоторой помощи Брюса Равенела (архитектора 8087) в доработке окончательных версий. Дизайнер логики Джим МакКевитт и Джон Бэйлисс были ведущими инженерами группы разработчиков аппаратного уровня. [примечание 10] и Билл Полман, менеджер проекта. Наследие 8086 сохранилось в базовом наборе команд современных персональных компьютеров и серверов; 8086 также предоставил свои последние две цифры более поздним расширенным версиям конструкции, таким как Intel 286 и Intel 386 , которые в конечном итоге стали известны как семейство x86 . (Другая ссылка: идентификатор поставщика PCI для устройств Intel равен 8086 h .)

Подробности

[ редактировать ]
Назначение контактов 8086 в минимальном и максимальном режиме.

Автобусы и эксплуатация

[ редактировать ]

Все внутренние регистры, а также внутренние и внешние шины данных имеют ширину 16 бит, что твердо установило идентичность 8086 как «16-битного микропроцессора». 20-битная внешняя адресная шина обеспечивает 1 МБ (2 МБ). физическое адресное пространство размером 20 = 1 048 576 x 1 байт ). Это адресное пространство адресуется посредством «сегментации» внутренней памяти. Шина данных мультиплексирована с адресной шиной, чтобы уместить все линии управления в стандартный 40-контактный двухрядный корпус . Он обеспечивает 16-битную адресную шину ввода-вывода, поддерживающую 64 КБ отдельного пространства ввода-вывода. Максимальное линейное адресное пространство ограничено 64 КБ просто потому, что внутренние адресные/индексные регистры имеют ширину всего 16 бит. Программирование границ памяти более 64 КБ включает настройку сегментных регистров (см. ниже); эта трудность существовала до тех пор, пока в архитектуре 80386 не были представлены более широкие (32-битные) регистры (аппаратное обеспечение управления памятью в 80286 не помогло в этом отношении, поскольку ширина его регистров все еще составляет всего 16 бит).

Аппаратные режимы 8086

[ редактировать ]

Некоторые из управляющих контактов, передающих важные сигналы для всех внешних операций, имеют более одной функции в зависимости от того, работает ли устройство в минимальном или максимальном режиме. Первый режим предназначен для небольших однопроцессорных систем, а второй — для средних и больших систем, использующих более одного процессора (разновидность многопроцессорного режима). Максимальный режим необходим при использовании сопроцессора 8087 или 8089. Напряжение на выводе 33 (MN/ MX ) определяет режим. Изменение состояния контакта 33 меняет функцию некоторых других контактов, большинство из которых связаны с тем, как ЦП обрабатывает (локальную) шину. [примечание 11] Режим обычно встроен в схему и поэтому не может быть изменен программно. Работа этих режимов описана с помощью временных диаграмм в таблицах данных и руководствах Intel. В минимальном режиме все сигналы управления генерируются самим 8086.

Регистры и инструкция

[ редактировать ]
Регистры Intel 8086
1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (битовая позиция)
Основные регистры
 АХ АЛ AX (первичный аккумулятор)
0 0 0 0 ЧД БЛ BX (база, аккумулятор)
 СН КЛ CX (счетчик, аккумулятор)
 ДХ ДЛ DX (аккумулятор, расширенный аккаунт)
Индексные регистры
0 0 0 0 И Индекс источника
0 0 0 0 ОТ Индекс пункта назначения
0 0 0 0 БП Базовый указатель
0 0 0 0 СП Указатель стека
Счетчик программ
0 0 0 0 ИП инструкцию на Указатель
Сегментные регистры
CS 0 0 0 0 кода Сегмент
ДС 0 0 0 0 Сегмент данных
ЯВЛЯЕТСЯ 0 0 0 0 Дополнительный сегмент
SS 0 0 0 0 Сегмент стека
Регистр состояния
 - - - - ТО Д я Т С С - А - П - С Флаги

8086 имеет восемь более или менее общих 16-битных регистров (включая указатель стека , но исключая указатель команд, регистр флагов и регистры сегментов). К четырем из них, AX, BX, CX, DX, также можно получить доступ как к 8-битным парам регистров (см. рисунок), тогда как остальные четыре, SI, DI, BP, SP, являются только 16-битными.

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

Степень общности большинства регистров намного выше, чем у 8080 или 8085. Однако регистры 8086 были более специализированными, чем в большинстве современных миникомпьютеров , а также неявно использовались некоторыми инструкциями. Хотя это вполне разумно для программиста на ассемблере, это усложняет распределение регистров для компиляторов по сравнению с более ортогональными 16-битными и 32-битными процессорами того времени, такими как PDP-11 , VAX , 68000 , 32016 и т. д. С другой стороны. Будучи более регулярным, чем довольно минималистичные, но вездесущие 8-битные микропроцессоры, такие как 6502 , 6800 , 6809 , 8085 , MCS-48 , 8051 и другие современные машины на основе аккумуляторов, значительно проще построить эффективный генератор кода для архитектура 8086.

Еще одним фактором этого является то, что в 8086 также были введены некоторые новые инструкции (отсутствующие в 8080 и 8085) для лучшей поддержки языков программирования высокого уровня на основе стека, таких как Pascal и PL/M ; некоторые из наиболее полезных инструкций: push mem-opи ret size , напрямую поддерживая « Соглашение о вызовах Pascal ». (Несколько других, например push immed и enterбыли добавлены в последующие процессоры 80186, 80286 и 80386.)

64 КБ (один сегмент), Стек размером растущий в сторону меньших адресов, поддерживается аппаратно ; 16-битные слова помещаются в стек, и на вершину стека указывает SS:SP. Имеется 256 прерываний , которые могут быть вызваны как аппаратно, так и программно. Прерывания могут каскадироваться, используя стек для хранения адресов возврата .

8086 имеет 64 КБ 8-битного (или, альтернативно, 32 КБ 16-битного слова) портов ввода-вывода пространства .

8086 имеет 16-битный регистр флагов . Девять из этих флагов кода состояния активны и указывают текущее состояние процессора: флаг переноса (CF), флаг четности (PF), флаг вспомогательного переноса (AF), флаг нуля (ZF), флаг знака (SF), ловушка. флаг (TF), флаг прерывания (IF), флаг направления (DF) и флаг переполнения (OF).Регистр флагов, также называемый словом состояния, имеет следующую структуру: [9]

Кусочек 15-12 11 10 9 8 7 6 5 4 3 2 1 0
Флаг  ИЗ ДФ ЕСЛИ ТФ Сан-Франциско ЗФ  ИЗ  ПФ  CF

Сегментация

[ редактировать ]

Также имеются четыре 16-битных сегментных 8086 регистра (см. рисунок), которые позволяют ЦП обращаться к одному мегабайту необычным образом памяти. Вместо объединения сегментного регистра с адресным регистром, как в большинстве процессоров, адресное пространство которых превышает размер их регистра, 8086 сдвигает 16-битный сегмент всего на четыре бита, прежде чем добавить его к 16-битному смещению (16 × сегмент + смещение). ), таким образом создавая 20-битный внешний (или эффективный, или физический) адрес из 32-битной пары сегмент:смещение. В результате к каждому внешнему адресу могут обращаться 2 12 = 4096 различных пар сегмент:смещение.

  0110 1000 1000 01110000Сегмент , 16 бит, сдвинуто на 4 бита влево (или умножено на 0x10)
+      1011 0100 1010 1001Компенсировать , 16 бит
                            
  0111 0011 1101 0001 1001Адрес , 20 бит

Хотя многие программисты считают эту схему сложной и громоздкой, она также имеет преимущества; небольшая программа (менее 64 КБ) может быть загружена, начиная с фиксированного смещения (например, 0000) в ее собственном сегменте, избегая необходимости перемещения , с не более чем 15 байтами потери выравнивания.

Компиляторы семейства 8086 обычно поддерживают два типа указателей : ближний и дальний . Ближайшие указатели — это 16-битные смещения, неявно связанные с кодом программы или сегментом данных, поэтому их можно использовать только в частях программы, достаточно маленьких, чтобы уместиться в одном сегменте. Дальние указатели представляют собой 32-битные пары сегмент:смещение, разрешающие 20-битные внешние адреса. Некоторые компиляторы также поддерживают огромные указатели, которые подобны дальним указателям, за исключением того, что арифметика указателя на огромном указателе обрабатывает его как линейный 20-битный указатель, в то время как арифметика указателя на дальнем указателе обтекает его 16-битное смещение, не затрагивая часть сегмента. адреса.

Чтобы избежать необходимости указывать ближний и дальний для многочисленных указателей, структур данных и функций, компиляторы также поддерживают «модели памяти», которые определяют размеры указателей по умолчанию. Крошечные средние (максимум 64 КБ), маленькие (максимум 128 КБ), компактные (данные > 64 КБ), (отдельные массивы (код > 64 КБ), большие (код, данные > 64 КБ) и огромные > 64 КБ) модели охватывают практические комбинации , далеко и огромные указатели на код и данные. Миниатюрная модель означает , что код и данные совместно используются в одном сегменте, как и в большинстве 8-битных процессоров, и могут использоваться, .com например, для создания файлов . Предварительно скомпилированные библиотеки часто выпускаются в нескольких версиях, скомпилированных для разных моделей памяти.

По данным Морса и др.,. [10] проектировщики фактически планировали использовать 8-битный сдвиг (вместо 4-битного), чтобы создать физическое адресное пространство размером 16 МБ. Однако, поскольку это заставило бы сегменты начинаться с границ 256 байт, а 1 МБ считался очень большим для микропроцессора примерно в 1976 году, от этой идеи отказались. Кроме того, в недорогом 40-контактном корпусе не хватало контактов для дополнительных четырех контактов адресной шины.

В принципе, адресное пространство серии x86 могло быть расширено в более поздних процессорах за счет увеличения значения сдвига, при условии, что приложения получали свои сегменты из операционной системы и не делали предположений об эквивалентности различных пар сегмент:смещение. [примечание 12] На практике использование «огромных» указателей и подобных механизмов было широко распространено, а плоская 32-битная адресация, ставшая возможной благодаря 32-битным регистрам смещения в 80386, в конечном итоге расширила ограниченный диапазон адресации в более общем виде.

Поток команд извлекается из памяти в виде слов и при необходимости адресуется процессором внутри на уровне байтов. Механизм организации очереди потока команд позволяет помещать в очередь до 6 байтов потока команд в ожидании декодирования и выполнения. Очередь действует как буфер «первым пришел — первым обслужен» (FIFO), из которого модуль выполнения (EU) извлекает байты инструкций по мере необходимости. Всякий раз, когда в очереди есть место хотя бы для двух байтов, BIU пытается выполнить цикл выборки слов из памяти. Если очередь пуста (например, после инструкции ветвления), первый байт в очереди немедленно становится доступным для EU. [11]

Портирование старого программного обеспечения

[ редактировать ]

Небольшие программы могут игнорировать сегментацию и использовать простую 16-битную адресацию. Это позволяет 8-битное легко переносить программное обеспечение на 8086. Авторы большинства реализаций DOS воспользовались этим, предоставив интерфейс прикладного программирования, очень похожий на CP/M , а также включив простой .com формат исполняемого файла , идентичный в КП/М. Это было важно, когда 8086 и MS-DOS были новыми, потому что это позволяло быстро сделать доступными многие существующие приложения CP/M (и другие), что значительно облегчило принятие новой платформы.

Пример кода

[ редактировать ]

Следующий исходный код сборки 8086 предназначен для подпрограммы с именем _strtolower с нулевым завершением который копирует строку символов ASCIIZ из одного места в другое, преобразуя все буквенные символы в нижний регистр. Строка копируется по одному байту (8-битному символу) за раз.

0000            0000 550001 89 Е50003 560004 570005 8Б 75 060008 8Б 7Д 04000Б ФК000С переменного тока000D 3C 41000F 7C 060011 3С 5А0013 7F 020015 04 200017 АА0018 08 С0001А 75 Ф0001C 5F001D 5E001E 5D001F C3001F  
; _strtolower:  ; Скопируйте строку ASCII с нулевым завершением, преобразуя  ; все буквенные символы перевести в нижний регистр.  ; ES=DS  ; Входные параметры стека  ; [SP+4] = src, Адрес исходной строки  ; [SP+2] = dst, Адрес целевой строки  ; [SP+0] = Обратный адрес  ;  _strtolower   proc              push      bp               ;Установить фрейм вызова              mov       bp  ,  sp              push      si              push      di              mov       si  ,[  bp  +  6  ]         ;Установить SI = src (+2 из-за push bp)              mov       di  ,[  bp  +  4  ]         ;Установить DI = dst              cld                       ;направление строки, восходящий              цикл:         lodsb                     ;Загрузить AL из [si], inc si              cmp       al  ,  'A'            ;Если AL < 'A',              jl        copy              ; Пропустить преобразование              cmp       al  ,  'Z'            ; Если AL > 'Z',              jg        copy              ; Пропустить преобразование              add       al  ,  'a'  -  'A'        ; Преобразовать AL в нижний  регистр:         stosb                     ; Сохранить AL в [di], inc di              или        al  ,  al             ; Если AL <> 0,              jne       цикл              ; Повторите выполненный цикл              :         pop       di                ; восстановить di и si              pop       si              pop       bp                ;Восстановить предыдущий кадр вызова              ret                       ;Вернуться к              завершения вызывающего абонента       процедуре 

В примере кода используется регистр BP (базовый указатель) для создания кадра вызова — области в стеке, которая содержит все параметры и локальные переменные для выполнения подпрограммы. Этот вид соглашения о вызовах поддерживает реентерабельный и рекурсивный код и используется в языках, подобных Алголу, с конца 1950-х годов. В модели плоской памяти предполагается, в частности, что сегменты DS и ES адресуются к одной и той же области памяти.

Производительность

[ редактировать ]
Упрощенная блок-схема Intel 8088 (вариант 8086); 1=основной и индексный регистры; 2=регистры сегмента и IP; 3=сумматор адреса; 4=внутренняя адресная шина; 5=очередь инструкций; 6=блок управления (очень упрощенно!); 7=интерфейс шины; 8=внутренняя шина данных; 9=АЛУ; 11.10.12=внешний адрес/данные/шина управления.

частично заслоняются другими конструктивными решениями в этом конкретном чипе, они Хотя мультиплексированные шины адреса и данных немного ограничивают производительность; Передача 16-битных или 8-битных величин выполняется в четырехтактовом цикле доступа к памяти, который быстрее для 16-битных, но медленнее для 8-битных величин по сравнению со многими современными 8-битными процессорами. Поскольку инструкции различаются от одного до шести байтов, выборка и выполнение выполняются одновременно и разделены на отдельные блоки (как и в современных процессорах x86): блок интерфейса шины передает поток команд исполнительному блоку через 6-байтовую очередь предварительной выборки ( форма слабосвязанной конвейерной обработки ), ускорение операций с регистрами и непосредственными значениями , при этом операции с памятью стали медленнее (четыре года спустя эта проблема с производительностью была исправлена ​​в 80186 и 80286 ). Однако полная (вместо частичной) 16-битная архитектура с ALU полной ширины означала, что 16-битные арифметические инструкции теперь могли выполняться за один цикл ALU (вместо двух, посредством внутреннего переноса, как в 8080 и 8085). , что значительно ускоряет выполнение таких инструкций. В сочетании с ортогонализация операций по сравнению с типами операндов и режимами адресации , а также другие улучшения сделали прирост производительности по сравнению с 8080 или 8085 довольно значительным, несмотря на случаи, когда старые чипы могут быть быстрее (см. Ниже).

Время выполнения типичных инструкций (в тактах) [12]
инструкция регистр-регистр зарегистрироваться немедленно регистровая память регистр памяти непосредственная память
рис 2 4 8+EA 9+EA 10+EA
ИДТИ 3 4 9+ЕА, 16+ЕА, 17+EA
прыгать зарегистрироваться ≥ 11; этикетка ≥ 15; состояние,этикетка ≥ 16
целочисленное умножение 70~160 (в зависимости от данных операнда и размера), включая любые советники
целочисленное деление 80~190 (в зависимости от данных операнда и размера), включая любые советники
  • EA = время вычисления эффективного адреса в диапазоне от 5 до 12 циклов.
  • В лучшем случае время зависит от состояния предварительной выборки, выравнивания инструкций и других факторов.

Как видно из этих таблиц, операции с регистрами и непосредственными действиями были быстрыми (от 2 до 4 тактов), тогда как инструкции операндов памяти и переходы были довольно медленными; прыжки требовали больше тактов, чем на простых 8080 и 8085 , а 8088 (используемый в IBM PC) дополнительно затруднялся из-за более узкой шины. Причин, по которым большинство инструкций, связанных с памятью, были медленными, было три:

  • Слабосвязанные блоки выборки и выполнения эффективны для предварительной выборки команд, но не для переходов и произвольного доступа к данным (без специальных мер).
  • Никакого специального сумматора расчета адреса не было; подпрограммы микрокода должны были использовать для этого основной ALU (хотя существовал специальный сумматор сегментов + смещений ).
  • Шины адреса и данных были мультиплексированы , что приводило к немного более длительному (33–50%) циклу шины, чем в типичных современных 8-битных процессорах. [ сомнительно обсудить ]

Однако производительность доступа к памяти была значительно улучшена в следующем поколении процессоров Intel семейства 8086. И 80186 , и 80286 имели выделенное оборудование для вычисления адреса, что позволяло экономить много циклов, а 80286 также имел отдельные (немультиплексированные) шины адреса и данных.

Плавающая точка

[ редактировать ]

8086/8088 можно было подключить к математическому сопроцессору для повышения производительности операций с плавающей запятой на основе аппаратного обеспечения/микрокода . Intel 8087 был стандартным математическим сопроцессором для 8086 и 8088, работающим с 80-битными числами. Такие производители, как Cyrix (совместимый с 8087) и Weitek ( не совместимый с 8087), в конечном итоге разработали высокопроизводительные сопроцессоры с плавающей запятой, которые составили конкуренцию 8087.

Версии чипа

[ редактировать ]

Тактовая частота изначально была ограничена 5 МГц, [примечание 13] но последние версии в HMOS были указаны для 10 МГц. Версии HMOS-III и производились в течение длительного времени (по крайней мере, до 1990-х годов) для встраиваемых систем , хотя их преемник, 80186/80188 . CMOS (который включает в себя некоторые встроенные периферийные устройства), был более популярен для встроенного использования .

80C86, CMOS-версия 8086, использовалась в GRiDPad , Toshiba T1200 , HP 110 и, наконец, в Lunar Prospector 1998–1999 годов .

Что касается упаковки, Intel 8086 был доступен как в керамическом, так и в пластиковом DIP-корпусе.

Список Intel 8086

[ редактировать ]
Номер модели Частота Технология Диапазон температур Упаковка Дата выпуска Цена (долл. США) [список2 1]
8086 5 МГц [13] ХМОС от 0 °С до 70 °С [14] 8 июня 1978 г. [15] $86.65 [16]
8086-1 10 МГц ХМОС II Коммерческий
8086-2 8 МГц [13] ХМОС II Коммерческий Январь/февраль 1980 г. [17] $200 [17] [18]
8086-4 4 МГц [13] ХМОС Коммерческий $72.50 [список2 2] [19]
I8086 5 МГц ХМОС Промышленный от −40 °C до +85 °C [14] Май/июнь 1980 г. [14] $173.25 [14]
М8086 5 МГц ХМОС Военный класс от −55 °C до +125 °C [20]
80C86 [21] КМОП 44-контактный ПЛКК [список2 3] [22]
  1. ^ В количестве 100 штук.
  2. ^ Цена снижена на 21% с 99,00 долларов США, информация о количестве не указана.
  3. ^ Выборка, четвертый квартал 1985 г.

Производные и клоны

[ редактировать ]

Совместимые — и во многих случаях улучшенные — версии производились компанией Fujitsu . [23] Harris / Intersil , OKI , Siemens , Texas Instruments , NEC , Mitsubishi и AMD . Например, пара NEC V20 и NEC V30 была аппаратно совместима с 8088 и 8086, хотя NEC создала оригинальные клоны Intel μPD8088D и μPD8086D соответственно, но включила набор команд 80186 вместе с некоторыми (но не всеми) 80186. улучшения скорости, предоставляющие возможность мгновенного обновления как набора команд, так и скорости обработки без необходимости производителям изменять свои конструкции. Такие относительно простые и маломощные 8086-совместимые процессоры в КМОП до сих пор используются во встраиваемых системах.

Электронная промышленность Советского Союза смогла воспроизвести 8086 как с помощью промышленного шпионажа, так и с помощью реверс-инжиниринга. [ нужна ссылка ] . Получившаяся микросхема К1810ВМ86 была двоичной и совместимой по выводам с 8086.

i8086 и i8088 были ядрами советских ПК-совместимых настольных компьютеров EC1831 и EC1832 соответственно . (EC1831 — это ЕС-идентификатор IZOT 1036C, а EC1832 — это ЕС-идентификатор IZOT 1037C, разработанного и изготовленного в Болгарии. EC означает «Единая система».) Однако компьютер EC1831 (IZOT 1036C) имел существенные аппаратные отличия от прототипа IBM PC. . EC1831 был первым ПК-совместимым компьютером с динамическим определением размера шины (патент США № 4831514). Позже некоторые принципы EC1831 были приняты в PS/2 (патент США № 5548786) и некоторых других машинах (заявка на патент Великобритании, публикация № GB-A-2211325, опубликованная 28 июня 1989 г.).


Поддержка чипов

[ редактировать ]
  • Intel 8237 : контроллер прямого доступа к памяти (DMA)
  • Intel 8251 : универсальный синхронный/асинхронный приемник/передатчик со скоростью 19,2 кбит/с.
  • Intel 8253 : программируемый интервальный таймер, 3x 16-бит, макс. 10 МГц.
  • Intel 8255 : программируемый периферийный интерфейс, 3 8-битных контакта ввода-вывода, используемые для подключения принтера и т. д.
  • Intel 8259 : программируемый контроллер прерываний
  • Intel 8279 : контроллер клавиатуры/дисплея, сканирует матрицу клавиатуры и матрицу дисплея, например 7-сегментную.
  • Intel 8282/8283 : 8-битная защелка
  • Intel 8284 : тактовый генератор
  • Intel 8286/8287 : двунаправленный 8-битный драйвер. В 1980 году обе версии Intel I8286/I8287 (промышленного класса) были доступны по цене 16,25 долларов США в количестве 100 штук. [14]
  • Intel 8288 : контроллер шины
  • Intel 8289 : арбитр шины
  • NEC μPD765 или Intel 8272A : контроллер гибких дисков [24]

Микрокомпьютеры, использующие 8086

[ редактировать ]
  • Intel Multibus -совместимый одноплатный компьютер ISBC 86/12 был анонсирован в 1978 году. [25]
  • Xerox NoteTaker был одним из первых портативных компьютеров , выпущенных в 1978 году, в нем использовались три чипа 8086 (в качестве ЦП, графического процессора и процессора ввода-вывода), но он так и не поступил в коммерческое производство.
  • Seattle Computer Products поставила системы 8086 на базе шины S-100 (SCP200B) еще в ноябре 1979 года.
  • Норвежский Mycron 2000, представленный в 1980 году.
  • Один из самых влиятельных микрокомпьютеров, IBM PC , использовал Intel 8088 , версию 8086 с 8-битной шиной данных (как упоминалось выше).
  • Первый Compaq Deskpro использовал процессор 8086, работавший на частоте 7,16 МГц, но был совместим с картами расширения, разработанными для IBM PC XT с частотой 4,77 МГц , и мог переключать процессор на более низкую скорость (что также включало буфер шины памяти для имитации более медленный доступ 8088), чтобы избежать проблем с синхронизацией программного обеспечения.
  • 8086-2 с частотой 8 МГц использовался в ПК AT&T 6300 (созданном Olivetti и известном во всем мире под несколькими брендами и номерами моделей), настольном микрокомпьютере, совместимом с IBM PC. M24 / PC 6300 имеет 8-битные слоты расширения, совместимые с IBM PC/XT, но некоторые из них имеют собственное расширение, обеспечивающее полную 16-битную шину данных ЦП 8086 (аналогично по концепции 16-битным слотам IBM PC AT , но отличающиеся конструктивными деталями и физически несовместимые), а вся периферия системы, включая бортовую видеосистему, также поддерживает 16-битную передачу данных. Более поздняя версия Olivetti M24SP имела процессор 8086-2, работающий на максимальной частоте 10 МГц.
  • Модели IBM PS/2 были построены на процессоре 8086 с частотой 25 и 30 8 МГц.
  • Amstrad PC1512 , PC1640 , PC2086, PC3086 и PC5086 использовали процессоры 8086 с частотой 8 МГц.
  • NEC PC-9801 .
  • В машинах Tandy 1000 серий SL и RL использовались процессоры 8086 с частотой 9,47 МГц.
  • IBM Displaywriter Текстовый процессор [26] и профессиональный компьютер Wang, производимый Wang Laboratories , также использовал 8086.
  • НАСА использовало оригинальные процессоры 8086 в оборудовании для наземного обслуживания космического корабля "Дискавери" до завершения программы космического челнока в 2011 году. Это решение было принято для предотвращения регресса программного обеспечения , который мог возникнуть в результате обновления или перехода на несовершенные клоны. [27]
  • KAMAN Технологические и территориальные радиационные мониторы [28]
  • Tektronix . 4170 работал под управлением CP/M-86 и использовал 8086 Руководство по эксплуатации локального графического процессора 4170 (PDF)

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Меньше TTL-буферов, защелок, мультиплексоров (хотя количество TTL- логики существенно не уменьшилось). Это также позволяет использовать дешевые микросхемы семейства 8080, где 8254 CTC, 8255 в конструкции IBM PC использовались PIO и 8259 PIC. Кроме того, это упрощает компоновку печатных плат и удешевляет платы, а также требует меньшего количества (1- или 4-битных) микросхем DRAM.
  2. ^ с улучшенной нагрузкой с использованием логики PMOS (требуется 14 В , достигается совместимость с TTL за счет наличия V CC при +5 В и V DD при -9 В).
  3. ^ Использование ненасыщенной NMOS-логики с улучшенной нагрузкой (требующей более высокого напряжения затвора для затворов нагрузочного транзистора).
  4. ^ Это стало возможным благодаря логике nMOS с истощающей нагрузкой (позже 8085 был создан с использованием обработки HMOS, как и 8086).
  5. ^ По словам Морса, 0-я версия набора инструкций и архитектуры была готова примерно за три месяца.
  6. ^ Использование рубиллита , световых досок, линеек, электрических ластиков и дигитайзера (по словам Дженни Эрнандес, члена команды разработчиков 8086, в заявлении, сделанном на веб-странице Intel по случаю ее 25-летия).
  7. ^ 8086 использовал меньше микрокода, чем конструкции многих конкурентов, таких как MC68000 и другие.
  8. ^ Быстрые статические ОЗУ по технологии MOS (так же быстрые, как и биполярные ОЗУ) были важным продуктом для Intel в тот период.
  9. ^ CHMOS — это название Intel для КМОП-схем, изготовленных с использованием этапов обработки, очень похожих на HMOS .
  10. Другими членами команды дизайнеров были Питер А. Столл и Дженни Эрнандес.
  11. ^ IBM PC и PC/XT используют процессор Intel 8088, работающий в максимальном режиме, что позволяет процессору работать с дополнительным сопроцессором 8087, установленным в разъем математического сопроцессора на материнской плате ПК или PC/XT. (ПК и ПК/XT могут потребовать максимальный режим по другим причинам, например, для поддержки контроллера DMA.)
  12. ^ Некоторые клоны 80186 изменили значение сдвига, но никогда широко не использовались в настольных компьютерах.
  13. ^ (IBM PC использовала частоту 4,77 МГц, 4/3 стандартной частоты цветовой синхронизации NTSC )
  1. ^ «Жизненный цикл процессора» . www.cpushack.com .
  2. ^ Льюнес, Энн, «Архитектура Intel386 останется здесь», корпорация Intel, Microcomputer Solutions, июль/август 1989 г., стр. 2
  3. ^ «Зал славы микропроцессоров» . Интел. Архивировано из оригинала 6 июля 2007 г. Проверено 11 августа 2007 г.
  4. ^ Справочник программиста iAPX 286 (PDF) . Интел. 1983. с. 1-1.
  5. ^ Перейти обратно: а б «С Днем Рождения, 8086: ограниченная серия процессоров Intel Core i7-8086K 8-го поколения обеспечивает высочайшие игровые возможности» . Интел.
  6. ^ «Семья 8080» . Мир процессоров .
  7. ^ Скэнлон, Лео Дж. (1988). Язык ассемблера 8086/8088/80286 . Книги Брейди. п. 12 . ISBN  978-0-13-246919-7 . […] 8086 совместим программно с 8080 на уровне ассемблера. […]
  8. ^ Гейгер, Рэндалл Л.; Аллен, Филипп Э.; Стрейдер, Ноэль Р. (1990). «Случайная логика против форм структурированной логики». Методы проектирования СБИС для аналоговых и цифровых схем . МакГроу-Хилл. п. 779. ИСБН  0-07-023253-9 . — Иллюстрация использования слова «случайный» для описания логики управления ЦП.
  9. ^ Корпорация Интел (1983). Руководство пользователя IAPX 86, 88, 186 и 188: справочник программиста . Интел. стр. 3–5. ISBN  978-0835930352 . ОСЛК   11091251 .
  10. ^ Морс, Стивен П.; Равенел, Брюс В.; Мазор, Стэнли; Полман, Уильям Б. (октябрь 1980 г.). «Микропроцессоры Intel: с 8008 по 8086» . IEEE-компьютер . 13 (10): 42–60. дои : 10.1109/MC.1980.1653375 . S2CID   206445851 .
  11. ^ «Техническое описание 16-битного HMOS-процессора 8086» (PDF) . Интел . Проверено 26 ноября 2021 г.
  12. ^ Справочное руководство по Microsoft Macro Assembler 5.0 . Корпорация Майкрософт. 1987. Тайминги и кодировки в этом руководстве используются с разрешения Intel и взяты из следующих публикаций: Intel Corporation. Руководство пользователя iAPX 86, 88, 186 и 188, Справочник программиста, Санта-Клара, Калифорния, 1986 г. (Аналогично для iAPX 286, 80386, 80387.)
  13. ^ Перейти обратно: а б с Руководство пользователя семейства 8086 . Корпорация Интел. Октябрь 1979 г. с. Б-1. OCLC   65699372 .
  14. ^ Перейти обратно: а б с д и Корпорация Intel (май – июнь 1980 г.). «8086 Доступно для промышленной среды». Предварительный просмотр Intel (специальный выпуск: 16-битные решения): 29. OCLC   803251993 .
  15. ^ «Краткое справочное руководство по микропроцессорам Intel® — год» . www.intel.com .
  16. ^ Корпорация Intel (май – июнь 1980 г.). «Семейство 8086: концепции и реалии». Предварительный просмотр Intel (специальный выпуск: 16-битные решения): 19. ISSN   1041-8547 . OCLC   10331599 .
  17. ^ Перейти обратно: а б Корпорация Intel (январь – февраль 1980 г.). «Новые продукты: Faster 8086 обеспечивает на 60% большую производительность». Предварительный просмотр Intel : 22.
  18. ^ Корпорация Intel (май – июнь 1980 г.). «Новые продукты семейства 8086 повышают производительность процессора на 50 процентов». Предварительный просмотр Intel (специальный выпуск: 16-битные решения): 17.
  19. ^ Корпорация Intel (май – июнь 1979 г.). «Компоненты микрокомпьютера: новое снижение цен и усовершенствование производства делают популярный микропроцессор 8086 еще более привлекательным». Предварительный просмотр Intel : 11.
  20. ^ Корпорация Intel (август 1981 г.). Intel iAPX86, 88 Руководство пользователя . Корпорация Интел. п. Б-25. ISBN  0835930165 . ОСЛК   8459750 .
  21. ^ Корпорация Intel, «NewsBit: Intel лицензирует Oki на версии CMOS нескольких продуктов», Solutions, июль/август 1984 г., стр. 1.
  22. ^ Эшборн, Джим; «Усовершенствованная упаковка: небольшое дело имеет большое значение», корпорация Intel, Solutions, январь/февраль 1986 г., стр. 2
  23. ^ Корпорация Intel, «NewsBits: Новости из второго источника», Solutions, январь/февраль 1985 г., стр. 1
  24. ^ «Эволюция контроллера гибких дисков | Музей OS / 2» . 26 мая 2011 г. Проверено 12 мая 2016 г. В оригинальных IBM PC (1981 г.) и PC/XT (1983 г.) FDC физически располагался на отдельной карте-адаптере дискеты. Сам FDC представлял собой NEC μPD765A или его совместимую деталь, например Intel 8272A.
  25. ^ «Intel добавляет 16-битную одноплатную плату» . Компьютерный мир . Том. XII, нет. 50. 11 декабря 1978. с. 86. ISSN   0010-4841 .
  26. ^ Захманн, Марк (23 августа 1982 г.). «Недостатки персонального компьютера IBM расстраивают критиков» . Инфомир . Том. 4, нет. 33. С. 57–58. ISSN   0199-6649 . IBM Displaywriter заметно дороже, чем другие промышленные микросхемы, использующие 8086.
  27. ^ «НАСА смело выставляет старые детали на eBay» . Нью-Йорк Таймс . 12 мая 2002 г.
  28. ^ Каман Тех. Руководство
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c3f5678d7ceed4bc62ceed4b717148d8__1719883500
URL1:https://arc.ask3.ru/arc/aa/c3/d8/c3f5678d7ceed4bc62ceed4b717148d8.html
Заголовок, (Title) документа по адресу, URL1:
Intel 8086 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)