AMD Zen – Ryzen, la nueva arquitectura x86
AMD Zen – Ryzen va a revolucionar el mercado de semiconductores en 2017 con su nueva micro arquitectura fabricada en el proceso de manufactura FinFET de 14 nm.
Será crítico para la compañía ejecutar a la perfección el lanzamiento de Zen / Ryzen ya que con él pretende competir en gama media y media-alta con garantías.
AMD no puede supeditar su futuro empresarial a la lucha con Intel en gama baja. En ese segmento ha pasado la última década y le espera poco más que la ruina económica.
La historia reciente de AMD
Desde los éxitos de Athlon, Athlon 64 y Athlon 64 X2, AMD entró en una etapa de complacencia gracias a sus excelentes resultados financieros.
La cancelación del procesador AMD K9 con un diseño de pipeline extra largo al estilo Intel Pentium 4 Prescott o Intel Tejas marcó un punto de inflexión y llegaron las prisas.
El ‘plan B’ fue Phenom 65 nm. Un rediseño ligero del core Athlon 64.
AMD RyZen clúster: 4 cores y 8 MB de L3
El primer error: el AMD Phenom 65 nm – Diciembre 2007
AMD Phenom 65 nm salió al mercado en un estado que me pareció entonces precipitado e inacabado:
- 4 cores derivados de los Athlon 64 con las unidades ALUs y Branch casi invariada.
- Una superficie del die excesiva de 285 mm² que lo hacía realmente caro de fabricar para 450 M transistores.
- El mecanismo de Branch Prediction acusaba un obsoleto diseño frente a los avances de Intel en este campo.
- Una caché L3 de solo 2 MB con una excesiva latencia para servir a 4 cores con 4 L2 de 512 MB. Claramente insuficiente.
- Unas frecuencias máximas de 2.3 GHz. Muy bajas para una CPU fabricada en 65 nm SOI. Por esas fechas los Athlon 64 X2 conseguían ya 3.2 GHz fabricados en el venerable proceso SOI de 90 nm (Athlon 64 x2 6400+).
Además contó con claros errores fruto de falta de tiempo de validación como el famoso TLB Bug o error 298 que lastró su imagen hasta que fue corregido con un nuevo stepping.
Phenom II 45 nm – Enero 2009
Finalmente llegó Phenom II Deneb fabricado en 45 nm con 6 MB de caché L3. Resultó menos costoso gracias a sus contenidos 258 mm² para 758 M transistores.
Aún así Intel gozaba de ventaja con su Core 2 Quad serie 9000 con dos dies dual core y 2 cachés L2 de 6 MB para un total de 214 mm² (total 12MB L2 y 820 M transistores).
Fue todo lo que Phenom debía haber sido en su día pero llegó tarde para AMD. Pudo competir con los Core 2 Quad de 45 nm pero …
La competencia del Intel Core i7 Nehalem 45 nm
… Intel ya ofrecía por entonces los brutales Core i7 Nehalem 45 nm con Hyper Threading (263 mm² y 731 M transistores), sus 8 MB L3 (de bajísima latencia y un ancho de banda increíble para la época) y su triple channel DDR3 asombraban en los benchmarks.
AMD Phenom II fue un excelente procesador. En gama media tuvo un moderado éxito de ventas y AMD supo conseguir un buen compromiso en el nodo de 45 nm.
En pocos meses llevó al mercado derivativas de 4 y 2 cores sin caché L3 y más tarde una exelente versión de 6 cores (AMD Thuban 45 nm) muy optimizada y rápida con los mismo 6 MB L3.
En este punto, AMD tenía dos opciones:
- Seguir iterando el conocido núcleo Athlon 64, con mejoras incrementales, nuevos nodos de fabricación y mayor número de cores por chip. Esta opción no era tan mala como se puede pensar, pues AMD tenía una clara ventaja competitiva: el reducidísimo tamaño (superficie) de un core Phenom II en 32 nm.
- O crear una nueva micro arquitectura.
Se eligió el segundo escenario, pero, en lugar de optar como Intel por un diseño ancho, paralelo y de alto IPC escogió un diseño de alta frecuencia.
AMD Bulldozer 32 nm, segundo error estratégico – Octubre 2011
Bulldozer era el camino más complejo, la micro arquitectura Bulldozer 32 nm basada en un ‘nuevo’ concepto, el CMP.
Un diseño de bajo IPC (instrucciones por ciclo) necesita para ser competitivo frecuencias muy superiores a sus homólogos de Intel.
AMD Bulldozer FX 8150. 4 Módulos, 8 INT cores, 4 L2 de 2 MB y 8 MB L3
El diseño del AMD Bulldozer contaba con varios puntos débiles muy obvios:
- Un pipeline de ejecución que hacía las prestaciones sufrir enormemente con cada fallo de Branch Prediction.
- 2 INT cores por módulo compartiendo, casi peleando por la caché L2.
- Cada INT core estaba dotado solamente de 2 ALUs de procesamiento de enteros y 2 AGUs frente a las 3 + 3 de Athlon y Phenom o las 4 ALU de Intel.
- 1 FPU por módulo (FP SMT) compartida para cada 2 INT cores.
- Sistema de cachés de alta latencia con tamaños L1 y L2 poco lógicos:
- L1d de solo 16 KB.
- L1i de 64 KB para 2 INT cores con asociatividad de solo 2 vías.
- L2 gigantesca de 2 MB con terribles latencias, casi de L3.
- Organización muy ineficiente del bus L1 – L2 mediante WCC (Write Coalescing Cache de 4 KB).
- Muy elevada disipación térmica por diseño.
- Baja eficiencia IPC single thread por lo ‘estrecho’ del diseño, solo 2 ALUs por INT core.
- Un pésimo aprovechamiento de su superficie, haciendo que fuese un chip con un coste de producción excesivo, 315mm², demasiado para 1.2B de transistores y 32 nm SOI.
Los sueños de alta frecuencia de AMD
Se diseñó Bulldozer para frecuencias sobre los 5 GHz, un claro error de previsión.
Ya en esa época lo apunté los errores de concepto en AMD Bulldozer en numerosos artículos.
Bulldozer era una apuesta perdida para competir con los diseños de alto IPC de Intel.
Y ocurrió lo inevitable, Bulldozer no alcanzó su target en frecuencia y se demostró un core realmente lento por ciclo y por core.
Y pese a integrar 8 INT cores en los procesadores AMD FX 8150 frente a 4 de los Intel Core i7, los 4 cores de Intel conseguían casi siempre un mejor rendimiento.
La entonces competencia de Intel, Sandy Bridge 32 nm, estaba a años luz en enteros, gaming, branch prediction y FPU (contaba con proceso AVX de 256 bit).
Además, Bulldozer se mostró ávido en consumo y tenía unas disipaciones térmicas que superaron los 140 W efectivos a frecuencias nominales.
Piledriver. La evolución de Bulldozer – Octubre 2012
Ciertamente AMD puso recursos y Bulldozer fue mejorando, El FX 8350 Piledriver aportó menor consumo, temperatura y mejores prestaciones, pero Intel seguía lejos…
Steamroller, Excavator, Excavator v.2
Más adelante, en Enero 2014 llegó SteamRoller y posteriormente Excavator, ambos fabricados en 28 nm con un proceso optimizado para la GPU Radeon que integraban y buscando una mayor densidad y menor coste.
Tanto SteamRoller como Excavator solo se fabricaron como APUs integrando 2 módulos y 4 INT cores y sin caché L3. Nunca llegaron a procesadores FX de gama alta de 4 módulos con caché L3.
Optimizados para un mejor IPC, con mayores y mejores cachés L1 (pasó de 16 KB L1d a 32 KB y de 64 KB L1i 2 way a 96 KB 3 way), mejoras importantes en Branch Prediction y en la FPU que paso de 4 a 3 pipelines.
Todavía están en el mercado como APUs de sexta y séptima generación.
AMD necesitaba un cambio de mentalidad ciertamente radical y aquí es donde llega Zen / Ryzen con un diseño muy lógico y equilibrado.
AMD Zen / Ryzen. Planteamiento.
- Un diseño ‘ancho’ de 4 pipelines de enteros ALU por core con 2 AGUs.
- SMT de 2 vías por core.
- Un esquema de caché con un diseño de «sentido común»:
- Excelentes L1d 32 KB y L1i 32 KB con altas asociatividades.
- Cada core es independiente y tiene su propia L2 de 512 KB, un tamaño perfecto a mi juicio. (Se pierde el concepto de módulo englobando 2 INT cores, 1 FPU y una L2).
- No me gusta tanto la cache L3 con un diseño victim cache (en un segundo artículo profundizaré sobre ello).
- Un Branch Prediction del S. XXI.
- Unidades de Prefetch modernas.
- Soporte de instrucciones FPU AVX 256 bit.
Y numerosas mejoras que lo convierten en un diseño actual, balanceado y seguramente muy competitivo.
Perspectivas AMD Zen – Ryzen
AMD Zen – Ryzen anuncia un incremento IPC del 40% respecto a Excavator v.2 de 28 nm, lo cual es todo un reto pues los actuales procesadores Intel se encuentra cerca de ese rango.
Esto haría a AMD Zen – Ryzen competitivo no solo en gamas medias si no en alta gama, con los incrementados márgenes que proporciona.
Conclusiones
AMD Zen – Ryzen integrará controladoras DDR4 en socket AM4. Un socket que será común con las APUs basadas en cores Zen / Ryzen y también con las actuales Excavator v.2 de séptima generación que ya están a la venta.
AMD pretende hacer de Zen / Ryzen un core universal, que vaya chips de muy bajo consumo para ultraportátiles, pasando por sobremesa, gama alta y hasta el rango de servidores x86 de alto rendimiento y estaciones de trabajo.
Continuaré en una segunda entrega explorando ya en detalle la micro arquitectura de la gran promesa: AMD Zen / Ryzen 14 nm.
Hasta aquí otro de mis artículos en informaticapremium sobre lo último en hardware, sistemas, almacenamiento, redes, programación, diseño web, recuperación de datos y actualidad del mundo de la técnica y la informática. Nos vemos en breve.
Carlos Yus Valero.