Web Analytics
Conecta con nosotros

A Fondo

La guerra de los cores (ahora en los móviles)

Publicado el
arm-cortex-a15

arm-cortex-a15

Con la reciente salida de los primeros móviles con chip Mediatek MT6592 de ocho núcleos la batalla de los cores está alcanzando su punto álgido y cada vez resulta más complicado saber qué estamos comprando exactamente. ¿Más es mejor? ¿Son más eficientes ocho tractores o un rapídisimo Ferrari? En este artículo especial intentamos explicar de forma sencilla los porqués de esta carrera de los fabricantes y como puede afectar al consumidor final.

Comencemos definiendo unos conceptos muy básicos:

Chip: esa cosa cuadrada y negra que vemos cuando desarmamos un aparato electrónico. Pueden hacer muchas cosas diferentes dependiendo de para qué estén diseñados (procesador, tarjeta gráfica, Bluetooth, WiFi…)

Chipset: un conjunto de chips diseñados para trabajar juntos.

SoC (System-on-a-Chip): Cuando en un solo chip se meten varias funciones, como CPU, gráfica, comunicaciones. Es una tecnología pensada para abaratar costes y está muy presente en dispositivos móviles.

Core: El procesador es el encargado de ejecutar las instrucciones dadas por las diferentes aplicaciones y por el sistema operativo. Un core (o núcleo) se define como el bloque encargado de ejecutar esas instrucciones. Ya son habituales los procesadores con varios cores.

La feroz competencia que vive el sector mobile se mueve en la actualidad en varios frentes; mejores (y más grandes) pantallas, procesadores más potentes y con más núcleos, gráficas capaces de ejecutar entornos 3D con fluidez y, todo ello, intentando reducir el consumo para maximizar la autonomía de los dispositivo. En este artículo nos centraremos en la arquitectura del procesador.

 

Cortex_A15_2

 

¿Son todos los núcleos iguales? Por suuesto que no. Una analogía sencilla puede ser comparar el núcleo con el motor de un automóvil; tanto el Seat Ibiza como el último Porsche llevan uno pero hasta alguien que sepa poco de coches sabe que el rendimiento final es radicalmente distintos.

¿Qué tipos de cores hay? Hay varios pero citando los más habituales podemos destacar los Cortex, presentes en procesadores ARM. Una clasificación en función de la potencia podría ser Cortex-A15, Krait, Cortex-A9, Cortex-A8, Cortex-A7 y Cortex-A5.

Entonces ¿cuál el mejor? Pues como casi siempre depende de lo que estemos dispuestos a pagar tanto en dinero como en autonomía (a más potencia más consumo, más calor generado y menos batería). DMIPS (Dhrystone Million Instructions Per Second) es una unidad de medición que está basada en el banco de pruebas Dhrystone, que se obtiene de dividir el resultado de dicho test entre 1757 (el número de DMIPS que obtiene el VAX 11/780). DMIPS por MHz, en definitiva, es una unidad de medición de rendimiento más fiable que limitarnos únicamente a los megahercios. Esta sería una clasificación aproximada:

  • Cortex-A15: Hasta 4 DMIPS por Mhz y core.
  • Krait: Hasta 3.4 DMIPS/Mhz y core.
  • Cortex-A9: 2.5 DMIPS/Mhz y core.
  • Cortex-A8: 2 DMIPS/Mhz (obsoleto, solo disponible para micros mononúcleo)
  • Cortex-A7: 1.9 DMIPS/Mhz y core.
  • Cortex-A5: 1.57 DMIPS/Mhz y core.

Así, si queremos saber la potencia de la CPU de nuestro móvil solo tenemos que multiplicar DMIPS x Mhz x Core. Un par de ejemplos; el Snapdragon 800 lleva 4 cores Krait hasta 2.3 Ghz por lo tanto su potencia aproximada sería:2300 x 4 x 3.4 = 31188. A su vez, el Snapdragon 200Q lleva 4 cores A5 hasta 1.4Ghz por lo que su potencia aproximada sería:1400 x 4 x 1.57 = 8792

El problema es que, en ocasiones, la fórmula no resulta tan sencilla. El Exynos 5 Octa 5420 es un procesador con ocho núcleos pero nunca funcionan todos al mismo tiempo. Así su potencia real sería el resultado de estas dos fórmulas:

– Cuatro cores A15 hasta 1.8Ghz = 1600 x 4 x 4 = 28800

– Cuatro cores A7 hasta 1.8Ghz = 1600 x 4 x 1.9 = 13680

Conviene tener en cuenta el valor más alto, dado que los cores A7 se reservan para tareas menores cuando el terminal está en reposo como actualizar el correo, controlar las notificaciones de WhatsApp o proporcionar datos de posicionamiento a las aplicaciones que lo demanden, por citar posibles usos.

