Cada vez con más frecuencia, los fabricantes de equipos de cómputo –teléfonos móviles, tabletas y computadores– anuncian el número de núcleos (o ‘cores’) que tiene un dispositivo, y lo destacan entre sus características: dual-core, quad-core, octa-core… Y aunque para cualquier usuario desprevenido resulta obvio que un procesador con 8 núcleos es mejor que uno de 2, no son tan evidentes las ventajas de la mayor cantidad de núcleos y no se piensa en si tiene desventajas.
Para empezar, conviene recordar un poco las partes que componen un computador y un teléfono inteligente. La CPU –Unidad de Procesamiento Central, por su sigla en inglés– o procesador es el cerebro de los equipos de cómputo. Se encarga de realizar todos los cálculos y de convertir a nuestro lenguaje los datos computacionales que llegan del dispositivo.
Cabe señalar que en los dispositivos móviles hoy no se habla solo del procesador, sino de algo más relevante: el chipset o SoC (System on Chip), que se encarga de orquestar el flujo de instrucciones y datos entre el procesador o CPU y los demás componentes esenciales.
Ahora bien, dentro del procesador existen los núcleos, unidades de procesamiento independientes que permiten ejecutar múltiples tareas en simultánea.
Estos núcleos son los encargados de realizar las operaciones matemáticas necesarias para que el dispositivo funcione correctamente.
Hasta 2005, cada procesador solamente contaba con un núcleo, y la competencia entre los fabricantes se centraba en la frecuencia de reloj –mal llamada ‘velocidad’– que podía alcanzar. Sin embargo, a medida que se llegaba a los límites físicos con la frecuencia, y que se necesitaba aumentar el rendimiento y reducir el tamaño, se encontró que en un procesador podría haber 2 núcleos –y luego, más–, los cuales permitirían realizar tareas simultáneas (aquí surge el concepto de paralelismo) y, por tanto, un mayor rendimiento.
Tan solo hace 15 años, los procesadores se fabricaban con tecnologías de 40 y 65 nanómetros. Sin embargo, hoy existen dispositivos que se fabrican con tecnologías de apenas 6 o 4 nanómetros, lo que permite incorporar más y más núcleos en los procesadores. Hoy, en algunos de los teléfonos móviles más poderosos de 2023 existen procesadores con 10 núcleos, como el Helio X20 y el X30, de MediaTek, mientras que en los computadores ya han llegado los de 16 núcleos, y seguramente los números seguirán creciendo.
Cada núcleo tiene una cierta capacidad para poder desarrollar operaciones más rápidamente. Esta capacidad se mide en MHz (Megahertz) o GHz (Gigahertz). Es una regla general que 1 GHz equivale a 1.000 MHz, y es precisamente esa medida la que vemos comúnmente utilizada para calcular la cantidad de operaciones por segundo que puede realizar un procesador o CPU.
¿Cómo trabajan los núcleos en paralelo?
La mayor ventaja de tener más núcleos en una CPU es que pueden trabajar simultáneamente, para ofrecer un mejor rendimiento general. A continuación presentamos algunos ejemplos de tareas que pueden realizarse al mismo tiempo gracias a la existencia de varios núcleos de un procesador, desde las más comunes hasta algunas sofisticadas o especializadas:
- Reproducir música: Mientras se escucha una canción en una aplicación de música, un núcleo se encarga de procesar y decodificar el audio.
- Navegar por la Web: Al mismo tiempo, otro núcleo puede encargarse de cargar y renderizar las páginas web que se están visitando en el navegador.
- Editar un documento: Si se está trabajando en un documento de texto o una hoja de cálculo, un núcleo adicional puede encargarse de realizar las operaciones necesarias para guardar y procesar los cambios que se están realizando.
- Descargar archivos: Mientras se realizan las tareas anteriores, otro núcleo puede encargarse de administrar las descargas de archivos que se están realizando desde internet.
- Actualizaciones de software: Un núcleo adicional puede encargarse de instalar y aplicar actualizaciones de software en segundo plano sin interferir con el resto de las actividades.
- Protección antivirus: Mientras se realizan las tareas habituales, un núcleo puede estar ejecutando un análisis antivirus para mantener el equipo protegido.
- Compresión o descompresión de archivos: Si se está trabajando con archivos comprimidos, un núcleo puede encargarse de comprimir o descomprimir estos archivos mientras se realizan otras tareas en el equipo.
- Renderizado 3D: Mientras se trabaja en un proyecto de modelado y animación 3D, un núcleo puede encargarse de calcular y renderizar las imágenes y animaciones en tiempo real, permitiendo una vista previa del trabajo.
- Simulaciones científicas: En el ámbito de la investigación, un núcleo puede encargarse de realizar cálculos complejos y simulaciones de sistemas físicos, químicos o biológicos, mientras se analizan los resultados en otro programa.
- Edición de video: Durante la edición de un video, un núcleo puede procesar y aplicar efectos y transiciones en tiempo real, mientras otro núcleo se encarga de la reproducción y previsualización del contenido.
- Inteligencia Artificial y aprendizaje automático: En aplicaciones de Inteligencia Artificial, un núcleo puede encargarse de procesar y analizar grandes volúmenes de datos, mientras otro núcleo se ocupa de entrenar y optimizar algoritmos de aprendizaje automático.
- Virtualización: En entornos de virtualización, un núcleo puede dedicarse a gestionar una máquina virtual, mientras otros núcleos se encargan de mantener el rendimiento y estabilidad del sistema operativo anfitrión.
- Juegos en línea: Durante una partida en línea, un núcleo puede estar dedicado a procesar la física y la inteligencia artificial del juego, mientras otro núcleo se encarga de mantener la conexión y comunicación con otros jugadores.
¿Esto significa que más núcleos es mejor?
Como regla general, octa-core se refiere a un dispositivo con 8 núcleos; quad-core, a uno con 4 núcleos; hexa-core son 6 núcleos, y dual-core son solamente 2 núcleos. Lo más común es ver teléfonos con por lo menos 4 núcleos, debido a la gran relación entre precio y prestaciones.
En ese orden de ideas, podría pensarse que entonces cualquier dispositivo octa-core debe ser más potente que uno con solamente 6 núcleos. Sin embargo, la realidad es un poco más complicada, ya que los fabricantes de procesadores y SoC también deben priorizar el rendimiento de la batería.
MediaTek, por ejemplo, cuenta con la tecnología CorePilot. Esta se encarga de delegar tareas específicas a ciertos núcleos y unidades del teléfono para mejorar el consumo de la batería y aún así cumplir con las expectativas del cliente.
El recientemente lanzado LG Q60, que cuenta con el procesador Helio P22 octa-core de MediaTek, es un ejemplo perfecto de esto. Si bien el dispositivo tiene 8 núcleos, no todos están fabricados para cumplir las mismas funciones. De los 8 núcleos, 4 tienen una velocidad máxima de 2 GHz, mientras que los otros 4 cuentan con 1,5 GHz.
Esto se traduce en que el dispositivo puede asignar tareas distintas a los núcleos dependiendo de cuál es su función. Por ejemplo, puede que para navegar la web y revisar correos no sea necesario usar 2 GHz, entonces el sistema automáticamente lo asigna a un núcleo un poco menos potente pero que igual cumple la tarea sin afectar al usuario.
Por esta razón, no siempre se puede decir que más núcleos equivalen a un mejor desempeño, pues el fabricante puede priorizar la duración de batería u otros aspectos por delante del rendimiento puro. Pero lo cierto es que tener más núcleos trae muchas otras ventajas dependiendo de las funciones integradas en el chipset.
Un ejemplo del impacto que generan los núcleos en un teléfono puede ser el del LG Q60, un teléfono de 8 núcleos de gama media que en su momento dio la pelea frente a teléfonos de gama alta.
¿Esto significa menos duración de batería?
Aunque podría parecer contradictorio, en ocasiones tener más núcleos puede mejorar por mucho el rendimiento de la batería de un teléfono móvil.
Como decíamos anteriormente, es muy común que en un mismo procesador se tengan núcleos con diferentes frecuencias.
Si un celular tiene 4 núcleos que pueden correr a 2 GHz, el uso constante de esta frecuencia hará que la batería se gaste mucho más rápidamente, incluso si solo se hacen tareas básicas como navegar en la Web y revisar correos. Si, en cambio, el teléfono es capaz de asignar estas tareas básicas a los núcleos menos potentes, el consumo de batería será mucho menor.
[su_youtube url=”https://www.youtube.com/watch?v=qLi4Ie7Ynsc&”]
Para mejorar el rendimiento sin sacrificar el consumo, también se cuenta con una característica llamada big.LITTLE. Esta es una arquitectura de procesamiento heterogéneo que usa 2 tipos de procesadores: los procesadores ‘LITTLE’ están diseñados con la mejor eficiencia, mientras que los procesadores ‘big’ son utilizados con el máximo poder de cómputo en mente.
Y aunque pudiera pensarse que entonces el teléfono no es tan rápido como podría serlo, los sistemas inteligentes integrados o chipsets se encargan de cambiar a los núcleos más potentes cuando se realizan tareas más demandantes. Gracias a esto, el teléfono puede utilizar los núcleos menos potentes para tareas básicas y cambiar automáticamente a los más poderosos cuando se reproducen contenidos en alta definición o se abren videojuegos.
Aunque el tema de los núcleos puede resultar algo confuso, es importante por lo menos entender lo básico para hacer una mejor elección a la hora de comprar y conocer así el funcionamiento de nuestros dispositivos.
Entonces, ¿cuál es el mejor número de núcleos?
El número ideal de núcleos de un procesador depende del tipo de tareas que realice el usuario y un aspecto fundamental en regiones como Latinoamérica: su presupuesto.
En general, más núcleos implican un mejor rendimiento, pero también un mayor costo. Para usuarios promedio, 4 núcleos suelen ser suficientes, mientras que profesionales y gamers pueden optar por 6 u 8 núcleos.
Para usuarios que usen su teléfono –o su computador– para tareas cotidianas, 4 núcleos en su dispositivo son suficientes. Sin embargo, para actividades más exigentes como edición de video, juegos de última generación, trabajos profesionales y aplicaciones científicas o de Inteligencia Artificial, la recomendación es optar por el mayor número de núcleos posible. En general, la decisión en cuanto al número de núcleos debe pasar por los requerimientos y el presupuesto.
¿Qué son los hilos de un procesador?
Los hilos de un procesador, también conocidos como subprocesos (‘threads’, en inglés), son secuencias de instrucciones que se ejecutan en un núcleo del procesador. Cada hilo representa una tarea independiente que el procesador debe llevar a cabo, por lo que es esencial para volver realidad el concepto de multitarea, ya que los hilos permiten a los núcleos del procesador trabajar en varias tareas de forma simultánea y eficiente.
La relación entre los núcleos y los hilos es clave. En procesadores básicos, cada núcleo ejecuta un hilo a la vez. Sin embargo, algunos procesadores más avanzados permiten a un núcleo ejecutar 2 hilos de manera simultánea, mejorando el rendimiento y la eficiencia en determinadas tareas.
La capacidad de un procesador para ejecutar múltiples hilos es útil en aplicaciones que requieren alto grado de paralelismo, como edición de video, renderizado 3D y procesamiento de datos a gran escala. Permite, además, optimizar la distribución de las tareas y evitar que los núcleos queden inactivos mientras esperan a que se complete un hilo en particular.
Cabe destacar que el aumento de rendimiento proporcionado por la capacidad de ejecutar varios hilos en un núcleo no equivale a agregar núcleos adicionales al procesador. Aunque mejora el rendimiento en ciertas situaciones, no duplica el rendimiento de un núcleo, ya que los recursos del núcleo siguen siendo compartidos entre los hilos.
Foto: Jason Leung (vía Unsplash).