Mostrando entradas con la etiqueta SAT. Mostrar todas las entradas
Mostrando entradas con la etiqueta SAT. Mostrar todas las entradas

jueves, 2 de febrero de 2017

AMD Steamroller. Introducción. – LowLevelHardware

El 14 de Enero AMD sacó al mercado su tercera iteración de la micro arquitectura Bulldozer en la forma de la APU Kaveri fabricada por Global Foundries es el nodo Bulk SHP (Super High Performance) de 28 nm. En este caso se trata de una implementación de dos módulos con dos INT cores y una FPU compartida junto con una excelente GPU GCN 1.1 de 512 SPs.

excavator

La micro arquitectura AMD Bulldozer

Primero fue Bulldozer 32 nm HKMG, después Piledriver 32 nm HKMG y ahora Steamroller 28 nm Bulk SHP. Posteriormente, 2015, está previsto Excavator, la evolución final y que pondrá término a esta micro arquitectura. Después preveo que AMD, por fin, se centrará en diseñar cores de alto IPC y menor consumo para competir con mayor igualdad con los cores contemporáneos de Intel.

Como muchas veces ha sucedido con los diseños de AMD, en su primera versión.

En este caso Bulldozer 32 nm HKMG (AMD FX 8150) las prestaciones, consumo y disipación térmica no fueron las esperadas.

Piledriver 32 nm HKMG (AMD FX 8350) alivió ligeramente los problemas de consumo y mejoró las prestaciones.

Con Steamroller AMD plantea un cambio mucho más profundo:

  • Una evolución de la micro arquitectura mayor que en el caso de Bulldozer a Piledriver, con claras mejoras en algunos campos y otros cambios no tan claros en otros aspectos.
  • Un nuevo nodo de fabricación: del ya antiguo nodo premium HKMG 32 nm de Global Foundries utilizado en Bulldozer y Piledriver se pasa al nodo de 28 nm Bulk SHP, más orientado a menor consumo y mayor densidad (más transistores por mm2), es decir menor coste por chip y menor TDP, es decir, mayor performance per watt.

module-block

En la segunda parte de esta serie de artículos detallaré las mejoras implementadas en Steamroller por AMD y lo que significan de cara a sus encarnaciones presentes:

La APU Kaveri y los futuros chips FX Steamroller de alto rendimiento del que parece que están preparando una versión con 8 módulos y 16 INT cores con controladoras PCIex 3.0 integradas en el die del chip (lo que permitiría deshacerse del  North Bridge del chipset) que probablemente funcionará a frecuencias conservadoras en carga full threaded aunque con agresivos modos Turbo.

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

El que tenga dudas o aportaciones tiene para ello la sección de comentarios, intentaré responder a todos y con la máxima claridad. Los Blogs deben de ser lugares de intercambio y agradezco vuestro feedback.

nVidia Kepler 28 nm – LowLevelHardware

Por fin ha llegado la nueva serie 600 de nVidia, su primer integrante es la GTX680 fabricada en el nodo de 28 nm en TSMC. En este conciso artículo esbozaré los importantes cambios arquitecturales respecto a la anterior generación 500 Fermi de 40 nm y la motivación tras ellos.

Kepler_28nm_GTX680El die del procesador gráfico Kepler.

El nuevo proceso de fabricación de 28 nm ha proporcionado grandes avances para la industria de semiconductores después de los terribles problemas y largos retrasos de TSMC en el nodo de 40 nm.

Cambios de micro arquitectura en Kepler

nVidia deseaba para Kepler un masivo incremento en prestaciones gráficas, de hecho, en cada punto del diseño se aprecia un decidido énfasis en el aspecto gráfico dejando claramente descuidada la parte GPGPU.

Kepler01

Se ha conseguido un aumento notable de la densidad de transistores y con ello una apreciable reducción de la superficie del chip: nVidia ha integrado 3500 millones de transistores en tan solo 294 mm2. Recordad que Fermi (GTX 580) era un chip de más de 500 mm2, muy caro de producir.

La GTX680 es un avance significativo para nVidia en el aspecto gráfico, integra 1536 SPs (stream processors), un aumento espectacular (3X) desde los 512 SPs de la GTX580 Fermi.

Todo ha sido posible por el abandono del shader clock, que era el doble de la frecuencia principal y aumentaba mucho el consumo del chip y hacía necesario el uso de transistores especiales para los SPs ya que funcionaban sobre los 1.5 GHz.

Kepler02

Sin duda en unos meses nVidia sacará a la luz otra revisión de Kepler, probablemente sobre los 500 - 600 mm2, enfocada a proceso general para sus líneas de computación Tesla y Quadro y para la gama más alta de sobremesa.

