Przyszłe chipy mobilne Arma nie będą obsługiwać aplikacji 32-bitowych od 2023 roku, co oznacza, że wszystkie smartfony z Androidem przejdą na wersję 64-bitową.
Firma Arm ogłosiła, że od 2023 r. wszystkie jej projekty procesorów mobilnych nie będą obsługiwać operacji 32-bitowych, co całkowicie wyeliminuje obsługę 32-bitową w systemie Android. Projektant chipów już przeniesiono do eliminacji obsługi wersji 32-bitowej nad projektami swoich dużych układów scalonych już w 2020 r., po tym jak w 2013 r. po raz pierwszy na rynku smartfonów wprowadzono obsługę technologii 64-bitowej. Choć wydaje się to dużym posunięciem, prawdopodobnie będzie miało kilka konsekwencji (jeśli w ogóle) dla ekosystemu Androida.
„Bity” odnoszą się do liczby adresów pamięci, do których można uzyskać dostęp w maszynie. Maszyna 32-bitowa może ogólnie uzyskać dostęp do 2^32 adresów pamięci, co odpowiada około 4 GB. Maszyna 64-bitowa może uzyskać dostęp do 2^64 adresów pamięci, mniej więcej w zakresie 18 kwintylionów. Kompilacja aplikacji przy użyciu 64-bitowego zestawu instrukcji nie przynosi zbyt wielu wymiernych korzyści, ale nie ma powodu, dla którego miałaby być kompilowana przy użyciu zestawu instrukcji 32-bitowego. Wersja 64-bitowa przynosi większe korzyści systemowi operacyjnemu, ponieważ może odwoływać się do ponad 4 GB pamięci wirtualnej. W konstrukcjach 32-bitowych procesor ARM jest w stanie zaadresować maksymalnie 4 GB przestrzeni pamięci wirtualnej, która musi być współdzielona pomiędzy procesami przestrzeni użytkownika, jądrem i urządzeniami sprzętowymi. Od 2023 roku przyszłe chipsety mobilne Arma będą całkowicie oparte na procesorach 64-bitowych (via
Władze Androida), co oznacza, że całe oprogramowanie działające na urządzeniu będzie musiało zostać skompilowane przy użyciu 64-bitowego zestawu instrukcji.Android jest 64-bitowy, a aplikacje 64-bitowe są już standardem
Android 5.0 Lollipop położył podwaliny pod obsługę 64-bitowego systemu operacyjnego, chociaż utrzymano obsługę aplikacji 32-bitowych, aby mogły nadal działać. Androida 12 wydaje się jednak pierwszą wersją zawierającą pełne 64-bitowe wersje aplikacji i usług systemowych.
Jeśli chodzi o aplikacje, już w sierpniu 2019 r. Google wymusił na programistach w celu przesyłania 64-bitowych wersji aplikacji natywnych do Sklepu Google Play. Wszelkie aplikacje skompilowane w języku Java lub Kotlin będą prawdopodobnie wymagały bardzo niewielkiej pracy (jeśli w ogóle) do działania w trybie 64-bitowym, ponieważ aplikacje skompilowany w Android Studio przy użyciu standardowych bibliotek powinien po prostu skompilować się w wersji 64-bitowej bez żadnego programisty interwencja. Sami twórcy aplikacji i gier zaczynają nawet rezygnować z obsługi wersji 32-bitowej, wprowadzając Niantic w 2020 roku zobowiązując się do rezygnacji z obsługi 32-bitowej wersji Pokémon Go również.
Tak naprawdę tylko programiści korzystający z bibliotek lub silników gier innych firm muszą się martwić o architekturę, dla której została skompilowana ich aplikacja. Główne silniki gier na Androida obsługują już wersję 64-bitową, a Unity dodało obsługę wersji 64-bitowej w 2018 r., cały rok, zanim Google wymagało jej w Sklepie Play. Armv8 był pierwszym zestawem instrukcji Arm obsługującym operacje 64-bitowe i został ogłoszony w 2011 roku, oraz Armv9 kontynuuje to wsparcie. Google już od dłuższego czasu podaje informacje o przejściu na wersję 64-bitową i tak się dzieje zobowiązał się do całkowitego zaprzestania udostępniania aplikacji 32-bitowych od 1 sierpnia 2021 r. O aplikacjach 32-bitowych mówi się już od dłuższego czasu, a zaangażowanie Arma w rozwiązania 64-bitowe prawdopodobnie dla nikogo nie będzie szokiem.
Chipy Arm Cortex-A będą wyłącznie 64-bitowe
Poprzednie układy zaprojektowane przez Arma mogły uruchamiać zarówno kod 32-, jak i 64-bitowy i przełączać się między nimi w locie. Niektóre z najwcześniej wdrożonych układów SoC Armv8 były używane wyłącznie w trybie 32-bitowym, mimo że projekty referencyjne obsługują tryb 64-bitowy. Obecnie niektóre chipy Arm są tylko 32-bitowe, inne tylko 64-bitowe, choć obecnie te chipy 64-bitowe nie są używane w żadnym smartfonie. Wszystkie chipy z serii Cortex-A będą 64-bitowe dopiero w 2023 roku, a jak już wiemy, wszystkie jego duże rdzenie będą 64-bitowe w 2022 roku.
Warto również wspomnieć, że chipy Cortex-A są stosowane niemal wyłącznie w smartfonach, tabletach, i Chromebookach, podczas gdy chipy Cortex-M są tanie i energooszczędne, stosowane np. w IoT urządzenia. Podczas gdy chipy Cortex-A są traktowane wyłącznie jako 64-bitowe, chipy Cortex-M są wyłącznie 32-bitowe i obecnie nie ma planów, aby były one wyłącznie 64-bitowe.
Przyszłość Arma w Androidzie
Tak naprawdę nic nie powinno się zmienić dla użytkownika końcowego i jest mało prawdopodobne, że wystąpią jakiekolwiek problemy. Google przygotowywał się do tego od lat, a deweloperzy od dwóch lat nie mogą nawet przesłać do sklepu Google Play nawet 32-bitowych aplikacji natywnych. Nie przychodzą mi na myśl żadne najnowsze smartfony, które zostały wprowadzone na rynek wyłącznie w wersji 32-bitowej, ponieważ wszystkie smartfony, które mi przychodzą na myśl, które zostały wypuszczone w ostatnich latach, są 64-bitowe. Powinno to (miejmy nadzieję) być płynnym przejściem dla wszystkich i jest mało prawdopodobne, że wpłynie to na zdecydowaną większość użytkowników smartfonów, gdy nadejdzie czas.
Ten artykuł został zaktualizowany o 14:18 ET, aby poprawić niektóre szczegóły dotyczące wersji 32-bitowej i 64-bitowej.