Buscando el trasfondo que permite entender la situación actual de Intel y el tremendo auge de AMD, en la anterior entrada contextualizábamos en grandes términos la situación de Intel. Relatando cómo Intel se encontraba en una situación de dominio absoluto, y cómo esa falsa seguridad de no tener competencia relevante que empañase sus ingentes beneficios, aderezado con unas serie de eventualidades, hacen tropezar a Intel dejando vía libre a AMD.
En 2019 llega Zen2. Zen 1 fue una zancadilla que le puso AMD a Intel pero Zen2 es un rodillazo en la cabeza en toda regla. Mientras Intel sigue sin ver la luz, AMD dobla su apuesta, 16 núcleos para la gama doméstica y 64 para servidores. Una vez más AMD vuelve a duplicar el número de núcleos. Intel definitivamente no puede seguir el ritmo. Se espera que su respuesta sea un procesador de 10 núcleos para la gama doméstica y uno de 48 para la gama profesional, que en realidad no son más que 24 núcleos unidos. Ninguno de ellos es suficiente para superar el rendimiento AMD, además se espera que los precios de estos nuevos procesadores sean estratosféricos y su disponibilidad tan limitada que será como si prácticamente no existieran.
En este momento AMD ya se encuentra en un proceso fabricación de 7 nanómetros que les permite hacer procesadores más pequeños, o dicho de otra forma, obtener más procesadores de la misma oblea de silicio. De esta forma el procesador va a ser más barato de fabricar, además de que se va a necesitar menos corriente eléctrica para alimentarlo y va a generar menos temperatura. Pero sobre todo, al ser más corto el circuito, menos tiempo tardará la corriente en recorrerlo de punta a punta, por lo cual el procesador también va a ser algo más rápido.
Pero os estáis preguntando cómo es que AMD puede aumentar el número de núcleos casi sin esfuerzo. ¿No sufren los mismos problemas que Intel a la hora de fabricar procesadores? ¿Cómo es que Intel no puede hacer procesadores con muchos núcleos pero AMD sí? La respuesta a estas preguntas son los chiplets.
¿Qué son los chiplets?
Para abaratar los costes los nuevos procesadores están hechos de partes más pequeñas, llamadas chiplets, en vez de un chip único y grande (monolítico).
- Los chiplets son componentes independientes que se agrupan para construir un chip más grande.
- Los chiplets son más pequeños y son más fáciles y baratos de fabricar.
Hasta ahora, los procesadores se fabricaban con arquitectura monolítica. El diseño monolítico significa que todos los componentes del procesador (ALU, AGU, CU, cache, etc.) están fabricados juntos y en contacto. Como consecuencia, si alguno de esos circuitos falla, todos quedan inservibles.
A medida que los transistores se han hecho más pequeños, el número de fallos por oblea ha ido aumentando; haciendo que el coste de fabricación de circuitos de manera monolítica sea cada vez mayor. Por otro lado, como los chiplets son fabricados de manera independiente del resto de componentes del procesador, si un chiplet falla, no hay que tirar todo el procesador entero, se sustituye por otro y solucionado.
Apuesta de AMD en los procesos de fabricación para abaratar costes y mejorar su competitividad
AMD es una compañía mucho más pequeña que sus competidores (Intel o Nvidia). No pueden permitirse gastarse tanto dinero como estas, desarrollando arquitecturas, por lo tanto siguen la filosofía de hacer las cosas para durar. AMD no desarrolla una arquitectura pensando que dure dos años y luego desarrolla otra. No puede permitirse hacer esto, AMD desarrolla arquitecturas pensando en que duren al menos una década y fue esa filosofía la que siguieron para crear la arquitectura Zen. ¿Cómo podemos crear una arquitectura que nos dure muchos años y que no tengamos que invertir en dos años un dineral para crear otra arquitectura?
Además por aquel entonces ya se olían lo que ocurriría con los procesos de fabricación. Esperaban que la ley de Moore dejase de estar vigente pronto, por lo tanto su arquitectura tenía que ser capaz de lidiar también con esto y no depender de procesos de fabricación para aumentar el número de núcleos. ¿Y cómo lo hicieron? De una forma muy inteligente, desarrollar procesadores como si fueran un Lego, los chiplets. 😉
El diseño de los procesadores de AMD orientados a la fabricación
En AMD crearon un procesador de cuatro núcleos, este procesador va a ser nuestra pieza de lego. Igual que los legos, podemos juntar piezas para crear procesadores más grandes. ¿Quieres un procesador de ocho núcleos? Pues te junto dos piezas. ¿Quieres uno de 16 núcleos? Pues te junto cuatro piezas. Esto para una empresa las características de AMD es extremadamente interesante porque no tienen que desarrollar toda una gama de procesadores desde 4 a 64 núcleos. No, sólo tienen que centrarse en desarrollar un procesador de cuatro núcleos y luego los unen como si fuesen piezas de lego para crear el resto de la gama. La salsa secreta que hace a Zen funcionar es Infinity Fabric.
Infinity Fabric es la conexión que ha desarrollado AMD para unir esos procesadores de cuatro núcleos, para crear procesadores más grandes. Esta es la primera ventaja de Zen. Desarrollar estos procesadores es más barato y sencillo. Pero pensemos un poco más en esto de las piezas de lego. ¿Realmente me sirven para algo?
Si me ahorro dinero a la hora de diseñar procesadores, pero a la hora de fabricar un procesador de 64 núcleos, sigo teniendo un procesador enorme, es súper difícil y carísimo de fabricar. ¿Cuál es la forma de resolver este problema? Bien, ¿es posible no unir las piezas de lego en el diseño y luego fabricar el procesador; sino hacerlo al revés, fabricar las piezas de lego por separado y después una vez fabricadas unirlas? Es decir, en vez de tener lo que se conoce como un chip monolítico, que es la forma tradicional de fabricar procesadores, no imprimir todo el procesador del tirón. Fabricar cada una de las piezas que forman el procesador por separado y luego soldarlas. La respuesta es, sí se puede y esa es la clave por la que AMD está superando a Intel. Fabricar un procesador de 64 núcleos es muy difícil, es un chip demasiado grande, no es viable fabricar algo así.
Sin embargo AMD no fabrica procesadores de 64 núcleos, AMD fábrica procesadores de 8 núcleos, procesadores pequeños fáciles y baratos de fabricar. Después AMD suelda estos chips de 8 núcleos en un mismo PCB. Para unirlos entre ellos, el primer intento de hacer esto fueron los procesadores Threadripper y EPYC basados en ZEN 1 de hasta 32 núcleos. Eran literalmente cuatro procesadores de 8 núcleos soldados en un mismo PCB y cada uno de esos procesadores de 8 núcleos en realidad internamente eran dos procesadores de cuatro núcleos unidos.
Pero pegar directamente procesadores de ocho núcleos (conocidos como zeppelin), no es demasiado eficiente, esto tiene muchos problemas como lo que estamos duplicando parte del hardware. Un procesador no sólo son núcleos, hay mucho más, como por ejemplo el controlador de memorias para comunicar el procesador con la memoria RAM. Si junto a cuatro procesadores tengo cuatro controladores de memoria. ¿Realmente necesito cuatro? Tengo mucho hardware innecesario. Además esto de tener hardware duplicado crea muchos problemas, porque por ejemplo el controlador de memoria de un núcleo es posible que para acceder a la memoria tenga que acceder en realidad al controlador de memorias de otro núcleo y que ese controlador de memoria sea el que acceda a la memoria. Vamos un lío tremendo y una cosa nada eficiente.
Refinando la fórmula del diseño
Zen 2 la segunda iteración de la arquitectura Zen, es donde está lo realmente interesante. Con Zen 2 en vez de fabricar procesadores completos de ocho núcleos que luego soldamos, vamos a fabricar chipplets, es decir unos chips donde sólo tenemos ocho núcleos. Nada de controlador de memorias, nada más... sólo ocho núcleos y las memorias que necesitan para trabajar. Después vamos a crear otro chip con el controlador de memoria y todas las cosas que necesitamos para conectar el procesador con el resto de componentes del PC. Además este chip va a ser el punto de encuentro de los chiplets, es decir, todos los procesadores de 8 núcleos van a estar unidos a este núcleo central donde habrá una memoria caché dedicada para que los núcleos se comuniquen entre ellos.
¿Cuál es el resultado de todo esto? El resultado es que AMD a diferencia de Intel, no fabrica un procesador de 4 núcleos, otro de 6, otro de 8, otro de 10... y así hasta 28 núcleos. Se necesitan un montón de líneas diferentes para fabricar todos estos procesadores y es mucho lío. No, AMD sólo fábrica chiplets, procesadores de 8 núcleos. Un sólo procesador, todos idénticos y además los chipplets son enanos. Acceso a núcleos y memoria caché es una cosa muy pequeñita, esto hace que se puedan producir chiplets en masa de forma muy barata. Producir chips pequeñitos es rápido y fácil; y además si sólo tienes un modelo de procesador, puedes optimizar toda la cadena de producción para ese procesador haciéndolo de la forma más barata y rápida posible.
Y diréis: pero AMD también tiene procesadores de seis núcleos, por ejemplo los Ryzen 5. Bien, los Ryzen 5 en realidad son procesadores de 8 núcleos pero dos de ellos están desactivados
¿Qué pasa si hay un fallo en la oblea y tienes algunos chiplets donde ha quedado por ejemplo un núcleo defectuoso? ¿Se tira a la basura? No, si sólo hay un núcleo defectuoso desactivas dos y se convierte el chiplet en un chiplet de 6 núcleos y con él creas un Ryzen 5. Y si en vez de fallarte un núcleo, te han fallado tres o cuatro, pues creas un chiplet de cuatro núcleos y creas con él un Ryzen 3. Aquí se aprovecha todo, no se tira nada a la basura.
¿Pero no es esto un desperdicio de dinero? Es decir, desactivar algunos núcleos porque sí. Bueno es que no todos los procesadores salen igual. Hacer procesadores es como hornear galletas, no todas son iguales, algunas salen más grandes otras más pequeñas, algunas más tostadas y otras más crudas. Lo mismo pasa con el silicio, el proceso de creación de los procesadores que se conoce como fotolitografía es imperfecto. Por eso no todos los procesadores quedan iguales. Algunos necesitan más voltaje para funcionar, otros no consiguen alcanzar ciertas frecuencias no importa lo que hagas y algunos directamente no funcionan. Así pues, ¿qué hacen con los procesadores que no son perfectos? Pues los venden como gamas más bajas con algunos núcleos activados y frecuencia más baja, así es cómo nacen las distintas gamas de Ryzen en los procesadores que se fabrican. Son todos iguales, pero los mejores van para un modelo y los peores para otro.
Después también hay que fabricar ese núcleo central, pero la gracia es que ese núcleo central no necesita estar hecho en un proceso de fabricación moderno, ahí no hay núcleos haciendo operaciones. No hace falta un máximo rendimiento o la máxima eficiencia a las máximas frecuencias. No, es una cosa sencilla donde hay controladores y una memoria caché, por lo que se puede fabricar con un proceso de fabricación diferente. Mientras los chiplets se fabrican a 7 nanómetros, el núcleo central se puede fabricar a 12 nanómetros que es más barato. De esta forma, gracias a los chiplets, AMD es capaz de fabricar de forma barata, procesadores con un gran número de núcleos; y es la razón por la que AMD puede vender un procesador de 64 núcleos a mitad de precio de lo que Intel vende un pensador de 28 núcleos. Y también pueden hacer locuras como procesadores de 16 núcleos para la gama doméstica.
En realidad el diseño Mesh de Intel que hemos visto en el anterior artículo es más eficiente que Infinity Fabric de AMD. Las latencias en las comunicaciones entre núcleos son inferiores en el diseño de Intel, pero el diseño de Intel está limitado por los procesos de fabricación y el silicio, por lo tanto aunque en la teoría sea superior, en la práctica Zen 2 le pasa por encima. Ahora bien, no cometamos el error de subestimar a Intel.
Intel han sido los líderes en procesadores durante los últimos 50 años. Es una empresa gigante con muchísimo dinero y los mejores equipos ingenieros del mundo. Además recientemente se han dedicado a fichar talentos de otras empresas. Por ejemplo, Jim Keller el cerebro que estuvo detrás de la arquitectura Zen, tras acabar el desarrollo de Zen, abandonó a AMD y se pasó a Intel.
Intel ya está trabajando en futuras arquitecturas y ha mostrado algunas de ellas, como por ejemplo Foveros, el cual es un diseño de chiplets similar a Zen pero en 3D. Es decir, los chiplets en vez de soldarse todos en un mismo PCB, se pueden apilar unos encima de otros. De esta forma se puede hacer que la conexión entre chiplets sea extremadamente rápida y así el diseño sea mucho más eficiente.
Intel va a responder. AMD les ha pillado en el peor momento que podían pillarles, pero responderán. Tardarán tres o cinco años, pero entre 2021 y 2026 veremos la respuesta de Intel, y de hecho la última vez que AMD puso en aprietos a Intel, la respuesta de Intel fue la arquitectura Core que mandó a AMD al olvido durante casi una década. Pero a diferencia que en aquella época, AMD a día de hoy tiene una hoja de ruta. Es decir, AMD no ha lanzado ZEN 2 y se van a quedar ya ahí, no se van a sentar en el sofá a vender y punto. No, AMD ha anunciado que el diseño la tercera generación de la arquitectura Zen ya ha terminado y la cuarta generación de la arquitectura Zen está ya en fase de diseño. Por lo tanto, en los próximos años vamos a ver una pelea apasionante entre AMD e Intel, lo cual es extremadamente bueno para los consumidores.
Que AMD e Intel compitan va a provocar que lancen mejores productos a precios más bajos. De hecho antes de que la arquitectura Zen llegase al mercado, un procesador de 8 núcleos 16 hilos te costaba 1000€. A día de hoy se han llegado a ver Ryzen 7 1700 por hasta 100€. Se ha dividido entre 10 el precio de ese tipo de procesadores. También antes de que empezase esta competencia entre Intel y AMD el estándar en PC era entre dos y cuatro núcleos. A día de hoy la gama media ya son seis núcleos, y eso tan sólo en 23 años de competencia. Esperemos que AMD e Intel compitan durante muchos años porque nos va a venir muy bien a los consumidores.