La familia AMD Bulldozer 15h es una microarquitectura de microprocesadores para la línea de procesadores FX y Opteron , desarrollada por AMD para los mercados de servidores y de escritorio. [1] [2] Bulldozer es el nombre en clave de esta familia de microarquitecturas. Fue lanzada el 12 de octubre de 2011 como sucesora de la microarquitectura K10 .
Bulldozer está diseñado desde cero, no es un desarrollo de procesadores anteriores. [3] El núcleo está específicamente destinado a productos informáticos con TDP de 10 a 125 vatios . AMD afirma que los núcleos Bulldozer han logrado mejoras espectaculares en la eficiencia del rendimiento por vatio en aplicaciones de computación de alto rendimiento (HPC).
Los núcleos Bulldozer admiten la mayoría de los conjuntos de instrucciones implementados por los procesadores Intel ( Sandy Bridge ) disponibles en su introducción (incluidos SSSE3 , SSE4.1 , SSE4.2 , AES , CLMUL y AVX ), así como los nuevos conjuntos de instrucciones propuestos por AMD; ABM , XOP , FMA4 y F16C . [4] [5] Solo Bulldozer GEN4 ( Excavadora ) admite conjuntos de instrucciones AVX2 .
Según AMD, las CPU basadas en Bulldozer se basan en la tecnología de proceso de silicio sobre aislante (SOI) de 32 nm de GlobalFoundries y reutilizan el enfoque de DEC para el rendimiento de la computadora multitarea con el argumento de que, según notas de prensa, "equilibra los recursos informáticos dedicados y compartidos para proporcionar un diseño altamente compacto y de alto número de unidades que se replica fácilmente en un chip para escalar el rendimiento". [6] En otras palabras, al eliminar algunos de los elementos "redundantes" que naturalmente se introducen en los diseños multinúcleo, AMD esperaba aprovechar mejor sus capacidades de hardware, al mismo tiempo que utiliza menos energía.
Las implementaciones basadas en Bulldozer construidas sobre SOI de 32 nm con HKMG llegaron en octubre de 2011 tanto para servidores como para computadoras de escritorio. El segmento de servidores incluía el procesador Opteron de doble chip (16 núcleos) con nombre en código Interlagos (para Socket G34 ) y el de chip único (4, 6 u 8 núcleos) Valencia (para Socket C32 ), mientras que el Zambezi (4, 6 y 8 núcleos) apuntaba a las computadoras de escritorio en Socket AM3+ . [7] [8]
Bulldozer es el primer rediseño importante de la arquitectura de procesadores de AMD desde 2003, cuando la firma lanzó sus procesadores K8, y también cuenta con dos FPU con capacidad FMA de 128 bits que se pueden combinar en una FPU de 256 bits. Este diseño está acompañado por dos clústeres de enteros, cada uno con 4 canales (la etapa de búsqueda/decodificación es compartida). Bulldozer también introdujo una caché L2 compartida en la nueva arquitectura. AMD llama a este diseño un "Módulo". Un diseño de procesador de 16 núcleos presentaría ocho de estos "módulos", [9] pero el sistema operativo reconocerá cada "módulo" como dos núcleos lógicos.
La arquitectura modular consta de una caché L2 compartida multiproceso y FlexFPU, que utiliza subprocesos múltiples simultáneos . Cada núcleo entero físico, dos por módulo, es de un solo subproceso, en contraste con Hyper-Threading de Intel , donde dos subprocesos simultáneos virtuales comparten los recursos de un solo núcleo físico. [10] [11]
En una revisión retrospectiva, Jeremy Laird de la revista APC comentó sobre los problemas de Bulldozer, señaló que era más lento que el diseño Phenom II K10 saliente y que el ecosistema de software de PC aún no había "adoptado" el modelo multiproceso. Según su observación, los problemas causaron una gran pérdida para AMD, que la empresa perdió más de mil millones de dólares en 2012 y que algunos observadores de la industria estaban prediciendo la quiebra para mediados de 2015. La empresa más tarde logró volver a obtener ganancias. Las razones mencionadas para recuperar la rentabilidad fueron la desinversión anterior de la fabricación interna en GlobalFoundries y luego la subcontratación de la fabricación a TSMC y la fabricación de un nuevo diseño de CPU Ryzen . [12]
Bulldozer utilizó "Clustered Multithreading" (CMT), una técnica en la que algunas partes del procesador se comparten entre dos subprocesos y algunas partes son únicas para cada subproceso. Los ejemplos anteriores de este tipo de enfoque de multiproceso no convencional se remontan a la CPU UltraSPARC T1 de Sun Microsystems de 2005. En términos de complejidad y funcionalidad del hardware, un módulo Bulldozer CMT es igual a un procesador de doble núcleo en sus capacidades de cálculo de números enteros, y a un procesador de un solo núcleo o a un núcleo dual con limitaciones en términos de potencia computacional de punto flotante, dependiendo de si el código está saturado de instrucciones de punto flotante en ambos subprocesos que se ejecutan en el mismo módulo CMT, y de si la FPU está realizando operaciones de punto flotante de 128 bits o de 256 bits. La razón de esto es que por cada dos núcleos de números enteros, es decir, dentro del mismo módulo, hay una única unidad de punto flotante que consiste en un par de unidades de ejecución FMAC de 128 bits .
CMT es en cierto modo una filosofía de diseño más simple pero similar a SMT ; ambos diseños intentan utilizar las unidades de ejecución de manera eficiente; en cualquiera de los métodos, cuando dos subprocesos compiten por algunas canalizaciones de ejecución, hay una pérdida de rendimiento en uno o más de los subprocesos. Debido a los núcleos enteros dedicados, los módulos de la familia Bulldozer se desempeñaron aproximadamente como un procesador de doble núcleo y doble subproceso durante secciones de código que eran completamente enteras o una mezcla de cálculos enteros y de punto flotante; sin embargo, debido al uso de SMT de las canalizaciones de punto flotante compartidas, el módulo se desempeñaría de manera similar a un procesador SMT de un solo núcleo y doble subproceso (SMT2) para un par de subprocesos saturados con instrucciones de punto flotante. (Ambas de estas dos últimas comparaciones suponen que el procesador posee un núcleo de ejecución igualmente amplio y capaz, en cuanto a números enteros y en cuanto a punto flotante, respectivamente).
Tanto CMT como SMT alcanzan su máxima eficacia cuando se ejecutan códigos enteros y de punto flotante en un par de subprocesos. CMT se mantiene en su máxima eficacia cuando trabaja en un par de subprocesos que constan de código entero, mientras que con SMT, uno o ambos subprocesos tendrán un rendimiento inferior debido a la competencia por las unidades de ejecución de números enteros. La desventaja de CMT es una mayor cantidad de unidades de ejecución de números enteros inactivas en un caso de un solo subproceso. En el caso de un solo subproceso, CMT está limitado a utilizar como máximo la mitad de las unidades de ejecución de números enteros en su módulo, mientras que SMT no impone tal límite. Un núcleo SMT grande con circuitos enteros tan amplios y rápidos como dos núcleos CMT podría, en teoría, tener momentáneamente hasta el doble de rendimiento de números enteros en un caso de un solo subproceso. (De manera más realista para el código general en su conjunto, la regla de Pollack estima un factor de aceleración de , o aproximadamente un 40% de aumento en el rendimiento).
Los procesadores CMT y un procesador SMT típico son similares en su uso compartido eficiente de la caché L2 entre un par de subprocesos.
El pipeline más largo permitió que la familia de procesadores Bulldozer alcanzara una frecuencia de reloj mucho más alta en comparación con sus predecesores K10. Si bien esto aumentó las frecuencias y el rendimiento, el pipeline más largo también aumentó las latencias y las penalizaciones por predicciones erróneas de las ramas .
Los anchos de emisión (y las ejecuciones pico de instrucciones por ciclo) de un núcleo Jaguar, K10 y Bulldozer son 2, 3 y 4 respectivamente. Esto hizo que Bulldozer fuera un diseño más superescalar en comparación con Jaguar/Bobcat. Sin embargo, debido al núcleo algo más ancho de K10 (además de la falta de mejoras y optimizaciones en un diseño de primera generación), la arquitectura Bulldozer generalmente funcionaba con un IPC algo menor en comparación con sus predecesores K10. No fue hasta las mejoras realizadas en Piledriver y Steamroller que el IPC de la familia Bulldozer comenzó a superar claramente al de los procesadores K10 como Phenom II.
Los primeros envíos de ingresos de los procesadores Opteron basados en Bulldozer se anunciaron el 7 de septiembre de 2011. [32] Los FX-4100, FX-6100, FX-8120 y FX-8150 se lanzaron en octubre de 2011; y los procesadores AMD de la serie FX restantes se lanzaron a fines del primer trimestre de 2012.
Fuentes principales: CPU-World [33] y Xbit-Labs [34]
Hay dos series de procesadores basados en Bulldozer para servidores : la serie Opteron 4200 ( Socket C32 , nombre código Valencia, con hasta cuatro módulos) y la serie Opteron 6200 ( Socket G34 , nombre código Interlagos, con hasta 8 módulos). [35] [36]
En noviembre de 2015, AMD fue demandada en virtud de la Ley de Recursos Legales para Consumidores de California y la Ley de Competencia Desleal por supuestamente tergiversar las especificaciones de los chips Bulldozer. La demanda colectiva, presentada el 26 de octubre en el Tribunal de Distrito de los EE. UU. para el Distrito Norte de California, afirma que cada módulo Bulldozer es de hecho un solo núcleo de CPU con algunas características de doble núcleo, en lugar de un verdadero diseño de doble núcleo. [37] En agosto de 2019, AMD acordó resolver la demanda por $12,1 millones. [38] [39]
El 24 de octubre de 2011, las pruebas de primera generación realizadas por Phoronix confirmaron que el rendimiento de la CPU Bulldozer era algo menor de lo esperado. [40] En varias pruebas, la CPU funcionó de manera similar al Phenom 1060T de la generación anterior.
El rendimiento aumentó sustancialmente más tarde, a medida que se lanzaron varias optimizaciones del compilador y correcciones del controlador de CPU. [41] [42]
Las primeras CPU Bulldozer tuvieron una respuesta mixta. Se descubrió que el FX-8150 tuvo un rendimiento deficiente en los benchmarks que no tenían muchos subprocesos, quedando por detrás de los procesadores de la serie Intel Core i* de segunda generación y siendo igualado o incluso superado por el propio Phenom II X6 de AMD a velocidades de reloj más bajas. En los benchmarks con muchos subprocesos, el FX-8150 tuvo un rendimiento a la par del Phenom II X6 y del Intel Core i7 2600K , según el benchmark. Dado el rendimiento general más consistente del Intel Core i5 2500K a un precio más bajo, estos resultados dejaron a muchos revisores decepcionados. Se descubrió que el procesador consumía mucha energía bajo carga, especialmente cuando se le hacía overclock, en comparación con el Sandy Bridge de Intel . [43] [44]
El 13 de octubre de 2011, AMD declaró en su blog que "hay algunos en nuestra comunidad que sienten que el rendimiento del producto no cumplió con sus expectativas", pero mostró puntos de referencia en aplicaciones reales donde superó al Sandy Bridge i7 2600k y al AMD X6 1100T. [45]
En enero de 2012, Microsoft lanzó dos revisiones para Windows 7 y Server 2008 R2 que mejoran marginalmente el rendimiento de las CPU Bulldozer al abordar los problemas de programación de subprocesos que surgieron después del lanzamiento de Bulldozer. [46] [47] [48]
El 6 de marzo de 2012, AMD publicó un artículo en su base de conocimientos en el que se afirmaba que había un problema de compatibilidad con los procesadores FX y ciertos juegos en la plataforma de distribución de juegos digitales ampliamente utilizada, Steam . AMD afirmó que había proporcionado una actualización de BIOS a varios fabricantes de placas base (a saber: Asus , Gigabyte Technology , MSI y ASRock ) que solucionaría el problema. [49]
En septiembre de 2014, el director ejecutivo de AMD, Rory Read, admitió que el diseño de Bulldozer no había sido una "pieza revolucionaria" y que AMD tuvo que vivir con el diseño durante cuatro años. [50]
El 31 de agosto de 2011, AMD y un grupo de conocidos overclockers, entre ellos Brian McLachlan, Sami Mäkinen, Aaron Schradin y Simon Solotko, lograron establecer un nuevo récord mundial de frecuencia de CPU utilizando el procesador inédito y overclockeado FX-8150 Bulldozer. Antes de ese día, el récord estaba en 8,309 GHz, pero el Bulldozer combinado con refrigeración por helio líquido alcanzó un nuevo máximo de 8,429 GHz. Desde entonces, el récord ha sido superado en 8,58 GHz por Andre Yang utilizando nitrógeno líquido . [51] [52] El 22 de agosto de 2014 y utilizando un FX-8370 (Piledriver), The Stilt del equipo de Finlandia logró una frecuencia máxima de CPU de 8,722 GHz. [53]
Los récords de frecuencia de reloj de CPU establecidos por las CPU Bulldozer overclockeadas solo se rompieron casi una década después mediante overclocks de las CPU Core Raptor Lake de 13.ª generación de Intel en octubre de 2022. [54]
Piledriver es el nombre en código de AMD para su microarquitectura mejorada de segunda generación basada en Bulldozer . Los núcleos AMD Piledriver se encuentran enlas series de APU y CPU basadas en Socket FM2 Trinity y Richland y en la serie de CPU FX basada en Socket AM3+ Vishera . Piledriver fue la última generación de la familia Bulldozer disponible para el socket AM3+ y con una caché L3. Los procesadores Piledriver disponibles para los sockets FM2 (y su variante móvil) no venían con una caché L3, ya que la caché L2 es la caché de último nivel para todos los procesadores FM2/FM2+.
Steamroller es el nombre en código de AMD para su microarquitectura de tercera generación basada en una versión mejorada de Piledriver . Los núcleos Steamroller se encuentran en laserie de APU y CPU Kaveri basadas en Socket FM2+ .
Excavator es el nombre en código del núcleo Bulldozer de cuarta generación . [55] Excavator se implementó como APU de la serie A "Carrizo", APU de la serie A "Bristol Ridge" y CPU Athlon x4. [56]
{{cite web}}
: CS1 maint: copia archivada como título ( enlace )