Android es un sistema operativo que tiene más de 2.500 millones de usuarios en más de 190 países. El principal motivo es que es el sistema elegido por fabricantes de todo el mundo como Samsung, LG, Xiaomi, OPPO y un largo etcétera. Y también porque se puede instalar en teléfonos móviles pero también en relojes inteligentes, tabletas, televisores, altavoces y pantallas inteligentes y otros muchos dispositivos por el estilo.
Toda esa variedad de fabricantes y dispositivos hace que Android deba controlar distintos componentes que conforman esos dispositivos. Cámaras, micrófonos, pantallas, sensores, baterías, memorias y, cómo no, el procesador.
El procesador o CPU es uno de los componentes más importantes ya que se encarga de que todo a su alrededor funcione correctamente. Se encarga de ordenar aplicaciones, tareas, el uso de la memoria, el procesamiento de los gráficos, etc. Se suele comparar al cerebro humano porque es la parte de un dispositivo eléctrico que toma las decisiones. Siendo más técnicos, es un circuito integrado que realiza cálculos y otras instrucciones que recibe por parte del sistema operativo.
Qué es la arquitectura de un procesador o CPU móvil
Por fuera, un procesador, móvil o de otro dispositivo, tiene forma cuadrada, como una pastilla o galleta diminuta. La práctica totalidad de procesadores móviles actuales son de tipo SoC, acrónimo de System on a chip o Sistema en un chip. En ese pequeño cuadrado se integran la CPU con la GPU (procesador gráfico), la memoria RAM y ROM y otros elementos.
Precisamente, ese pequeño chip está repleto de elementos minúsculos que hacen que tu teléfono muestre o grabe vídeo en 4K, reproduzca música con la mejor calidad o puedas jugar a juegos como Fornite o PUBG Mobile sin cortes y con la misma calidad que en un PC o en una consola de videojuegos.
Las partes del procesador pueden ser cachés, núcleos o cores, controles de memoria, unidades de control, decodificadores de instrucciones, unidades de coma flotante o floating point unit, etc. Y los procesadores móviles actuales incorporan elementos como ACP (Accelerator Coherency Port) o SCU (Snoop Control Unit). En la práctica, para saber si un procesador móvil es mejor o peor solemos fijarnos en el número de núcleos que tiene y en su potencia, medida en gigaherzios.
Procesador ARMv8-A Cortex / Raysonho (Wikipedia)Llegados a este punto, conviene saber que la arquitectura de un procesador es su estructura interna. Es decir, cómo están colocados los elementos que hemos mencionado antes. Esa disposición define su arquitectura. Y esa arquitectura condiciona la manera de funcionar el procesador y el sistema operativo y las aplicaciones que usaremos en ese dispositivo. Es decir. Cada arquitectura necesita una versión específica de Android y aplicaciones compatibles con dicha arquitectura.
Cuáles son las arquitecturas de procesador más comunes en Android
Existe una gran variedad de procesadores y arquitecturas, pero lejos de confundirnos o alargarnos demasiado, iremos al grano. Si tienes un PC, por ejemplo, su procesador o CPU seguramente tenga una arquitectura de tipo x86. Es muy potente pero consume batería. Y en la actualidad encontramos esa arquitectura en versión de 32 bits (x86) y de 64 bits (x64 o x86-64).
Si hablamos de Android y procesadores móviles, también podemos encontrarnos con la arquitectura x86 en 32 o 64 bits. Pero la más habitual suele ser la arquitectura ARM, ya que consume mucha menos batería. Con todo, ARM ha sido desbancada por su evolución natural, la arquitectura ARM64. Más potencia y consumo moderado de batería. Para hacernos una idea, a finales de 2022, más del 60% de dispositivos Android tenían un procesador ARM64. Un 19% llevaban procesador ARM (en su versión 7) y x86 no llegaba al 0,15%.
Diferencias entre armeabi-v7, arm64 y x86
Aunque solo hay tres grandes arquitecturas para clasificar los procesadores móviles que usan Android como sistema operativo en dispositivos móviles, puedes encontrarte nombres que den pie a confusión. Principalmente porque indican la versión de la arquitectura. Con x86 lo tenemos fácil. O es x86 o es x86-64. Es decir, x86 en 32 o 64 bits.
Pero en ARM, además de la división ARM y ARM64, en ocasiones verás aplicaciones compatibles con ARM64-v8a, armeabi-v7, etc. Esto significa que hay diferentes versiones del procesador ARM que ha ido evolucionando con los años.
- ARM de 32 bits: ARMv2 (obsoleto), ARMv3 (obsoleto), ARMv4T, ARMv5, ARMv6
- ARM de 32 bits tipo Cortex: ARMv6-M, ARMv7-M, ARMv7E-M, ARMv7-A, ARMv8-R
- ARM de 32/64 bits tipo Cortex: ARMv8-A
Así, si una aplicación dice ser compatible con armeabi, significa que es compatible con teléfonos móviles que llevan un procesador con la arquitectura ARMv5 o posteriores. Y si es más precisa y dice ser compatible con armeabi-v7a, sabremos que es compatible con la arquitectura ARMv7-A. También podemos encontrarnos con ARM64-v8a. Es decir, compatible con ARM de 64 bits en su versión v8a.
Compatibilidades entre arquitecturas: ¿puedo instalar APKs de otra arquitectura diferente en mi móvil?
La gran pregunta. Antes hemos dicho que cada arquitectura tiene sus particularidades. Y esto obliga a Android a ser compatible con esa arquitectura. Y también a las aplicaciones que quieras instalar en ese dispositivo. Sabiendo eso, lo ideal es buscar un instalador APK compatible con la arquitectura de tu Android. Pero no siempre es necesario.
La buena noticia es que si tu teléfono móvil es nuevo, tiene pocos años de vida o sigue en el mercado, cuando descargues e instales un APK, no tengas ningún problema. Los procesadores y arquitecturas suelen tener retrocompatibilidad. Es decir, que las arquitecturas más nuevas pueden abrir aplicaciones pensadas para las arquitecturas anteriores.
Pongamos varios ejemplos. Un procesador ARM64 puede abrir aplicaciones ARM y ARM64. Pero no al revés. Y un procesador ARM64-v8a, salvo excepciones, puede abrir aplicaciones pensadas para armeabi-v7a además de las propias.
El problema de compatibilidad entre arquitecturas se encuentra especialmente en dispositivos antiguos. Si tienes un procesador x86 o x86-64 no podrás abrir aplicaciones ARM o ARM64 salvo que lo indique tu Android. Y entre versiones ARM, si tu procesador es ARMv6, difícilmente podrás abrir aplicaciones para ARMv7 o ARM64-v8.
Cómo averiguar e identificar la arquitectura del CPU de tu Android
Para saber con qué arquitectura trabaja el CPU de tu teléfono móvil o exactamente cuál es el procesador de tu Android tendrás instalar alguna aplicación externa de benchmarking que resuelva esta duda. Según qué modelo de teléfono tengas, esta información también la puedes encontrar en los Ajustes de Android, en el apartado Sobre el Teléfono, aunque a veces estos datos se limitan a informar del número de núcleos del procesador o el nombre comercial del mismo. Ya con ese dato, una búsqueda rápida en Internet te dará su arquitectura. Por supuesto, que siempre puedes consultar las especificaciones de tu móvil en la web del fabricante o en la caja original, si aún la conservas.
Información proporcionada por apps de benchmarking sobre el CPU y su arquitecturaEntre las mejores aplicaciones para encontrar esta información, debemos citar Droid Hardware Info, CPU-Z, DevCheck y AIDA64, que nos ofrecen informes muy completos de todos los componentes hardware de nuestro móvil Android, incluyendo por supuesto el CPU y su arquitectura.