¿Para qué queremos 10 núcleos en un smartphone?

¿Para qué queremos 10 núcleos en un smartphone?

95 comentarios Facebook Twitter Flipboard E-mail
¿Para qué queremos 10 núcleos en un smartphone?

Hoy se ha presentado el MediaTek Helio X20, un SoC orientado a smartphones y tablets de gama alta que destaca por una característica diferencial: sus 10 núcleos divididos en tres grupos o clústeres. Así tendríamos como primer grupo a cuatro núcleos A53 a 1,4 GHz orientados a una mejor eficiencia energética, un segundo grupo con cuatro núcleos A53 a 2,0 GHz orientados al mejor equilibrio entre eficiencia y rendimiento, y un tercer grupo de dos núcleos A72 a 2,5 GHz orientados a entrar en juego cuando necesitamos la máxima potencia.

Parece que éste lanzamiento de MediaTek pronto se verá acompañado por un modelo de su principal rival: hay rumores sobre una inminente presentación de los Qualcomm Snapdragon 818, que como en el caso anterior tendrán como principal novedad la inclusión de diez núcleos en tres grupos distintos con una configuración algo distinta. Sobre el papel ambos son prometedores, pero ¿qué ventajas nos pueden ofrecer?

Más núcleos, es la guerra

En el mundo de los PCs asistimos durante años a la batalla de los gigahercios. Intel y AMD presentaban nuevos modelos de forma frecuente y siempre con un salto que permitía disfrutar de procesadores a mayores frecuencias de reloj. Aquella carrera acabó siendo abandonada en favor de otra que a la postre sería más lógica: la de los núcleos y la eficiencia energética. En lugar de lograr el núcleo más rápido, el objetivo era lograr diseños multinúcleo que permitieran obtener un buen equilibrio entre eficiencia y potencia bruta.

Mediatek Clusteres

Eso ha hecho que hoy en día nos encontremos con una situación en la que los procesadores para PCs y portátiles se hayan "estancado" en diseños dual-core y quad-core. Los intentos por ir más allá no han cuajado en una industria que parece haber encontrado ese equilibrio perfecto en este tipo de micros que conjugan escalas de integración con arquitecturas y diseños cada vez más eficientes y que desde luego no descuidan la potencia bruta. Hay desarrollos con más núcleos y soluciones de este tipo sobre todo en la supercomputación y en micros orientados a servidores, pero los equipos destinados a usuario final parecen estar "tranquilos" en este apartado.

Helio X20 (MT6797) Helio X10 (MT6795) Snapdragon 808 (MSM8992) Snapdragon 620 (MSM8976) Snapdragon 818 (no oficial)
CPU 4 x Cortex A53 a 1,4 GHz
4 x Cortex A53 a 2,0 GHz
2 x Cortex A72 a 2,3-2,5 GHz
4 x Cortex A53 a 2,2 GHz
4 x Cortex A53 a 2,2 GHz
4 x Cortex A53 a 1,44 GHz
2 x Cortex A72 a 1,82 GHz
4 x Cortex A53 a 1,2 GHz
4 x Cortex A72 a 1,8 GHz
4 x Cortex A53 a 1,2 GHz
2 x Cortex A53 a 1,6 GHz
4 x Cortex A72 a 2,0 GHz
Controlador de memoria 2 x 32 bit a 933 MHz LPDDR3 2 x 32 bit a 933 MHz LPDDR3 2 x 32 bit a 933 MHz LPDDR3 2 x 32 bit a 933 MHz LPDDR3 LPDDR4
GPU Mali T880-MP4 a 700 MHz PowerVR G6200 a 700 MHz Adreno 418 a 600 MHz Adreno 510 Adreno 532
Cámara Doble ISP, 32 MP 13 MP Doble ISP, 21 MP Doble ISP, 21 MP n.d.
Módem integrado LTE Cat. 6 LTE Cat. 4 LTE Cat. 9 LTE Cat. 7 LTE Cat. 10
Tecnología de fabricación 20 nm 28 nm 20 nm 28 nm 20 nm

La batalla en el terreno de los procesadores para dispositivos móviles ha seguido un camino paralelo en muchos apartados, y aunque primero vimos como los diseños iban más y más rápidos, la adopción de diseños de doble y cuádruple núcleo pronto se popularizó. Sin embargo en móviles ha habido un claro movimiento hacia modelos con aún más núcleos, y hoy en día es casi normal encontrar SoCs con ocho núcleos y, como acabamos de ver, con diez núcleos en las últimas creaciones de los principales fabricantes.

¿Aportan algo estos micros de ocho y diez núcleos?

