AMD Steamroller, primeros detalles oficiales
La conferencia anual “Hot Chips” ha dado inicio y uno de los invitados es AMD, quien representado por Mark Papermaster (CTO), ha dado oficialmente los primeros detalles de su nueva arquitectura Steamroller. Este nuevo núcleo x86 verá la luz en el segundo Q del 2013 y ya promete significativas mejoras versus su antecesor, Piledriver. Además AMD comienza a cerrar su circulo de la “Heterogeneous System Architecture” (HSA), agregando un nuevo concepto llamado “Surround Computing Era”
AMD esta viviendo cambios importantes con el paso de nuevas arquitecturas, conceptos y tecnologías en su abanico de productos. Todos enfocados a integrarse (tanto en hardware como en software) para permitirle tener las nuevas armas de un mercado cada vez más complejo. Su concepto de HSA, ecosistema de de software y hardware, ya se está ejecutando y el primer paso fue la creación del APU. Ahora AMD agrega el concepto de “Surround Computing Era”, que no es más que el ecosistema donde eete hardware ys software se puede ejecutar en nuestra vida diaria. Pero para hacer realidad este mundo es necesaria la creación de un hardware potente y que de las facilidades necesarias al desarrollo de aplicaciones que lo hagan apetecible.
En un principio fue la “fusión” de GPU+CPU con Llano, luego vino el perfeccionamiento y las bases de los futuros chips con Trinity y ahora AMD espera dar un salto en rendimiento, gracias a la arquitectura Steamroller. Con esta nueva arquitectura AMD espera estrenar de lleno su ecosistema HSA, donde la GPU tiene un rol importante.
Como sabemos, Bulldozer fue el diseño inicial de un CPU con muchas falencias pero con una idea auténtica y con ganas de madurar intensamente con el paso de los años. Piledriver es la primera mejora, prácticamente enfocada al consumo y a unos cuantos ajustes menores. Pero Steamroller promete lo que cualquier afanado a la computación espera, un salto importante en rendimiento. Por otro lado esta arquitectura será el salto de los actuales 32nm a los 28nm.
Haciendo cambios en la arquitectura modular
La arquitectura modular de los actuales núcleos es un proyecto aun en desarrollo y una de sus grandes falencias es el hardware compartido de lectura (fetch) y decodificación (decode). Para los actuales núcleos (Bulldozer) tenemos un un decodificador de instrucciones de cuatro vías que puede realizar hasta 16 instrucciones (8 cores), mientras que para los antiguos CPUs Phenom II (6 cores) o los actuales procesadores hexacore Intel, se pueden realizar 18 y 24 instrucciones. Steamroller mejorará esto con el doble de hardware en cada módulo, lo que no significa el doble de rendimiento, pero si un porcentaje de mejora teórico. Ahora cada núcleo tendrá sus vías exclusivas de decodificación, pudiendo los “decode” funcionar en paralelo en lugar de alterna cada dos ciclos (2 núcleos en un módulo). En simples palabras, ya no habrá hardware compartido en el módulo, sino que habrá hardware para cada núcleo del módulo.
En cuanto a las unidades de enteros, no hay cambios pero hay otras mejoras que hacen que el rendimiento aumente. Ahora los archivos de registro de enteros y coma flotante serán más grandes en Steamroller, claro que la falta de una información más detallada sólo nos haría especular de cuanto es el aumento de tamaño. También se aumentaron de tamaño las ventanas de programación/planificación (scheduling), lo que debería permitir una mejor utilización de los recursos de ejecución existentes.
Mejorando la Cache
Con Bulldozer la cache L1 64KB 2-way, era compartida, siendo nuevamente esto un problema. Cada “núcleo” utilizaba uno de estos “ways”, dándole menos caché por núcleo. Esto Steamroller lo mejora con un crecimiento de la Caché de instrucciones L1, pero nuevamente vamos a ciegos con números concretos. Eso sí, AMD asegura que el incremento puede reducir pérdidas de cache de instrucciones hasta en un 30%.
La interfaz de L1 a L2 también fue mejorada. Algunas colas se agrandaron y la lógica se mejoró.
Finalizando, Steamroller introduce un caché L2 de tamaño dinámico, de acuerdo a la carga de trabajo. Con ello un módulo puede elegir cambiar el tamaño de su caché L2 en intervalos de 1/4. Esto, según AMD, permite no sólo mejorar el rendimiento, sino que ayuda a mejorar el ahorro de energía. Aquí el CPU sólo tiene que despertar por cortos periodos de tiempo para correr tareas menores que no merman las grandes tareas que ejecuta la cache L2
Con esto se le da una solución a los grandes gastos de energía que hace la Cache L2 al no estar optimizada para un uso eficiente de recursos.
En cuanto a la cache L3, AMD aun no ofrecerá mayores cambios con Steamroller, ya que esta unidad tiene poco sentido especialmente en los APU para el sector móvil. Además las cargas de trabajo en servidores no son muy sensibles a la latencias, por ello (tanto L2 como L3) no ofrecerán una escalada en latencias más apretadas. El foco de AMD estará por ahora en otro sector de la arquitectura.
Otro de los focos claros de AMD con el paso de cada arquitectura es la optimización del uso de la energía, algo tan vital en los productos portátiles que hacen uso de procesadores cada vez más potentes. Por ello, cada vez que AMD mejora un aspecto de Steamroller, estará detrás la optimización y balanceo de la energía. Esto es parte del mejor uso de recursos de automatización y la reducción de áreas, lo que se traducirá en 15 – 30% de uso de menos energía por operación. Pero también la reducción de energía se traduce ne clocks mas bajos, algo que en portátiles no hace mucho impacto en el rendimiento. De todas formas AMD mantendrá sus diseños Steamroller con ese “ki” de altas frecuencias y seguramente veremos reales mejoras en el consumo en el próximo diseño de arquitectura codename “Excavator”.
Conclusiones
AMD espera realizar cambios significativos en su próxima arquitectura y ya vemos como hace enfoque en las falencias de su actual arquitectura. Además por cada re-implementación de la arquitectura modular, estará acompañada de una optimización del consumo (otro punto bajo en Bulldozer). Esto es rendimiento/ watt mejorado. Algo al que muchos fabricantes apuntan, dado la vitalidad de este aspecto hoy en día.
Si el paso de Bulldozer a Piledriver, fue la optimización en la mejora energética, Steamroller estará más enfocado en la mejora de rendimiento y la educción de áreas. Con esto podemos esperar un salto importante en el IPC, además de un die mucho menor , tanto por la reducción de tamaño (menos transistores) como por el paso al nuevo proceso de fabricación en 28nm.
Pero la pregunta que muchos se harán es si estas mejoras serán suficientes para hacer frente a Intel Haswell.