Será el llamado Big Kepler y conllevará un aumento en el ancho del bus GDDR5 a 384 o incluso 512 bits y sobretodo un incremento notable en la tasa de cálculo FP64 (que en Kepler ha sido reducida al 33% de la de Fermi por SP).

Además Kepler integra un modo “Turbo” llamado Boost Clock. Si la disipación térmica y la temperatura lo permiten, Kepler aumenta su frecuencia desde la nominal hasta alrededor de los 1150 MHz, según las cargas de trabajo.

El SMX, sustituto del SM

En Kepler nVidia llama SMX a la unidad funcional principal del diseño, en el SMX reside todo el poder de cálculo del chip.

El SMX es el heredero del SM de las GTX 480 y GTX 580. nVidia ha duplicado los recursos de cada SM para producir un SMX.

Kepler04

En un SMX reside un gran número de unidades de todo tipo:

Desde la segunda revisión del PolyMorph engine (con un throughput doble respecto a la generación anterior),

Pasando por la caché de instrucciones,

Los 4 Warp Schedulers,

8 unidades Dispatch (Dispatch Units),

El Register File (RF) duplicado a 64K entradas de 32 bit,

192 CUDA Cores (SPs),

32 unidades Load Store (LSUs)

16 SFUs para interpolación,

16 SFUs para funciones especiales,

16 TUs (unidades de textura),

Por último 8 CUDA FP64 cores.

Kepler GTX 680

En esta implementación nVidia integra lo siguiente:

Kepler03

4 GPCs que integran cada uno 2 SMX junto con un Raster Engine encargado de la rasterización.

Kepler05

También integra la caché L2 y las cuatro controladoras GDDR5 de 64 bit a 6 GHz.

En Kepler nVidia ha decidido simplificar absolutamente sus schedulers respecto a los de Fermi. En Fermi se realizaba scheduling por hardware dinámicamente, en cambio en Kepler nVidia ha movido el scheduling al driver gráfico, es decir, se ejecuta por software en tiempo real en el procesador.

Este hecho ha permitido, por un lado reducir mucho la complejidad del diseño y por otro reducir el consumo, disipación térmica y el área del chip.

GPU Boost

Podemos decir que en esta primera implementación “limitada” de GPU Boost su efecto es limitado, nVidia lo cifra en un 5% de incremento de velocidad en juegos (FPS).

Mientras haya margen de consumo y temperatura disponible, Kepler puede aumentar su frecuencia hasta los 1150 MHz en pico (sobre un 15 %). Siempre dependiendo de la carga de trabajo.

La frecuencia media en modo Boost llega a los 1058 MHz y se incrementa desde los 1006 MHz en escalones de 13 MHz. En la práctica es crítico mantener bajas temperaturas para que GPU Boost sea efectivo, a temperaturas >70ºC la GPU se ve obligada a ir reduciendo paulatinamente la frecuencia y el voltaje para “evitar sustos”.

Conclusiones

Kepler (GTX 680) es más rápido en juegos (en general) que AMD GCN (HD7900). AMD ha diseñado una arquitectura de carácter general, excelente en computación FP (GPGPU, OpenCL) y muy buena en proceso gráfico (juegos).

Por su parte nVidia ha optado por poner énfasis en la parte gráfica y ha diseñado Kepler para el gamer que nunca o raramente usará OpenCL o programas de coproceso GPGPU.

Hoy por hoy Kepler es más eficiente que AMD GCN en juegos y es la elección óptima para este uso. En proceso general – computación GPU, en cambio, AMD GCN es infinitamente superior.

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

Si tenéis dudas o aportaciones tiene para ello la sección de comentarios, intentaré responder a todos y con la máxima celeridad y claridad. Los Blogs deben de ser lugares de intercambio y agradezco vuestro feedback.

AMD Bulldozer. Frecuencias finales. Actualizado – LowLevelHardware

Actualización 07 Septiembre 2011: Últimas noticias referentes al lanzamiento de Bulldozer y algunos datos técnicos extra al final del artículo.

InterlagosMCMUno de los primeros MCM Interlagos compuesto de 2 dies Bulldozer de 8 INT cores.

En la web de Gigabyte hemos encontrado las especificaciones finales de los procesadores basado en núcleos Bulldozer que próximamente saldrán a la venta.

Bulldozer_FXAMD Bulldozer. Por fin datos reales sobre los steppings comerciales.

Concretamente, la página en cuestión es la siguiente, correspondiente al soporte de CPUs de la placa base de socket AM3+ GA 990 FXA UD7.

En ella obtenemos alguna información extra sobre las nuevas CPUs de 32 nm de la serie FX.

Entre otros datos encontramos un TDP máximo de 125 W y la denominación B2 para el primer stepping comercial.

Bus Hyper Transport de 5.2 GHz

Todos los modelos ajustan su reloj HT3 a  GT/s. Sinceramente no veo razón para ello dado el excesivo ancho de banda ya disponible a las frecuencias de Thuban (Phenom II X6), GHz.

Obviamente la razón de esta alta frecuencia de 5.2 GT/s es comercial, marketing puro.

Este bus, en los procesadores de sobremesa, se utiliza para comunicar con el chipset y con los componentes periféricos. No es necesario un ancho de banda tan alto.

La especificación HT3 hace mención de frecuencias máximas hasta los 6.4 GHz (igual que el QPI de Intel), AMD ha sido prudente y ha dejado un margen para mejoras futuras.

Frecuencias base de AMD Bulldozer

La versión de 8 cores y 4 módulos (serie FX-8000) llegará hasta los 3.6 GHz nominales, desde ahí desplegará los modos Turbo.

Como comenté en el artículo anterior, AMD ha dotado a Bulldozer de un Turbo de dos fases:

640_5

Fase 1, 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%.

Fase 2, 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.

Esta implementación conlleva algunas consideraciones prestacionales extrañas y fastidiosas que detallaré cuando tenga hardware funcional comercial en las manos.

Se rumorean modos Turbo de hasta 1 GHz extra, es decir, hasta 4.6 GHz en carga 100% de 2 módulos, con los otros dos módulos en estado gated CC6.

En este caso tendríamos la siguiente capacidad de proceso:

  • 4 INT cores a 4.6 GHz en carga de enteros (compresión de datos por ejemplo).
  • 2 FPUs AVX de 256 bit en cargas de coma flotante AVX a 4.6 GHz.
  • 2 FPUs dobles de 128 bit en cargas de coma flotante SSE o AVX de 128 bit a 4.6 GHz.

Más información en breve.

Actualización 07 Septiembre 2011:

En primer lugar: Frecuencia máxima en modo Turbo Core: el modelo tope de gama FX-8150 (se enpecual con un FX-8170 para Q1 2012) será de 4.2 GHz con carga parcial de cores, probablemente con un máximo de 4 cores al 100%. Lo que no está nada mal manteniendo un TDP de 125W.

En segundo lugar: Nuevo evento de AMD en San Francisco para el día 13 de Septiembre:

Hanging out in San Francisco the week of September 12th? Not finding anything interesting?
AMD to the rescue. We'll be making an historic announcement, and want you to be a part of it.

AMD invites you to join us for an entertaining evening on the beautiful Yerba Buena Terrace at the St. Regis San Francisco. Spend the evening exploring the latest AMD technology, mingling with AMD executives and technology partners, all while enjoying cocktails and hors d'oeuvres. Be sure to arrive before 7:00pm to hear our big news first hand.

  When: Tuesday, September 13, 2011 RSVP
  Where: St. Regis Hotel, Yerba Buena Terrace, San Francisco
  Time: 6pm - 9 pm PDT
  RVSP: by September 9, 2011 at fusionzone.eventbrite.com (password: AMD)
Contact Information:
Heather J Lennon
Sr. Manager Public Relations, AMD
Heather.Lennon@amd.com
 

13 de Septiembre ¿Será el día de lanzamiento de Bulldozer?

Por último: Hoy AMD ha confirmado el comienzo de la venta de CPUs Interlagos de 16 cores para servidores a los integradores de sistemas. El primer chip con micro arquitectura Bulldozer.

"This is a monumental moment for the industry as this first 'Bulldozer' core represents the beginning of unprecedented performance scaling for x86 CPUs," said Rick Bergman, senior vice president and general manager, AMD Products Group. "The flexible new 'Bulldozer' architecture will give Web and datacenter customers the scalability they need to handle emerging cloud and virtualization workloads."

Para más información acerca de Bulldozer:

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

AMD Bulldozer- HotChips23 – LowLevelHardware

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

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

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.

AMD Bulldozer. Perspectivas – LowLevelHardware

Mucho se está hablando en los círculos informáticos acerca de la nueva micro arquitectura Bulldozer de AMD. Un diseño pensado para cargas de trabajo multithread y con pipelines de ejecución con mayor número de etapas para un alto potencial en frecuencia.

Orochi32nm_640AMD Orochi 32 nm 8 MB L2 y 8 MB L3.

En este artículo expondré algunas de mis opiniones sobre la micro arquitectura que va a marcar el futuro inmediato AMD de aquí a 2014.

AMD Bulldozer y el proceso de 32 nm HKMG SOI

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

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

Bulldozer está fabricado por Global Foundries en el nodo de proceso de 32 nm HKMG (High K Metal Gate) SOI (Silicon On Insulator) lo que le dará unas buenas perspectivas de mejora de frecuencia y reducción de consumo con el paso del tiempo.

AMD a lo largo de su historia se ha caracterizado por ofrecer una continua mejora de su proceso de fabricación de semiconductores a los largo de la vida de cada nodo (para AMD unos 2 o 3 años).

Podemos decir que AMD saca al mercado los primeros chips en un nodo concreto (45 nm, 32 nm,…) cuando tiene unos yields (rendimientos de fabricación) mínimos (debido a la brutal presión competitiva de Intel) pero suficientes aún a costa de unas frecuencias de funcionamiento iniciales reducidas.

Con el paso de los meses AMD va mejorando paso a paso el proceso y se va reduciendo la disipación térmica, el voltaje y aumenta la frecuencia máxima de sus diseños.

GloFo32nm_640No es descabellado pensar en un 50% de mejora vs 45 nm para los 32 nm en AMD.

AMD Orochi Bulldozer. 4 módulos, 8 INT cores, 4 dual 128 FMACs y 2 MB L2

AMD Orochi va a rondar los casi 300 mm2 y está constituido por:

4 módulos completos.

4 bancos L3 de 2 MB y 16 vías (para un total de 8 MB L3 con 64 vías)

4 buses HT 3.0

2 controladoras DDR3 1866 MHz.

Un North Bridge.

El módulo en AMD Bulldozer

Frontend

Un módulo está integrado por:

2 INT cores con 2 ALUs y 2 AGUs, cada uno con su L1d de 16KB y 4 vías.

El Instruction Fetching desde la L1i compartida de 64KB y 2 vías.

La lógica de decoding de 4 vías con la Microcode ROM.

El circuitería de Branch Prediction.

La FPU doble de 128 bit FMAC (Fused Multiply Accumulate).

La unidad de control de caché que comprende las dos WCC (Write Combining Caches de 4 KB, una por INT core) que da acceso a la masiva cache L2 de 2 MB y 16 vías.

¿Qué podemos esperar de AMD Bulldozer?

Bulldozer al igual que Llano (la APU de 32 nm) se fabrican en el nuevo proceso y por ello sufrirán inicialmente de unas frecuencia máximas no muy elevadas.

Llano se ha estrenado a frecuencias máximas de 2.9 GHz, ahora está previsto que llegue al mercado una versión desbloqueada a 3.1 GHz con overclocks “sencillos” a 3.6 GHz.

Los cores de un Phenom II (al menos en los últimos steppings de 45 nm) llegan con relativa facilidad a los 4 GHz. A Llano esta frecuencia le queda lejos y eso que está fabricado en el siguiente nodo que debería proporcionar una mejora teórica de un 20% en frecuencia.

AMD 32 nm vs 45 nmDisipación térmica: AMD 45 nm vs 32 nm.

Recordemos que cuando AMD empezó a fabricar CPUs de 65 nm también padeció problemas claros de escalado de frecuencia, en concreto los primeros AMD K8 Brisbane funcionaban a 2.6 GHz cuando los “antiguos” K8 90 nm funcionaban sin problema a 3 GHz.

O pensemos en AMD Phenom Barcelona, fabricado en 65 nm en 2007 y que salió al mercado a unos meros 2.3 GHz cuando los K8 de la época (todavía de 90 nm) funcionaban a 3.2 GHz (Athlon 64 X2 6400+).

Conclusiones

Con esta coyuntura en mente podemos pensar lo siguiente según los diversos rumores y leaks que circulan:

Bulldozer, inicialmente en su configuración completa (Orochi) para socket AM3+ es deseable que ronde los 3.5 GHz nominales con carga 100% en los 8 cores y que gracias al Turbo logre frecuencias con carga de cores parcial (mitad de cores al 100%) rondando los 4 GHz.

AMD postula precios de unos 300 dólares para el top bin de Orochi, eso le sitúa en la banda de precios del Intel Core i7 2600K Sandy bridge: En mi opinión sería un éxito rotundo de AMD el posicionarse competitivamente en este nivel de precios.

A mí personalmente me cuesta creerlo pero sería una excelente noticia para la sana competencia en el sector.

En cualquier caso estamos a la vuelta de la esquina del lanzamiento previsto para Bulldozer, será en Septiembre si no hay cambio de planes. Para AMD sería una excelente noticia, y de paso dispararía su cotización bursátil, bastante deprimida tras los momentos gloriosos de los K7 y K8.

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

