Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

История [ править ]

Фон [ править ]

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

Два года спустя, Intel запустила 8080 , [примечание 3] , использующее новые 40-контактный DIL пакеты , первоначально разработанные для калькулятора ИС для того, чтобы отдельная шины адреса. Он имеет расширенный набор команд, совместимый с исходным кодом (не двоичный ) с 8008 [5], а также включает некоторые 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 ) с меньшей задержкой и в то же время противостоять угрозе со стороны Zilog Z80 (разработанного бывшим Сотрудников Intel), которая стала очень успешной. Поэтому и архитектура, и физический чип были разработаны довольно быстро небольшой группой людей с использованием тех же основных элементов микроархитектуры и методов физической реализации, которые использовались для немного более старого 8085 (и для которого 8086 также будет функционировать как продолжение).

Реализован в качестве источника совместимой , [6] 8086 был разработан , чтобы позволить сборку языка для 8008 [ править ] , 8080, или 8085 , которые будут автоматически преобразуются в эквивалентные (субоптимальным) 8086 исходный код, практически без ручного редактирования. Модель программирования и набор команд (в общих чертах) основаны на 8080, чтобы сделать это возможным. Однако конструкция 8086 была расширена для поддержки полной 16-битной обработки вместо довольно ограниченных 8-битных возможностей 8080 и 8085.

Также были добавлены новые виды инструкций; Полная поддержка знаковых целых чисел, адресации по основанию + смещению и самоповторяющихся операций была сродни дизайну Z80 [7], но все они были сделаны немного более общими в 8086. Инструкции, непосредственно поддерживающие вложенные языки семейства ALGOL, такие как Pascal и PL / М были также добавлены. По словам главного архитектора Стивена П. Морса , это было результатом более ориентированного на программное обеспечение подхода, чем при проектировании более ранних процессоров Intel (разработчики имели опыт работы с реализациями компиляторов). Другие улучшения включают микрокодированиеинструкции умножения и деления, а также структура шины, лучше адаптированная для будущих сопроцессоров (таких как 8087 и 8089 ) и многопроцессорных систем.

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

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

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

Подробности [ править ]

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

Автобусы и работа [ править ]

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

Аппаратные режимы [ править ]

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

Регистры и инструкции [ править ]

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 ; некоторые из наиболее полезных инструкций и ret size напрямую поддерживают « Соглашение о вызовах Паскаля ». (Некоторые другие, такие как и , были добавлены в последующие процессоры 80186, 80286 и 80386.)push mem-op push immedenter

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

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

Флаги [ править ]

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

Сегментация [ править ]

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

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

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

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

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

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

Intel могла бы решить реализовать память в 16-битных словах (что устранило бы сигнал BHE (Bus High Enable) вместе с большей частью уже описанных сложностей адресной шины). Это означало бы, что ко всем кодам объектов команд и данным нужно было обращаться в 16-битных единицах. Пользователи 8080 давно осознали, задним числом, что процессор очень эффективно использует свою память. Имея большое количество 8-битных объектных кодов, 8080 производит объектный код столь же компактный, как некоторые из самых мощных миникомпьютеров на рынке в то время. [11]

Если 8086 должен сохранять 8-битные объектные коды и, следовательно, эффективное использование памяти 8080, то он не может гарантировать, что (16-битные) коды операций и данные будут лежать на границе четно-нечетного байтового адреса. Первый 8-битный код операции сдвигает следующую 8-битную инструкцию на нечетный байт или 16-битную инструкцию на нечетно-четную границу байта. Осуществляя Bhe сигнал и дополнительную логику , необходимую, 8086 позволяет существовать инструкции как 1-байта, 3 байта или каких - либо других кодов объектов нечетных байтов. [11]

Проще говоря: это компромисс. Если адресация памяти упростится так, что доступ к памяти будет осуществляться только в 16-битных единицах, память будет использоваться менее эффективно. Intel решила усложнить логику, но более эффективно использовать память. Это было в то время, когда объем памяти был значительно меньше и дороже, чем тот, к которому пользователи привыкли сегодня. [11]

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

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

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

Следующий исходный код ассемблера 8086/8088 предназначен для указанной подпрограммы, _memcpyкоторая копирует блок байтов данных заданного размера из одного места в другое. Блок данных копируется по одному байту за раз, а логика перемещения данных и цикла использует 16-битные операции.

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

Вышеупомянутая процедура представляет собой довольно громоздкий способ копирования блоков данных. 8086 предоставляет специальные инструкции для копирования строк байтов. Эти инструкции предполагают, что исходные данные хранятся в DS: SI, целевые данные хранятся в ES: DI, а количество копируемых элементов хранится в CX. Вышеупомянутая процедура требует, чтобы источник и блок назначения находились в одном сегменте, поэтому DS копируется в ES. Вышеупомянутый цикл цикла можно заменить на:

Это копирует блок данных по одному байту за раз. REPNZИнструкция вызывает следующее MOVSBповторить , пока CX не станет равным нулю, автоматически увеличивающийся SI и DI и декремента CX , как это повторяется. В качестве альтернативы MOVSWинструкцию можно использовать для одновременного копирования 16-битных слов (двойных байтов) (в этом случае CX подсчитывает количество скопированных слов вместо количества байтов). Большинство ассемблеров правильно распознают REPNZинструкцию, если использовать ее в качестве встроенного префикса MOVSB, например REPNZ MOVSB.