En la informática de escritorio pronto se comprobó que la inclusión de más y más núcleos en los procesadores tenía limitaciones: la computación paralela siempre ha sido un campo muy restringido a entornos académicos y de investigación, y si bien es cierto que algunas aplicaciones domésticas se han abierto al uso de sistemas multinúcleo (aplicaciones de edición de vídeo y rendering, algunos videojuegos), sus resultados no han logrado extrapolarse con demasiado éxito al mundo del usuario final. Un vistazo a la situación actual lo demuestra: en la encuesta hardware que ofrecen en Steam el 48% de los usuarios disponen de máquinas con CPU dual-core, y el 44% cuenta con una CPU quad-core.

Helio X20

Pocas aplicaciones y juegos sacan partido de microprocesadores multinúcleo -no hablemos ya de sistemas operativos-, y no solo hay que tener en cuenta el número de núcleos: los recursos compartidos como la memoria son cruciales en estos sistemas, y aquí entran en juego temas como la conocida Ley de Amdahl en la que se trata de averiguar la mejora máxima de un sistema cuando sólo se mejora parte de este. Al final hay un límite para la paralelización de procesos y tareas, y aunque los fabricantes de hardware hacen esfuerzos en este sentido y ofrecen mecanismos para aprovechar ese paralelismo, el salto a micros con más de cuatro núcleos no ha demostrado ser suficientemente válido en el panorama actual para el mercado de los usuarios finales de informática de escritorio.

En el mercado de la movilidad las cosas son ligeramente distintas, y lo son porque los fabricantes han utilizado una aproximación ligeramente distinta que se ha bautizado como "computación heterogénea". En lugar de añadir más y más núcleos de un mismo tipo, los fabricantes crean grupos de núcleos de distinto tipo y con distinta orientación.

La arquitectura big.LITTLE de ARM es un buen ejemplo de este tipo de diseños y combina núcleos más eficientes pero también más lentos con otros más potentes pero más "glotones" en recursos. El objetivo era "el de crear procesadores multinúcleo capaces de ajustarse mejor a las necesidades dinámicas" de los procesos en cada momento, usando menos energía que los tradicionales métodos de escalado de las frecuencias de reloj.

Ahí es donde entra por ejemplo la tecnología CorePilot de MediaTek, que en los Helio X20 llega a su versión 3.0 y que básicamente se encarga de balancear la carga para conseguir un buen equilibrio en el consumo energético. La promesa de este fabricante es la de que este nuevo balanceador permite ahorrar un 30% de energía con respecto a su predecesor, y aunque habrá que comprobar esa cifra, precisamente la clave está en que este balanceador puede jugar con más combinaciones de núcleos para lograr esa propuesta de rendimiento y eficiencia equilibrados en cada momento.

En Qualcomm no tienen nombre propio para su balanceador de carga, pero utilizan su propia implementación de la computación heterogénea, como hace MediaTek, y la idea es exactamente la misma: la de "jugar" con los núcleos disponibles para que en cada momento y en cada situación la carga que tengamos en nuestro dispositivo móvil sea asumible y ejecutada con el mejor equilibrio de eficiencia y rendimiento.

La computación heterogénea de hecho es la razón de ser de la Heterogeneus System Architecture (HSA) Foundation, un organismo sin ánimo de lucro que agrupa a los principales fabricantes de semiconductores -están todos los grandes salvo, curiosamente, Intel- y que trata de ofrecer un marco consensuado del desarrollo de este tipo de arquitecturas, servicios y herramientas para aprovechar los nuevos diseños y esta tendencia que desde luego parece clara en el mercado de los semiconductores para dispositivos móviles en la actualidad.

Más núcleos = más versatilidad

Al final la conclusión es clara: que un procesador tenga más núcleos no significa que todo vaya a ir más rápido en tu dispositivo móvil. Podrá hacerlo, desde luego, pero eso será más bien responsabilidad de que en esos SoC se integren clústeres con los núcleos más potentes, como ha hecho MediaTek con ese tercer grupo de núcleos Cortex-A72 y como previsiblemente hará Qualcomm con ese rumoreado Snapdragon 818.

Mediatek Eficiencia

La clave de esta carrera por esos desarrollos con más y más núcleos está precisamente en su versatilidad. Tener distintos grupos de núcleos permite que los SoC puedan ajustar su carga en cada momento y asignarla al grupo o grupos de núcleos más adecuados en cada momento, además de ajustar en cada uno de ellos temas como los voltajes y las frecuencias de reloj (o la activación y desactivación de uno o varios núcleos) para que al final la granuralidad y el control fino sea lo más potente posible.

MediaTek precisamente argumentaba en su presentación cómo la utilización de tres grupos de núcleos en lugar de los dos presentes en la arquitectura big.LITTLE representa una ventaja clara en dos campos: el ajuste de equilibrios de eficiencia/rendimiento, y el ajuste de granuralidad en situaciones en las que "solo se necesitan rendimientos medios". Al final más clústeres y más núcleos están orientados a una sola cosa: darnos más opciones y que éstas se traduzcan en una mayor eficiencia y un mayor rendimiento allí donde los necesitemos.

En Xataka | Por qué los núcleos y su frecuencia no lo son todo para un procesador

Comentarios cerrados
Inicio