Las futuras CPU móviles de Arm no admitirán aplicaciones de 32 bits: esto es lo que eso significa

Los futuros chips móviles de Arm no admitirán aplicaciones de 32 bits a partir de 2023, lo que significa que todos los teléfonos inteligentes Android pasarán a 64 bits.

Arm ha anunciado que todos sus diseños de CPU móviles no admitirán operaciones de 32 bits a partir de 2023, en una medida que eliminará por completo la compatibilidad con 32 bits en Android. El diseñador de chips ya movido para eliminar el soporte de 32 bits en sus diseños de chips de gran núcleo en 2020, después de que se introdujera por primera vez la compatibilidad con 64 bits en el mercado de teléfonos inteligentes en 2013. Si bien parece un gran paso, es probable que haya pocas ramificaciones (si las hay) para el ecosistema de Android.

"Bits" se refiere a la cantidad de direcciones de memoria a las que se puede acceder en una máquina. Una máquina de 32 bits puede, en general, acceder a 2^32 direcciones de memoria, lo que equivale a unos 4 GB. Una máquina de 64 bits puede acceder a 2^64 direcciones de memoria, aproximadamente en el ámbito de 18 quintillones. No hay muchos beneficios tangibles para que una aplicación se compile con un conjunto de instrucciones de 64 bits, pero tampoco hay razón para que deba compilarse con uno de 32 bits. Los 64 bits benefician más al sistema operativo, ya que pueden hacer referencia a más de 4 GB de memoria virtual. En diseños de 32 bits, la CPU ARM es capaz de direccionar un máximo de 4 GB de espacio de memoria virtual, que debe compartirse entre los procesos del espacio del usuario, el kernel y los dispositivos de hardware. Los futuros conjuntos de chips móviles de Arm girarán completamente en torno a 64 bits a partir de 2023 (a través de

Autoridad de Android) lo que significa que todo el software que se ejecuta en el dispositivo deberá compilarse con un conjunto de instrucciones de 64 bits.

Android es de 64 bits y las aplicaciones de 64 bits ya son el estándar

Android 5.0 Lollipop sentó las bases para la compatibilidad con sistemas operativos de 64 bits, aunque se mantuvo la compatibilidad con aplicaciones de 32 bits para que aún pudieran ejecutarse. androide 12 Sin embargo, parece ser el primer lanzamiento con versiones completas de 64 bits de aplicaciones y servicios del sistema en todos los ámbitos.

En cuanto a las aplicaciones, allá por agosto de 2019, Google obligó a los desarrolladores para enviar versiones de 64 bits de aplicaciones nativas a Google Play Store. Cualquier aplicación compilada en Java o Kotlin probablemente necesitará muy poco trabajo (si es necesario) para ejecutarse en modo de 64 bits, ya que las aplicaciones compilado en Android Studio usando bibliotecas estándar debería compilarse en 64 bits sin ningún desarrollador intervención. Los propios desarrolladores de aplicaciones y juegos incluso están empezando a dejar de admitir 32 bits, con Niantic en 2020 Prometiendo eliminar el soporte de 32 bits de Pokémon Go también.

En realidad, sólo los desarrolladores que utilizan bibliotecas o motores de juegos de terceros deben preocuparse por la arquitectura para la que está compilada su aplicación. Los principales motores de juegos en Android ya admiten 64 bits, y Unity agregó soporte de 64 bits en 2018, un año antes de que Google lo exigiera en Play Store. Armv8 fue el primer conjunto de instrucciones Arm que admitía operaciones de 64 bits y se anunció en 2011, y Armv9 continúa ese soporte. Google lleva mucho tiempo informando sobre el cambio a 64 bits y ha se comprometió a dejar de ofrecer aplicaciones de 32 bits por completo a partir del 1 de agosto de 2021. La escritura ha estado en la pared para las aplicaciones de 32 bits durante mucho tiempo, y el compromiso de Arm con los 64 bits probablemente no sorprenderá a nadie.

Los chips Cortex-A de Arm serán solo de 64 bits

Los chips anteriores diseñados por Arm podían ejecutar código de 32 y 64 bits y cambiar entre ellos sobre la marcha. Algunos de los primeros SoC Armv8 implementados se utilizaron solo en modo de 32 bits, a pesar de que los diseños de referencia admitían 64 bits. Hoy en día, algunos chips Arm son solo de 32 bits, mientras que otros son solo de 64 bits, aunque los chips de solo 64 bits no se utilizan actualmente en ningún teléfono inteligente. Todos los chips de la serie Cortex-A serán de 64 bits únicamente para 2023 y, como ya sabemos, todos sus núcleos grandes serán de 64 bits en 2022.

Vale la pena mencionar también que los chips Cortex-A se utilizan casi exclusivamente en teléfonos inteligentes, tabletas, y Chromebooks, mientras que los chips Cortex-M son de bajo costo y energéticamente eficientes y se utilizan en aplicaciones como IoT dispositivos. Mientras que los chips Cortex-A reciben el tratamiento de solo 64 bits, los chips Cortex-M son exclusivamente de 32 bits y actualmente no hay planes para fabricarlos solo de 64 bits.

El futuro de Arm en Android

En realidad, nada debería cambiar para el usuario final y es poco probable que haya contratiempos. Google se ha estado preparando para esto durante años y los desarrolladores ni siquiera han podido enviar aplicaciones nativas de 32 bits a Google Play Store durante dos años. No puedo pensar en ningún teléfono inteligente reciente que se haya lanzado solo con 32 bits, ya que todos los teléfonos inteligentes que se me ocurren que se hayan lanzado en los últimos años son de 64 bits. (Con suerte) esta debería ser una transición sin problemas para todos, y es poco probable que afecte a la gran mayoría de los usuarios de teléfonos inteligentes cuando llegue el momento.

Este artículo se actualizó a las 2:18 p.m. ET para corregir algunos detalles sobre 32 frente a 64 bits.