jueves, 2 de febrero de 2017

Previo AMD Bulldozer. Actualizado - LowLevelHardware

La próxima generación del core de AMD está despertando una gran excitación entre los profesionales de la arquitectura de procesadores, e incluso entre los propios ingenieros en Intel. Tal como ahora la conocemos será un rotundo éxito si es llevada a buen puerto como apuntan los numerosos rumores y las escuetas informaciones del fabricante.

Bulldoxer_4module_8int_cores_L3shared_630 AMD Bulldozer Zambezi 8 cores: 4 módulos y 8 threads con 8 INT cores.

En un artículo anterior, de Enero de este año, hice una pequeña lista de peticiones (wish list) para la próxima generación de procesadores AMD. Todos sabemos que el diseño definitivo del procesador que sustituirá, ya fabricado en 32 nm, a los actuales Opteron y Phenom II basados en núcleos Shanghai es definitivo hace meses y con alta probabilidad están ya en los previos al tape-out del primer stepping bootable.

Un poco de historia: Intel y la era Netburst

Durante años, desde la aparición del flamante Athlon64 en 2003, AMD gozó de una etapa de clara supremacía de sus diseños en prestaciones, consumo y disipación térmica. Intel ya desde el año 2000 comercializó su línea Netburst, unas CPUs basadas en pipelines extraordinariamente largos con la excusa de altísimas frecuencias y con un desafortunado e intrusivo (aunque necesario) mecanismo de Replay de micro operaciones.

Fueron procesadores que más bien parecían diseñados por los equipos de márqueting que por los excelentes grupos de ingeniería en Intel…

Las primera iteración del procesador Pentium 4 (Willamette 180nm) salió a la venta en 2000 compitiendo con el excelente y equilibrado procesador AMD Athlon. Con un pipeline de enteros de 20 etapas (!!) después de los decoders y la trace caché.

Contaba con unos tamaños de caché claramente insuficientes: la ínfima caché L1 de 8 KB y la L2 de 256 KB. El tamaño de la L2 de 256 KB se rumorea que fue una víctima de las prisas de Intel por llevar al mercado el diseño en 180 nm. Sus frecuencias finales fueron de 1.3 a 2.0 GHz.

die_180nm[1]Intel Pentium 4  Willamette 180 nm 256 KB L2.

Era una CPU muy cara y difícil en fabricación dado su tamaño y complejidad, casi toda su superficie era lógica. Contaba con un FSB quad pumped (4 x 100 MHz) de 400 MTs para un dual channel RAMBUS a 800 MHz y 16 bit (en el año 2000 !!). En fín, una plataforma de un coste estratosférico para finalmente y en la práctica obtener rendimientos similares o inferiores a un AMD Athlon con simple memoria SDRAM.

A finales de 2001 llegó, en mi opinión, el mejor integrante de la saga: el procesador Northwood de 130 nm ya con 512 KB de L2 y posteriormente dotado con HyperThreading. Partió de los 2 GHz (FSB 400 MHz) para escalar rápidamente. En esta época ya competía con los Athlon XP de AMD de 180 nm.

die_130nm[2]Intel Pentium 4  Nothwood 130 nm 512 KB L2.

Cuando llegó a frecuencias desde los 2.8 GHz y con un FSB de 800 MHz empezó a ser el líder en prestaciones y los modelos 3.2 y 3.4 gozaron de gran fama y un excelente rendimiento.

En 2004 llegó Prescott en 90 nm (1 MB L2) con un pipeline absurdamente dilatado a más de 30 atapas (!!).

Fue un rediseño absoluto de Netburst, poco tenía que ver con Willamette o Northwood. Incluso se rumoreó el nombre de Pentium 5, posteriormente introdujo el proceso de 64 bit. Sus prestaciones finales fueron desalentadoras, de hecho era algo más lento clock for clock que Northwood… Además su disipación térmica ponía en aprietos al mejor sistema de refrigeración de la época.

die_90nm_1m[1] Intel Pentium 4 Prescott 90 nm 1 MB L2.

Todavía recuerdo cuando probé los primeros engineering samples de Prescott a 2.8 GHz sustituyendo un excelente Nortwood HT a 3.2 GHz obteniendo 20ºC más de temperatura y un rendimiento muy inferior… La cuerpo del disipador daba miedo…

Prescott se diseño para frecuencias máximas sobre los 5 GHz, pero problemas de diseño (excesivo leakage del proceso de 90 nm en Prescott) y su incontenible consumo eléctrico y consiguiente disipación térmica lo hicieron inviable. Intel incluso tuvo en sus roadmap versiones a 4 y 4.2 GHz que más tarde canceló.

