Павел Иевлев

Текст

Как так получилось, что все процессоры на свете принадлежат всего двум компаниям? И почему дуополии приходит конец? Разбираемся в истории и перспективах ЦПУ

Конкуренция Intel и AMD одно время была весьма популярной темой, но сейчас о ней не услышать. По капитализации, объемам продаж и присутствию на рынке процессоров Intel давно превзошел конкурента, и AMD Ryzen присутствует в вашем десктопе или ноутбуке с существенно меньшей вероятностью, чем Intel Core. Но почему там не стоит процессор какого-нибудь третьего производителя?

Генеральная линия

Процессоры для настольных и (пока) большинства лаптопных систем могут быть производства Intel или AMD, но по сути это один и тот же процессор. Точнее, это ЦПУ имеющие одну и ту же архитектуру. Называется она ностальгически – x86, по серии процессоров Intel 80386, выпущенных в далеком 1985 году. Эта серия создала рынок домашних ПК и она же определила его софтверно-хардверный вектор развития, в результате которого на наших столах/коленях стоит/лежит именно такое устройство, а не какое-нибудь совсем другое.

Генеральная линия компьютеростроения не раз пыталась свернуть с торного пути, но ее удерживали на траектории два обстоятельства: преемственность софта и лицензия на архитектуру.

Преемственность в развитии ПО – очень важный фактор. Большая часть программ, которые мы используем, развивается последовательно и имеет многолетнюю историю. Но ПО пишется под железо, а железо поддерживает ПО, и это замкнутый круг обратной совместимости, выскочить из которого очень сложно. Отчасти поэтому даже самые свежие версии Windows поддерживают запуск старых 32-битных программ, а на современный компьютер можно поставить программы, написанные в 80-х годах прошлого века (не все, но многие). Если создать совершенно новый компьютер, не имеющий преемственности со всей исторической линейкой ПК, то окажется, что под него надо написать аналоги миллионов программ, которые уже используются людьми.

Задача, которая выглядела невозможной, но была решена. Впрочем, об этом чуть позже, а пока поговорим об архитектуре.

Архитектурная монополия

Те компьютеры, который мы имеем, придумал Intel. Точнее, эта компания придумала архитектуру процессоров, которая стала всеобщим стандартом и, разумеется, запатентовала ее. Архитектура x86 – это связка процессора и его системы команд.

Процессоры x86 используют сложный набор инструкций (ISA Instruction Set Architecture), который называется CISC Complex Instruction Set Computing. «Сложный» в данном случае технический термин, означающий подход к программированию. Это исторически сложившаяся структура – первые программы писали буквально машинным кодом, ноликами и единичками (дырками и их отсутствием на перфокартах и перфолентах), потом появился низкоуровневый язык Assembler, который сам переводил в нули и единицы простые команды, потом появились комплексные инструкции, объединяющие такие команды в блоки, что позволило перейти на высокоуровневые языки программирования, понятные не только машине, но и человеку. Набор таких комплексных инструкций для x86-процессоров назвали CISC Complex Instruction Set Computing. Именно на них основаны в конечном итоге все программы, запускаемые на ПК, потому что цель программы – задать последовательность действий процессору, который будет выполнять вычисления. Любая программа должна обратиться к процессору так, чтобы он ее понял. А значит, все программы для ПК пишутся под один процессор – x86.

Лицензия на архитектуру x86 принадлежит Intel, и компанию это полностью устраивает. AMD буквально выгрызла для себя исключение в американских судах, сражаясь более десяти лет в 1980-х и 1990-х годах, и больше желающих что-то не видно. Поэтому производители техники используют процессоры Intel или AMD – готовые решения без возможности гибко доработать чипы под свой конкретный продукт.

Исключением была одно время компания Apple – с 1994 по 2006 годы они ставили в свою продукцию собственные чипы PowerPC, но потом экономика победила – «яблочники» перешли на Intel, и переписали macOS и свое ПО под x86, отказавшись от совместимости. Перейти – перешли, но обиду затаили.

И к этому мы тоже вернемся дальше.

Пришествие ARM

Казалось, что технологическая преемственность и обратная совместимость – два гвоздя, которыми рынок приколочен к x86-архитектуре навеки. Никто не будет делать процессор с другим набором инструкций, потому что под него нет ПО, и никто не будет делать другого ПО, потому что под него нет процессоров. И мы так и ходили бы по этому кругу, но все изменили телефоны, ставшие компьютерами.

