Будущие мобильные чипы Arm не будут поддерживать 32-битные приложения с 2023 года, а это означает, что все смартфоны Android перейдут на 64-битную версию.
Компания Arm объявила, что все ее модели мобильных процессоров не будут поддерживать 32-битные операции с 2023 года, что полностью устранит поддержку 32-битных систем в Android. Разработчик чипов уже перенесено на отказ от поддержки 32-битных версий на своих крупных процессорах еще в 2020 году, после того как в 2013 году на рынке смартфонов была впервые представлена поддержка 64-битной технологии. Хотя это кажется большим шагом, вероятно, для экосистемы Android будет мало последствий (если таковые вообще будут).
«Биты» относятся к количеству адресов памяти, к которым можно получить доступ на машине. 32-битная машина, как правило, может получить доступ к 2^32 адресам памяти, что эквивалентно примерно 4 ГБ. 64-битная машина может получить доступ к 2^64 адресам памяти, что примерно соответствует 18 квинтиллионам. Компиляция приложения с 64-битным набором команд не так уж и ощутима, но и нет причин компилировать его с 32-битным набором команд. 64-разрядная версия приносит больше пользы операционной системе, поскольку может использовать более 4 ГБ виртуальной памяти. В 32-битных конструкциях процессор ARM способен адресовать максимум 4 ГБ пространства виртуальной памяти, которое должно быть разделено между процессами пользовательского пространства, ядром и аппаратными устройствами. Будущие мобильные чипсеты Arm будут полностью ориентированы на 64-битные системы начиная с 2023 года (через
Android 64-битный, и 64-битные приложения уже являются стандартом.
Android 5.0 Lollipop заложил основу для поддержки 64-битных ОС, хотя поддержка 32-битных приложений была сохранена, чтобы они могли работать. Андроид 12 Похоже, это первый выпуск с полными 64-битными версиями системных приложений и служб по всем направлениям.
Что касается приложений, еще в августе 2019 года Google заставил разработчиков отправлять 64-битные версии собственных приложений в Google Play Store. Любым приложениям, скомпилированным на Java или Kotlin, скорее всего, потребуется очень мало усилий (если вообще потребуется) для запуска в 64-разрядном режиме, поскольку приложения скомпилированный в Android Studio с использованием стандартных библиотек, должен просто компилироваться в 64-битной версии без участия разработчика. вмешательство. Сами разработчики приложений и игр даже начинают отказываться от поддержки 32-битных систем, начиная с Niantic в 2020 году. обещают отказаться от поддержки 32-битных игр в Pokémon Go также.
На самом деле только разработчикам, использующим сторонние библиотеки или игровые движки, нужно беспокоиться о том, под какую архитектуру скомпилировано их приложение. Основные игровые движки для Android уже поддерживают 64-битную версию, а Unity добавила поддержку 64-битной версии в 2018 году, за целый год до того, как Google потребовал ее в Play Store. Armv8 был первым набором инструкций Arm для поддержки 64-битных операций, о котором было объявлено в 2011 году. Armv9 продолжает эту поддержку. Google уже давно предоставляет информацию о переходе на 64-битную версию и уже пообещал полностью прекратить обслуживание 32-битных приложений с 1 августа 2021 года. О 32-битных приложениях пишут уже давно, и приверженность Arm 64-битным приложениям, вероятно, ни для кого не станет шоком.
Чипы Arm Cortex-A будут только 64-битными
Предыдущие чипы, разработанные Arm, могли выполнять как 32-битный, так и 64-битный код и переключаться между ними на лету. Некоторые из самых ранних реализованных SoC Armv8 использовались только в 32-битном режиме, несмотря на то, что эталонные конструкции имели поддержку 64-бит. В настоящее время некоторые чипы Arm являются только 32-битными, а другие — только 64-битными, хотя в настоящее время только 64-битные чипы не используются ни в каких смартфонах. Все чипы серии Cortex-A станут 64-битными только к 2023 году, а, как мы уже знаем, все ее большие ядра станут 64-битными в 2022 году.
Стоит также отметить, что чипы Cortex-A почти исключительно используются в смартфонах, планшетах, и Chromebook, тогда как чипы Cortex-M недороги и энергоэффективны и используются в таких устройствах, как Интернет вещей. устройства. В то время как чипы Cortex-A поддерживают только 64-битную версию, чипы Cortex-M являются исключительно 32-битными, и в настоящее время нет планов делать их только 64-битными.
Будущее Arm в Android
Для конечного пользователя ничего особо не изменится, и вряд ли возникнут какие-либо сбои. Google готовился к этому уже несколько лет, а разработчики уже два года не могут представить даже 32-битные нативные приложения в Google Play Store. Я не могу вспомнить ни одного из последних смартфонов, выпущенных только как 32-битные, поскольку все смартфоны, о которых я могу вспомнить, выпущенные в последние годы, являются 64-битными. Это должно (надеюсь) стать плавным переходом для всех, и вряд ли это затронет подавляющее большинство пользователей смартфонов, когда придет время.
Эта статья была обновлена в 14:18 по восточному времени, чтобы исправить некоторые детали относительно 32-битных и 64-битных версий.