Счастливая 40-я годовщина оригинального Intel 8086 и архитектуры x86

Счастливая 40-я годовщина оригинального Intel 8086 и архитектуры x86

Сорок лет назад сегодня Intel запустила оригинальный микропроцессор 8086 - дедушку каждого x86-процессора, когда-либо созданного, включая те, которые мы используем сейчас. Это, надо отметить, является более или менее противоположным результатом того, что все ожидали в то время, в том числе и Intel.

По словам Стивена П. Морса, который возглавлял усилия по разработке 8086, новый процессор «был предназначен недолговечным и не имел никаких преемников». Первоначальная цель Intel с 8086 состояла в том, чтобы улучшить общую производительность по сравнению с предыдущими продуктами, сохранив при этом источник совместимость с более ранними продуктами (что означает, что язык ассемблера для 8008, 8080 или 8085 может быть запущен на 8086 после перекомпиляции). Он предлагал более быструю общую производительность, чем 8080 или 8085, и мог адресовать до 1 МБ ОЗУ (8085 превысил 64 КБ). Он содержал восемь 16-разрядных регистров, где в первую очередь появляется аббревиатура x86 и первоначально предлагалась с тактовой частотой 5 МГц (более поздние версии имели тактовую частоту до 10 МГц).

Процессор 8086. Изображение пользователя Wikipedia
Процессор 8086. Изображение пользователя Wikipedia

У Морса был опыт работы с программным обеспечением, а также аппаратным обеспечением, и, поскольку эта историческая ретроспектива дает ясные, принятые решения, направленные на упрощение поддержки обратной совместимости с более ранними продуктами Intel. Он даже отмечает, что если бы он знал, что изобретает архитектуру, которая будет использовать вычислительные мощности в течение следующих 40 лет, он бы сделал некоторые вещи по-другому, в том числе используя симметричную структуру регистров и избегая сегментированной адресации. Первоначально, 8086 был предназначен для остановки продукта, в то время как Intel лихорадочно работала над завершением своего реального микропроцессора следующего поколения - iAPX 432, первого 32-битного микропроцессора Intel. Когда продажи 8086 начали проскальзывать в 1979 году, Intel приняла решение начать массовую маркетинговую операцию вокруг чипа, получившего название Operation Crush. Цель? Приводят принятие 8086 сверх конкурирующих продуктов от Motorola и Zilog (последняя основана бывшими сотрудниками Intel, в том числе Федерико Фэггин, ведущим архитектором на первом микропроцессоре, 4004 Intel). Проект Crush был довольно успешным, и ему приписывают стимул IBM принять 8088 (отсечка 8086 с 8-разрядной шиной) для первого ПК IBM.

Можно было бы ожидать, учитывая историческое доминирование архитектуры архитектуры x86 в компьютерной индустрии, что чип, который запустил революцию, стал бы большим достижением или квантовым прыжком выше конкурентов. Истина более прозаична. 8086 - это твердое ядро ​​процессора, построенное интеллектуальными архитекторами, подкрепленное сильной маркетинговой кампанией. С другой стороны, компьютерная революция, которая помогла запустить, трансформировала мир.

Все, что сказал, есть еще один момент, на который нужно коснуться.

Прошло 40 лет. Почему мы все еще используем процессоры x86?

Это простой вопрос с довольно сложным ответом. Во-первых, в ряде очень реальных чувств мы больше не используем процессоры x86. Оригинальный 8086 был чипом с 29 000 транзисторов. Современные чипы имеют транзисторы в миллиардах. Современный процесс производства процессора мало похож на производственный процесс nMOS, используемый для реализации оригинального дизайна в 1978 году. Материалы, используемые для построения процессора, сами по себе очень разные, и появление EUV (Extreme Ultraviolet Lithography) еще больше изменит этот процесс.

Современные чипы x86 транслируют x86 микрокод во внутренние микрооперации для более эффективного выполнения. Они реализуют такие функции, как нестандартное исполнение и спекулятивное выполнение, чтобы повысить производительность и ограничить влияние медленных шин памяти (относительно тактовых импульсов ЦП) с несколькими уровнями кеша и такими возможностями, как прогнозирование ветвлений. Люди часто спрашивают: «Почему мы все еще используем процессоры x86?», Как если бы это было аналогично «Почему мы все еще используем 8086?». Честный ответ: мы не знаем. 8086 с 1978 года и Core i7-8700K - оба процессора, так же, как модели T и 2018 Toyota - оба автомобиля, - но они не точно разделяют намного больше, чем основная классификация.

Кроме того, Intel пыталась заменить или вытеснить архитектуру x86 несколько раз. IAPX 432, Intel i960, Intel i860 и Intel Itanium были предназначены для замены x86. В отличие от альтернатив, Intel буквально потратила миллиарды долларов в течение нескольких десятилетий, чтобы оживить эти альтернативные видения. Архитектура x86 выиграла эти бои - но она не просто выиграла их, потому что она предложила обратную совместимость. Мы поговорили с Intel Fellow Ronak Singhal за эту статью, которая указала на грань вопроса, который я честно не рассматривал раньше. В каждом случае x86 продолжал побеждать в архитектуре Intel, предназначенной для ее замены, потому что инженеры, работающие на этих процессорах x86, нашли способы расширить и улучшить производительность существующих микроархитектур Intel, часто превышающих то, что даже инженеры Intel считали возможными несколько лет назад.

Есть ли штраф за продолжение поддержки оригинальной x86 ISA? Существует - но сегодня это крошечный. Первоначальный Pentium, возможно, посвятил до 30 процентов своих транзисторов обратной совместимости, а ставка Pentium Pro на внеплановое исполнение и внутренние микрооператоры разжевали огромное количество пространства и мощности, но эти ставки оправдали , Сегодня возможности, которые потребляют огромные ресурсы на старых чипах, представляют собой однозначный процент или меньше бюджета мощности или матрицы для современного микропроцессора. Сравнение между различными ISA показало, что решения по архитектурному дизайну оказывают гораздо большее влияние на эффективность и энергопотребление, чем ISA, по крайней мере выше уровня микроконтроллера.

Будем ли мы использовать чипы x86 через 40 лет? Понятия не имею. Я сомневаюсь, что любой из разработчиков процессоров Intel, построивших 8086 еще в 1978 году, думал, что их ядро ​​будет задействовано на большинстве революций в области персональных компьютеров 1980-х и 1990-х годов. Но недавние переходы Intel в такие области, как центры обработки данных AI, машинного обучения и облачных данных, являются доказательством того, что семейство процессоров x86 не будет развиваться. Независимо от того, что произойдет в будущем, 40-летний успех является огромным наследием для одного маленького чипа - особенно того, который, как говорит Стивен Мур, «был предназначен для недолговечности и не имел никаких преемников».

Изображение объекта Thomas Nguyen через Википедию