jueves, 2 de febrero de 2017

AMD Bulldozer. Prestaciones estimadas - LowLevelHardware

En el tercero de esta serie de artículos dedicados a la próxima micro arquitectura de AMD voy a aventurar mis previsiones sobre su nivel prestacional. Además lo compararé con los diseños actuales y con su muy evolucionado y perfeccionado futuro competidor, Intel Sandy Bridge.

Bulldozer_server AMD Bulldozer, la próxima micro arquitectura.

Bulldozer module, el módulo Bulldozer:

BulldozerModuleAMD Bulldozer module.

AMD llama módulo al conjunto siguiente:

  • Las etapas de Fetching
  • La circuitería de Decodificación X64
  • Los tres Schedulers independientes
  • Las cachés L1i
  • Los 2 cores de enteros compuestos de 2 ALUs y 2 AGUs
  • Una doble FPU con capacidad FMAC de 128 bit
  • Las cachés L1d
  • La L2 compartida para todas las unidades funcionales dentro del módulo

Este concepto se contrapone a la actual acepción de core. En los actuales diseños entendemos como core al conjunto del procesador excluyendo las interfaces externas, el North Bridge y en todo caso la caché L3 compartida (de haberla).

AMD nos obliga a cambiar el concepto para subrayar que cada módulo contiene dos cores funcionales e independientes de proceso de enteros.

Prestaciones por ciclo esperadas

A estas alturas tengo absolutamente claro que el tamaño en mm2 de la parte lógica (excluyendo L2 e interfaces) de Bulldozer será notable, claramente superior a sus actuales cores K10.5.

AMD ha comunicado que su núcleo K10 fabricado en 32 nm SOI HKMG por GloFo ocupa solamente 9.69 mm2 para 35 M Transistores, 17.7 mm2 incluyendo 1 MB de L2 (110 MT).

AMD_K10_32nm AMD K10 32 nm core 1 MB L2.

Estimo que el área lógica (ALUs + FPU) de Bulldozer se irá a la zona de los 20 mm2 en 32 nm, el doble que K10 32 nm y más área de die que los actuales cores K10.5 de 45 nm de Phenom II (unos 17 mm2).

K10.5_45nm_1MBAMD K10.5 45 nm 1 MB de L2.

Prestaciones en coma flotante (FPU)

Donde habrá un gran incremento en número de transistores será en la gran FPU doble de 128 bit con capacidad FMAC.

La actual implementación en K10.5 de 45 nm (Phenom II) comprende 3 pipelines de coma flotante especializados de 128 bit:

  • FMUL
  • FADD
  • FMISC

Esta limitación reduce su capacidad de proceso FPU puesto que cada unidad procesa un tipo de instrucciones y cada tipo de instrucción debe ir a su unidad y no otra.

En Bulldozer ambos pipelines son generales (ejecutan cualquier instrucción FPU) y simétricos y por ello resulta una arquitectura mucho más potente en cálculo matemático.

En coma flotante espero un gran avance en prestaciones clock for clock respecto a los actuales diseños de AMD, cifrado en torno a un 50% para 4 módulos Bulldozer con sus 4 FPUs dobles frente a las 6 FPUs con 3 pipelines de 128 bit cada una del hexacore Istambul.

Istambul45nm AMD Istambul hexacore, Bulldozer lo superará en un 50% en potencia FPU.

Prestaciones en proceso de enteros

Los Int cores muy probablemente serán más cortos en transistores que los actuales cores de enteros de Phenom II. De hecho reducen su capacidad de 3 ALUs mas 3 AGUs a 2 mas 2 respectivamente. AMD claramente apuesta por un futuro multithread…

Las prestaciones por Int core en cambio serán muy probablemente inferiores a las actuales en Phenom II.

Según las propias estimaciones de AMD, un MCM Bulldozer con 16 Int cores será un 37% más rápido que el doble hexa core Magny Cours. Si calculamos, a igualdad de cores, llegamos a un empate técnico.

Es decir, las prestaciones multithreaded en proceso de enteros serán equivalentes. En cambio, en algoritmos single threaded parece que Bulldozer será inferior a los actuales cores de AMD. Me puedo equivocar pero a la luz de los datos conocidos…

Frecuencias estimadas

La frecuencia de trabajo de un microprocesador actual la determinan numerosos factores:

  • La capacidad de la lógica de procesamiento (ALUs, FPUs…) de funcionar con corrección y estabilidad a esa frecuencia con un voltaje razonable.
  • La capacidad de realizar las comunicaciones inter core en un tiempo suficientemente corto para finalizar la transferencia antes del siguiente tick de reloj.
  • Frecuencia máxima de las cachés a la latencia y voltaje estipulado.
  • Entrar dentro del TDP de diseño (Thermal envelope) a esa frecuencia y voltaje en carga máxima combinada.

