jueves, 2 de febrero de 2017

AMD Bulldozer: HotChips23 – LowLevelHardware

Estos días se está celebrando el HotChips 23, una de las convenciones anuales donde se discuten los nuevos diseños de procesadores de sobremesa, servidores, memorias, procesadores de bajo consumo para dispositivos móviles… todo lo relacionado con el mundo del silicio en 2011.

Y claro está, también ha habido alguna nueva información sobre Bulldozer y mucha viejas ideas “refritas” sobre este nuevo core. Lamentablemente, ninguna estimación prestacional, puro silicon para entendidos en la materia.

AMD ha entrado en detalle en algunos aspectos del diseño del chip Zambezi (4 módulos y 8 INT cores) fabricado por Global Foundries en 32 nm SOI HKMG.

Nuevas fotografías del die de Bulldozer

En este slide de la presentación en HotChips vemos una nueva toma del die de Bulldozer.

640_1

Aparece con mayor altura que en anteriores vistas, si comparáis con anteriores artículos míos veréis claramente la diferencia. No hay modo de saber cual es la correcta, si esta o las antiguas (más alargadas), hasta que haya samples comerciales.

Ampliación del die:

640_2

Lo que me llama poderosamente la atención es la grandísima cantidad de espacio desaprovechado: No utilizado ni por cores (lógica) ni cachés ni por las controladoras de memoria y buses Hyper Transport 3.

En varios de mis numerosos artículos sobre Intel Sandy Bridge, mencioné el enrutado de todo el cableado del Ring Bus bajo la caché L3. Todo este esfuerzo de ingeniería se realizó para ahorrar espacio de die y reducir el tamaño de Sandy Bridge. Cito textualmente (Extraído de Microarquitectura Intel Sandy Bridge. Parte 1. Actualizado – LowLevelHardware. Martes 14 de septiembre de 2010):

Lo más llamativo del bus en anillo de Sandy Bridge (y Nehalem EX) es su implementación respetuosa con el consumo y el área de die, me explico:

Todos recordamos el famoso procesador Radeon HD 2900 de ATI con un ring bus de 512 bits, que debido a su desmesurada disipación térmica y consumo no pudo competir con sus análogos de nVidia hasta que ATI lo eliminó sustituyéndolo por una arquitectura convencional en su serie Radeon HD 3800.

En Sandy Bridge Intel ha utilizado power gating y clock gating extensivamente, además de aplicar un voltaje bajísimo al ring bus para conseguir una disipación térmica muy baja.

Por otro lado, es un dato muy importante, según los ingenieros de Intel, no ha representado un incremento de área ya que la infinidad de conductores necesarios para el Ring Bus se enrutan por otras capas del diseño bajo la caché L3. “

AMD simplemente no dispone de los extensos recursos económicos y humanos de Intel y no puede permitirse el lujo de este tipo de optimizaciones, bastante tiene con llevar a cabo el diseño de un semiconductor de tal complejidad como Bulldozer.

El espacio “muerto” lo he coloreado en GRIS, son muchos, muchos mm2:

640_2B

Superficie del die de AMD Bulldozer

Por fin conocemos el verdadero tamaño de Bulldozer y debo decir que estoy algo decepcionado: nada menos que 315 mm2… muy caro de producir.

Bulldozer_Die_size

Estoy convencido de que AMD sin duda optimizará este diseño en sucesivas iteraciones (con el paso a 22 nm en un par de años) e incluso antes con el lanzamiento de la versión de 5 módulos y 20 cores producida también en 32 nm.

Infraestructura de AMD Zambezi. AM3+

640_3

Como vemos la versión de sobremesa de Bulldozer solo activa uno de los 4 enlaces HT3 para comunicación con el chipset (los demás permanecen deshabilitados, en su versión Opteron se utilizan como conexión directa con hasta tres chips más).

La latencia L3 se me antoja como he comentado en numerosas ocasiones muy alta, creo firmemente que rondará los 50+ ciclos.

640_4

Ni rastro de las extrañas AGLU, ahora las llaman AGen, es decir una normal y corriente AGU. Además solamente hay dos pipes de enteros (INT pipes) una con circuitería MUL y la otra según AMD con un divisor por hardware (DIV). Viendo las latencias de división entera de Bulldozer me da la impresión de que tal divisor no existe y la división se ejecuta por micro código o tiene un diseño extremadamente simplificado y poco efectivo.