Actualmente, el el único chip de 8 cores ARM es el MediaTek MT6592 que lleva hasta 8 cores Cortex-A7 de los cuales puede activar 4 para tareas de bajo consumo y 8 para tareas de alto rendimiento. Lamentablemente, todavía hay muy pocas aplicaciones capaces de aprovechar esta arquitectura de forma eficiente. En el vídeo que adjuntamos a continuación podéis ver como Qualcomm explica porqué no siempre más núcleos implica un mayor rendimiento.

 

Dejando a un lado el evidente (y necesario) tinte publicitario del vídeo, merece la pena destacar como se demuestra que más allá del número de núcleos, la variable fundamental es qué son capaces de hacer y cómo el software está preparado para aprovecharlo, siempre con el objetivo final de mejorar la experiencia del usuario final. Un último apunte antes de terminar: Allwinner tiene chips con cores Cortex-A8 (el obsoleto) y A7 pero utiliza una nomenclatura un tanto engañosa; el Allwinner A20, por ejemplo, es un dual core mientras que el Allwinner A12 es un dual core A8.

La próxima vez que veáis un móvil que os guste pensad en qué uso se le va a dar y buscad un poco de información sobre su procesador para saber si será capaz de ofrecer el rendimiento que esperáis. ¡Buena caza!

8 comentarios
  • Geyper

    Magnifico articulo, muy clarificante.

  • menxo

    lo que se refiere a los multinucleos en mobiles me parece exagerado. dos deberia ser el limite. pero cuando veo hablar de un exacore en un telefono (android) me lleva a pensar lo malo que es android y exigente que es.

    mas del 50% de las notebooks tiene dual cores. otro poco tendra quad cores. pero exacores es altamente dificil encontrar (hasta en las desktops)

  • jftavira

    Menxo, el tema de los cores en móviles es como en los PC. Cuando no se puede subir más Ghz de velocidad hay que buscar otras soluciones. El primer paso fue más cores, llegados a 4 para subir inventaron BIG.litte: cuatro cores de alta potencia y cuatro cores de baja potencia para cuando esté en reposo.
    Las aplicaciones no suelen usar todos los cores, ni siquiera en un PC (escribo desde un portatil Quad-core que tiene ya año y medio) pero el Sistema Operativo si se encarga de distribuirlos entre varias aplicaciones con lo que en realidad la culpa hay que echarsela a Android no a las aplicaciones.
    Además poco a poco iremos viendo la convergencia móvil-tablet (yo tengo un Zopo de 6″ el de mi otro artículo) y creo que en no mucho tiempo podremos usar el móvil casi para todas las tareas de ofimática.
    Juan

  • menxo

    pero lo que me refiero es lo exagerado de utilizar tantos nucleos para poder mover (sin que se ofenda nadie) un sistema operativo «movil» de juguete como ejemplo android.

    recuerdo como todo el mundo se quejaba de ejemplo de windows vista de lo pesado y consumidor de recursos pero no se quejan de android.

    he leido que hay telefonos con 1.7 doble nucleo en un telefono. yo actualmente tengo esa velocidad en mi portatil y tengo que mover un so llamemosle pesado (cosa que no lo es tanto) como windows 8 y me da como risa ver que un telefono tiene exacore y con 3 gigas de ram si mi pc va «ligero» con 2 nucleos.

    si no fuera por android (podemos echarle tambien la culpa a ios y porque no a windows phone) existirian telefonos inteligentes que durarian posiblemente de 3 dias a 1 semana sin recargar.
    saludos.

  • jftavira

    La triste realidad de los sistemas operativos móviles es que no son sistemas operativos móviles. Son sistemas operativos de PC adaptados a móviles. Un SO móvil es Symbian y sus sucesores como Nokia Asha, también blackberry, etc. Lo más parecido a un sistema operativo móvil moderno era Maemo, que ahora se ha reencarnado en Sailfish (Jolla) o quizá Blackberry X que está basado en QNX (sistema operativo en tiempo real) aunque esto es discutible.
    La cantidad de optimizaciones que se pueden hacer en un SO de móvil son increíbles pero a día de hoy es que ya nadie programa, sólo codifican: es decir no se piensa en optimizar recursos y mejorar algoritmos.
    Un día hablaré de Dalvik o de la programación en iOS y las similitudes con las mejoras java JIT o C#…

  • jftavira

    Además me temo que la potencia de un ARM a 1.7Ghz no es comparable en casi ningún aspecto a un PC con un x86-64 a 1.7Ghz, ARM es mucho más lento en muchas operaciones, soporta modelos de memoria más lentos, etc.

  • Mirage

    diciendoque un arm no se comprara con un x86, dirñe que no importa cuantos cores tengas, nunca se acercara a la fluides de iOS y wondows phone en la mitad de ese HW.

  • jftavira

    Te doy la razón, pero eso no quita que pare elegir la guía siga siendo válida. De cualquier manera es mucho más fácil hacer software para un único tipo de terminal (como hace iOS y Windows Phone) que para todas posibilidades.

Lo más leído