Соответствующее приложение для разработки доступно в Windows Store в ограниченном режиме для владельцев Windows 8.1 со вчерашнего дня. Пользователям консолей Xbox придётся подождать до января.
64 бит хватит для всего! Но если не хватит, готовы ли мы к 128 разрядам?
Евгений Золотов
Опубликовано 05 декабря 2013
Мы не работаем над 128-битной архитектурой! Так — удивлённо и даже со смешком — прокомментировал вице-президент ARM Holdings мелькнувшее в азиатских СМИ известие о том, что ARM, покорившая 64 разряда в мобильных микропроцессорах, занялась теперь 128 битами. Собственно говоря, с популярной прессы много не возьмёшь; могли и соврать, и додумать, да и аргументация ARM звучит убедительно (64 бита покроют все потребности цифровой индустрии на много лет вперёд), но... Но что если не считать это бредом? Как много смысла (и есть ли он вообще) в разработке микропроцессора общего назначения, способного оперировать числами длиной в сто двадцать восемь бит?
Давайте начистоту: сколько-нибудь ощутимая потребность в таком процессоре на данный момент отсутствует. Для рядового пользователя разрядности как класса не существует давным-давно, со времён миграции на 32 бита (да и они-то в своё время оказались востребованы не сами по себе, а как бесплатная опция к умению новых процессоров защищать память). Массовый компьютерный мир всё ещё живёт в тех же самых 32 разрядах, лишь засматриваясь на следующую ступеньку и не говоря о том, чтобы прыгать через одну. Выбор разрядности за пользователя делают разработчики операционных систем, а они в массе своей всё ещё выбирают 32-битные конструкции (OS X с её «умолчательной» 64-разрядностью не в счёт).
В той же ситуации и программисты, которые давно уже работают с языками высокого уровня и крайне редко (синтез звука, анализ Big Data, кодирование-декодирование мультимедийных потоков, криптография, что ещё?) уходят ниже, к ассемблеру. Если обыватели не видят разрядности, то программеры её не чувствуют, о них заботится компилятор. Почему и принудительный переход к 64 битам на мобильных устройствах — инициированный Apple и подхваченный Intel, обещающей такие чипы уже в следующем году, — для большинства апп-девелоперов, скорее всего, пройдёт без проблем.
Вот так и получается, что даже 64 разряда нам пока не особо нужны, а про 128 и заикаться бессмысленно. Но давайте подойдём к теме с другой стороны. Попробуйте сформулировать, почему разговоры про «мобильную 64-битность» (а каких-то пять–семь лет назад и про 64 бита на десктопе) выводят вас из себя, а упоминание 128 бит кажется пустым дилетантским трёпом? Чем так уж провинились эти самые разряды, что нельзя просто взять и поставить в персоналку — представьте на минутку, что он вдруг появился — CPU с регистрами длиной в шестнадцать байт? Не считая понятных временных неудобств вроде перекомпиляции существующих программ, оптимизации кода для работы с данными большей длины и пропорционального увеличения накладных расходов (размер массивов данных и т. п.) — так вот, не считая этой мелочи, есть два раздражающих момента.
Момент первый — это тот факт, что обозначившаяся за последние годы необходимость в 64 разрядах опять сформирована не столько недостатком производительности, сколько побочным ограничением, а именно нехваткой оперативной памяти. Стараниями PC-вендоров каждый юзер знает теперь, что 32-битные CPU не в состоянии адресовать больше 4 Гбайт напрямую. На самом деле этот лимит сравнительно легко обходится, поскольку речь об ограничении памяти на один процесс, что среднестатистическому пользователю на среднестатистическом программном обеспечении в ближайшем будущем не грозит. Но тем сильнее раздражение: нам снова парят мозг, выдумывая трудности и навязывая «технологию завтрашнего дня», вместо того чтобы оптимизировать существующее железо и заняться наконец оптимизацией софта, разбазаривающего машинные ресурсы.
Момент второй — сравнительное благоденствие, которое мы сейчас переживаем. У микропроцессорных производителей есть ещё резервы и по тактовой частоте, и по количеству ядер (см. «что-либоТерафлопсы для PC: экстремальная многоядерность в действии»), и по энергопотреблению. Работая в этих направлениях, возможно получить ощутимый прирост производительности — без нужды менять собственно в программном обеспечении. Так на кой чёрт даже 64 бита?