Не так давно в интернет просочились скриншоты тестов в Geekbench новых 10- и 12-ядерных ARM-процессоров от Apple, предназначенных для ноутбуков:
Цифры получились внушительными: так, по однопоточной производительности это уровень Core i7-7700K — топового процессора для iMac 5K, а по многоядерной производительности новые чипы обогнали даже 6-ядерный Core i9 в новом MacBook Pro 15" 2018 года. Разумеется, люди сразу разделились на два лагеря: кто-то считает, что это реальные тесты, кто-то говорит, что это фейк — правду мы узнаем лишь на презентации. Но давайте на минуту представим, что эти процессоры реально существуют и будут иметь такую производительность — какие «плюшки» это даст новым Mac?
Не ждите увеличения времени автономной работы
Принято считать, что ARM-процессоры на том же техпроцессе более энергоэффективны, чем x86 процессоры — дескать, именно поэтому их ставят в смартфоны. Однако реальность такова, что их производительность на ватт, в общем-то, одинакова: для проверки этого факта использовался тяжелый браузерный бенчмарк, то есть без привязки к ОС, в котором планшет на Windows с Snapdragon 835 в оптимизированном под ARM браузере Edge оказался на уровне простого Celeron в этом же Edge:
Оба процессора имеют TDP на уровне 5-6 Вт, так что переходя на ARM выигрыша во времени автономной работы не будет — собственно, что и показали тесты ARM-планшетов на Windows: никаких обещанных 20 часов работы нет, реальными цифрами являются 10-12 часов, что сравнимо с планшетами на Intel Atom.
Так что если ноутбучный ARM-процессор от Apple показывает многопоточную производительность на уровне 45-ваттного Core i9 — его тепловыделение скорее всего на аналогичном уровне, поэтому не стоит ждать увеличения времени автономной работы.
Запуск Windows будет невозможен
Раньше шутили, что «MacBook — это лучший ноутбук на Windows», и что-то в этом есть: достаточное количество пользователей техники Apple имеют на своих устройствах эту ОС — кто-то ради игр, кто-то ради другого софта, которого нет под Mac. Но с переходом на ARM-процессоры такая возможность будет потеряна: да, Windows уже умеет работать на ARM, но официально — только на Snapdragon 835 и выше, то есть совместимости с процессорами от Apple не будет, что гарантированно вызовет проблемы даже если вы каким-то образом сумеете поставить на такой Mac систему от Microsoft.
Конечно, не стоит забывать о том, что Apple может договориться с Microsoft и внедрить в Windows поддержку своих процессоров — ведь тот же Office эти две компании делали для iPad вместе, и представитель Microsoft даже участвовал в презентации Apple. Но также велик шанс того, что Apple не будет этим заниматься: дескать, macOS — это лучшая ОС, и другие системы на Mac не нужны.
Проблемы с драйверами
Конечно, в этом плане macOS — не Windows, и достаточное количество устройств в ней отлично работают «из коробки». Только вот проблема в том, что драйвера для них — x86-совместимые, а, значит, на устройствах с ARM-процессорами работать они не будут. Конечно, для самых часто используемых устройств Apple адаптирует драйвера для ARM, но велик шанс того, что, подключая к новому Mac старую аудиокарту, вы банально не сможете ей воспользоваться.
Так что тут все будет зависеть чисто от производителей оборудования: скорее всего, для новых периферийных устройств будут выпущены соответствующие драйверы, а владельцам более-менее старых будет только один выход — покупка поддерживаемых устройств.
Проблемы с ПО
Очевидно, что просто так x86-приложения на ARM не запустятся, нужна перекомпиляция. Также очевидно, что Apple сделает совместимость с ARM для всего своего софта, типа iTunes, Safari и Final Cut. Но а что насчет других разработчиков?
Конечно, с течением времени для большей части программ будет или выпущена версия под ARM, или добавлена поддержка этих процессоров в одну версию с x86 — только вот сам этот процесс будет идти даже не дни или недели, а скорее месяцы или даже годы: так, банальная доработка GUI под Retina-экраны Mac, вышедших в 2012 году, для многих разработчиков, видимо, была непосильной задачей, так что автор даже в 2014 году временами сталкивался с приложениями, не умеющим работать с высоким DPI. А ведь Apple предоставила все возможности по доработке ПО под Retina, то есть создателям программ всего-то нужно было по сути перерисовать иконки и некоторые элементы интерфейса, дабы они не выглядели размыто. Это же относится и к переходу с PowerPC на Intel почти 15 лет назад — он затянулся больше чем на два года.
Так что адаптация программы под ARM — это вам не перерисовка парочки картинок, и в итоге пользователь нового Mac на ARM, купившего его на старте продаж, рискует годами ждать, пока тот же AutoCAD не портируют под эту архитектуру. Конечно, не стоит забывать про эмуляцию — об этом как раз поговорим в следующем пункте.
Потеря производительности при эмуляции x86
Скорее всего, дабы не лишать пользователей всего софта под Mac, Apple сделает эмуляцию (или трансляцию команд) x86 под ARM — собственно, им это не впервой: при переходе с PowerPC на x86 в системе опять же был эмулятор первой архитектуры.
Но эмуляция несет за собой много проблем: самая банальная — это потеря производительности, причем на уровне десятков процентов, то есть в итоге на старте продаж будет все наоборот: ожидалась лучшая энергоэффективность ARM-процессоров, а по факту они будут в этом плане хуже, чем процессоры от Intel.
Вторая важная проблема — возможности эмулятора: так, Microsoft, занимаясь этим вопросом в общем и целом с 2012 года (выпуск Windows RT был пробным шаром), осилила только эмуляцию x86, то есть x64-программы на ARM в Windows 10 не запускаются. Apple же активно отказывается от x86-программ, то есть им нужно или за пару лет сделать больше, чем редмондский гигант делал 5 лет, осилив все же поддержку x64 — что малореально, или же вернуться обратно к x86. Поэтому, скорее всего, будет какой-то промежуточный вариант: поддержка x64 будет реализована частично и не со всеми программами — что, конечно, едва ли устроит пользователей, купивших себе новенький Mac за 2000 долларов.
Отсутствие поддержки различных инструкций для процессоров x86-64
Давайте допустим, что новые Mac с ARM-процессорами будут отлично совместимы с x64 — все же магия от Apple существует. Да, в большинстве задач будут теряться пара десятков процентов производительности — как говорится, печально, но не смертельно. Но вот некоторые тяжелые задачи зачастую будут выполняться медленнее аж в разы — почему?
Все дело в том, что за пару десятков лет существования x86 процессоры накопили достаточно большой багаж инструкций, таких как SSE, AVX или FMA. В чем их суть? Они позволяют существенно ускорить некоторые типы вычислений, и с учетом того, что векторные инструкции (AVX) используются в большинстве процессоров от AMD и Intel, начиная с 2011 года, и с того же периода их поддерживают Windows и macOS — хватает программ и даже игр, которые умеют и работают с ними (например, тот же Photoshop, Final Cut или Visual Studio).
Поэтому такие программы, очевидно, будут запускаться на ARM-процессорах с помощью эмуляции x86-64, но из-за отсутствия поддержки AVX такими CPU производительность будет существенно ниже, чем у чипов от Intel.
Проблемы при работе с видеокартами
На данный момент macOS умеет работать с видеокартами от Nvidia, AMD и Intel. Так как видеокарты от Intel встроены в их же CPU, их отсекаем сразу. Решения от Nvidia поддерживаются просто потому, что поддерживаются старые Mac с ними. Видеокарты AMD (впрочем, как и многие другие), завязаны на процессоры — они обрабатывает для GPU часть данных. И, очевидно, эти процессоры — x86-совместимые, и сделать поддержку процессоров ARM, банально выпустив новый драйвер, не получится.
В итоге, единственный выход для Apple — это использовать вместе со своими процессорами свои же видеокарты. К слову, их Apple уже имеет и используют начиная с процессора A11 в iPhone 8 и X. Но одно дело — слабый мобильный чип, а другое — GPU, способный на равных конкурировать с той же Vega 16, которую имеют на данный момент топовые MacBook. То есть буквально за пару лет Apple должна выпустить видеокарту, работающую хотя бы на том же уровне, что и решение от компании, которая занимается видеокартами не один десяток лет. Возможно ли это? Очевидно, едва ли.
Приятный бонус: Mac с ARM-процессорами могут быть дешевле, чем с решениями от Intel
Знаете, что самое дорогое в вашем MacBook? SSD? Нет, если он не на 4 ТБ конечно. 32 ГБ ОЗУ? Видеочип? А может дисплей? Все мимо. Самое дорогое в вашем Mac — это процессор: так, за топовый мобильный 6-ядерный Core i9 Intel просит почти 600 долларов:
При этом по некоторым данным 6-ядерный A12 Bionic обходится Apple всего в 72 доллара, то есть почти на порядок дешевле. Конечно, десктопные ARM-процессоры будут дороже, но даже если они будут стоить 200 долларов, то есть в три раза дороже мобильных, это все еще позволит скинуть сотню-другую долларов стоимости конечного Mac.
Возможность нативного запуска приложений с iOS
И macOS, и iOS имеют одинаковое ядро — Darwin. Поэтому никаких проблем запустить ARM-приложение с iOS на macOS под ARM-процессором не будет, так что с высокой долей вероятности на старте продаж таких Mac будет возможность ставить из App Store фактически любое iOS-приложение.
Конечно, проблемы будут, но только из-за иного способа управления: например, мы все привыкли использовать перемотку на тачпадах двумя пальцами, а вот на смартфонах — одним. Но все еще возможность запуска миллионов мобильных приложений должна в первое время сгладить невозможность полноценного использования старого десктопного софта.
Итог
Идея выпустить в продажу сразу топовые Mac на ARM-процессорах выглядит сомнительно: их обычно используют для серьезной работы во множестве программ, и едва ли пользователи будут счастливы, увидев, что нужное им профессиональное ПО или не работает на новом Mac, или работает медленнее, чем на старом. Куда логичнее выглядит выпуск на ARM-процессорах сначала простейших MacBook 12" или Air: к ним требования куда ниже, и в большинстве своем проблемы из-за эмуляции x86-64 едва ли будут заметны: какая разница, сколько будет запускаться тот же Spotify, треть или полсекунды? Ну а уж Cinema 4D и прочие AutoCAD на таких устройствах в жизни никто запускать не станет, то есть проблем с софтом практически не будет. А с учетом того, что переход на ARM вполне может снизить стоимость Mac — велик шанс, что такие устройства пользователям понравятся.
Что касается топовых Mac, чьи возможные результаты тестов утекли в интернет — скорее всего их выпустят только после того, как «обкатают» систему на MacBook Air и решат большую часть описанных в статье проблем. Но, кто знает — может, Apple их уже решила, и уже скоро нас ждут крутые мощные Mac на ARM? Будущее покажет.