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.

Además se hizo más eficiente la gran unidad de coma flotante compartida en cada módulo. Eso si, no hay cambios en las capacidades de ejecución del FPU, pero se redujo el área total y con ello se optimiza el rendimiento por watt. La unidad MMX ahora comparte algo de HW con los “pipes” FMAC de 128-bits. AMD no dio mucha información al respecto y sólo se informa de que ahora el hw que se comparte sólo corresponde a operaciones MMX/FMA/FP, por lo que no habría mucho impacto en el rendimiento.
La reducción de recursos, ahora debería entregar el mismo rendimiento utilizando una menor energía y área, lo que corresponde básicamente a una implementación más inteligente del FPU Bulldozer/Piledriver.

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.