AMD AGLUs, Bulldozer INT cores. Actualizado – LowLevelHardware

En este técnico artículo voy a detallar la estructura de los pipelines de ejecución de los INT cores duales de un módulo del nuevo procesador AMD Bulldozer.

int_clusterUno de los núcleos de enteros de Bulldozer.

AMD Bulldozer. Filosofía de diseño.

Con Bulldozer AMD ha roto con el diseño “convencional” para el núcleo de procesamiento. Hasta ahora, un procesador era un bloque que trabajaba conjunta y síncronamente compuesto de varias subunidades.

BulldozerAMD Bulldozer: Cada INT core y la unidad SIMD son funcionalmente independientes.

En cambio en Bulldozer, AMD ha seguido un diseño  CMT (Cluster Multi Processing) de coprocesamiento con subunidades independientes y con pipelines desacoplados mediante buffers y queues.

Las ventaja principal de esta disposición reside en la compartición de algunas estructuras entre los dos cores de enteros. Cada core ejecuta un thread, cada thread debería afinitizarse a un core para dar un óptimo rendimiento.

Aunque alguna de las unidades esté bloqueada procesando datos el Front End sigue ejecutando Fetching y computando los Branches llenando sus queues (colas) y buffers con resultados.

OrochiDie de Bulldozer con 4 módulos y 8 INT cores.

Resumiendo, con Bulldozer AMD construye un procesador multicore de 8 núcleos partiendo de una unidad que llaman el módulo que incluye 2 INT cores, la unidad SIMD y la L2 de 2 MB y 16 vías.

A lo largo de los dos últimos años he escrito varios artículos sobre AMD Bulldozer:

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

AMD Bulldozer Front End.

El frontend de Bulldozer es compartido por todas las subunidades y está dimensionado y lógicamente desacoplado de las unidades de ejecución.

Cada módulo contiene un sólo Front End que da servicio a tres unidades de ejecución:

  • Los dos INT cores con 4 pipelines de ejecución cada uno y con su Scheduler y Register File privados.
  • La unidad SIMD compartida (llamada desacertadamente por AMD y la prensa especializada FPU compartida) con su Schedule y Register File.
    Yo la llamo unidad SIMD porque no sólo incluye (como detallaré en otro artículo) dos pipelines SIMD SSE, AVX y X87 sino también 2 unidades de 128 bit SIMD de enteros SSE y MMX (INT SIMD SSE y MMX).

FrontendEn rojo resaltado el Front End de AMD Bulldozer.

El Front End contiene entre otros:

  • La lógica de Branch Prediction que ha sido considerablemente rediseñada y ampliada de cara a aumentar su tasa de aciertos. Cuenta con un BTB de 2 niveles con miss penalties (penalización de fallo) de 15 a 20 ciclos en función del tipo de Branch.
  • Las etapas de fetching y decoding cargan datos (32 bytes/ciclo) desde las cachés L1i (64 KB, 2 vías) y alimentan dos ventanas de 16 bytes (una por thread). Hay un IBB (Instruction Byte Buffers) de 16 niveles en la cola de fetching por thread (2 IBBs, con cada 16 bytes por nivel).
    Los Decoders pueden decodificar hasta 4 instrucciones / ciclo desde los IBB, cada ciclo se escanean dos de las ventanas de 16 bytes en busca de hasta cuatro instrucciones. En caso de instrucciones X86 complejas que hagan recurrir al Microcode Engine solamente se decodifica una instrucción por ciclo.

Bulldozer INT cores. Unidades de enteros.

Cada unidad de enteros es como un pequeño core de ejecución de 64 bit con 4 pipelines discretos alimentados por un Scheduler independiente.

INTcoresEn verde y azul los dos INT cores de un módulo Bulldozer.

El núcleo de ejecución consta de 4 pipelines de 64 bit con un diseño peculiar y novedoso que incluye las unidades combinadas AGLU:

Bulldozer_INT_PIPESCuatro unidades de ejecución de enteros con Scheduler común.

La longitud de los pipelines de enteros ha crecido en Bulldozer de un modo espectacular hasta las 18 o 20 etapas. Comparado con las 12 etapas de AMD Phenom destaca como un diseño claramente dirigido a altas frecuencias que en mi modesta opinión sólo tiene sentido si supera con claridad los 4 GHz en modos Turbo para compensar su gran penalización en caso de fallo de predicción Branch.

INT_cores

Los dos INT cores que forman parte de un módulo en AMD Bulldozer.

Lo novedoso de los INT cores son sus unidades híbridas AGLU:

