Chiplets: ¿son la solución para extender la Ley de Moore?

Con la aparición de los primeros detalles sobre la arquitectura AMD Zen 2, un nuevo componente interno de estos procesadores ha saltado a la luz: los chiplets. Pero, actualmente entre los usuarios hay más dudas que respuestas al respecto de estos componentes, y del decisivo papel que podrían jugar en el futuro diseño de los procesadores. Esto es lo que vamos a desarrollar en este tutorial.
¿Qué son los chiplets?
Los chiplets son una parte de un chip mucho más grande, que está compuesto de múltiples de éstos. Como tales, pueden tener muchas funciones, dependiendo del componente que ayuden a constituir. El chiplet forma parte de un todo modular, al cual se puede conectar y/o desconectar, sin tener que modificar la arquitectura interna del mismo, ni su funcionamiento. Por ejemplo, los procesadores de la arquitectura Zen están construidos a base de chiplets (los CCX), los cuales se pueden agregar o desactivar, en función del tipo de procesador que queremos fabricar.
En el caso de la arquitectura Zen 1, todos los chiplets están conectados entre ellos empleando un sustrato (interposer) por el cual discurre el bus Infinity Fabric. Es a través de este bus que todos los CCX pueden compartir información, pero con el riesgo de incurrir en latencias, cada vez que los datos tienen que saltar entre los CCX.
¿Por qué AMD cree que el futuro está en los chiplets?
A medida que se ha ido reduciendo el tamaño de los transistores, ha comenzado a ser mucho más difícil fabricarlos. Esto ha hecho que el precio de éstos y las tradicionales arquitecturas monolíticas como se han desarrollado hasta ahora los procesadores, haya comenzado a ser prohibitivamente alto, tanto de desarrollar como de fabricar. Este hecho está frenando, en cierta medida, el desarrollo de la informática. Los chiplets presentan la ventaja de ser posible fabricarlos de manera independiente al resto de componentes del procesador. Y, dado el pequeño tamaño de cada chiplet, es factible que de una única oblea se puedan recuperar un mayor número de chiplets útiles que de procesadores completos, si se fabrican siguiendo la arquitectura monolítica que se ha empleado hasta ahora. Es más, estudios realizados a este respecto, muestran que a base de chiplets, el rendimiento por oblea puede ser de hasta un 15% superior a la fabricación empleando técnicas de los procesadores monolíticos.
Y es que, el problema de las arquitecturas monolíticas que emplea Intel, es que, o te sale perfecto el procesador, o lo tienes que tirar. Sí, es cierto que puedes deshabilitar núcleos que no funcionen correctamente, y vender el procesador como una gama más barata. Pero, desde el punto de vista de los negocios no es algo muy productivo.
Por otro lado, la aproximación que hace AMD al problema del rendimiento en los procesadores es novedosa en cuanto a que, para crear procesadores más o menos potentes, solo debe de montar o quitar CCX del procesador. Esto simplifica mucho todo el proceso de fabricación de los procesadores, permitiendo una flexibilidad que no se tenía hasta la fecha. Es más, los nuevos chiplets que emplea AMD, contienen tan solo los núcleos y un I/O básico para poder comunicarse con el hub central, que es en realidad quien gestiona todos los I/O del procesador. Al estar los CCX tan destripados de funciones, el diseño y la fabricación de éstos es muy sencillo, lo que abaratará costos.
Otra de las ventajas de emplear chiplets en un procesador estriba en que el binning de los núcleos suele arrojar mejores resultados. Nos explicamos. Uno de los problemas de las arquitecturas monolíticas es que la frecuencia final del procesador viene determinada por la máxima frecuencia que puede alcanzar el núcleo más lento dentro del procesador. Por ejemplo, da igual tener un procesador en el que 7 de sus núcleos pueden llegar hasta los 4 GHz, que si en él hay un núcleo que solo llega hasta los 3,5 GHz, esa es la máxima frecuencia la cual lo vas a poder vender. A no ser que desactives el núcleo problemático, pero entonces tendrás que vender el procesador como uno de gama inferior.
Sin embargo, cuando se sigue la aproximación modular que permiten los chiplets, es más fácil conseguir encontrar entre todos los que se han producido en la oblea, aquellos que funcionen a la misma frecuencia. Esto da, como resultado, un mayor rendimiento de procesadores útiles para poder venderlos. Dicho de otra manera, de una sola oblea se pueden sacar mayor número de procesadores con frecuencias elevadas, como demuestra la anterior gráfica.
Cuál es el problema que hay con la Ley de Moore
La Ley de Moore, enunciada por Gordon Moore (uno de los fundadores de Intel) estipula que cada dos años, el número de transistores dentro del núcleo de un procesador se doblaría, a la vez que su tamaño se reduciría. Y esto ha sido correcto desde hace 50 años hasta hace solo unos cuantos años.
Más concretamente, hasta cuando Intel pretendió pasar de su nodo de 22 nanómetros al de 14 nanómetros, y se dieron cuenta que el proceso era mucho más complejo de lo que inicialmente pensaron en su momento. Como podéis ver en la gráfica, el número de transistores dentro del procesador se ha disparado muchísimo, al igual que lo han hecho el número de núcleos que hay dentro de cada procesador (recordemos que los nuevos AMD EPYC tendrán hasta 64 núcleos dentro del mismo procesador). Sin embargo, los incrementos de las frecuencias de los procesadores cada vez están más asociados a las arquitecturas internas de éstos y a las reducciones del nodo de fabricación.
Por tanto, si cada vez es más complejo meter más transistores dentro del núcleo, cuando este es monolítico, lo ideal sería tener muchos sub núcleos, conectados entre sí. De esta manera, se puede seguir aumentando el número de transistores dentro del propio núcleo del procesador, a base de incluir más de estas unidades en su interior.
Problemas que trae el uso de chiplets en los procesadores
El gran problema que tienen todos los procesadores con arquitectura multi chip, ya sean los AMD Zen o los Intel Cascade Lake AP es la latencia que se genera cada vez que los datos tienen que pasar de un chiplet a otro. Estas latencias acaban mermando el rendimiento general del procesador.
Estas latencias podrían tener solución si AMD, en lugar de usar un sustrato orgánico con el bus Infinity Fabric, empleara un sustrato de silicio con una topología diferente a la de malla (que es la peor de todas). De hecho, ya se han investigado topologías con sustratos activos que prácticamente reducen al mínimo las latencias en la comunicación entre los chiplets del procesador. Y quizás esta sea la clave de la nueva arquitectura Zen 2.
No debemos confundir chiplet con chipset
Aunque suenen similar, no es el primero que confunde los términos, cuando la realidad es que no puede haber términos más dispares. El chiplet, ya os hemos explicado en lo que consiste. El chipset, al menos en las placas base modernas, es el hub al que se conectan los puertos USB, SATA, de la tarjeta de red y las PCIe (al menos, aquellas que no van conectadas directamente al procesador). De hecho, el chipset actual desempeña las funciones que antiguamente desempeñaba el antiguo South Bridge de las placas base, antes que el North Bridge fuera absorbido en el interior del procesador.
De hecho, el hub I/O de los procesadores AMD EPYC Rome nos recuerda bastante a las funciones que realizaba antiguamente el North Bridge, al aunar en un solo chipset todas las funciones del controlador de memoria y diferentes funciones de I/O necesarias para que el procesador realice correctamente su función. Pero eso es un tema que vamos a tratar en otro tutorial, más adelante.