Микропроцессор A7 стал одной из главных изюминок обделённого новизной iPhone 5S. Но при всём техническом превосходстве «первый в мобильной истории», «вдвое более производительный», «десктопного класса» чип выглядит, тем не менее, больше маркетинговой находкой: практической необходимости в 64-битном CPU на смартфоне нет — либо она неочевидна. К констатации этого факта и сводились почти все комментарии первых часов и дней после показа 10 сентября (см. «Налетай, подешевело!»). Однако уже в выходные тон дискуссии сменился. После всесторонней оценки A7 сочтён вещью ещё менее нужной в одной плоскости, но весьма полезной (хоть и с серьёзным оговорками) в другой.
Теорию вы уже знаете, а если не успели, учить там совсем немного. Apple A7 — основанный на спецификациях ARMv8 микропроцессор (точнее, система на чипе, SoC, включающая ещё и графический процессор, оперативную память и прочую обвеску). Однако, поскольку спецификации ARM описывают лишь процессорное ядро, а сам A7 в руках никто из аутсайдеров пока не держал, то и не известно о нём почти ничего. Никто, например, не знает точного количества ядер. Да что там, не знают даже, кто именно его производит!
Утверждать наверняка можно лишь то, что у A7 два набора инструкций, отдельно для 32- и 64-разрядного режимов, плюс несколько вспомогательных наборов, доступных и там и там; что 32-битный код в 64-битном режиме исполняется в виртуальных машинах, организуемых самим процессором под надзором операционной системы; что работает он на частоте, незначительно (предположительно, процентов на 30) превышающей A6, то есть менее 2 ГГц. Наконец, весной мы, вероятно, увидим более мощную версию A7 (A7X?) в новых «Айпадах».
Что даёт увеличение разрядности процессора с 32 до 64 единиц? Во-первых, возможность оперировать числами вдвое большей длины, откуда двойной прирост производительности и меньший, но заметный выигрыш в энергопотреблении. Во-вторых, 64 разряда обеспечивают прямой доступ к значительно большему объёму оперативной памяти (специалисты говорят, впрочем, что на адресацию в ARMv8 выделено только 48 бит, но и этого достаточно, чтобы обойти ограничение на 4 Гбайт, присущее 32-разрядным процессорам). Проблема лишь в том, что этими преимуществами ещё нужно суметь воспользоваться.
64-разрядная математика пригодится там, где есть потребность в обработке больших массивов данных. Это резко сужает круг приложений, которые выиграют от перехода на 64 бита: к примеру, для офисных приложений (текст, соцсети, коммуникаторы и пр.) выигрыш окажется совершенно незначительным, если будет вообще (о побочных эффектах далее). Базы данных в мобильный сегмент пока не перебрались, так что остаются игры, мультимедиа, криптография, научные инструменты.
Увы, и этот список при ближайшем рассмотрении придётся сильно сократить. Игры, на которых во время презентации новых «Айфонов» Apple сделала особый акцент, традиционно больше выигрывают от мощного GPU, работающего, как теперь и полагается, независимо (графический процессор на 5S поддерживает новейший OpenGL ES 3.0, но больше о нём ничего не рассказали — похоже, как раз чтоб не бросать тень на «супермощный» CPU). Из числа мультимедийных программ 64-разрядность смотрится интереснее всего для синтезаторов звука, однако и там выигрыш не гарантирован. В процессе подготовки колонки я советовался с автором мультиплатформенного (и одного из самых популярных на iOS) синтезатора — и он, опираясь на опыт адаптации приложения для 64-битных x86, выразил сомнение, что практический, полезный выигрыш вообще будет. Кроме того, в A7 интегрирован сигнальный сопроцессор, который возьмёт на себя рутинную работу с камерой/изображениями, а попутно, вероятно, может быть применён и для обработки звука.
Остаются наука и криптография. Первое — весьма узкий и малопопулярный пласт софта, а второе опять-таки больше выиграет от имеющихся в ARMv8 криптографических инструкций, которые (как, кстати, и удвоенный набор регистров, и увеличенная точность работы с дробными числами) собственно к 64-разрядности отношения не имеют.
Но отсутствие ощутимого влияния на скорость ли, энергопотребление ли — это ещё полбеды. Принудительный переход на 64 бита обещает массу неприятных побочных эффектов. Прежде всего Apple требует, чтобы каждое 64-битное приложение теперь комплектовалось и 32-битной версией для совместимости со старыми устройствами, что усложнит разработку и сделает размеры программ больше. Поскольку сейчас 64-разрядных программ в Apple App Store фактически нет, с появлением 5S на прилавках среди разработчиков неизбежно начнётся суета — и можно предположить, что значительная часть существующих приложений будет переведена на 64-битные рельсы грубо, чисто механической перекомпиляцией. Что неизбежно аукнется «ожирением»: раз там, где можно обойтись четырьмя байтами, теперь потребуется восемь, как минимум увеличатся системные требования прикладного софта.
Кроме того, A7 спроектирован с прицелом на 64 бита и, работая под 64-битной операционной системой (читайте: iOS 7), 32-разрядные приложения исполняет медленнее, чем они могли бы исполняться в нативном режиме. Совместимость, естественно, обеспечивается ценой некоторых расходов, включая более активное расходование «дисковой», оперативной памяти и процессорного кеша. И при прочих равных может получиться так, что старые (32 бита) приложения будут исполняться на iPhone 5S даже медленнее, чем на оригинальной «Пятёрке».
Что касается оперативной памяти, то даже на десктопах пока ещё редко её нужно больше четырёх гигабайт, а смартфонам перешагнуть эту границу и вовсе угрожает не раньше чем через три–четыре года. И дело не только в том, что для комфортной работы мобильному пользователю важнее объём энергонезависимого накопителя (сегодня это «флеш»), но и в том, что оперативная память дорога и энергозатратна. Аккумуляторы же, в том числе на «Айфонах» (ёмкость батареи 5S отличается от батареи первого iPhone на единицы процентов), давно застыли в своём развитии — не из-за лености Apple, а по причине выжатой как лимон электрохимической технологии (см. «Аккумулятор: трудная судьба»).
Учитывая всё это, легко понять, почему медлят конкуренты. Ведь Apple не единственная, кто лицензирует наработки ARM Holdings: лицензии на ARMv8 приобретены как минимум Samsung, Qualcomm, AMD. И хоть та же Samsung уже пообещала, что её будущие смартфоны получат 64-разрядный процессор, точной даты она не назвала (в лучшем случае предполагается следующий год). Так куда же торопится Apple?
Единственное разумное объяснение поведению «яблочников» (исключая маркетинговый хайп) состоит в прицеле на конвергенцию, слияние мобильной и стационарной платформ. Разговоры об этом идут как минимум последние три года (см. «Apple готовится к переезду на ARM», «Даёшь конвергенцию!», «Системы завтрашнего дня», «Из Apple с любовью» и др.) и Apple, не подтверждая прямо, всё-таки подбрасывает время от времени дровишек в огонь дискуссии. Пока изменения затрагивали в основном софтверную часть (iOS и OS X за последние годы обрели много общих свойств; теперь же они обе 64-битны, а iOS 7, говорят, весьма сильно модифицирована с прицелом на внутреннюю идентичность OS X), а главной проблемой оставалась архитектурная пропасть, разделяющая ПК и мобильные устройства. Архитектура x86 мощная, но прожорливая; ARM энергоэкономична, но не вышла мускулом.
A7 не ставит точку, но позволяет провести важную промежуточную черту. Да, пока это чисто «научный» проект — в том смысле, что практической пользы от него чуть. Но через три–пять лет, когда мобильная индустрия упрётся в границу 4 Гбайт и вынуждена будет перейти на 64 бита (Android поддерживает ARMv8 с версии 5), когда идея конвергенции десктопа и мобильных систем станет мейнстримом, все мы двинемся тропинкой, протоптанной командой Джобса и Кука.
Где к тому моменту будет сама Apple, можно только гадать.