AMD Turbo Core en Bulldozer

En Bulldozer, AMD presenta un Turbo Core de dos niveles.

640_5

All Core Boost: Todos los módulos (conjuntos de dos cores con su SIMD FPU Unit y los 2 MB de L2) aumentan su frecuencia por encima de la nominal si el TDP y la temperatura lo permite.

Se da en cargas de trabajo que implique a TODOS los cores, sea con carga parcial elevada o máxima 100%.

Max Turbo Boost: Si dos de los módulos (cuatro INT cores, dos SIMD FPUs y dos L2 de 2 MB) se hallan en estado Sleep C6 (power gated) el resto (los otros dos módulos) pueden incrementar su frecuencia hasta en 1 GHz sobre la nominal.

Esto conlleva algunas consideraciones prestacionales extrañas y fastidiosas que detallaré cuando tenga hardware funcional comercial en las manos. A ver si en un mes y algo…

En múltiples artículos he analizado en detalle el diseño interno de BD 32 nm. Cito los más destacables:

AMD Bulldozer. Perspectivas – LowLevelHardware

La L3 cache multibanco en AMD Bulldozer. Actualizado – LowLevelHardware

AMD AGLUs, Bulldozer INT cores. Actualizado – LowLevelHardware

AMD Bulldozer. Primeros benchmarks. Actualizado – LowLevelHardware

AMD Bulldozer – ProfessionalSAT

La micro arquitectura de AMD Bulldozer. Actualizado – LowLevelHardware

Novedades y expectativas 2010. Actualizado – LowLevelHardware

AMD Bulldozer. Prestaciones estimadas – LowLevelHardware

Micro arquitectura AMD Bulldozer 2011. Actualizado – LowLevelHardware

Previo AMD Bulldozer. Actualizado – LowLevelHardware

Conclusiones

Poco se puede concluir hasta que no haya datos objetivos de steppings finales. Los actuales samples de Bulldozer son realmente lentos debido a numerosos bugs en los primeros steppings A y B1 que han hecho necesario deshabilitar características clave de las controladoras de memoria, cachés, TLBs, etc.

Queda ver como será Bulldozer con todos sus subsistemas a punto y cuales son las frecuencias finales comerciales. Sin duda estas no serán indicativas del verdadero potencial final en frecuencia de Bulldozer en 32 nm; AMD mejora sus procesos paso a paso a lo largo del tiempo en que este está en el mercado.

La historia fue realmente brillante en 90 nm cuando culminó en unos excelentes 3.2 GHz con el Athlon 64 X2 6400+ partiendo de los iniciales 1.8 GHz.

En el proceso de 65 nm SOI la historia fue diferente y empezó realmente mal. Los primeros Athlon 64 X2 eran claramente más lentos por ciclo (IPC) que los anteriores de 90 nm y les era imposible llegar a los 3 GHz. Con el tiempo llegaron a 3.1 GHz, un mal resultado e inferior al anterior de 90 nm SOI.

En aquel tiempo AMD lanzó Barcelona (Phenom) quad core también en 65 nm con unas frecuencias decepcionantes de 2.3 GHz en pico y una ridículamente pequeña caché L3 de 2 MB y elevada latencia. Con los meses llegó a 2.6 GHz y por fin llegaron los 45 nm.

Los 45 nm para AMD han sido un éxito rotundo, los Phenom II Shanghai subieron rápidamente de frecuencia y el incremento a 6M de la caché L3 le permitió ganar prestaciones por ciclo (IPC) respecto a Barcelona. A esto se añadió la excelente versión de 6 cores con Turbo Core, el Phenom II X6, también con 6 MB de L3.

Gracias al exitoso proceso de 45 nm AMD ha podido sobrevivir con un anticuado diseño de CPU que data de 2003, (remozado en 2007 con Barcelona, aunque igual en la parte de enteros) y esto lo escribo en Agosto de 2011…

Si consideras útil el contenido de este Blog, ayuda a mantenerlo ojeando algunas de las ofertas que consideres interesantes de nuestros anunciantes.