Мобильные решения не были привязаны ко всей истории ПО с 60-х годов, операционки и программы для них писались с нуля (ну, почти), им не была нужна обратная совместимость, и поэтому они не были обречены на CISC. Тем более, что процессоры x86 для мобильных решений оказались слишком большими, прожорливыми и горячими, а их мощность – избыточной. Потребовалось что-то полегче и попроще, и на свет родился ARM-процессор.

ARM-процессоры (ARM означает «продвинутые RISC машины» – Advanced RISC Machines) наоборот используют упрощенный набор инструкций — RISC (Reduced Instruction Set Computing). Объяснения различий между CISC и RISC заняло бы слишком много места и требовало бы слишком глубокого погружения в узкоспециальную нишу программирования. Ограничимся констатацией факта – в силу этих различий, в RISC-архитектуре проще работа с памятью, легче оптимизация, проще масштабирование, меньше энергопотребление. У процессоров x86 и ARM одного поколения расход энергии отличается в пользу ARM на порядок! Именно поэтому мы можем позволить себе носить в кармане и заряжать реже, чем раз в сутки, компьютер, не уступающий в вычислительной мощности шумной прожорливой коробке на столе.

Правда, те же самые программы на нём не запустишь. Хотя…

Apple наносит ответный удар

Рынок разделился по естественной границе – мобильные решения сплошь ARM, ноутбуки и десктопы – сплошь x86. Но вскоре через этот водораздел перебросили первые мостки – появились ARM-ноутбуки. Почему нет? Мощности хватает, ПО написано достаточно. Сначала это были, скорее, планшеты с клавиатурой, слабенькие и работающие с адаптированным мобильным ПО, но постепенно эта ниша стала заполняться вполне адекватными предложениями.

И тут в Apple вспомнили, как их прогнули, и нанесли ответный удар – в 2020 году после почти 15 лет выпуска компьютеров с процессорами Intel, компания объявила о переходе на процессоры ARM собственной разработки.

Apple может себе позволить – настольные процессоры M1 «выросли» из мобильных чипов серии Ax, у Apple огромный опыт разработки операционных систем и ПО и ультралояльная аудитория, которая простит «яблочникам» очередной переход без обратной совместимости. Тем более, что у Apple есть собственный язык программирования Swift, который давно унифицировал процесс разработки ПО для iOS и OS X. (Для софта, который под ARM адаптировать пока не успели, Apple использует встроенный эмулятор Rosetta 2.)

Победит ли ARM?

Большинство производителей ноутбуков и компьютеров пока не уходят на ARM — не позволяет огромный багаж популярного софта и массовость техники. Не все могут себе позволить быть Apple. Но у ARM есть большое преимущество – компания ARM Limited не производит процессоры сама, а продает лицензии кому угодно. Каждый производитель может не покупать готовое решение у Intel или AMD, а заказать чип «под себя». Huawei делает свои мобильные чипы Kirin, Samsung Exynos, у Apple Ax и М1, производимые TSMC. В этот же список входят Qualcomm, MediaTek, NVIDIA и другие компании. А еще свои процессоры на ARM делает, например, Fujitsu, а Lenovo выпускает свои ноутбуки на ARM-процессорах, которые работают на Windows и поддерживают большую часть привычного Windows ПО.

Однако списывать x86 еще рано. На мощных десктопных системах, где компактность и энергопотребление отходят на второй план, Intel и AMD противопоставить нечего. Пока нет решения, как реализовать связку ARM-процессора с мощными дискретными видеокартами, а значит, никакого видеомонтажа, рендеринга и сложных вычислений, а главное – никаких игр.

Intel и AMD, кстати, тоже не сидят сложа руки – их процессоры теперь разбивают входные инструкции на более мелкие микроинструкции (micro-ops), которые в дальнейшем исполняются… RISC-ядром! Разница между архитектурами быстро размывается.

Так что победное шествие ARM пока ограничивается маломощными, но компактными, легкими и долгоиграющими ноутбуками, на которых используется ограниченный набор самого основного ПО.

Правда, нельзя не отметить, что это самый быстрорастущий сегмент рынка.

Использованные источники: