jueves, 2 de febrero de 2017

AMD Piledriver core. Actualizado 04/03/2012 – LowLevelHardware

Chip

En este artículo voy a describir alguna de las mejoras micro arquitecturales implementadas por AMD en la primera evolución de la arquitectura Bulldozer que próximamente verá la luz en los APU Trinity 32 nm.

Al final del artículo comento la adopción de AMD para Piledriver de la nueva tecnología RCM (Resonant Clock Mesh) de distribución de señal de reloj de Cylos Semiconductor.

He modificado totalmente la sección de conclusiones con los cambios que considero necesarios a esta micro arquitectura para que algún día despliegue toda su potencia oculta. La arquitectura Bulldozer es capaz de mucho más.

Por cierto, echad un vistazo a los comentarios de este artículo, pues hay información muy interesante y respuestas a algunas preguntas comunes.

Piledriver_coreLa fotografía de Piledriver muestra algunos cambios frente a Bulldozer.

Estos nuevos cores de procesamientos estarán disponibles en dos variantes no idénticas:

- Primero aparecerán en Trinity 32nm, el sustituto de los actuales Llano 32 (AMD A8, A6 y A4) con GPU Radeon integrada.

- En una segunda etapa, hacia Q3 2012, se actualizarán los cores Bulldozer de los chips AMD FX 32 nm con núcleos Piledriver de segunda generación derivados de los integrados en Trinity. Son los que considero más interesantes.

La nueva AMD

Tras la salida de Dirk Meyer, AMD ha cambiado de manera importante sus objetivos, ahora ya no pretende alcanzar a Intel en prestaciones puras por core (IPC). Dirk luchó por ello con los pocos recursos que le dejó la desastrosa gestión anterior de sus antecesores.

Fueron años de despilfarros que malgastaron los enormes beneficios de la época de gloria de los AMD Athlon, Athlon64 y Opteron.

La lucha en IPC se antojaba imposible y aunque lo pretendiesen es simplemente absurdo dado el altísimo perfeccionamiento alcanzado por Intel y su arrolladora cadencia de producción de nueva micro arquitectura y nuevo proceso de fabricación en años alternos (Intel Tick Tock). Sobretodo sabiendo que actualmente Intel ostenta de un 20 a un 50% de ventaja en IPC por core y a igualdad de reloj.

AMD_2012_2013_DesktopRoadmap de sobremesa 2012 – 2013. A finales de año llega Piledriver.

AMD con su nueva estrategia ve un futuro para sus procesadores con un diseño SOC, muchos de ellos fabricados en procesos Bulk (más dirigidos a bajos consumos y no tan altas frecuencias) y no los caros SOI HKMG actuales, pensando más en el rendimiento por watt que en rendimientos absolutos.

AMD Piledriver core

Toda la información expuesta a continuación ha sido extraída de la reciente revisión de la Guía de Optimización Software para la Familia 15h de AMD:

AMD_15hSoftware Optimization Guide for AMD Family 15h Processors.

Los integrantes de la micro arquitectura Bulldozer estan divididos en varias familias y estas a su vez en modelos:

- Los actuales cores Bulldozer (AMD FX 32 nm) son denominados familia 15h y modelos 00h - 0fh (0xh). Incluyen caché L3 de 8 MB:

- Los cores integrados próximamente en Trinity son familia 15h y modelos 10h - 1fh (1xh). No llevarán caché L3 e ira´n acompañados de una GPU integrada de la familia Radeon HD6000.

- Los cores integrados en el sustituto de AMD FX 32 nm serán familia 15h y modelos 20h - 2fh (2xh), contarán con caché L3, muy probablemente igual a la actual (8 MB).

Los modelos 10h - 1fh (1xh) y 20h - 2fh (2xh) incorporan cores Piledriver, de primera y segunda generación respectivamente, estos últimos con algunas mejoras adicionales.

Trinity_Die_Low_wmPrimera imagen de Trinity 32 nm, dos módulos Piledriver y GPU AMD serie 6000.

Las diferencias de Piledriver respecto a los actuales cores Bulldozer son las siguientes:

PiledriverMejoras micro arquitecturales en AMD Piledriver 32nm.

Entre las diferencias importantes puedo señalar las siguientes:

- El soporte para nuevos juegos de instrucciones, entre los más destacados el FMA3 de Intel.

- La ampliación de la cola de precarga de instrucciones (load queue) de la FPU de 40 a 44 entradas.

- El soporte para los formatos FPU de 16 bit.

- La ampliación del buffer L1 DTLB (el translation lookaside buffer de datos de nivel 1) de 32 a 64 entradas. 32 entradas era claramente insuficiente.

El resto de cambios serán menores y poco significativos prestacionalmente hablando.

También espero y digo espero porque no sé si AMD lo implementará o no, una sustancial mejora en la velocidad de escritura de las cachés L1d y L2 de Piledriver respecto a los horribles ratios de Bulldozer.

Esto exigiría un rediseño de las WCC (write combining caches) de Bulldozer, unos pequeños buffers de 4 KB por core (2 por módulo) que consolidan las escrituras desde las dos L1d de cada core (dentro del módulo) hacia la L2 compartida de 2 MB.

En la práctica es una caché L1.5d. El flujos de datos pasa desde la L1d de 16 KB a la WCC de 4 KB y de ahí a la L2 de 2048 KB.

Conclusiones e ideas generales

No me gusta Bulldozer. Es simplemente así, en 2012 la evolución de las micro arquitecturas sigue la dirección opuesta: pipelines cortos, cachés L1 de 32 KB con alta asociatividad (8 vías) y mecanismos branch prediction muy muy avanzados.

Bulldozer y Piledriver tienen un grave fallo, el Front End no es capaz de alimentar tres schedulers con 4 pipes cada uno (los dos INT cores y la unidad SIMD FMAC), nada menos que doce unidades de ejecución se alimentan de él.

Los Decoders sólo son capaces de descodificar 4 instrucciones/ciclo a partir de un fetch de 32 bytes/ciclo desde la L1i de 64 KB y dos vías, en el caso de ser instrucciones X86 simples que generen sólo una macro op.

Si hay una instrucción X86 más compleja que genera 2 macro ops, el ratio de decoding se reduce a 2 simples y una doble macro op y no 3 + 1 como sería deseable.

Y si son instrucciones X86 complejas que generen más de 2 macro ops y deban usar el microcode engine solamente se descodifica en pico una instrucción/ciclo y lo normal es que tarde bastantes ciclos en secuenciar una instrucción compleja X86 en macro ops. Y en ese tiempo no entran instrucciones en los pipes… Todo el front end se bloquea y los demás threads tienen que esperar.

Además, los decoders procesan instrucciones, hasta 4 en paralelo si son simples, pero NO pueden descodificar instrucciones de dos threads diferentes. El funcionamiento es en ciclos alternos (ciclo 1, thread 1; ciclo 2, thread 2; …) Si los dos INT cores están activos, los decoders sirven a cada INT core cada dos ciclos, dando un pico de 2 instrucciones por ciclo por INT core, insuficiente pues cada INT core posee 4 pipes.

Los INT cores poseen 4 pipes, dos de ejecución (EX0 procesa ALU y IDIV, EX1 procesa ALU, IMULT, JUMP) y dos para operaciones de lectura de memoria (AGLU0, AGLU1). En total 4 unidades de ejecución por INT core.

AMD debe trabajar en ensanchar los decoders, debería ir hacia un diseño de 6 instrucciones/ciclo y reducir el numero de instrucciones X86 que utilizan micro código. La tasa de Fetch actual (32 bytes/ciclo) es suficiente.

El diseño actual de la caché L1i (L1 de instrucciones) debe desecharse. 64 KB no son necesarios pero sí elevar su asociatividad a 8 vías (tened en cuenta que sobre ella se ejecutan 2 threads). 32 KB y 8 vías sería lo óptimo.

El diseño de las L1d me gusta pero debe aumentarse a 32 KB y sería bueno llegar a las 8 vías, aunque 4 es satisfactorio, suficiente.

Hay que trabajar en los anchos de banda en escritura, Bulldozer arroja resultados terribles en escritura o copia en L1d y L2. Hay que revisar el funcionamiento de las WCC de 4 KB por INT core.

La caché L2 debería reducirse a 1 MB o incluso 512 KB manteniendo las 16 vías y reduciendo el acceso load to use a 10 – 12 ciclos.

La política de acceso a L3 y su manejo de la coherencia deben modificarse. Los bits per core de Nehalem y Sandy Bridge deben de ser incorporados a su diseño. AMD debería ya de una vez desechar las cachés exclusivas.

También debe mejorarse la latencia de activación del Turbo Core y debe reducirse el voltaje cuando se activa. Ahora mismo un Phenom II X6 o un Bulldozer FX 8150 con Turbo core activado trabajan a voltajes de 1.35 a 1.50V, es absurdo.

En mis ensayos personales con multitud de CPUs de ambas familias consigo estabilidad absoluta a 0.10V, 0.15V o incluso 0.20V menos que los nominales a frecuencias iguales a las de Turbo Core reduciendo la temperatura y el consumo radicalmente.

Lo esencial de los modos Turbo es una respuesta instantánea de la subida de frecuencia, si no, muchas veces la frecuencia se incrementa cuando el proceso crítico ya ha concluido y lo peor, a frecuencia reducida y con sensación de lentitud para el usuario.

Se denomina Race To Idle y consiste en incrementar la frecuencia al máximo para acabar rápido el proceso y volver lo antes posible al estado mínimo de frecuencia y voltaje para ahorrar energía. AMD debería implementar esta técnica.

El Branch Prediction también reside en el Front End y es compartido por los dos INT cores y la SIMD FMAC. Carece de predicción para Loops por lo que los predice generalmente mal. Su precisión general es buena (mucho mejor que la de los antiguos Phenom II) pero le penaliza la longitud del el pipeline de enteros, la penalización tras un fallo de predicción Branch asciende de 19 a 22 ciclos (!!).

Una hipotética macro op cache implementada en las primeras etapas del pipeline de cada INT core haría milagros en Bulldozer, su efecto sería mayor que el de la micro code caché de Sandy Bridge.

AMD_16core_Opteron_62XXDos chips Orochi 32nm forman el nuevo Opteron Interlagos 16 cores.

De todos modos AMD está realizando progresos que quizás hagan que en un futuro próximo sea un core más equilibrado. La actualidad de Bulldozer es poca potencia de proceso single thread y un nivel de prestaciones aceptable solamente cuando el software carga los ocho threads por chip a fondo… un escenario que se da en pocas cargas de trabajo.

Nos guste o no, y estamos en 2012, el mundo sigue dominado por la velocidad de respuesta de la máquina a cargas de 1 thread. AMD debe mejorar en este sentido y en Bulldozer hay claras áreas mejorables sin mucha inversión.

Sigo siendo de la opinión de que AMD tiene un mejor core que Bulldozer, el venerable K10 de 65 nm, K10.5 de 45 nm y actualmente “K11” de 32 nm (el incluido en Llano). Con las lógicas mejoras, sobretodo en el terreno de Branch Prediction, mejora de la velocidad L2, aumento de ancho de la FPU a 256 bit y con las nuevas (y excelentes) controladoras de memoria de AMD.

Con sus pequeños cores (poco más de 9 mm2) sería factibles integrar 8 con 8 L2 de 512 KB y una L3 de 8 MB en un die con una superficie moderada… sería un muy competente rival para Intel Sandy Bridge.

El problema más grave de AMD continúa siendo el de siempre: Intel. Estoy asombrado de los progresos que llegan en alrededor de un año con Haswell 22nm… entre ellos la implementación de memoria transaccional.

Es una verdadera pesadilla para AMD tener a Intel como rival con sus agresivas políticas de desarrollo y su brutal gasto en I+D además de su ingente capacidad de ingeniería. Cada dos años lleva al mercado una nueva micro arquitectura (TOCK) que mejorar sustancialmente la anterior y encima en los años alternos, puntualmente, comercializa un nuevo proceso de fabricación (TICK) ( … 180nm > 130nm > 90nm > 65nm > 45nm > 32nm > 22nm > 14nm …) que deja prácticamente en ridículo al resto de la industria de semiconductores mundial…

AMD Piledriver RCM (Resonant Clock Mesh)

AMD y Cylos Semiconductor han informado que Piledriver integra una nueva metodología para la transmisión de la señal de reloj a todos los transistores del die.RMC Schematic

Se denomina RCM (Resonant Clock Mesh) y permite una reducción de un 24% en el consumo de la red de distribución de reloj y globalmente un 10% global de reducción de consumo.

Sin duda es una excelente noticia, pues AMD, actualmente está limitada por disipación térmica y consumo en Bulldozer y un recorte sólo por la adopción de RCM junto con otro tanto por ciento debido al refinamiento del proceso de fabricación de 32nm HKMG SOI de Global Foundries puede dar a Piledriver una nueva vida tanto en Trinity como en el futuro AMD FX octal core.

Sin duda permitirá unas frecuencias mayores manteniendo el TDP y quizás pueda, un AMD FX basado en cores Piledriver, coquetear con los 4.6 – 4.8 GHz.

En fin… más en breve.

Echad un vistazo a la web de mi nueva empresa, un proyecto de gran envergadura que llevo preparando hace más de un año.

Os lo recomiendo para diseño de sistemas de altas prestaciones:

ip16_texto_300px_blanco[4][2][2]

Allí tenéis a vuestra disposición el formulario de contacto, para consultas sobre este artículo hacedlo más abajo en la sección de comentarios.

Y mi nuevo Blog de contenido muy técnico y actualizado donde encontraréis artículos míos sobre hardware, procesadores y sistemas y también otros posts de expertos programadores e informáticos sobre otros temas de actualidad:

infromaticapremium-blog[4][2][2]

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.