Son unidades AGU (de generación de direcciones de memoria, address generators) pero con funciones básicas ALU, es decir, pueden procesar instrucciones simples ALU (LEA 64, INC) echando una mano para compensar el escaso ancho de proceso del core.

int_cluster_AGLUSResaltadas las dos AGLUs pertenecientes a uno de los INT cores.

Las unidades de ejecución completas (Full ALU) EX0 y EX1 incluyen hardware específico para IMUL e IDIV:

  • EX0 contiene una unidad de división de enteros parcialmente pipelinizada y con latencia y capacidad de proceso variable en función de la precisión. Aunque examinando detenidamente la documentación parece que más bien se trata de una unidad “virtual” ya que la instrucción IDIV se decodifica en el Microcode Engine y se secuencia en instrucciones sencillas ALU que se ejecutan en EX0. Además incluye una unidad para LZCNT y POPCNT.
  • EX1 por su parte contiene un rapidísimo multiplicador de enteros pipelinizado y de bajísima latencia.
  • Ambas unidades procesan Branches e instrucciones de enteros complejas.

Cada INT core cuenta con su Scheduler discreto e independiente y ejecuta un thread, además supervisa el procesamiento en las unidad SIMD compartida de las instrucciones FPU X87, FPU SIMD SSE / AVX  o INT SIMD MMX / SSE.

Conclusiones

El diseño de Bulldozer me deja un sabor agridulce, AMD sin duda ha dado un paso adelante y si consigue ponerlo en el mercado a frecuencias adecuadas (4 GHz o más en Turbo Mode) tendrá un procesador globalmente competitivo con Sandy Bridge.

Hay detalles que sinceramente no me acaban de convencer como algunas latencias muy elevadas en algunas instrucciones y sin duda será inferior a Sandy Bridge en proceso FPU AVX 256 bit.

Bulldozer puede ser un excelente procesador en cargas de enteros de 8 threads, queda la incógnita acerca del rendimiento de su caché L3 y el subsistema de memoria.

Las latencias L3 serán altas, creo que superiores a los 50 ciclos load to use, razonable me parecen 60 incluso. Hay que ver como compensa efectivamente el Hardware Prefetch este hecho. La elevada latencia L2 (de 18 a 20 ciclos) la compensa parcialmente su gran tamaño (Sandy Bridge se conforma con 256 KB, 8 veces menos, pero con latencias de 9-10 ciclos).

Tengamos en cuenta que la frecuencia del Uncore que incluye la caché L3 multibanco (4 bancos de 2 MB) de 8 MB será muy inferior a la de los cores, probablemente se mueva sobre los 2.4 – 2.66 GHz lo que afectará a la latencia L3 y de memoria.

El panorama en 2011 será divertido… nos vemos en la próxima entrega con un análisis de la unidad SIMD de 4 vías compartida de proceso FPU SSE / AVX / X87 y INT SIMD SSE / MMX.

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

AMD Bulldozer. Primeros benchmarks. Actualizado – LowLevelHardware

Mucho se ha hablado en los últimos días de los resultados prestacionales aparecidos en internet de dos Engineering Samples del nuevo procesador AMD Bulldozer.

OrochiDie de Bulldozer con 4 módulos y 8 INT cores.

Los resultados han aparecido en OpenBenchmarking.org. Se trata de la versión para servidores (Opteron) de Bulldozer, en unas máquinas configuradas con 2 chips Magny Cours (MCM de dos dies de 8 INT cores cada una, total por chip: 16 INT cores) para un total de 32 INT cores:

http://openbenchmarking.org/s/AMD%20Eng%20Sample%20ZS182045TGG43_2

http://openbenchmarking.org/s/AMD%20Eng%20Sample%20ZS182045TGG43_28

obo-logo-header[1]

Debo expresar mis reservas sobre, no tanto la veracidad de los resultados, si no sobre la representatividad de estos datos. Por lo que se deriva del análisis de las puntuaciones en estos benchmarks, está claro que es un stepping muy temprano de Bulldozer, funcionando sobre placas base pre-release y con BIOS sin optimización alguna.

Los hechos que apuntan a estas conclusiones son,principalmente, el ínfimo rendimiento en algunos de los tests que afectan al subsistema de memoria.

Es muy posible que en estos procesadores haya algunas características clave desactivadas o deshabilitadas que degradan terriblemente el rendimiento. Algunos de las unidades previsiblemente desactivadas son los siguientes:

  1. El Probe Filter, encargado de reducir el tráfico de coherencia entre las cachés de cada die. Recordemos que en los sistemas de pruebas hay dos CPUs MCM (Multi Chip Module) para 4 dies en total (32 INT cores y 16 nódulos).
  2. El último nivel de los TLB.

