Цифровой журнал «Компьютерра» 2013 № 38 (191) - страница 22
Теорию вы уже знаете, а если не успели, учить там совсем немного. 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-битные рельсы грубо, чисто механической перекомпиляцией. Что неизбежно аукнется «ожирением»: раз там, где можно обойтись четырьмя байтами, теперь потребуется восемь, как минимум увеличатся системные требования прикладного софта.