Эта процедура будет работать правильно, если ее прервать, потому что счетчик программ будет продолжать указывать на REPинструкцию, пока копирование блока не будет завершено. Таким образом, копирование будет продолжено с того места, где оно было остановлено, когда подпрограмма обработки прерывания вернет управление.

Производительность [ править ]

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

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

  • 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 и CMOS версии были произведены в течение длительного времени (по крайней мере, в то время как в 1990 - е годы) для встраиваемых систем , хотя его преемник, 80 186 / 80 188 (который включает в себя некоторые на чипе периферийных устройств), был более популярным для встроенного использования .

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

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

Список Intel 8086 [ править ]

  1. ^ В количестве 100 шт.
  2. ^ Цена снижена на 21% с 99,00 долларов США, количественная информация не указана.

Производные и клоны [ править ]

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

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

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

Фишки поддержки [ править ]

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

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

  • Одноплатный компьютер ISBC 86/12, совместимый с Intel Multibus, был анонсирован в 1978 г. [22]
  • Xerox NoteTaker был один из самых ранних портативных компьютерных проектов в 1978 году и использовал три 8086 чипов (как центральный процессор, графический процессор, и I / O процессор), но никогда не входил коммерческое производства.
  • Seattle Computer Products поставляется S-100 автобусов на базе 8086 систем (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 25 и 30 были построены с 8 МГц 8086.
  • Amstrad / Schneider PC1512 , PC1640 , PC2086, PC3086 и PC5086 все использовали процессоры 8086 с частотой 8 МГц.
  • NEC PC-9801 .
  • В машинах Tandy 1000 SL и RL использовались процессоры 8086 с тактовой частотой 9,47 МГц.
  • Машина для обработки текстов IBM Displaywriter [23] и профессиональный компьютер Wang, производимые Wang Laboratories , также использовали 8086.
  • НАСА использовало оригинальные процессоры 8086 в оборудовании для наземного обслуживания космического шаттла Discovery до завершения программы космических шаттлов в 2011 году. Это решение было принято для предотвращения регресса программного обеспечения, которое могло возникнуть в результате обновления или перехода на несовершенные клоны. [24]
  • КАМАН технологические и территориальные радиационные мониторы [25]

См. Также [ править ]

  • Количество транзисторов
  • iAPX , для имени iAPX

Примечания [ править ]

  1. ^ Меньшее количество буферов TTL, защелок, мультиплексоров (хотя объем логики TTLне был значительно уменьшен). Это также позволяет использовать дешевые ИС семейства 8080, где вконструкции IBM PC использовались8254 CTC, 8255 PIO и 8259 PIC. Кроме того, это упрощает разводку печатных плат и удешевляет платы, а также требует меньшего количества микросхем DRAM (шириной 1 или 4 бита).
  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. ^ Быстрые статические RAM в технологии MOS (такие же быстрые, как биполярные RAM) были важным продуктом для Intel в этот период.
  9. ^ CHMOS - это название Intel для схем CMOS, изготовленных с использованием этапов обработки, очень похожих на HMOS .
  10. ^ Другие члены проектной группы были Питер и Дженни A.Stoll Эрнандеса.
  11. ^ IBM PC и PC / XT используют Intel 8088, работающий в максимальном режиме, что позволяет процессору работать с дополнительным сопроцессором 8087, установленным в разъем математического сопроцессора на ПК или материнской плате PC / XT. (Для ПК и ПК / XT может потребоваться максимальный режим по другим причинам, например, для поддержки контроллера DMA.)
  12. ^ Некоторые клоны 80186 действительно изменили значение сдвига, но обычно никогда не использовались в настольных компьютерах.
  13. ^ (IBM PC использовал 4,77 МГц, 4/3 стандартнойчастоты цветовой синхронизации NTSC)

Ссылки [ править ]

  1. ^ История ЦП - Музей ЦП - Жизненный цикл ЦП .
  2. ^ "Зал славы микропроцессоров" . Intel. Архивировано из оригинала на 2007-07-06 . Проверено 11 августа 2007 .
  3. ^ Справочник программиста iAPX 286 (PDF) . Intel. 1983. с. 1-1.
  4. ^ a b «С Днем Рождения, 8086: ограниченная серия Intel Core i7-8086K 8-го поколения обеспечивает лучший игровой опыт» . Intel.
  5. ^ "8080 семья" . CPU World .
  6. ^ Скэнлон, Лео Дж. (1988). 8086/8088/80286 ассемблер . Брейди Букс. п. 12 . ISBN 978-0-13-246919-7. […] 8086 программно совместим с 8080 на уровне языка ассемблера. […]
  7. ^ «Рождение стандарта: микропроцессор Intel 8086. Тридцать лет назад Intel выпустила процессор 8086, представив архитектуру x86, которая лежит в основе каждого ПК - Windows, Mac или Linux - производимого сегодня» . Мир ПК . 17 июня 2008 г.
  8. ^ Гейгер, Рэндалл Л .; Аллен, Филипп Э .; Strader, Ноэль Р. (1990). «Случайная логика против структурированных логических форм». Методы проектирования СБИС для аналоговых и цифровых схем . Макгроу-Хилл. п. 779. ISBN 0-07-023253-9. - Иллюстрация использования "случайного" описания логики управления ЦП
  9. ^ Intel Corporation (1983). Руководство пользователя IAPX 86, 88, 186 и 188: справочник программиста . С. 3–5. ISBN 978-0835930352. OCLC  11091251 .
  10. ^ Морс, Стивен П .; Равенел, Брюс В.; Мазор, Стэнли; Полман, Уильям Б. (октябрь 1980 г.). «Микропроцессоры Intel: от 8008 до 8086» . Компьютер IEEE . 13 (10): 42–60. DOI : 10,1109 / MC.1980.1653375 . S2CID 206445851 . 
  11. ^ a b c Осборн, Адам; Кейн, Джерри (1981). Руководство по 16-битному процессору Osborne . С. 5–26. ISBN 0-931988-43-8.
  12. ^ Справочное руководство Microsoft Macro Assembler 5.0 . Корпорация Майкрософт. 1987. Время и кодировки в этом руководстве используются с разрешения Intel и взяты из следующих публикаций: Intel Corporation. Руководство пользователя iAPX 86, 88, 186 и 188, Справочник программиста, Санта-Клара, Калифорния, 1986. (Аналогично для iAPX 286, 80386, 80387.)
  13. ^ a b c Руководство пользователя семейства 8086 . Корпорация Intel. Октябрь 1979. с. Б-1. OCLC 65699372 . 
  14. ^ a b c d e Корпорация Intel (май – июнь 1980 г.). «8086 Доступно для промышленных предприятий». Предварительная версия Intel (специальный выпуск: 16-разрядные решения): 29.
  15. ^ Просмотр процессоров в хронологическом порядке по дате внедрения:
  16. Intel Corporation (май – июнь 1980 г.). «Семья 8086: концепции и реалии». Предварительная версия Intel (специальный выпуск: 16-разрядные решения): 19.
  17. ^ a b Корпорация Intel (январь – февраль 1980 г.). «Новые продукты: Faster 8086 обеспечивает на 60% больше производительности». Предварительная версия Intel : 22.
  18. Intel Corporation (май – июнь 1980 г.). «Новые продукты семейства 8086 повышают производительность процессора на 50 процентов». Предварительная версия Intel (специальный выпуск: 16-разрядные решения): 17.
  19. Intel Corporation (май – июнь 1979 г.). «Компоненты микрокомпьютера: новое снижение цен и усовершенствование производства делают популярный микропроцессор 8086 еще более привлекательным». Предварительная версия Intel : 11.
  20. ^ Intel Corporation (август 1981 г.). Intel iAPX86, 88 Руководство пользователя . п. В-25. ISBN 0835930165. OCLC  8459750 .
  21. ^ "Эволюция контроллера гибких дисков | Музей OS / 2" . 2011-05-26 . Проверено 12 мая 2016 . В исходных IBM PC (1981) и PC / XT (1983) FDC физически располагался на отдельной плате адаптера дискеты. Сам FDC был NEC µPD765A или совместимой частью, например Intel 8272A.
  22. Enterprise, IDG (11 декабря 1978 г.). «Intel добавляет 16-битную одноплатную плату» . Компьютерный мир . XII (50): 86. ISSN 0010-4841 . 
  23. ^ Захман, Марк (23 августа 1982). «Недостатки персонального компьютера IBM расстраивают критиков» . InfoWorld . 4 (33): 57–58. ISSN 0199-6649 . IBM Displaywriter заметно дороже, чем другие промышленные микросхемы, использующие 8086. 
  24. ^ «Что касается старых деталей, НАСА смело идет ... на eBay» . Нью-Йорк Таймс . 12 мая 2002 г.
  25. ^ Kaman Tech. Руководство

Внешние ссылки [ править ]

  • Таблицы данных Intel
  • Список процессоров 8086 и их клонов на CPUworld.com
  • Распиновка 8086
  • Интерфейс максимального режима
  • Руководство пользователя 8086 Октябрь 1979 г. Корпорация INTEL ( документ в формате PDF )
  • Программные коды 8086 с использованием эмулятора emu8086 (версия 4.08)
  • Эмулятор Intel 8086/80186, написанный на C, этот файл является частью более крупного эмулятора ПК.
  • Ширрифф, Кен (июнь 2020 г.). «Посмотрите на кристалл процессора 8086» .
    • - (июнь 2020 г.). «Уменьшение размера кристалла: как Intel сократила процессор 8086» .
    • - (июль 2020 г.). «Регистры процессора Intel 8086: от микросхемы до транзисторов» .
    • - (август 2020 г.). «Обратный инжиниринг сумматора внутри Intel 8086» .
    • - (август 2020 г.). «Обратный инжиниринг арифметико-логического устройства 8086 по фотографиям кристалла» .