Los resultados de Stream son tan bajos que claramente apuntan en esta dirección: unos meros 6 GB/s.

Un sistema equivalente actual de AMD con dos chips Magny Cours (MCM de dos dies de 6 cores. 12 cores en total por chip. 24 cores por sistema) supera los 27 GB/s en el mismo test.

Bullzorer_ModuleUno de los módulos de Bulldozer con 2 INT cores y sus cachés L2 2 MB y L3 2 MB.

Otras dudas que me asaltan sobre estos chips ES son las siguientes:

  1. ¿Estará activado o no el Turbo Mode? Yo personalmente abogo por que no. El variar la frecuencia de una CPU en funcionamiento no es precisamente un proceso sencillo. Exige mucha validación y tunning de BIOS así como de la parte eléctrica de la placa base y no suele estar disponible hasta los steppings finales.
  2. La frecuencia del uncore o North Bridge que comprende los cuatro bancos de 2 MB de caché L3 es desconocida y con seguridad muy inferior a la final.
  3. ¿Se hace uso de AVX en el código del conjunto de pruebas? Y si es es así, en qué modo.

Seguramente la frecuencia de 1.8 / 1.9 GHz apuntada en los resultados sea fija y no aumente los 500 MHz que AMD ha estipulado para el Turbo Mode en Bulldozer con carga full threaded.

Bullzorer_Module_CroquisDistribución de unidades en un módulo de Bulldozer.

Frecuencias probables de las versiones comerciales

Las frecuencias finales de los Opteron Interlagos (MCM de 2 dies de 8 INT cores en un chip) de 16 INT cores (8 nódulos) probablemente rondarán inicialmente los 2.4 – 2.8 GHz más los 500 MHz en carga gracias al Turbo.

En los diseños de sobremesa, el octal core (8 INT cores, 4 módulos) es razonable y deseable que al menos esté sobre los 3.0 – 3.4 GHz inicialmente. Me queda la duda sobre la frecuencia del North Bridge y los 4 bancos de L3 de 2 MB, lo lógico sería que no bajase de los 2.4 GHz.

Pequeño apunte, prestaciones

En proceso de enteros, Bulldozer parece ser un buen diseño multithread pero con graves limitaciones en código single threaded comparado con Sandy Bridge.

En coma flotante X87 o SSE no romperá records de velocidad en cálculo paralelo, aunque tendrá un excelente rendimiento single threaded.

La posición de Bulldozer en el mercado de CPUs dependerá principalmente de la frecuencia final del diseño. Si el octal core de sobremesa se queda en los 3.2 GHz (más los 500 MHz del Turbo) pasará serias dificultades frente a Sandy Bridge E (la versión para expertos de SB, prevista para Q4 de 2011).

Si se acerca a los 4 GHz podrá plantarle cara en igualdad de condiciones.

Conclusiones

Poco puedo sacar en claro de estos escasos datos inconexos y con un extrema falta de contexto. Es prácticamente desconocida la información sobre la configuración hardware y software y sobre las condiciones de las pruebas.

En mi opinión estos primeros resultados constituyen una guía y más bien un umbral mínimo en las prestaciones de los steppings comerciales de Bulldozer.

Una observación que me impresiona y sorprende al analizar los datos es que en algunos tests Interlagos mejora los resultados de Magny Cours hasta en un 28 % pero en otros obtiene una velocidad de solamente un 60% (normalizando Magny Cours al 100%).

Me recuerda a los benchmarks de los sistemas Pentium 4 comparados con los AMD Athlon o Pentium III… Esperemos que solo sea una desafortunada primera impresión… Aunque mis análisis micro arquitecturales de Bulldozer hasta la fecha apuntan en esta dirección.

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

Intel Core i7 2600 K. Análisis cachés L0i 6 KB y L3 unificada 8 MB – LowLevelHardware

Con Sandy Bridge, Intel ha innovado en el diseño de cachés y como primicia nos ofrece una caché L0i (caché de instrucciones) que contiene instrucciones ya decodificadas procedentes de la caché L1 de 32 KB y 8 vías a través de los decoders x86.

La micro op cache o L0i de 1500 micro ops

DCache_RAM_Lat_rmma_20110209_055954_0734Data caches: observamos las cuatro zonas de caché y la RAM.

La caché de instrucciones de nivel 0 (L0i) de los procesadores Sandy Bridge es una caché de micro operaciones, es decir, de instrucciones ya descodificadas en un formato interno, propietario del procesador.

Para un análisis a fondo de la micro op cache os recomiendo el siguiente enlace:

Intel Sandy Bridge Core i7 2600 K. Análisis X86 decoders y L0i micro op cache – ProfessionalSAT

