В конце 2020 года Apple выпустила на рынок свои первые настольные устройства на базе нового ARM чипа M1, среди заинтересованной аудитории тут же вспыхнули споры о том способны ли вообще ARM решения выдать ту же производительность что и x86 процессоры. В Российском сегменте большинство сходится во мнении что этот переход грозит полным провалом в будущем и ARM чипы хороши только в мобильном сегменте и не могут конкурировать по производительности с Intel и AMD, а все показанные тесты не более чем подкрученные маркетологами цифры в "синтетике".
Для начала разберемся в чем принципиальная разница между ARM и x86 архитектурами и почему ARM прижился на мобильном рынке и не используется на настольных ПК и рабочих станциях.
Многие слышали, что основное отличие кроется в принципе построения команд ARM основан на RISC, а процессоры от Intel и AMD на CISC и считают, что именно в этом кроется секрет производительности x86 процессоров, а основанные на RISC ARM при всех прочих равных не способны за ними угнаться. Сейчас я попытаюсь развеять эти заблуждения и для начала объясню, что скрывается за этими абревиатурами.
Это разделение сложилось еще во времена, когда программистам приходилось составлять свои программы в двоичном коде и чуть позже на низкоуровневом языке Ассемблере. Для того, чтобы программировать было проще придумали такую вещь как CISC, программист писал относительно небольшой вызов инструкции, а уже сама инструкция была реализована аппаратно в процессоре, и если нужны были новые инструкции, то их просто добавляли в новые процессоры, при этом старые никуда не девались и также оставались внутри.
RISC же обладал лишь базовыми инструкциями, изначально в таких процессорах не было реализовано даже умножение и деление, и уже программист руками на основе базовых функций писал свой код, который получался более громоздким, для понимания приведу пример:
Код на CISC: "взять яблоко"
Код на RISC: "встать со стула, подойти к столу, протянуть руку, взять в руку яблоко"
И в этой разнице заключается энергоэффективность процессоров ARM, для реализации одних и тех же функций нужен кристалл меньшей площади с меньшим количеством транзисторов, соответственно потребляющий меньше мощности, но процесс написания программы является более трудоемким.
Со временем необходимость писать программы на Ассемблере отпала, уже в начале 90-х годов двадцатого века большинство программ писалось на высокоуровневых языках, в которых перевод в непосредственно машинный код осуществляла специальная программа - компилятор. И уже тогда стала очевидна вся упадочность CISC архитектуры, процессоры становились все сложнее из-за необходимости быть обратно совместимыми со старыми инструкциями, но рынок программного обеспечения во всем мире уже был заточен под существующие процессоры и выпустить новые несовместимые со старым процессоры было невозможно, хотя преимущества RISC были очевидны всем.
По этой причине Intel сделали свои процессоры гибридными, с выходом Intel Pentium Pro ядро стало RISC, хотя сам процессор принимал команды в CISC формате, а уже внутри процессора специальный блок преобразовывал команды для ядра. И эта схема работает по сегодняшний день, все современные процессоры Intel и AMD по сути являются RISC процессорами с CISC надстройкой.
Так почему же компании не избавятся от этой надстройки? Из-за программного обеспечения и операционных систем, которые написаны за последние 40 лет.
И вот тут мы подходим к самому главному, почему же Apple вдруг решилась на такой переход? Ведь у них тоже огромная база старого программного обеспечения? К переходу они готовились не один год, и грамотно выбрали момент, когда производительность их новых процессоров Apple M1 позволит выполнять уже существующий x86 совместимый код через программную эмуляцию, пожертвовав при этом какой то частью производительности, при этом новые программы скомпилированные под новые чипы будут выполняться с производительностью не уступающей системам на AMD и Intel, но система в целом будет более энергоэффективной из за меньшего числа транзисторов в кристалле.
А вот непосредственно производительность зависит от микроархитектуры конкретного процессора, и о ней мы можем лишь догадываться, производители процессоров держат ее в тайне, но учитывая тот факт, что продукция Apple чаще всего является рабочей станцией, компания никогда не пошла бы снижение производительности и они явно уверены в конкурентоспособности своих чипов.
Мы сейчас наблюдаем настоящую революцию, и Apple лишь первая ласточка, самую большую опасность для Intel и AMD представляет другой гигант и это Microsoft. Ведь именно на их операционную систему приходится львиная доля ПК рынка. Microsoft уже пыталась выпустить ARM совместимую операционную систему, но сделала это преждевременно, процессоры не обладали нужной производительностью, а сама Windows RT была несовместима с x86 программами. Но готовящаяся Windows 10X сможет исполнять все существующие программы через режим обратной совместимости так же, как и у Apple, так что в ближайшем будущем скорее всего мы увидим переход большинства ноутбуков на более энергоэффективную ARM архитектуру.
Как итог выскажу мнение, что решение Apple является логичным и даже неизбежным, они в очередной раз задали тренд в индустрии предвосхитив отказ от CISC архитектуры, нам рядовым пользователям это выгодно, мы получим более энергоэффективные устройства. Вопрос только в том, что предпримут неповоротливые динозавры Intel и AMD, покажет только время.