En 2005 Intel tenía previsto el lanzamiento de Tejas (con un pipeline previsto sobre 50!!!!!! etapas). Los primeros samples fueron una gran decepción, consumos excesivos rayando lo imposible en plataformas de consumo y un rendimiento decepcionante. Fue sabiamente cancelado.

En Intel se cortaron algunas cabezas en los staff directivos y se replanteó totalmente el diseño de sus futuros microprocesadores. El management dio paso al diseño del equipo en Haifa (Israel), los padres del excelentísimo procesador Pentium M Banias de 90 nm derivado del núcleo Pentium III.

El despertar de un gigante, Intel Conroe (Core 2 Duo / Quad) 65 nm

Tras todos estos hechos, AMD equivocadamente pensó o más bien confió en que Intel continuaría con la evolución de Netburst eternamente.

Se durmieron en los laureles del K8, dedicaron muchos recursos al proyecto K9, un procesador con un pipeline extra largo tipo Netburst y con SMT al estilo HyperThreading que fue tardíamente aunque acertadamente cancelado.

merom_die_image Intel Core 2 Duo Conroe 65 nm, dual core 4 MB L2.

Intel sacó al mercado en 2006 Conroe, el famoso Core 2, dando un vuelco radical mercado y consiguiendo un dominio absoluto en todos los segmentos desde portátiles a sobremesa de consumo y servidores dual core.

En el terreno multisocket AMD mantenía su liderato absoluto en 4 sockets gracias a su más avanzada arquitectura con enlaces HT (HyperTransport) frente al arcaico FSB de Intel. En los servidores de dos socket había una encarnizada pelea, Intel contaba con mejores núcleos de ejecución pero AMD ganaba en ancho de banda.

El éxito de Conroe reside en su poderoso núcleo de ejecución de enteros de cuatro pipelines y sus bien dimensionadas FPU de 128 bit, además de su excelente arquitectura de cachés inclusivas y de gran tamaño (2 MB de L2 por core en 65 nm y 3 MB de L2 por core en 45 nm).

La decepción del AMD Barcelona 65 nm

AMD llegó tarde al mercado con los procesadores Opteron quad core y Phenom basados en cores Barcelona de 65 nm.

Con una exigua caché L3 compartida de solo 2 MB para cuatro núcleos (512 KB por core). Una caché L3 de diseño totalmente asíncrono con los núcleos que imponía altas latencias de acceso cifradas en unos 48 ciclos a frecuencias nominales. Además y debido a su pequeño tamaño, unas bajas tasas de aciertos L3 (cache hits) y grandes cargas en el dual channel DDR2 lo que causaba contención en acceso.

phenom AMD Barcelona 65 nm, quad core nativo con 2 MB de L3 compartida.

Intel hacía meses que disponía del doble dual core Clovertown de 65 nm con dos L2 de 4 MB que aumentó más si cabe el diferencial de prestaciones con AMD, además de ser más barato de fabricar dada su poca superficie y avanzada tecnología de fabricación.

Estaba formado por dos dies Core 2 Duo en un chip:

intel-core-2-quad-q6600-cpus1[2] El Intel Core 2 Quad, un MCM de dos Core 2 Duo. 4 + 4 MB de L2 en 65 nm.

Rápidamente Intel sacó al mercado la evolución de 45 nm de Core 2, los núcleos Penryn con 6 MB de L2 compartida. Contaban con numerosas mejoras que lo hacían sobre un 16% más rápido que su antecesor de 65 nm y recuerdo como todos mis mejores clientes sustituyeron sus CPUs Conroe por Penryn en pocos meses debido a su gran mejora en algoritmos conteniendo divisiones.

Penryn_58 Intel Core 2 Duo Penryn 45 nm, dual core con 6 MB L2 compartida.

Barcelona fue un débil rival para tales procesadores y esto se agravó cuando Intel presento el sustituto de Yorkfield, Harpertown, dotado de cuatro núcleos Penryn y 2 L2 de 6MB y proceso de 45 nm.

penryn_quadcore Los Core 2 quad de la serie 9000, fabricados en 45 nm.

Nivelando el terreno, AMD Shanghai

Por fin AMD introdujo en el mercado, esta vez sí, un procesador competente con la oferta de su rival Intel: el core Shanghai de 45 nm. Lo he analizado en multitud de artículos y desde todos los ángulos en LowLevelHardware (ordenados por fecha):

Y en ProfessionalSAT:

Ha poblado las series Opteron y Phenom II dotado de una L3 de 6 MB y 48 vías desplazando al mediocre chip Barcelona. Con esta evolución logró al fin doblegar a los invencibles hasta el momento Core 2 Quad Penryn. Actualmente se comercializa en versiones hasta los 3.4 GHz (Phenom II X4 965 BE) y este modelo en particular supera a cualquier Core 2 Quad en la media de benchmarks.