La caché L1i e igualmente los niveles superiores contienen las complicadas instrucciones X86 sin descodificar. Intel, que en su día diseño la ISA X86, sabe que es compleja y a veces absurda en su arquitectura y por ello ha tomado esta medida novedosa, la inclusión de un nuevo nivel de caché L0.

SB_uopcacheL0i en Sandy Bridge.

La tasa de aciertos se cifra en torno al 80% para un tamaño sobre los 6 KB y una transferencia pico de 32 bytes / ciclo.

En las prueba de bajo nivel que he realizado su tamaño efectivo ronda los 2 a 4 KB, con unas latencias prácticamente ridículas de 2 ciclos load to use en lectura secuencial o en acceso pseudo aleatorio.

rmma_20110209_064736_0281Instruction cache: la L0i obtiene una increíble latencia de 2 ciclos.

En acceso aleatorio puro (random access) su tasa de aciertos es cero (lógicamente las instrucciones no pueden estar decodificadas y cacheadas previamente a su petición ya que se trata de un patrón aleatorio) y se dan en su caso aciertos de L1i (L1i hits) con los habituales 4 ciclos de latencia.

Caché L3 unificada y multibanco de 8 MB y 16 vías

Sandy Bridge cuenta con una L3 con cuatro bancos de 2 MB y 16 vías. El acceso al banco local de cada core se hace directamente y con baja latencia. A los otros tres bancos  se llega a través del Ring Bus.

SB_4C_630p_coresSandy Bridge 32 nm. Bajo cada core está su banco local L3 de 2 MB.

L3_Lat_2048K_M2_rmma_20110211_135757_0687Acceso L3 con bloque de 2048 KB.

La latencia efectiva se sitúa en los 34 ciclos en acceso pseudo aleatorio y en 40 ciclos en modo random (aleatorio). Son resultados muy brillantes.

SandyBridge_dieEl core de Sandy Bridge junto con su banco local L3 de 2 MB.

Para tamaños de acceso mayores de 2 MB, el núcleo de ejecución se ve obligado a acceder a bancos de L2 de 2 MB no locales a través del Ring Bus. Por ello, lógicamente la latencia se incrementa.

L3_Lat_6144K_M2_rmma_20110211_140032_0843Acceso L3 con bloque de 6 MB (6144 KB).

En los Core i7 2600K contamos con la implementación completa de cuatro bancos L3 para un total de 8 MB, en otras versiones inferiores Intel deshabilita uno de los bancos quedando en 6 MB L3.

Conclusiones

Esperad en breve una ampliación de este artículo, tengo bastantes datos técnicos y microarquitecturales que agregar pero voy realmente mal de tiempo… En concreto estoy preparando un análisis más exhaustivo de la L0i o micro op cache incluyendo una investigación del ancho de banda de descodificación con distintos tipos de instrucciones.

Espero que con esta pequeña introducción tengáis material suficiente para pensar como se mejora un diseño ya excelente partiendo de un core Nehalem / Westmere.

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

Intel Series 6 chipsets stepping B3 – LowLevelHardware

Intel ha anunciado que a partir del 14 de Febrero estarán disponibles los primeros samples del renovado stepping B3 de los chipsets de la serie 6 afectados por el bug en las controladores SATA2.

Intel_P67_H67_B3_01Intel Product Change Notification 110456 – 00.

Verdaderamente es llamativo como en un periodo de tiempo tan reducido han logrado producir chips funcionales con el error de diseño corregido.

Para un análisis profundo del tema os recomiendo otros de mis artículos:

Intel Sandy Bridge- Análisis de situación – ProfessionalSAT

Cougar Point Intel 6 Series Chipset SATA2 bug. Actualizado – ProfessionalSAT

Intel_P67_H67_B3_02El nuevo B3 es pin compatible con los anteriores diseños.

En principio los fabricantes de placas base empezarán a recibir los primeros chips el día 14, es decir, mañana mismo. Desde ese momento comenzará la fabricación de las nuevas placas.

Incluso se especula en que en algunos diseños sería posible desoldar el chip B2 defectuoso sustituyéndolo por el nuevo B3 sin cambiar la placa ni otros cambios.

Intel_P67_H67_B3_03Lista de chipsets afectados.

Conclusiones:

Quizás haya suerte y en breve tengamos placas funcionales y libres de errores para poder montar los primeros sistemas Sandy Bridge de sobremesa con garantías.

En cualquier caso, en mi opinión, Intel debe hacer algo más para recuperar la confianza, en muchos casos perdida y en otros debilitada, del consumidor final. La gente de Intel lo sabe y espero que obren en consecuencia con medidas claras.

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