¿Cuál es el número de núcleos ideal en un procesador de escritorio?

Desde que el escalado de Dennard se rompió a mediados de los 2000 que el avance en las CPUs dejó de basarse en la velocidad de reloj para basarse en los diseños multinúcleo y generación tras generación hemos ido viendo como el número de núcleos ha ido evolucionando, pero, ¿existe un ideal en el número de procesadores?

Antes de nada hemos de aclarar que este artículo no va sobre que lo que limita físicamente el número de núcleos de un procesador, sino sobre si existe una configuración que independientemente de este límite la cual podría ser la ideal y por tanto con la que los diseñadores y fabricantes de chips estén más cómodos.

¿Son 8 el número de núcleos grandes ideal?

CPU Reverso Render

Uno de los cambios que vamos a ver es la adopción de configuraciones heterogéneas en las CPUs para PC, algo que sabemos de cara a la arquitectura Intel Alder Lake y que se rumorea para futuros procesadores de AMD. Lo cual significa que se van a aumentar la cantidad de núcleos, pero no se van a agregar núcleos de la misma complejidad, sino mucho más simples.

Hay dos motivos por los cuales se pueden añadir estos pequeños núcleos. Por un lado, que se encarguen de las instrucciones más simples, para las cuales los núcleos de CPU más complejos no obtienen ventaja en velocidad, pero sí que tienen desventaja en el consumo energético de cada instrucción. Por el otro que existan hilos de ejecución o procesos de los diferentes programas que son enviados a un tipo de núcleo u otro.

La adopción de esta estrategia a futuro por parte de Intel y AMD esconde un mensaje claro, el hecho que no vamos a ver un salto más allá de los 8 núcleos como tamaño estándar de las CPUs para PC. Bien es claro, que será posible comprar configuraciones con un mayor número de núcleos, tenemos el caso de los futuros Intel Alder Lake donde la medida de núcleos «grandes» es de 8. 

Núcleos pequeños versus multihilo

big.LITTLE Diagram

El multihilo en cualquier tipo de procesador se basa en utilizar los tiempos muertos o las burbujas de ejecución de un procesador para ejecutar un hilo de ejecución totalmente independiente al primero. El hecho que una CPU de x núcleos ejecute 2x hilos de ejecución no significa que vaya el doble de rápido.

A los ojos del sistema operativo las CPUs en modo multihilo se ven como núcleos adicionales. Sería físicamente posible aumentar la cantidad de hilos de ejecución de un núcleo de CPU, pero estos dependen de las burbujas creadas por los anteriores hilos de ejecución. Por eso es mucho más eficiente añadir más núcleos de menor potencia que aumentar la cantidad de hilos de ejecución.

Por lo que la cantidad de núcleos pequeños puede aumentar en los próximos años, no en vano los sistemas operativos y los programas a día de hoy están compuestos no por un solo hilo de ejecución, sino por decenas de estos de menor tamaño que se pueden ejecutar fácilmente en esos pequeños núcleos. Los cuales van a ir cada vez más en crecimiento.