Смена процессорной архитектуры в Apple

Если вы периодически заходите в этот блог, вы могли натыкаться на картинку в хэдере блога с надписью It’s true! (Вот она, если вдруг она вам раньше не загружалась раньше или же вам лень порефрешить страничку). Собственно, этот кадр сделан 7,5 лет назад на конференции разработчиков Worldwide Developer Conference (WWDC), которую ежегодно проводит Apple для разработчиков под платформы компании (хотя тогда платформа была одна — Mac OS X, классическая Mac OS 9 была похоронена же Джобсом на WWDC 2003).

Фраза It’s true! в данном случае означала подтверждение выступающим Стивом Джобсом слухов, которые активно циркулировали на тот момент — что Apple готовит переход с процессорной архитектуры PowerPC на архитектуру x86 компании Intel. Шаг хоть на тот момент и предсказуемый, но все равно неожиданный. С одной стороны, было понятно, что архитектура PowerPC на тот момент существенно отстала от разработок Intel в вопросах производительности, энергопотребления и других важных показателей, а с другой стороны многие разработчики с трудом представляли себе то, каких усилий от них может потребовать подобная смена процессорной архитектуры компьютеров Apple.

К счастью, все оказалось не так уж и плохо — Apple предусмотрела очень многое. В частности, у разработчиков была возможность задолго до того, как в продажу поступят компьютеры с Intel-процессорами, подготовить приложения для новой архитектуры. Для многих приложений доработка под Intel-Mac могла сводиться к перекомпиляции с небольшими доработками. Были доступны специальные тестовые компьютеры, которые разработчики могли заказать у Apple (это был корпус от Power Mac G5 с Intel-внутренностями), и с их помощью оттестировать и доработать приложения к моменту перехода. Для тех разработчиков, кто не готов был вкладывать усилия в переработку приложений (которые к тому же могли получаться универсальными, то есть работающими как на Intel, так и на PowerPC-процессорах), в систему была встроена технология Rosetta, которая, хоть с некоторой потерей производительности, но позволяла запускать многие PowerPC-приложения на Intel-Маках. В итоге этот переход прошел довольно безболезненно, и для Apple это стало началом серьезного роста продаж Маков, которые после этого стали гораздо более универсальными компьютерами. После такого перехода уже не нужно было пояснять разницу между архитектурами и отличия в производительности. Для тех, кто сомневался, был инструмент BootCamp, с помощью которого на Мак можно было установить второй операционной системой Windows и подстраховаться на случай, если Мак “не покатит”. Кроме этого, появились инструменты виртуализации операционных систем — Parallels Desktop и VMware Fusion, позволявшие запускать Windows-приложения прямо в рамках Mac OS X. Ну а остальное, как говорится — история.
[ad#intext-inside]
Но, кстати, это был не первая смена процессоров в Apple. Когда-то давно компания выпускала персональные компьютеры Apple ][, которые были построены на процессорах MOS Technology 6502. В 1983 году Apple представила компьютер Apple Lisa, а затем в 1984 году — Macintosh, которые уже использовали процессоры семейства 68000 компании Motorola. Правда, тогда было очевидно, что это настолько новая “ветвь эволюции” в компьютерной отрасли, что никакого перехода, по сути, не было — это были новые компьютеры, с новой процессорной архитектурой, с новой операционной системой, с новой концепцией графического интерфейса, и поэтому было совершенно очевидно, что для них нужно просто писать совершенно новые приложения. Процессоры Motorola серии 68k использовались в Маках примерно лет десять, пока в 1994 году им на смену не пришли основанные на RISC-архитектуре процессоры PowerPC, разработанные совместно концерном Apple-IBM-Motorola. Тогда Apple столкнулась с тем, что была необходимость обеспечить обратную совместимость с программным обеспечением, написанным для Маков более раннего периода. В итоге Apple встроила в процессоры PowerPC эмулятор кода 68k, что позволяло обеспечить на новых компьютерах совместимость с приложениями, разработанными для предыдущей архитектуры процессоров. Процесс перехода затянулся, потому что только в 1998 году, спустя 4 года, Apple выпустила обновление Mac OS версии 8.5, которое работало только на Маках с процессорами PowerPC. От поддержки PowerPC Apple отказалась через три года с момента появления первых Маков на Intel-процессорах — с выходом Snow Leopard в 2009 году из системы пропала поддержка PowerPC-процессоров и технологии Rosetta.
Собственно, к чему я утомляю вас этими историческими воспоминаниями? (мне довелось поучаствовать во всех больших “переходах” Apple, с 68k на PowerPC, с “классической” Mac OS на то, что сегодня называется OS X, с PowerPC на Intel — неужели я уже настолько старый?) В рамках вновь всплывших слухов (впервые они всплывали еще полтора года назад) о том, что Apple, возможно, готовит переход компьютеров с Intel-архитектуры на архитектуру ARM мне захотелось показать вам, что мы, по сути, подобное проходили, причем не однократно, поэтому еще один переход — ха, легко 🙂 Я практически уверен, что у Apple уже давно есть операционная система, работающая на ARM-архитектуре, а для приложений, присутствующих в Mac App Store, вопрос миграции на новую архитектуру ограничивается лишь перекомпиляцией, с чем легко справится обновленный Xcode с поддержкой ARM в OS X. Так что большинство разработчиков и пользователей, по сути, даже не заметят этого перехода, наверно — за исключением тех пользователей, кто зависит от всяких мастодонтов типа MS Office или продуктов Adobe, у которых свой цикл разработки и они не спешат за Apple в ее поисках лучшей жизни.
Более того, я думаю, что текущие перестановки в топ-менеджменте компании и общая тенденция по интеграции настольной OS X и мобильной iOS только подтверждают, что все к тому идет. Apple, похоже, вошла во вкус с разработкой своих процессоров (как у iPhone 5 и iPad 4 поколения), и понимает, что в этом случае у нее гораздо лучше получится контролировать не только график выпуска новых процессоров, но и их возможности по энергопотреблению, тепловыделению, производительности и тд. Да и Intel, при всем уважении к компании, как-то прохлопала тренд мобильности и сейчас пытается “вскочить на подножку” этого уходящего поезда, выпуская что-то, что, судя по всему, не устраивает Apple. А ARM как архитектура Apple близка не только тем, что Apple когда-то стояла у истоков этой компании, но и тем, что это лицензируемая технология, которая позволяет разрабатывать свои собственные процессоры, развивается очень активно, и очень многообещающая с точки зрения всех факторов, необходимых для дальнейшей мобилизации, миниатюризации и улучшения гаджетов компании. Кроме этого, это облегчит жизнь как разработчикам операционных систем Apple, так и разработчикам приложений, которые смогут сразу писать приложения для одной-единственной архитектуры ARM устройств Apple.
[ad#intext-inside]
Возможно, в итоге я получу свой идеальный компьютер — размером с MacBook Pro 15″ с экраном Retina, но при этом весом как 13″ MacBook Air, работающий минимум 10 часов от аккумулятора и обладающий графическими возможностями как текущий rMBP. Фантастика, конечно, но почему бы и не помечтать? Через 3-4 года эта фантастика вполне может стать реальностью. Кстати, о сроках — я думаю, что подобный переход с Intel на ARM — это вопрос как раз этих будущих 3-5 лет, хотя операционная система OS X, работающая на ARM, у Apple есть уже сейчас — точно также, как Mac OS X, работающая на Intel, у Apple была с первого дня (хотя бы потому, что создана она была на основе NeXT, поддерживавшей на тот момент и PowerPC, и x86-архитектуру). Apple давно и последовательно проводит политику разделения публичных API для разработчиков и всего остального системного низкоуровневого, обеспечивая в будущем плацдарм для молниеносной и максимально безболезенной смены архитектуры. Я думаю, что за этот период мы будем наблюдать постепенное исчезновение опций из этого диалога системных настроек:

И в итоге года через 2-3 мы придем к той же модели, которая сейчас существует в iOS — “один народ, один рейх…”, ой, кажется, не то пишу — в смысле “один производитель, один App Store”, когда приложения в OS X можно будет установить только через Mac App Store. И еще года через два, когда большинство приложений попадет в этот Mac App Store, может грянуть тот самый переход на ARM. Пользователи, как я уже писал, скорей всего, почти ничего не заметят за туманом маркетинговых сообщений Apple о том, что теперь компьютеры станул легче, а аккумулятора будет хватать на дольше, а разработчики в очередной раз массово запишутся на WWDC, поаплодирую решению и пойдут перекомпилировать приложения. В любом случае, будет интересно, не переключайтесь!