На шаг впереди: так для чего Apple понадобился 64-разрядный мобильный процессор?

Микропроцессор A7 стал одной из главных изюминок обделённого новизной iPhone 5S. Но при всём техническом превосходстве «первый в мобильной истории», «вдвое более производительный», «десктопного класса» чип выглядит, тем не менее, больше маркетинговой находкой: практической необходимости в 64-битном CPU на смартфоне нет — либо она неочевидна. К констатации этого факта и сводились почти все комментарии первых часов и дней после показа 10 сентября (см. «Налетай, подешевело!»). Однако уже в выходные тон дискуссии сменился. После всесторонней оценки A7 сочтён вещью ещё менее нужной в одной плоскости, но весьма полезной (хоть и с серьёзным оговорками) в другой.

Теорию вы уже знаете, а если не успели, учить там совсем немного. Apple A7 — основанный на спецификациях ARMv8 микропроцессор (точнее, система на чипе, SoC, включающая ещё и графический процессор, оперативную память и прочую обвеску). Однако, поскольку спецификации ARM описывают лишь процессорное ядро, а сам A7 в руках никто из аутсайдеров пока не держал, то и не известно о нём почти ничего. Никто, например, не знает точного количества ядер. Да что там, не знают даже, кто именно его производит!

Утверждать наверняка можно лишь то, что у A7 два набора инструкций, отдельно для 32- и 64-разрядного режимов, плюс несколько вспомогательных наборов, доступных и там и там; что 32-битный код в 64-битном режиме исполняется в виртуальных машинах, организуемых самим процессором под надзором операционной системы; что работает он на частоте, незначительно (предположительно, процентов на 30) превышающей A6, то есть менее 2 ГГц. Наконец, весной мы, вероятно, увидим более мощную версию A7 (A7X?) в новых «Айпадах».

«Бюджетный» 5C уже очевидно провалился. Ритейлеры сразу же заявили, что намерены предлагать его дешевле озвученной Apple цены. А предзаказов за первые сутки было сделано вполовину меньше по сравнению с прошлогодним iPhone 5 — почему Apple впервые за несколько лет и не стала хвастаться цифрой.
«Бюджетный» 5C уже очевидно провалился. Ритейлеры сразу же заявили, что намерены предлагать его дешевле озвученной Apple цены. А предзаказов за первые сутки было сделано вполовину меньше по сравнению с прошлогодним iPhone 5 — почему Apple впервые за несколько лет и не стала хвастаться цифрой.

Что даёт увеличение разрядности процессора с 32 до 64 единиц? Во-первых, возможность оперировать числами вдвое большей длины, откуда двойной прирост производительности и меньший, но заметный выигрыш в энергопотреблении. Во-вторых, 64 разряда обеспечивают прямой доступ к значительно большему объёму оперативной памяти (специалисты говорят, впрочем, что на адресацию в ARMv8 выделено только 48 бит, но и этого достаточно, чтобы обойти ограничение на 4 Гбайт, присущее 32-разрядным процессорам). Проблема лишь в том, что этими преимуществами ещё нужно суметь воспользоваться.

64-разрядная математика пригодится там, где есть потребность в обработке больших массивов данных. Это резко сужает круг приложений, которые выиграют от перехода на 64 бита: к примеру, для офисных приложений (текст, соцсети, коммуникаторы и пр.) выигрыш окажется совершенно незначительным, если будет вообще (о побочных эффектах далее). Базы данных в мобильный сегмент пока не перебрались, так что остаются игры, мультимедиа, криптография, научные инструменты.

Увы, и этот список при ближайшем рассмотрении придётся сильно сократить. Игры, на которых во время презентации новых «Айфонов» Apple сделала особый акцент, традиционно больше выигрывают от мощного GPU, работающего, как теперь и полагается, независимо (графический процессор на 5S поддерживает новейший OpenGL ES 3.0, но больше о нём ничего не рассказали — похоже, как раз чтоб не бросать тень на «супермощный» CPU). Из числа мультимедийных программ 64-разрядность смотрится интереснее всего для синтезаторов звука, однако и там выигрыш не гарантирован. В процессе подготовки колонки я советовался с автором мультиплатформенного (и одного из самых популярных на iOS) синтезатора — и он, опираясь на опыт адаптации приложения для 64-битных x86, выразил сомнение, что практический, полезный выигрыш вообще будет. Кроме того, в A7 интегрирован сигнальный сопроцессор, который возьмёт на себя рутинную работу с камерой/изображениями, а попутно, вероятно, может быть применён и для обработки звука.

170913-1

Остаются наука и криптография. Первое — весьма узкий и малопопулярный пласт софта, а второе опять-таки больше выиграет от имеющихся в ARMv8 криптографических инструкций, которые (как, кстати, и удвоенный набор регистров, и увеличенная точность работы с дробными числами) собственно к 64-разрядности отношения не имеют.

Но отсутствие ощутимого влияния на скорость ли, энергопотребление ли — это ещё полбеды. Принудительный переход на 64 бита обещает массу неприятных побочных эффектов. Прежде всего Apple требует, чтобы каждое 64-битное приложение теперь комплектовалось и 32-битной версией для совместимости со старыми устройствами, что усложнит разработку и сделает размеры программ больше. Поскольку сейчас 64-разрядных программ в Apple App Store фактически нет, с появлением 5S на прилавках среди разработчиков неизбежно начнётся суета — и можно предположить, что значительная часть существующих приложений будет переведена на 64-битные рельсы грубо, чисто механической перекомпиляцией. Что неизбежно аукнется «ожирением»: раз там, где можно обойтись четырьмя байтами, теперь потребуется восемь, как минимум увеличатся системные требования прикладного софта.

Кроме того, A7 спроектирован с прицелом на 64 бита и, работая под 64-битной операционной системой (читайте: iOS 7), 32-разрядные приложения исполняет медленнее, чем они могли бы исполняться в нативном режиме. Совместимость, естественно, обеспечивается ценой некоторых расходов, включая более активное расходование «дисковой», оперативной памяти и процессорного кеша. И при прочих равных может получиться так, что старые (32 бита) приложения будут исполняться на iPhone 5S даже медленнее, чем на оригинальной «Пятёрке».

Вообще-то даже для 32-битного процессора 4 гигабайта — не предел. Старшее поколение наверняка помнит, как проблема ограниченного адресного пространства решалось на прошлом «большом скачке»: 16-битные CPU перепрыгивали границу в 640 Кбайт с помощью страничной организации RAM (драйверов «расширенной памяти»).
Вообще-то даже для 32-битного процессора 4 гигабайта — не предел. Старшее поколение наверняка помнит, как проблема ограниченного адресного пространства решалось на прошлом «большом скачке»: 16-битные CPU перепрыгивали границу в 640 Кбайт с помощью страничной организации RAM (драйверов «расширенной памяти»).

Что касается оперативной памяти, то даже на десктопах пока ещё редко её нужно больше четырёх гигабайт, а смартфонам перешагнуть эту границу и вовсе угрожает не раньше чем через три–четыре года. И дело не только в том, что для комфортной работы мобильному пользователю важнее объём энергонезависимого накопителя (сегодня это «флеш»), но и в том, что оперативная память дорога и энергозатратна. Аккумуляторы же, в том числе на «Айфонах» (ёмкость батареи 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, можно только гадать.

Что будем искать? Например,ChatGPT

Мы в социальных сетях