K10%20processor%2045nm%20architec%201[1]AMD Shanghai 45 nm, quad core nativo con 6 MB de L3 compartida.

Intel Tick–Tock. Microarquitectura Nehalem con SMT

El pasado año 2008 (en Q4) Intel dio a luz a su última microarquitectura de altas prestaciones: Nehalem. Salió a la venta con el nombre comercial de Core i7.

Este procesador lo he tratado extensamente (quizás me quedo corto…) en varios de mis blogs:

En LowLevelHardware he detallado su microarquitectura:

die Intel Nehalem 45 nm, quad core con SMT (8 threads) y 8 MB L3 compartida.

Su gran  baza es reside en el SMT, el Turbo Mode  y un brutal y desorbitado ancho de banda dado por el triple channel DDR3 además de su excelente arquitectura de caché de tres niveles con unos 38 ciclos de latencia L3 y unas ultrarrápidas L2 de 10 ciclos y 256 KB.

Con Nehalem, Intel ha logrado el liderato destacado en prestaciones en todos los terrenos: enteros, coma flotante, single thread, multithreading, ancho de banda, latencia… y AMD está pasando tiempos difíciles compitiendo con su única arma, el precio… y la inteligencia de su líder.

Un Phenom II X4 965 BE (el tope de gama) compite actualmente con el procesador benjamín de la gama Nehalem el Lynnfield Core i5 750 sin SMT (HyperThreading) y con dual channel DDR3 en prestaciones y precio.

die-angle-620[1] Intel Lynnfield 45 nm. Integra el controlador PCIe 2.0 en el die (a la izquierda).

Por encima de ellos se sitúan los Core i7 Lynnfield de socket LGA1156 con SMT, Turbo Mode agresivo y dual DDR3 Core i7 860 y 870. Este procesador, al integrar el bus PCIe en el die prescinde de los enlaces QPI y del chipset X58.

Lynnfield45nmIntel Lynnfield. 45 nm, 8 MB L3, SMT y PCIe integrado.

La superior gama i7 LGA1366 con SMT y triple DDR3 (asociado por un QPI de 4.8 a 6.4 GT/s con el chipset X58) no cuenta a día de hoy con un procesador equivalente en velocidad en AMD aunque tampoco en precio.

Servidores AMD e Intel en 2009

El año 2009 ha sido excelente para Intel, ha podido desplegar su arquitectura Nehalem hasta los dos sockets. En este terreno AMD no tiene una alternativa en paridad aunque se acerca bastante con su diseño Istambul, un hexa core nativo con 6 MB de L3 y fabricado en 45 nm:

Istambul45nmAMD Istambul. 6 núcleos y 6 MB L3 en 45 nm.

En el espacio 4 socket AMD es imbatible ya que Intel mantiene sus mastodónticos e ineficientes chips Dunnington hexa core basado en núcleos tres Penryn dual core con 3 MB de L2 shared por pareja y 6 MB de L3 compartida con una latencia superior a los 100 ciclos!!!

Dunnington_Xeon Intel Xeon Dunnington. 6 cores 3 L2 de 3 MB y 16 MB de L3 shared en 45 nm.

AMD e Intel en 2010

En 2010 AMD seguirá refinando el diseño de Shanghai. Hace un mes aproximadamente lanzó el nuevo stepping C3 que reduce el consumo y disipación térmica así como permite mayores overclocks en cores y uncore (caché L3, North Bridge y controladoras de memoria).

Introducirá un verdadero estado C1E lo que reducirá el consumo. Probablemente veremos versiones a 3.6 GHz del Phenom II X4 BE y como novedad la introducción del hexa core Istambul de 45 nm y 6 MB de L3 procedente de las actuales gamas de servidores Opteron de la serie (quizás Phenom II X6??) en el mercado de sobremesa llamado Thuban.

Westmere_wafer Wafer de procesadores Intel Westmere de 32 nm.

Intel tiene previsto la migración a 32 nm con los núcleos Westmere, la evolución de Nehalem. En el terreno más prestacional veremos los Westmere de 6 cores con SMT que elevará a 12 el número de threads por procesador. Contarán con 12 MB de L3 y varias mejoras micro arquitecturales.

westmereEl futuro Westmere dual core 32nm, 4 MB de L3 compartida y 256 KB L2 por core.

En principio Intel no tiene planes de un quad core de 32 nm basado en núcleos Westmere, para ello habrá que esperar a Sandy Bridge en 2011. Lo que sí habrá es un hexacore nativo llamado Gulftown:

gulftown32nm_6core Gulftown 6 cores, 12 MB L3 y 12 threads en 32 nm.

La buena noticia para algunos de mis clientes es que será compatible con la mayoría de actuales placas base con chipset X58 y socket LGA 1366.

AMD e Intel en 2011

Intel introducirá Sandy Bridge, su nueva microarquitectura tras Nehalem. Incluirá también SMT y la interconexión del procesador con el Uncore y los buses y cachés L3 compartidas será a través de un anchísimo ring bus que proporcionará latencias menores que en los actuales diseños.

003Sandy Bridge 32 nm, la próxima evolución microarquitectural de Intel.

En el siguiente artículo haré una educada estimación de la siguiente microarquitectura de AMD, el revolucionario core Bulldozer de 32 nm que verá la luz en 2011.

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

8 comentarios:

  1. Excelente artículo, me ha venido muy bien para ponerme al día de lo que está por venir.

    Un saludo.

    ResponderEliminar
  2. Nostromo ADF08 diciembre, 2009

    ¿Seguro que los 2,4 GHz tenian HT? Yo me compré un 2,6 GHz porque era el ya tenía Hypertreading. Todavía está funcionando en el pueblo.

    ResponderEliminar
  3. Nostromo ADF08 diciembre, 2009

    Pues si que hay P4 a 2,4 GHz con HT.
    http://en.wikipedia.org/wiki/List_of_Intel_Pentium_4_microprocessors

    ResponderEliminar
  4. Los P4 Northwood introdujeron HyperThreading en los modelos superiores (el primero fue el excelente para la época 3.066 MHz HT con FSB 533) y con el tiempo Intel lo fue estendiendo a las frecuencias inferiores como 2.4 GHz cuando ya aumentó el FSB a 800.

    De hecho hubo modelos Northwood desde los 1.6 GHz con FSB 400.

    Un saludo,

    Carlos Yus.

    ResponderEliminar
  5. Carlos,cuanto tiempo....
    Por fín!Unas clases de las buenas.
    Una(s) preguntita(s) ...
    ¿Cómo crees que influiran las multas y acuerdos por tácticas anticompetencia al ROADMAP de INTEL frente a AMD?...De momento 1060 millones € UE,1250 millones $ a AMD más la cesión de licencias por 5 años...EEUU está entrando a saco a por INTEL (se avecina fortísma multa)....
    De momento han anulado o aplazado más de un año el Larrybee ese...
    ¿En CPU-GPU (API,BULLDOZER) no va a haber rival?
    Muchas gracias por tu vuelta.

    ResponderEliminar
  6. Influirán y de manera considerable, estoy absolutamente convencido en los Roadmaps de Intel, AMD y... nVidia.

    AMD necesitaba urgentemente esta inyección de efectivo y ahora Intel se enfrenta a un nuevo juicio en USA en términos todavía más graves.

    Un saludo,

    Carlos Yus.

    ResponderEliminar
  7. En mi opinion es incorrecto hablar de 8 cores en el Bulzdozer, Son solo 4 pero con un front-end duplicado para los enteros. Pero la busqueda (fetch) la decodificaión y la prediccion de saltos es compartida por ambos. Es mas o menos como considerar un Pentium 1 como dos 486. La duplicación solo es a nivel de ejecución (y en este caso en algunos pasos más de un pipeline mas largo, pero siempre dentro del back-end) . Eso nada tiene que ver con las excelencias que sin duda tiene el diseño y la innovación que representará este nuevo concepto del procesamiento. Por lo demas, felicitaciones por la calidad del blog. Javier

    ResponderEliminar
  8. Javier, estrictamente hablando podemos ver que la palabra core está perdiendo el sentido claro y sencillo que antaño tuvo como sinónimo de CPU completa.

    De todos modos la analogía con los Pentium como un INT core de 486 duplicado es excesiva debido a que los dos pipelines de un Pentium no eran iguales ni simétricos y además no añadían otra lógica duplicada. Sólamente añadía un pipeline más en ese sentido.

    En Bulldozer el concepto es cualitativamente más amplio y se duplican las unidades de ejecución de enteros compartiendo el Fetch de 32 Bytes/cy. pero con caches L1D discretas y separadas por thread.

    Las cachés L1i parece ser que serían también discretas y exclusivas por thread.

    En este sentido es absolutamente razonable hablar de dos INT cores por procesador.

    El caso de la FPU es más complejo pues es una unidad pero con capacidad SMT de dos vías con dos FMAC de 128 bit que pueden trabajar sobre un thread o particionadas sobre dos distintos procesos.

    Un saludo,

    Carlos Yus.

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.