61 comentarios:

  1. Algo breve y para lo que nos tienes acostumbrados poco técnico =p. Igual AMD no solo busca Chips de bajo consumo, mas bien esta buscando cambiar el enfoque con si llamada HSA. AMD parece buscar usar mas y mas el poder de sus potentes GPUs y sus nuevas arquitecturas se enfocan en eso. Igual, esta AMD es incomparable con la anterior, el nuevo CEO planea una revitalisacion y cambio. No se cuanto le tome sacar una arquitectura "enfocada en su visión" pero seguro veremos mas y mas una integración entre sus CPUs y (su mejor arma) sus GPUs. Si AMD logra una manera de hacerlo, entonces si podría llegar a competir contra Intel. Aunque creo que ya eso no importa, el dinero ahora esta en los dispositivos portátiles, y eso ya es un mundo diferente.

    ResponderEliminar
  2. Anónimo,

    Poco más hay que decir sobre Piledriver, no es un nuevo core. más bien es un stepping mejorado. No espero nada espectacular prestacionalmente hablando de la transición BD -> PD.

    En cuanto a los dispositivos móviles, hay dinero pero no margen. Un chip que cuesta 15€ en fabricación se venda prácticamente por los mismos 15€, ahí no hay dinero. Y lo que sí hay es una terrible competencia con rivales mucho más preparados que AMD en estas lides (Samsung, Qualcom, ARM...)

    AMD más bien piensa de tablet para arriba pero creo que el core de su negocio debe seguir siendo el PC, sea server, sobremesa, portatil, ultraportable o netbook.

    Saludos,

    Carlos Yus.

    ResponderEliminar
  3. Gracias por la lectura y opiniones Carlos, para agregar: hay nueva politica de precios de AMD mas caros los precios y la nueva tecnologia de ahorro de energia que promete un 25% menos de consumo con lo que le permitiria al piledriver llegar a los 4ghz conservando el mismo consumo anterior

    ResponderEliminar
  4. Anónimo,

    Como comentas un 25% menor consumo pero sólo en la circuitería de reloj. En cuanto al global del chip será sobre un 10%. De todos modos no está nada mal. Gracias por tus comentarios.

    Un saludo,

    Carlos Yus Valero.

    ResponderEliminar
  5. Interesante articulo como todos los que escribes.

    ¿Para cuando un articulo sobre la arquitectura ARM?

    ResponderEliminar
  6. De nada Carlos, tiene razon el anonimo ultimo que decis de arm? yo tengo un telefono con un cpu de 1ghz y en el trabajo mi pc tiene un pentium 3 de 900mhz jua y la el otro dia miraba este articulo que me llamo la atencio:
    1 AMD approached Nvidia before ATI acquisition in 2006
    http://www.techspot.com/news/47554-amd-approached-nvidia-before-ati-acquisition-in-2006.html
    2 Guide to smartphone hardware
    http://www.neowin.net/news/guide-to-smartphone-hardware-27-graphics-2
    espero sirva Carlos Suerte

    ResponderEliminar
  7. Anónimo(s),

    Ya tengo escrito mi primer artículo de un nuevo blog sobre Arquitectura ARM, SoCs, tablets y smartphones. Llevo ya unos tres años de investigación sobre ARM, una arquitectura RISC con un énfasis absoluto en el bajo consumo y un mínimo número de transistores y de superfície del die.

    Estoy de acuerdo con vosotros en que la arquitectura ARM y particularmente el dseño de SoCs es uno de los temas más de actualidad y más en el momento que comienza en Barcelona el WMC 2012.

    Yo ahora mismo tengo un Samsung Galaxi S II con 2 cores ARM Cortex A9 a 1.2 GHz y GPU ARM Mali 400 MP4, 1 GB dual channel LPDDR2, 16 GB de Flash USB y 16 GB en uSD. Es toda una máquina con una potencia increíble en la palma de tu mano.

    Próximamente aparece el firmware oficial de Samsung para este smartphone de Android 4, por eso me decidí por él.

    El blog está en fase beta y ya está online pero espero a que esté en un estado más aceptable para publicar links a él desde mis otros cinco blogs.

    Estad atentos por que en breve haré públicos los enlaces. Muchas gracias por vuestro interés.

    Un saludo,

    Carlos Yus Valero.

    ResponderEliminar
  8. Carlos una duda totalmente fuera del topico que veniamos hablando, yo tengo un nahalem un i750 con una msi p55 gd65 una fuente thermaltake de 1000w y un sli de dos 560ti y 8gb de memoria, la duda, venia usando 4gb de memoria rapida(1.5v)pase a 8gb de memoria kingston(1.65v)no tan rapida,el drama es que la venia usando a 4100mhz voltaje 1.28 bios 1.35 cpuz, impack estable a 80-85 grados prime 2horas sin dramas pc estable cuando cambie la memoria tube que bajar a 4.0 para que sea estable tratando de subir buscando timings y voltajes el ultimo que probe fue 1.3 de bios cuando ocurrio el problema, en el limpack senti olor a quemado y luego se colgo la pc, los cables de alimentacion del cpu de 8 pines uno se habia derretido.
    Pregunta que opinas de esto? madre? psu? que podria haber pasado todo es en teoria de alta calidad el oc no era estremo estaba en 4.23ghz no era para semejante falla, desde ya gracias Carlos ya que sos el unico que conozco con los conocimientos para desifrar esto, suerte!!!

    ResponderEliminar
  9. Anónimo,

    Por lo que comentas el asunto pinta mal.

    Si uno de los cables se ha fundido o quemado indica que ha habido un amperaje excesivo en ese cable. O el cable es muy malo (poca sección, cobre con muchas impurezas) o ha habido un mal contacto de éste con el conector ATX 12V.

    He visto cables y conectores soldarse o fundirse e incluso quemarse por haber mal contacto en el conector (mal apretado o defectuoso).

    Mi opinión es no rondar demasiado temperaturas como los 80-85ºC que comentas con cargas altas de CPU y a voltajes altos (1.35V empieza a ser elevado).

    Además es muy raro que tengas voltaje real superior al que seleccionas en BIOS, siempre es al contrario.

    Si hay suerte tendrás que sustituir fuente de alimentación y sinó también placa base y esperemos que la CPU esté OK.

    Un saludo,

    Carlos Yus.

    ResponderEliminar
  10. Para el que le pueda interesar, ya tengo online mi nuevo Blog sobre Smartphones, Tablets y micro arquitectura ARM.

    ZonaARM.blogspot.com

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  11. Hola,

    Ojalas puedas revisar esto

    http://www.russinoff.com/papers/srt8.pdf

    ResponderEliminar
  12. Sí, conozco el documento.

    Trata sobre el hardware para la unidad de dividión de la unidad FPU FMAC para el core de proceso Steamroller de AMD. Se trata de un diseño Radix-8 que obtiene 3 bits del resultado por iteración basado en un algoritmo SRT Sweeney-Robertson-Tocher.

    El grueso del texto trata sobre la precisión de los resultados del cálculo y demuestra que con este algoritmo da la exactitud deseada.

    De todos modos queda bastante para Steamroller...

    Un saludo,

    Carlos Yus Valero.

    ResponderEliminar
  13. Oiga don Carlos, haciendo un calculo rápido, ¿como cuanto cree que pueda llegar a ganar en rendimiento piledriver (en ipc) frente a bulldozer? ¿por lo menos empatará a los k11? ¿o mejor no entusiasmarse mucho?

    ResponderEliminar
  14. David,

    No creo que Piledriver logre un salto cualitativo en rendimiento frente a Bulldozer a igualdad de reloj (clock for clock). podría estimarlo en quizás hasta un 10%.

    Esto, combinado con frecuencias mayores (hasta un 10%, turbo core hasta los 5 GHz) puede representar hasta un 20% de incremento total de velocidad de proceso, lo que no está nada mal.

    Aquí me refiero a los cores Piledriver que integrarán los nuevos AMD FX, no los primeros Piledriver que aparecerán en Trinity 32 nm.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  15. Entonces recapitulando, hipotéticamente, en el mejor de los casos empatarían a los athlon en rendimiento por ciclo, pero alcanzarían frecuencias mucho mayores ¿no?

    ResponderEliminar
  16. Y los trinity tal vez empaten a los llano pero la misma historia con las frecuencias no? ¿tal vez con menor consumo? (me gustaría pensar eso)

    ResponderEliminar
  17. David,

    Yo creo que AMD Piledriver 32 nm no llegará al ratio IPC de un AMD Llano 32 nm. Siempre hablando clock for clock.

    Por supuesto, con 1 GHz más de frecuencia logrará mayor rendimiento global.

    Además la L3 cache de Bulldozer no aporta demasiado a las prestaciones con cargas de trabajo de sobremesa (ofimática, juegos, Internet...) y en Trinity, por ello, las prestaciones no serán mucho peores que en Bulldozer (AMD FX) a igual frecuencia.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  18. Ah ok, entonces talvez veamos un cambio significativo solo hasta steamroller. Yo por lo pronto creo que si me comprare un notebook con trinity apenas salgan (si es que salen a buen precio) por que mi note ya murio, parece ser que necesita un reballing.

    Oye y hablando del reballing (y completamente offtopic... si me lo permites) ¿crees que sea buena idea hacerle este procedimiento a mi laptop? es una acer aspire con chipset AMD 780g con un athlon (65nm) a 1.9ghz ¡¡toda una "bestia" como podrás obsevar jajaja XD!!. ¿Tienes algún blog que hable sobre reparaciones o rescate de equipos?

    ResponderEliminar
  19. yo digo una cosa como han podido sacar una arquitectura así sabiendo que la competencia los esta apaleando

    ResponderEliminar
  20. Bueno, podría decir que todo este tema viene de tiempo atrás... los años en los que se tomó la decisión sobre la micro arquitectura de Bulldozer.

    Por un lado está el concepto CMT, 2 INT cores con el resto de componentes compartidos:

    - Front End (fetch, decoding, branch prediction...)
    - L1i 64 KB y 2 ways
    - FPU
    - L2 de 2 MB y 16 ways

    Por otro la aruitectura de los INT cores:

    - 2 pipelines de enteros ALU
    - 2 pipes AGU
    - L1d 16 KB 4 way
    - +-20 etapas de pipeline básico

    Quizás en su día, para AMD, tenía sentido este diseño. En mi opinión la era Netburst de Intel demostró su error.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  21. Saludos Carlos

    Te felicito por tu articulo y tu blog en general.

    Quisiera preguntarte y la la ves que me ayadaras aclarar sobre un tema que escuche hace unos años en el que amd en su arquitectura bulldozer pretendia o tenia la intencion de utilizar una tecnologia hyperthreading inversa que consistia en el que los dos INT cores de un modulo se unian para realizar una tarea, contrario al hyperthreading de intel en el que un solo nucleo puede hacer dos operaciones , me gustaria que me aclararas esta duda.

    Gracias

    ResponderEliminar
  22. Carlos, que te parecen estas frecuencias?
    http://www.ozeros.com/2012/03/fx-8350-en-produccion-el-q3-samples-el-q2/

    ResponderEliminar
  23. yo tengo otra duda ¿por que un sistema GNU/linux con un kernel parcheado rinde mas con una arquitectura bulldozer que un sistema windows también con el kernel parchado?

    ResponderEliminar
    Respuestas
    1. En linux rinde mejor, puesto que linux carga mas lo nucleos y por mas tiempo, busca un review del Opteron Magny Chorus y te daras cuenta, en linux se cargaban los nucleos hasta 90%, en windows entre 70 y 80%, en linux llego a rendir hasta 90% mas, osea realizaba las mismas operaciones(con las mismas aplicaciones) 90% mas rapido..

      Saludos

      Eliminar
    2. Mira a FX sin el parche en Linux http://www.phoronix.com/scan.php?page=article&item=amd_fx8150_bulldozer&num=1

      Eliminar
  24. Anónimo 1,

    Gracias, en primer lugar, por tus felicitaciones. Respecto a tu pregunta, el Hyper Threading inverso es un tema que he comentado en varias ocasiones.

    Se trata de SpMT (Speculative Multi Threading) y se está trabajando en ello en numerosos grupos de investigación. Los últimos procesadores de IBM implementan una forma simple de SpMT junto con soporte de memoria transaccional.

    En procesadores de consumo hoy por hoy sería muy costoso en términos de transistores y es más eficiente crear un core con alto IPC (como Intel Sandy Bridge) desde cero y no intentar mejorar un "mal core" con SpMT.

    Te recomiendo que leas mi artículo en ProfessionalSAT:

    http://professionalsat.blogspot.com/2012/02/memoria-transaccional-en-intel-haswell.html

    Anónimo 2,

    Las frecuencias del enlace para los AMD FX Piledriver 32 nm me parecen razonables y como he comentado en muchas ocasiones son absolutamente necesarias para que un core con bajo IPC como Bulldozer pueda ser competitivo.

    Un AMD FX con 8 INT cores (4 módulos) a 4.2 GHz / 4.8 GHz será suficiente si, y sólo si, el AMD Turbo Core 3 funciona como el Turbo de las CPU Intel. Es decir, si incrementa la frecuencia hasta el máximo (4.8 GHz) en pocos ciclos de reloj (con baja latencia).

    Anónimo 3,

    Comparar Windows y Linux es imposible. Está claro que el parche afecta más al rendimiento en Linux que en Windows pero puede ser por mil factores: Tamaños de TLBs, tasas de fallo de cachés (L1i, L1d, L2, L3...)
    Ten en cuenta que en Windows, en juegos como Crysis los patches supone un 10% de diferencia.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  25. De pura casualidad, ¿no tendrá algún artículo que hable sobre los (no se como llamarles ¿procesos de fabricación?) bulk y soi? es decir: que son exactamente y como afectan el rendimiento final en un cpu.

    ¿A que viene eso? lo que pasa es que acabo de leer que supuestamente AMD dejará de fabricar cpus en SOI para hacerlos en BULK (usted perdone por que no tengo ni la mas remota idea de lo que eso significa). Me gustaría saber que impacto tendrá esa decisión en el rendimiento, consumo o economía final de los cpus. De antemano muchas gracias por las respuestas y por sus articulos. saludos!!

    ResponderEliminar
  26. Al leer este post, veo que concordamos con los tamaños de la cache, y tambien con la idea de que en vez de hacer el FX, debio modificar el K10.5 con FPUs de 256-bits, proceso de fabrica de 32nm, Bajar el tamaño de la cache a 512kB y subir la cache de nivel 1 a 64+32kB por nucleo, por cierto el Bus HT solo necesita 7x(2.80GT/s) para una configuracion Dual GPU, hay suficiente ancho de banda para el sistema y menos Request que procesar, eso disminuye la lactencia, hace meses hice un post sobre el FX espero lo lean..

    http://www.madboxpc.com/foro/topic/161318-la-verdad-sobre-el-amd-fxo-bulldozer/

    Saludos, buen blog

    ResponderEliminar
  27. Davidcianorris,

    Proceso bulk significa el proceso de fabricación "normal", es más orientado a bajo consumo y más barato por chip que los SOI o los HKMG y además sus frecuencias máximas son menores.

    Es un equilibrio, según qué quieras optimizar en tu diseño es o no adecuado un proceso bulk. por ejemplo, todos los SOCs de smartphones y tablets se fabrican (en general) en bulk. En cambio los chips que buscan un rendimiento máximo aún a costa del precio usan procesos de alta gama como los SOI o HKMG.

    Amet J. Monegro Muñoz,

    Mis valoraciones sobre los cores de proceso integrados en Bulldozer es la que es... En todo caso y como he señalado muchas veces Bulldozer tiene un gran margen de mejora pues ha salido al mercado inmaduro, es decir, no es un producto totalmente activado.

    Me explico, hay funcionalidades en Bulldozer e incluso unidades de ejecución completas dehabilitadas debido a bugs en los primeros steppings.

    Sin duda en Piledriver y más todavía con SteamRoller se irán solucionando uno por uno estos problemas así como optimizando alguno de los garrafales fallos de diseño (como la absurda arquitectura de caché así como sus abultadas y desorbitadas latencias).

    Según AMD con SteamRoller habrá importantes cambios de microarquitectura que aumentarán de modo radical el IPC, el mayor defecto de Bulldozer.

    Con Piledriver AMD ha anunciado la activación de la unidad de division de enteros (iDiv) en cada INT core de los chips AMD FX. 8 unidades iDiv que ahora (en Bulldozer) permanecen deshabilitadas por microcódigo.

    Saludos,

    Carlos Yus.

    ResponderEliminar
    Respuestas
    1. Gracias por detallar, ya tenia claro que Bulldozer es un procesador algo avanzado para la epoca, incluso lo digo en mi post a alguien pregunto sobre las instrucciones, pero mas importante mira, mas detalles sobre TRINITY(osea Piledriver) http://www.madboxpc.com/amd-trinity-detalles-oficiales-de-las-nuevas-apu/#comment-200321


      Buen dia, Saludos.

      Eliminar
  28. Amel Jassil,

    El core Piledriver seguirá siendo muy inferior a un core Intel Sandy Bridge 32 nm o Ivy Bridge 32 nm en IPC. Sin duda.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  29. Hola carlos,

    hace poco tiempo estoy siguiendo tus blogs y son muy interesantes, ya casi no se encuentra artículos y también comentarios muy buenos, Realmente te felicito!!!

    ahora voy con mi pregunta, cuales son exactos lo cambios en bulldozer para cambiar la gran irregularidad de los resultados que dan, que sera lo mas critico para remediar eso resultados?

    pd: bulldozer en ciertas circunstancia de muy buenos resultados comparados con los k10.

    saludos, Maximiliano.

    ResponderEliminar
  30. Maximiliano,

    Bulldozer es una micro arquitectura mal balanceada. Tamaños de caché ridículos en L1d (16 KB por Int Core) junto a tamaños gigantescos (4 L2 de 2 MB y una L3 de 8 MB), todas ellas con latencias (tiempos de acceso) excesivos y algunos rayando el absurdo.

    Por otro lado Bulldozer salió al mercado con unidades funcionales deshabilitadas debido a fallos de diseño o implementación en los primeros steppings.

    Piledriver mejorará muchos aspectos, algunos de manera importante, pero hasta que no haya un cambio radical no veremos progreso en la lucha con Intel.

    K10 me parece una CPU mucho más homogénea y bien diseñada y es más, mucho más sencilla de optimizar y mejorar. Además su core es de un tamaño muy inferior a Bulldozer y tiene un gran rendimiento solo con 512 KB de L2.

    Sería muy sencillo para AMD mejorar los pipes de enteros de K10, rediseñar totalmente su obsoleto mecanismo Branch Prediction y duplicar el ancho de sus buses L1 y L2 dejando sus tamaños en 32KB L1d 4 way, 32KB L1i 8 way y 512KB 16way para la L2.

    La L3 de 8MB de Bulldozer yo la conservaría, en un K10 su latencia bajaría 12 - 20 ciclos sin tocar nada debido a su pipeline mucho más corto y su L2 de baja latencia.

    AMD integraría las FPUs duales de 128 bit de Bulldozer y quedaría una CPU de gran potencial y con un rendimiento muy superior.

    La razón de Bulldozer... políticas de empresa y algún gurú que ha metido la pata (del staff directivo).

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  31. No se si lo llegaste a ver pero el review de anandtech está muy interesante en cuanto a información de la arquitectura: http://www.anandtech.com/show/5831/amd-trinity-review-a10-4600m-a-new-hope
    Principalmente tiene mejoras en branch prediction y consumo (especialmente el consumo ha bajado muchísimo vs. llano, si bien el IPC no aumento tanto, todos los reviews muestran como el consumo bajó mientras que el clock aumento muchísimo y también el rendimiento [a fuerza de clock más que nada pero bueno, parece ser el fuerte de la arquitectura]).
    Si esta relación se mantiene para la version desktop, por lo menos PD habrá solucionado el tema del consumo y obtenido mucha mejor frecuencia base.

    ResponderEliminar
    Respuestas
    1. Se ve como han mejorado los Piledriver con respecto al FX y mas si hablamos del consumo, pero el IPC sigue estando por debajo de los K10 si comparamos Trinity con Phenom II o LLano lo estaremos haciendo mal, ya que estos aun no integran la tecnologia de los transitores resonantes (para energia) y la cache del nivel 3 "optimizada" que llevaran los FX "Vishera" talvez con la cache podria igualar el IPC del Phenom II.. digo por lo que pasa cuando comparamos al Athlon II y al Phenom II, tienen resultados de rendimiento de punto flotante y integrer muy parecidos pero cuando lo llevamos a un entorno mas real, el rendimiento se nota hasta en un 25% mas por parte del Phenom II gracias a la cache del 3er nivel de 48 vias y 6MB..


      Saludos.

      Eliminar
  32. LM,

    Piledriver será interesante en su segunda encarnación cuando estén integrados en los AMD FX familia 15h y modelos 20h - 2fh (2xh). Contarán con mejoras respecto a estos primeros cores Piledriver y estarán integrados en un chip con más potencial.

    Se habla de 200 - 400 MHz más de frecuencia que los actuales Bulldozer FX, esto, junto al incremento en IPC los hará chips más interesantes y más competitivos.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  33. Hola Carlos,

    Piledriver da la sensación que sera como los Phenom II(Phenom I -> Phenom II), Trinity con FM2 abandonara parcial o totalmente al HyperTransport por el uso de conexión de PCI-Express, si es así cuales son sus ventajas y desventajas entre PCIe y HT? creo que PCIe no podía o puede implementarse como bus de memoria.

    Sobre IPC, el rendimiento de IPC no llegara al del K10.5, pero aproximado cuanto calculas que estará del K10.5.

    Parece que AM3+ no tendrá mas actualización y sera la ultima con AMD FX 2º generación, en los Roadmap de AMD de los siguientes años no muestra nada sobre reemplazo de AM3+, solo de los APUs.

    Una cuestión que tengo: AMD podrá sacar CPU para FM2 sin dedicarle transistores al GPU en el die para poder poner 4 módulos, por que AMD saco algunos CPUs para FM1 sin GPU seguro por fallos en la misma que no posibilito usarla ni capada, cree que sacara algún CPU sin GPU en el die para la plataforma de los APUs?

    discúlpeme si escribí bastante xD

    Saludos!!

    ResponderEliminar
  34. Buenos días Maximiliano,

    PCIe integrado en el procesador hace que sea innecesaria un chip que convierta el HT a PCIe paar conectar dispositivos como GPUs, etc. Mayor integración, menor consumo de la plataforma.

    Se rumorea que Piledriver puede llegar hasta una mejora de un 10% respecto a Bulldozer clock for clock, es decir en IPC. Yo creo que estará sobre un 5 - 7 %. A 4 GHz eso significa que un Trinity será equivalente a un Bulldozer a un 5-7% mayor frecuencia y 10% en pico.

    Es decir, un Piledriver a 4 GHz será equivalente a un Bulldozer a 4200 - 4300 MHz y 4400 Mhz en pico (en las cargas de trabajo que peor se le dan a Bulldozer).

    Entre esto y su mayor frecuencia con el mismo consumo, se estima una mejora de 200 - 400 MHz, nos da una horquilla de mejora total en prestaciones de un 10 - 20 % total.

    Considero improbable que AMD produzca CPUs FM1 o FM2 sin GPU integrada.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  35. hola ya estan saliendo reviews que dan un margen de un 15 % ipc a los nucleos piledriver, que te parece?


    http://forum.notebookreview.com/hp-pavilion-notebooks/670976-hp-pavilion-dv6z-7000-amd-a10-4600m-trinity.html

    http://www.tomshardware.co.uk/a10-5800k-a8-5600k-a6-5400k,review-32463.html

    ResponderEliminar
    Respuestas
    1. Tenés que tener en cuenta que Trinity no tiene cache L3. En el caso de los K10, la cache L3 brindaba mejoras muy significativas en ciertos benchmarks, por ejemplo:
      http://www.anandtech.com/bench/Product/88?vs=189
      Ahora, la arquitectura modular que tiene BD y PD (por la cache L2 compartida en 2 nucleos) puede que no sienta tanto el no tener L3 (ya que por lo menos en grupos de a 2 cores se puede capturar la localidad de acceso comun a ambos en otro nivel de cache).
      Pero de todas maneras yo diría que con L3 la mejora de IPC podría llegar hasta un 30% (o más) dependiendo del benchmark (en alguno quizás ni pase del 5%).
      En fin para mi AMD está dando pasos en la dirección correcta, quizas con buenas frecuencias base y turbo esten cerca del rendimiento de los i5/i7, aunque es difícil que los alcancen.

      Eliminar
    2. Perdón le erre en la comparativa, el L3 no hace un cambio tan significativo como puse. Acá esta lo mas parecido que encontre
      http://www.anandtech.com/bench/Product/188?vs=80
      Ponele que con el L3 se llegue a un 20% en el mejor de los casos la mejora de IPC. Igual sigue siendo un paso más que decente me parece, hay que ver como serán las frecuencias en los FX.

      Eliminar
    3. Compare un Athlon II x2 y un Phenom II x2 y vi cambios por encima del 20% casi 25%..


      Saludos.

      Eliminar
  36. Anónimo,

    Si en media hubiese una mejora real del 15% sería excelente para AMD... Si a esto le sumamos el incremento de frecuencia nos pondríamos en un 30 -35% de mejora respecto a un FX 8150.

    Esperemos a los resultados reales. En este caso sería una CPU competitiva con Intel.

    Un saludo,

    Carlos Yus Valero.

    ResponderEliminar
  37. LM,

    La caché L3 no tiene gran influencia en cargas de trabajo domésticas (desktop).

    Office, Word, Excel, Internet, el sistema operativo necesitan cachés L2 grandes y de baja latencia.

    Lo ideal para cargas de escritorio es el sistema de caché de un C2D de 45 nm:

    - 32 KB L1i + 32 KB L1d 3 ciclos
    - 6144 KB L2 15 ciclos

    El 99% del software cabe en la L2 de 6 MB... rendimiento excepcional.

    Esta es la razón de que Nehalem, con su pequeñísima L2 de 256 KB y 10 ciclos, no despuntase en estas cargas de trabajo respecto a Penryn (C2D 45 nm).

    La L3 de Bulldozer con sus 50 - 60 ciclos de latencia está muy lejos temporalmente de los INT cores para ser muy relevante prestacionalmente pese a sus 8MB.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
    Respuestas
    1. Y eso es lo que menos me gusta xD

      *Gracias por compartir tus conocimientos..


      Saludos.

      Eliminar
    2. Ahora que lo pienso, se porque las caches tienen tantos clocks, es por puro ahorro energetico.. mientras menos clocks, mayor consumo.., talvez con Vishera mejoren el consumo en un 30% o mas y en Steamroller y Excavator disminuyan esos clocks en 10% o mas, para aumentar el rendimiento

      *por cierto, en el review de TomsHW no veo ese tal 15% mas del Trinity comparado con el FX que mencionan, estime que el rendimiento del Vishera podria ser de 1 hasta 16% mas que el Athlon II a mismas velocidades de reloj y cantidad de nucleos, osea FX4320 vs Athlon II x4, bueno es mas facil especular que las ventajas nucleo vs nucleo son estas..

      Mas rendimiento que el K10.4 (Athlon II), mas eficiencia que el K10.5+ (Llano) gracias a Transistor Resonance, Mas instrucciones que el K10.5 (Phenom II), frecuencias mas altas que el K15 (FX Bulldozer), hasta 20% mas de rendimiento comparado con el K15.1 (Trinity) gracias a la cache del nivel 3 y bueno, lo otro seria el precio, la frecuencia stock y el Turbo Boost, los consumos reales de energia (por nucleo) ya comparados con los Intel SB/IB, que mas? la compatibilidad con las instrucciones, las caches masivas?


      Saludos.

      Eliminar
  38. El motivo real de la alta latencia de la caché L2 y L3 de Bulldozer radica en la pobre optimización de sus pipelines por dos razones tiempo y recursos (dinero e ingenieros).

    La L1d tiene una latencia de 4 ciclos (standard hoy día) que permite altas frecuencias, con una L1d de 3 ciclos, sería mucho más costoso llegar y superar los 4 GHz.

    La L2 de 2 MB con sus 20 ciclos es otro tema, pero pensemos que en realidad, a ella acceden 2 INT cores con sus 2 LSUs a traves de las WCCs en escritura. Es un diseño claramente mejorable y que no dudo en que AMD lo cambie en futuros steppings posteriores a Piledriver.

    La L3 es solo accedida en misses de L1 y L2, y por ello su latencia es aditiva, es decir 4 + 20 ciclos (L1 miss + L2 miss) más el tiempo de acceso de L3 (la longitud de su pipe más el tiempo perdido en el paso de datos entre los dos dominios de reloj).

    Recordemos que la L3 no funciona a frecuencia de cores si no a 2 - 2.4 GHz.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
    Respuestas
    1. Algo no entiendo... si una cache posee 4 ciclos y el procesador anda a 3GHz, la cache no se movera a 750MHz? osea 3.00G/4C
      *Por cierto, elevar los clocks de las caches tambien disminuye el consumo energetico o no?
      *Lo de la capacidad de OC ya lo sabia..


      Saludos

      Eliminar
  39. Hablando de la L2 recordemos que los Core 2 Duo Conroe 65 nm accedían a su L2 de 4 MB en 14 ciclos y los Penryn de 45 nm en 15 ciclos a su L2 de 6 MB.

    AMD puede mejorar su diseño, hay margen.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
    Respuestas
    1. Estube pensado y note que si nos fijamos bien, K10 es la ARk que rinde mas con respecto a su diseño, no se si llegues a entenderme

      Eliminar
  40. hay que actualizar el blog!! ya salieron los Vishera :)

    Saludos!!

    ResponderEliminar
  41. Lo sé y no están nada mal. 4 GHz nominales, 400 MHz por encima de Bulldozer y con un 7 - 10 % mayor IPC.

    El FX8350 está en el nivel del Core i5 3570K o algo por encima, un éxito para AMD. Quizás debería tener mayor frecuencia en cargas single threaded (Turbo 4.2 GHz) con 4.6 tendría otro 10% extra en 1 thread.

    Saludos,

    Carlos Yus Valero.

    PD. Haré lo posible por publicar artículos sobre Vishera, Trinity y sin olvidad a Intel Haswell...

    ResponderEliminar
    Respuestas
    1. Steamroller es que esta interesante, me parece que vendra con 15~25% mas rendimiento en mono y hasta 60% mas rendimiento en multi considerando que la cache de instrucciones aumentara y que tendra un descodificador de instrucciones por nucleo con despachos 25% mas amplios para cada nucleo, pasariamos a de 4 a 5 en el ancho (DEC. WIDE) cierto?, AMD menciona 30% mas OPS (OPS= IPS+FLOPS/2) el Vishera salio con un poco menos de IPS y mas FLOPS, pero con 6~15% mas rendimiento por hilo, es bueno ver que un FX4300 3.80~4.20GHz rinda un poco mas para graficas que el FX8150 3.60~4.20GHz, eso muestra una mejora en el manejo de las cargas, Steam vendra a frecuencias parecidas, talvez un 10~20% menor consumo y en 28nm


      Saludos

      Eliminar
  42. Si!! de hecho precisamente al overclokearlo (aún con todos los modulos) a 4.6Ghz, según Phoronix, brinda un mayor rendimiento por vatio. A mi me extrañó muchisimo que solo usaran un turbo de 200Mhz supongo que es probable que saquen un FX 8370 con un modo turbo mas agresivo.

    Esperamos con ansias sus análisis.

    Saludos.

    ResponderEliminar
    Respuestas
    1. No creo que lanzen otro modelo mas potente, es ilogico, deseguro el FX8320 tiene un limite de OC como lo posee el FX8120 en muchas placas, solo alcanza 4.20GHz, sin embargo el FX8150 logra 5.20GHz al igual que su predecesor (FX8350), bueno por cierto AMD tiene un buen consumo por nucleo considerando el proceso de fabrica, el tamaño del DIE y la cantidad de transistores, en lo que a mi respecta VISHERA es solo una reorganizacion del DIE de Bulldozer, aunque ahora si vale la pena actualizarse desde el Phenom II si te vas por un modelo con mas cores claro y mas si no consideramos hacer OC, por cierto, por ahi lei que Hamswell solo tendra de 5 a 15% mas performance que IvyBridge, lean mi thread, comenten y compartan, si lo desean..

      http://www.madboxpc.com/foro/topic/177108-amd-vs-intel-arquitecturas-actuales


      buen dia, saludos!

      Eliminar
  43. DavidCianorris,

    Ya he publicado mi análisis de Vishera FX8350 en ProfessionalSAT.

    http://professionalsat.blogspot.com.es/2012/11/amd-vishera-fx-8350-primeras.html

    Como te comenté y ahondo en ello en el artículo, sería perfectamente posible una versión con un Turbo de 4.6 Ghz que le daría más rendimiento en cargas de bajo threading.

    Échale un vistazo.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar
  44. Muy amable como siempre Carlos ya voy leyendolo.

    Saludos!!

    También leeré el tuyo Amet

    Saludos!!

    ResponderEliminar
  45. AMD es un pedazo de caco. Punto.
    1. No puede competir en performance por ciclo contra Intel.
    2. No puede competir en performance por watt contra contra ARM, por eso ha licenciado su tecnología.

    En conclusión, AMD se va a limitar a hacer CPUs con nucleos ARM y meterle Radeons dentro... así que hará solo APUs de nefasto rendimiento como los actuales Trinity ( que son una basura ).

    ResponderEliminar
  46. Anónimo:

    AMD no pretende competir en IPC contra Intel, no es posible. Intel es una compañía infinitamente mayor con muchos más $$ en I+D y mucho más capital humano en ingeniería.

    Si miras tablas de precios verás que los Trinity no son una basura como comentas... Ahora, si eres un iluso compararás un Trinity con un Core i7 3770K o con un Haswell 4770K como hacen por ahí, entonces dirás que es una basura... pero no cuestan lo mismo.

    Trinity ofrece un pack de prestaciones excelente para su precio, lo mires como lo mires.

    Un ehemplo:

    Mi coche actual cuesta 3 veces más que mi anterior coche y no por ello mi anterior coche es una basura, simplemente cuesta 3 veces menos y lógicamente es mucho peor. Pero comparando precios ambos son excelentes coches en su categoría.

    Saludos,

    Carlos Yus Valero.

    ResponderEliminar