Como vemos, por un lado la frecuencia viene determinada por las capacidades del chip, del “silicio”, y por otro lado de no excederse en disipación térmica.

La velocidad de propagación de las señales eléctricas es limitada (y muy, muy inferior a la de la luz contrariamente a lo que algunos piensan) y por ello transcurre un tiempo finito desde que una unidad envía un resultado hasta que otra unidad lo recibe y puede comenzar su procesamiento sobre él. Esto limita la frecuencia de los procesadores y motiva que su diseño sea extremadamente complejo pues hay que posicionar las unidades que necesitan comunicación mutua lo más cerca posible (no en distancia, sino en tiempo – latencia –).

La disipación térmica depende de la frecuencia linealmente y del voltaje. La dependencia del voltaje es con una potencia entre 2 y 3:

  • Doble frecuencia, doble disipación.
  • Doble voltaje, de 4 a 8 veces mayor disipación térmica.

Como todos sabéis, a mayor voltaje (dentro de las limitaciones del diseño y el proceso de fabricación) mayor fiabilidad y linealidad en el rendimiento de los transistores de los que está compuesto el chip.

Todos estos condicionantes dan un rango de voltaje utilizable en el procesador, cuanto más nos acercamos al máximo obtendremos una mayor frecuencia estable pero con un gran consumo y en cambio, en la parte baja del rango obtendremos una menor frecuencia pero un excelente performance per watt.

Estimo que las frecuencias de Bulldozer se moverán en el mismo rango que los actuales cores Shanghai y Interlagos, sus frecuencias máximas rondarán los 3+ GHz. No veo probable cruzar los 4 GHz con TDPs razonables (máximo de 140W).

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

10 comentarios:

  1. Buenas, pasaba por aquí, bueno, de hecho estaba buscando info de los bulldozer, arquitectura y tal. Muy buen análisis, si bien como dices no hay información. Interesante el tema de la disipación calor y su incidencia respecto a la velocidad - voltaje. Ahora entiendo muchas cosas jaja (es coña).

    Salu2

    ResponderEliminar
  2. Como biem dices no hay mucha información acerca de Bulldozer, aunque investigando las patentes de AMD se puede ver por donde irá la cosa...

    De todos modos, creo que no voy mal encaminado en mis análisis.

    En cierto modo siento cierta preocupación pensando en si habrá competencia entre Bulldozer y Sandy Bridge (la próxima microarquitectura de Intel) o será un paseo triunfal para Intel.

    Hay que subrallar que AMD lanza una nueva microarquitectura cada cinco o más años y la va refinando lentamente; Intel, en cambio, cada dos años trae al mercado algo verdaderamente revolucionario.

    Por la sana competencia y por el consumidor espero que AMD esté a la altura.

    Tienes nás información de Bulldozer en anteriores artículos de este mismo Blog.

    Un saludo,

    Carlos Yus.

    ResponderEliminar
  3. Buaaa muy buena entrada, muy bien explicado y a un nivel realmente envidiable, yo también quiero que AMD retorne mas fuerte que nunca, al final los beneficiados somos los consumidores.
    Sigue así campeón

    ResponderEliminar
  4. Los Phenom deriban de los athlon originales con mejoras en el pipeline, ejecutando 3 intrucciones por ciclo. La pipeline de buldozer es completamente nueva e iguala o supera la del core i7 de intel, ademas tambien ejecutara 4 + 4 instrucciones por ciclo, al contar con dos nucleos por modulo (el core i7 4 + 1). Asi que tu estimacion esta mal. Al vuelo veo que un modulo es 40% mas rapido que un ph II dual core.

    ResponderEliminar
  5. Anónimo, comparto tu deseo acerca de las prestaciones del futuro core Bulldozer de AMD. Sería muy sano para una competencia real entre Intel y AMD y para que se diese una guerra comercial que bajase el precio de los procesadores.

    Pero sinceramente, y teniendo en cuenta la superficie de die necesaria para dotar a cada módulo Bulldozer de 4 pipelines de enteros además de las AGUs en el proceso de 32 nm, lo veo improbable o AMD se encontraría con un módulo realmente enorme en mm2 debido a sus cores de enteros dobles de 4 pipelines ALU.

    Por otro lado, siempre es posible que AMD unifique en un solo pipeline los cálculos de enteros (ALU) y los de direcciones de memoria (AGU), al estilo de Intel.

    Sería una posibilidad interesante pero implica cambios radicales de microarquitectura, como expliqué en un artículo anterior (http://lowlevelhardware.blogspot.com/2010/02/microarquitectura-amd-bulldozer-2011.html):

    "Especulación 4, Pipelines de enteros:

    No se sabe a ciencia cierta si los citados 4 pipelines de enteros por Int-core se equiparan a los 3 pipelines de proceso de enteros de los Athlon/Athlon XP/Athlon 64/Phenom/Phenom II/Athlon II, es decir excluyen los tres pipelines dedicados AGU (load-store) o contrariamente los incluyen.

    En el primer caso y a igualdad de implementación, la potencia de proceso sería un 33% superior por Int-core, lo que ciertamente a AMD le resolvería su problema prestacional principal respecto a Intel, su clara inferioridad en cálculo de enteros por ciclo y core (sobre un 30 – 40 % en Phenom II respecto a core i7 clock-for-clock).

    Es difícil saberlo a día de hoy, pero ciertamente espero que sea de este modo y no al contrario, como detallo a continuación:

    Hipótesis 1: Si AMD utiliza 4 pipelines para cálculo entero y simultáneamente como AGUs (Address Generation Units) o 2 pipelines de enteros y dos AGUs, la potencia de proceso descendería drásticamente en algunos algoritmos… incluso respecto al actual Shanghai 45 nm (Phenom II) core for core y clock for clock.

    He leído a algunos ingenieros de AMD e incluso a alguien de su Staff directivo alabar las cualidades de proceso multi thread de Bulldozer y eludir comentarios sobre potencia de cálculo single thread. Sinceramente, espero haber entendido mal sus comentarios…

    En este caso, a igualdad de reloj y en procesos single threaded sería más rápido un Phenom II actual que este hipotético Bulldozer aunque tuviese muchos más cores disponibles para ejecutar más threads.

    Por supuesto, en este caso Intel no tendría competencia en software single threaded. Pensad que para entonces Intel comercializará Sandy Bridge, su próxima microarquitectura.

    Un saludo,

    Carlos Yus.

    ResponderEliminar
  6. Está muy bién pero... ¿Porqué no se comenta nada del futuro inmediato AMD FUSION LLANO/ONTARIO?
    http://www.akronoticias.com/2010/06/9905-22048.htm
    http://www.zdnet.com/blog/computers/computex-2010-amd-demonstrates-fusion-apus/2701
    http://www.techtree.com/India/News/Computex_2010_AMD_demos_Fusion_APU/551-111573-581.html
    http://www.youtube.com/watch?v=eg5mKP5R8B8
    Gracias.

    ResponderEliminar
  7. J-F de AMD, afirma que hay una mejora en relación a enteros por núcleo con respecto al núcleo Deneb.
    Sería ese 33 al que se refiere Carlos.
    Intel ¿Cambia la arquitectura cada 2 años?. Conroe o core2 duo el cambio real e importante. Una evolución del P3 pasando por Pentium M y otros. Las distintas implementaciones de cahé el IMC y QPI que son copias a Amd (a nehalem, algunos le decían OptiClon), son cambios si, pero revolución no. Intel no es revolución tecnológica; hace rato que no lo es. Es simplemente, flor de negocio.

    ResponderEliminar
  8. Anónimo "1",

    Realmente cuesta muchas horas redactar un artículo de estas características. Por ello resulta imposible tratar todo de una sola vez.

    No tengas dudas de que en breve haré un extensivo artículo sobre la nueva microarquitectura de bajo consumo Zacate y también del futuro Ontario (saldrá al mercado en Q3 2011).

    Anónimo "2",

    Siento discrepar de tu opinión, después de muchos años en el negocio y tras un conocimiento exhaustivo de la microarquitectura de todos los procesadores de la era moderna me considero un diseñador de sistemas neutral en cuanto a sus "gustos" AMD - Intel.

    A lo largo de los años he cambiado varias veces de fabricante de procesadores en mis diseños:

    Inicialmente montaba AMD en la era de los Athlon y posteriormente con los Athlon XP.

    Al final de la vida de los Athlon XP empecé a montar P4 Northwood desde los modelos a 2.0 y 2.4 GHz hasta que llegó el AMD Athlon 64.

    Desde ese momento mi procesador de elección era el fantástico Athlon64, primero en socket 754, después en socket 939 con dual DDR 400. Después me sorprendió la poca ganancia de velocidad con el paso al dual channel DDR2 800 en la plataforma AM2, era debido al estrecho bus interno de memoria de los Athlon 64.

    En ese momento y hablo de mediados de 2006 transicioné a Intel mis diseños con el excelente procesador Core 2 Duo Conroe de 65 nm y 4 MB L2 y su brutal salto en rendimiento.

    Lo demás es demagogia.

    Un saludo,

    Carlos Yus.

    ResponderEliminar
  9. De Athlon XP pasaste a ... Northwood??? Que época te perdiste!

    ResponderEliminar
  10. Zergiuz, lo siento pero no entiendo que quieres decir.

    Antes de la salida de Athlon64, el procesador de elección era sin duda Intel P4 Nothwood 512 KB de 130 nm. Posteriormente adquirió Hyper Threading y la diferencia de rendimiento con los Athlon XP Barton 512 KB de 130 nm era notoria.

    Un saludo,

    Carlos Yus.

    ResponderEliminar