Чересчур напыщенно? Пожалуй, но в даре предвидения Intel не откажешь. Восхождение 8086 начиналось довольно медленно, однако архитектура, положенная в основу этого процессора, — позднее она приобрела известность под именем x86 — в конечном итоге сумела добиться одного из наиболее впечатляющих успехов в истории компьютерных технологий.
Под архитектурой x86 понимается набор машинных команд, используемых микропроцессорами, которые выпускаются Intel и рядом других компаний. Конструкторы процессоров x86, начиная от первого образца 8086, двигаясь далее в направлении моделей 80186, 80286, 80386, 80486 и различных вариантов Pentium и, заканчивая современными многоядерными процессорами и процессорами для мобильных приложений, постепенно расширяли первоначальный набор инструкций x86, но всякий раз сохраняли обратную совместимость с предыдущими членами семейства. На протяжении трех десятилетий с момента появления процессора 8086 архитектура x86 непрерывно развивалась, освоив помимо настольных ПК сферу серверов, портативных компьютеров и суперкомпьютеров. На этом пути инженеры Intel сумели одолеть и отодвинуть на обочину целый ряд конкурирующих архитектур. Даже на тех рынках, где традиционно правили бал конкуренты (к примеру, в Apple Macintosh долгое время устанавливались процессоры Motorola PowerPC), позиции x86 в последние годы заметно укрепились.
Каким же образом архитектуре Intel удалось завоевать компьютерный мир? Обратимся к истории.
Первые шаги
Первым микропроцессором Intel была 4-разрядная модель 4004, созданная в 1971 году для японского калькулятора. Вслед за ней довольно быстро был разработан 8-разрядный чип 8008, а в 1975 году и 8-разрядный чип 8080. Процессоры 8080 устанавливались в ПК Altair 8800, которые можно было заказать по почте.
Тремя годами позже дебютировал 16-разрядный процессор 8086. Выбор корпорации IBM, решившей заняться производством персональных компьютеров, пал на 8088 — один из вариантов 8086. Появление в начале 80-х годов ПК на базе этих процессоров придало архитектуре x86 колоссальный импульс и помогло ей превратиться в отраслевой стандарт, коим она является и сегодня.
Инженер-электротехник, конструктор микросхем, а теперь еще и исполнительный вице-президент Intel Патрик Гелсингер поворотной точкой в истории отрасли ПК — моментом, который действительно способствовал заметному ее ускорению развития, — считает появление в 1985 году 32-разрядной архитектуры 80386. В то время целесообразность отказа от 16-разрядной адресации, которая применялась в выпускавшихся ранее моделях, представлялась вовсе не очевидной. «Зачем нам 32-разрядная адресация? — раздавались отовсюду возгласы. — Это удел мини-компьютеров и мэйнфреймов». В тот период разработчики Intel подвергались острой критике за «ненужную расточительность».
Примерно в это же время компания Compaq Computer анонсировала ПК с процессором 386, ослабив тем самым гегемонию корпорации IBM на рынке персональных компьютеров. IBM же выпускала только компьютеры с 16-разрядными процессорами 80286, которые работали в три раза медленнее.
Говорят, в IBM отвергли новые процессоры 386, потому что в мире тогда просто не было 32-разрядных программ, позволявших извлечь заметную выгоду из расширенной адресации. Кроме того, IBM продвигала собственную 16-разрядную операционную систему OS/2.
«IBM тогда владела архитектурой сверху донизу и контролировала ее, — вспоминает Гелсингер, один из участников команды разработчиков 386. — Осуществив самостоятельный переход к следующему поколению, она могла бы приобрести монопольное положение единственной компании, предлагающей полномасштабное решение без каких-либо гарантий совместимости существующих поколений с последующими. Но с появлением процессора 386 ситуация кардинально изменилась. Из вертикальной отрасль превратилась в горизонтальную, и это открыло перед нами весь мир».
Следом в 1989 году был выпущен процессор 486. Затем, поняв, что цифр на торговую марку может и не хватить, представители Intel в 1993 году отказались от сложившейся традиции выбора имен и вместо 586 назвали процессор пятого поколения Pentium. Под маркой Pentium на свет появилось сразу несколько поколений процессоров (Pentium Pro, Pentium II, Pentium D и ряд других). В какой-то момент процессоры младшего класса с архитектурой x86 решено было назвать Celeron, а самые мощные процессоры фигурируют сегодня под торговой маркой Core 2.
Несмотря на смену названий — не говоря уже о совершенствовании конструкции, позволившем добиться огромного прогресса в части повышения быстродействия и эффективности, а также снижения энергопотребления — все они созданы на базе набора инструкций x86, который впервые появился в процессоре 8086 и продолжает расширяться по сей день.
Составляющие рецепта успеха
Почему же архитектура x86 на протяжении столь долгого времени пользуется успехом, отодвигая в сторону, а в некоторых случаях и полностью вытесняя конкурирующие микропроцессорные архитектуры? Прежде всего, архитектура x86 появилась в очень удачное для дебюта время. К 1978 году отрасль уже в течение нескольких лет осуществляла переход от больших и дорогостоящих мэйнфреймов к маленьким и дешевым мини-компьютерам. Очередным логическим рубежом в этой цепи переходов и стали настольные компьютеры.
Далее, архитектура x86 подтвердила правило, сформулированное в 1965 году Гордоном Муром, который впоследствии занял пост председателя совета директоров корпорации Intel. Суть его высказывания заключалась в том, что производительность микропроцессоров будет удваиваться через каждые полтора-два года при неизменной стоимости. Прогноз, который позже окрестили законом Мура, и впрямь оказался верным, а архитектура x86 получила повсеместное распространение, начиная от центров обработки данных и заканчивая рабочими местами сотрудников организаций и жилищами конечных пользователей.
Процессор 8086 и его последователи продолжали укреплять отношения между двумя главными первопроходцами отрасли настольных ПК. В 1972 году юные Билл Гейтс и Пол Аллен без особого успеха пытались разрабатывать интерпретатор языка Basic для процессора 8008. Завершить эту работу им удалось уже для более мощного процессора 8080, на базе которого в 1975 году был построен микрокомпьютер Altair.
С этого фактически и началось сотрудничество между Intel и Microsoft, на основе которого со временем была создана гигантская база программного обеспечения, продолжающая диктовать направления развития отрасли. Из всех факторов, обеспечивших успех архитектуры x86, пожалуй, ни один не играет такой важной роли, как имеющиеся запасы программного обеспечения. Лучшим подтверждением справедливости этого утверждения является нынешний упадок RISC-процессоров.
Риски, связанные с RISC-архитектурой
В конце 80-х и начале 90-х годов серьезной угрозой для архитектуры x86 стало наступление процессоров RISC (Reduced Instruction Set Computing) с сокращенным набором инструкций, к числу которых относились продукты Sun SPARC, IBM/Apple/Motorola PowerPC, а также процессоры MIPS. Идея заключалась в том, что при выполнении простых инструкций, занимающих один цикл процессора, компьютер начинает работать гораздо быстрее, чем при обработке инструкций процессоров со сложным набором команд (Complex Instruction Set Computing, CISC). А именно к категории CISC и принадлежали все представители архитектуры x86.
Технические эксперты, пресса и конкуренты Intel в один голос утверждали, что со временем процессоры CISC утратят свое положение. «Для нас это было трудное время, — признает Гелсингер. — Инженеры Intel приступили даже к разработке своего собственного RISC-процессора. Но ни i860, ни какой-то иной RISC-процессор так и не сумели приблизиться к безраздельной гегемонии архитектуры x86».
И вот как это объясняет Гелсингер, ведущий архитектор 80486: «За день до официальной презентации процессора 486, которая состоялась 10 апреля 1989 года, его уже поджидали программы на миллиарды долларов. И хотя CISC-архитектура x86 по скорости несколько уступала RISC-процессорам, к тому времени, как программное обеспечение для RISC-машин наконец появилось, мы сумели заметно увеличить производительность машин x86. У нас было колоссальное экономическое преимущество, связанное с обладанием огромной базой уже установленного программного обеспечения и большим числом разработчиков. RISC-машины так никогда и не смогли добиться аналогичных результатов».
По иронии судьбы, нехватка программного обеспечения для RISC-систем, а также быстрый рост производительности процессоров 80486 и Pentium привели к тому, что i860 разделил судьбу других RISC-процессоров. Попытка создания альтернативной полномасштабной микропроцессорной архитектуры была ошибкой, и позже в Intel это признали.
«Вместе с тем разработка RISC-архитектуры породила множество инноваций, — отметил профессор Калифорнийского университета в Беркли Дэвид Паттерсон, который в 80-е годы был одним из самых ярких «проводников» таких новаторских решений. — К примеру, в архитектуре VAX корпорации Digital Equipment не было ничего от RISC, и она постепенно исчерпала себя. Что же касается Intel, она сумела впитать популярные идеи RISC, поддерживая при этом свою старую архитектуру, для которой уже была создана огромная база программного обеспечения. И часть этих идей впоследствии нашла отражение в превосходной организации производства Intel».
Катастрофа с плавающей запятой
Пожалуй, не меньшую угрозу, чем RISC, таил в себе кризис, разразившийся летом 1994 года, когда инженеры Intel, занимавшиеся тестированием, выявили недочет в схеме вычислений с плавающей запятой нового процессора Pentium. Ошибки возникали так редко, а их влияние было столь незначительным, что в Intel решили просто исправить их и запустить процессор обратно в производство, не отзывая уже готовые дефектные чипы.
Однако несколько месяцев спустя профессор математики Томас Найсли обнаружил в своем ПК дефект. Как признавали позже в Intel, он просто не смог найти в корпорации человека, который хотя бы выслушал его жалобы. Тогда Найсли разместил результаты своего исследования в Internet. Спустя короткое время на корпорацию обрушилась сильнейшая волна критики, которая серьезно навредила репутации Intel и заставила ее отозвать уже выпущенные процессоры. В результате убытки Intel составили почти полмиллиарда долларов.
«Это был весьма болезненный удар, но в конечном итоге мы научились вести себя так, как это положено компании, выпускающей товары для потребительского рынка», — вспоминает бывший старший вице-президент Intel Альберт Ю.
Смешивание и подгонка
Следующий определяющий момент в истории архитектуры x86, по свидетельству профессора Университета Карнеги-Меллона и научного консультанта Intel Тода Маури, наступил в 1995 году. Корпорация Intel представила микропроцессор Pentium Pro, в котором появился целый ряд радикальных усовершенствований. В процессор была заложена возможность предварительной выборки потока инструкций, определения того, какие из них понадобятся в дальнейшем, и выполнения их в более удобной для себя последовательности. В результате полезная нагрузка на процессор увеличилась, а в сочетании с новой, очень быстрой кэш-памятью, многим приложениям это сулило существенное повышение производительности.
«Принципиальная разница заключалась в том, что разработчики использовали преимущества RISC-архитектуры, не внося изменений в сам набор инструкций, — отметил Маури. — Они проделали это, преобразовав инструкции x86 в набор микроопераций. В результате пользователи получили RISC-машину внутри машины x86, и в один прекрасный день это помогло Intel ликвидировать отставание в производительности».
Pentium Pro разрабатывался путем нисходящего проектирования. «Сначала конструкторы приступили к созданию проекта быстрой машины, а уже потом задумались о том, как втиснуть в ее рамки архитектуру x86», — пояснил Маури.
«Подобный подход — поиск хороших идей вне рамок архитектуры x86 и возврат к этим идеям впоследствии — в конечном итоге сработал, — заметил Гелсингер. — Появление Pentium стало заметным шагом вперед в части развития архитектуры. Мы взяли лучшие идеи, заложенные в мини-компьютеры и мэйнфреймы, и внедрили их у себя, творчески переосмыслив».
В отличие от мэйнфреймов, у которых вычислительные компоненты размещались на довольно большой площади, упаковывание их в рамках крошечного чипа, отличающегося очень высокой степенью интеграции, помогло их конструкторам получить дополнительную гибкость, повышая вычислительную мощность своих изделий. С годами производительность кремниевых микросхем росла в соответствии с законом Мура, в то время как системы взаимных связей компонентов совершенствовались не так быстро.
Возрастание конкуренции
Intel так и не удалось избавиться от конкуренции даже на своем домашнем поле x86. В 1987 году в Кремниевой долине была основана дислоцировавшаяся на Тайване компания VIA Technologies, которая начала продавать наборы микросхем с базовой логикой. Ее продукция, использовавшая в том числе и технологию x86, предназначалась для установки в материнские платы и другие электронные компоненты. Сегодня VIA выпускает достаточно широкий набор продуктов, позиционируя свои процессоры x86 на рынке мобильных и встроенных устройств с низким энергопотреблением.
Компания Advanced Micro Devices, занимающая сегодня второе место в мировом рейтинге производителей микропроцессоров, стала составлять серьезную конкуренцию Intel, начиная примерно с 2000 года. На протяжении 80-х и 90-х годов AMD выступала скорее в качестве подражателя и не доставляла Intel серьезного беспокойства. (Сегодня, по оценкам аналитиков Mercury Research, AMD принадлежит примерно 15% рынка процессоров с архитектурой x86, предназначенных для установки в настольные и портативные компьютеры).
Технический прорыв AMD совершила в 2000 году, представив архитектуру x86-64 — 64-разрядное расширение набора инструкций x86. Обеспечение полной совместимости означало, что пользователи новых машин x86-64 могли без проблем запускать на своих компьютерах и старые 32-разрядные программы.
Примерно в это же время корпорация Intel представила 64-разрядный процессор Itanium, разработанный специалистами Intel и HP для организации суперскалярных вычислений. Этот процессор не обеспечивал прямой совместимости с 32-разрядным программным обеспечением, предназначенным для архитектуры x86. На вызов AMD инженеры Intel ответили созданием собственного 64-разрядного расширения набора инструкций x86, получившего название EM64T, только в 2004 году. Активность маркетинговой службы AMD и прессы, утверждавшей, что Intel потерпела поражение на рынке 64-разрядных вычислений, в конечном итоге сослужили AMD службу.
«Мы стали свидетелями того, как гибкость набора инструкций x86 была направлена против Intel, — заметил Паттерсон. — Даже в условиях доминирования Intel на рынке другая компания сумела задать новое направление развития архитектуры x86».