jueves, 2 de febrero de 2017

Core i7 stepping D0 – LowLevelHardware

Hoy he tenido oportunidad de probar los primeros ejemplares del nuevo stepping D0 de Nehalem. Según Intel, entre el anterior C0/C1 y éste D0, no hay diferencias apreciables.

PIC02408 El flamante i7 920 en stepping D0

PIC02409 Otra vista

PIC01477aUno de los primeros Core i7 stepping C0 que monté en Noviembre, observad la marca distintiva.

Yo he observado tres diferencias:

  • Un voltaje menor en estado de reposo (inferior a 1 V) comparado con sobre 1.10 V en el primer stepping comercial, el C0.
  • Una menor disipación térmica en carga 100% (unos 10 – 20 W menos en función de la frecuencia)
  • Un ligeramente mayor límite de frecuencia fuera de especificación (unos 100 - 200 MHz)

PIC02410 Ya montado en la Asus P6T

PIC02411Core i7 920 stepping D0 acompañado de 6 GB DDR3 Corsair.

En resumen, un paso evolutivo más por parte de Intel pero nada revolucionario, para eso deberemos esperar a Westmere 32 nm en unos meses…

Phenom II 3.6 GHz / 2.4 GHz uncore. Análisis en RMMA. Ampliado - LowLevelHardware

Ya en dos artículos, uno de ProfessionalSAT y el anterior de LowLevelHardware he analizado varios aspectos de este sistema. Aquí me centraré en las prestaciones del subsistema de memoria dando las cifras efectivos del ancho de banda para varios tamaños de acceso, haciendo un mapa detallado de la arquitectura de caché y memoria del AMD Phenom II.

Image1

RMMT RightMark Memory Analyzer

RMMT es uno de los componentes del avanzado paquete de análisis de microarquitectura RMMA de RightMark.org. Mide el ancho de banda de memoria para diferentes tamaños de acceso en lectura o escritura y es un software totalmente multithread.

Además soporta modos de acceso en lectura con hardware Prefetch y Non Temporal Store para escrituras saltando todos los niveles de caché.

Los valores dados por RMMA pueden considerarse valores reales, es decir, los que verá nuestro software, no como los de otros paquetes de software diseñados para dar un pico máximo que nunca se alcanza con software real (SiSoft Sandra …).

Análisis Phenom II fuera de especificación en RMMA

Configuración del sistema:

  • Procesador AMD Phenom II X4 940 Black Edition a 3.6 / 2.4 GHz
  • Placa Base ASUS M4A79-DeLuxe AMD 790FX – AMD 750
  • 4 GB en dos módulos Kingston HyperX DDR2 1066 5-5-5-15 2T 2.2V

En este artículo se detalla la configuración de BIOS del sistema con los núcleos a 3.6 GHz (3 GHz nominal) y el uncore (caché L3 y controladoras de memoria) a 2.4 GHz (1.8 GHz nominal).

Tabla_AnchoBanda

Ancho de banda del AMD Phenom II para diferentes tamaños de acceso:

  • Zona L1:                              0    -   256 KB
  • Zona L1 + L2:                      256  –  2304 KB (256 + 2048)
  • Zona L1 + L2 + L3:              2304 – 8448 KB (256 + 2048 + 6144)
  • Zona memoria principal:     8448 KB hasta el límite de la memoria física.

image

Phenom 3600 MHz / 2400 MHz uncore / 2 * 2 GB DDR2 1066 5-5-5-18 2T

Como vemos se delimitan perfectamente los diferentes niveles de caché. Todos los datos son en acceso concurrente de los cuatro núcleos, multithreaded x4.

Accesos en lectura dentro de cachés L1:

La caché L1 de los cuatro núcleos que componen un Phenom II es de 64 KB para datos y 64 KB para instrucciones. En este caso solo se testea la L1d y el tamaño total es de 64 x 4 = 256 KB.

16x4

Tamaño 64 KB. Lectura de 408274 MB/s en L1 multithreaded x4.

408274 MB/s equivalen a 399 GB/s. Cada L1 da unos 102000 MB/s (unos 100 GB/s) que una frecuencia de 3.6 GHz son unos 238 bits/ciclo efectivos o casi 30 bytes por ciclo efectivos (!!). Un valor impresionante.

Los procesadores Phenom y Phenom II son capaces de leer de L1 32 bytes por ciclo por núcleo, el valor más alto en la actualidad, duplicando a Core2 o Core i7, lo que queda demostrado por el dato anterior. Están dotados de dos puertos de lectura de 128 bits.

Al superar los 256 KB totales (64 KB x 4) entraremos en el terreno de la L2.

Accesos en lectura dentro de cachés L2:

La caché L2 de un Phenom II se compone de cuatro L2 unificadas discretas por núcleo (para datos e instrucciones) de 512 KB cada una para un total por chip de 2048 KB.

Los procesadores AMD tiene una arquitectura de cachés exclusiva, es decir, no duplican los contenidos de un nivel en el siguiente. Lo que hace que el tamaño efectivo total de caché sea igual al de la suma de los tamaños cada uno de los niveles.

128x4

Tamaño 512 KB. Lectura de 112676 MB/s en L2 multithreaded x4.

256x4

Tamaño 1024 KB. Lectura de 112807 MB/s en L2 multithreaded x4.

512x4

Tamaño 2048 KB. Lectura de 113061 MB/s en L2 multithreaded x4.

576x4_2304KB

Tamaño 2304 KB. Lectura de 111475 MB/s en L2 multithreaded x4.

111478 MB/s equivalen a 109 GB/s. Cada L2 transfiere unos 28000 MB/s (unos 28 GB/s) que una frecuencia de 3.6 GHz son unos 65 bits/ciclo efectivos o algo más de 8 bytes por ciclo efectivos, un valor no muy brillante, Core2 y Core i7 le superan ampliamente en velocidad de L2.

En los 2304 KB (576 KB x 4 núcleos) se sitúa el límite efectivo del tamaño de la L1 + L2 (64 + 512 KB) y por encima de este valor entramos en la zona de la caché L3.

Estrictamente hablando el papel de las L2 privadas de 512 KB consiste en reducir los accesos a la L3 compartida evitando la saturación de sus buses y proporcionar menor latencia y altas tasas de acierto al núcleo de ejecución.

Accesos en lectura dentro de caché L3:

Nota: Debido a que este sistema está fuera de especificación utiliza multiplicadores relativos de cores y L3 no standard y con ello los valores aquí detallados no son representativos del producto comercial en el tramo de L3 (576 – 8448 KB).

La caché L3 de Phenom II consta de 6144 KB unificados y comunes para los cuatro núcleos con buses de 64 bits, solo hay una L3 para servir a los cuatro procesadores. El tamaño efectivo (debido al diseño de cachés exclusivas) de la zona de L3 es de 6144 + (512 x 4) + (64 x 4) o algo más de 8 MB, 8448 KB.

Al superar este tamaño de bloque en acceso entraremos ya en memoria principal.

768x4_3072KB

Tamaño 3072 KB. Lectura de 43609 MB/s en L3 multithreaded x4.

1024x4_4096KB

Tamaño 4096 KB. Lectura de 44055 MB/s en L3 multithreaded x4.

2048x4_8192KB

Tamaño 7168 KB. Lectura de 44264 MB/s en L3 multithreaded x4.

44264 MB/s equivalen a 43 GB/s. La L3 unificada de 6 MB transfiere unos 44264 MB/s a los núcleos (unos 43 GB/s) o unos 11075 MB/s por núcleo.

Globalmente para todos los cores, a una frecuencia de 2.4 GHz (frecuencia del uncore) 44264 MB/s son unos 19.34 bytes/ciclo efectivos o casi 155 bits por ciclo efectivos. Siendo unos 4.83 bytes/ciclo o casi 39 bits/ciclo por cada núcleo referido a la frecuencia del uncore, en este caso en overclock a 2400 MHz.

En los 8448 KB, como he comentado anteriormente se encuentra el límite efectivo de la L3 para accesos multithreaded x4.

Accesos en lectura en memoria principal:

4096x4_16384KB

Tamaño 16384 KB. Lectura de 15041 MB/s en memoria multithreaded x4.

32768x4_131072KB

Tamaño 131072 KB. Lectura de 15024 MB/s en memoria multithreaded x4.

15024 MB/s (14.67 GB/s) se acerca mucho al límite teórico (17 GB/s) del dual channel DDR2 1066 que he instalado en el sistema, concretamente a un 86%. Un resultado excelente teniendo en cuenta que son medidas en condiciones reales.

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

Carlos Yus Valero – informaticapremium

domingo, 25 de diciembre de 2011

¡Felices fiestas desde LowLevelHardware! – LowLevelHardware

¡Felices fiestas a todos desde LowLevelHardware!

Como es obligada tradición estos días estoy con la familia celebrando las fiestas pero desde el día 27 empiezo a sustituir 12 de mis Sistemas de Altas Prestaciones basados en CPUs Sandy Bridge Core i7 2600K @ 4.4 GHz por antiguos, venerables y probados Nehalem Core i7 930 y 950 @ 4 GHz.

SB_4C_630p_cores_thumb[1]

¿Extraño? Simplemente los Sandy Bridge son un 30% más lentos que los Nehalem en los cálculos matemáticos intensivos que emplea uno de mis mejores clientes… he descubierto un “defecto” en la excelentísima nueva  arquitectura de Intel.

Tras semanas de testing he descubierto la causa, recordáis la caché de micro operaciones de 1500 uOps nueva en SB, pues en estos algoritmos crea un GRAVE problema prestacional.

Lo denomino “micro code cache inter thread thrashing”. Un thread expulsa de la uOp cache los datos del otro thread constantemente y hace que la velocidad de cálculo sostenida del procesador baje alarmantemente.

SB_uopcache_thumb[1]

Un Core i7 Nehalem @ 4 GHz realiza 1000 iteraciones del cálculo con ocho threads simultáneos en 3100 s, un SB @ 4.4 GHz tarda unos absurdos 4050 s.

Es un resultado absolutamente repetible con una variación de máquina a máquina máxima de 50 s y lo he probado con 12 CPUs distintas SB y 24 Nehalem y con placas base SB P67 y Z68. Única opción: volver a los antiguos i7…

die_thumb[1]El venerable y efectivo Nehalem de 45 nm.

Disfrutemos de estos días antes de ponernos manos a la obra… lo dicho, ¡Felices Fiestas!

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

domingo, 1 de marzo de 2009

Phenom II X4 940 3.6 GHz: BIOS en detalle. Actualizado - LowLevelHardware

En ProfessionalSAT he tratado este sistema de un modo más superficial, aquí describiré los detalles más interesantes de la configuración BIOS de un AMD Phenom II X4 940 en overclock.

PIC02060

Los parámetros (frecuencias, multiplicadores, voltajes, …) han sido elegidos para un uso continuado sin fallos con cargas del 100 % en cores con total estabilidad y exactitud en los cálculos. Es un sistema pensado para cálculo continuo e ininterrumpido en entorno profesional.

Componentes utilizados:

  • Placa Base ASUS M4A79-DeLuxe AM3. Chipset AMD 790FX – AMD 750
    • Soporta procesadores AM3, AM2+ y AM2 con memoria DDR2 hasta 1066.

PIC02054

  • 4 GB en dos módulos Kingston HyperX DDR2 1066 5-5-5-15 2T 2.2V
  • Procesador AMD Phenom II X4 940 Black Edition

    • Cores con multiplicador 18X para una frecuencia de  3.6 GHz @ 1.425V (+20 %)
    • Uncore a 2.4 GHz (+33%) (incluye la L3 de 6 MB y las dos controladoras de memoria DDR2)
    • Los buses de comunicaciones HyperTransport a 3.6 GHz (sin cambios)

Shanghai_ANÁLISIS

Procesador Phenom II X4 940.

El overclock de los núcleos aumentará las prestaciones linealmente con la frecuencia (sobre el 20%), pero lo más interesante será la influencia del más importante incremento del 33% en la L3 y las IMC.

PIC02050

Sobre el bus HT, en placas monoprocesador se utiliza para comunicación con el PCIEx y el SouthBridge. No se aprecia incremento de prestaciones variando su frecuencia.

PIC01987

Los más de 11 GB/s son producto del incremento de frecuencia IMC/L3 a 2.4 GHz.

Configuración de BIOS:

PIC02046

Vcore 1.425 V, CPU/NB AUTO  y DDR2 2.20V.

Con la L3 y controladoras de memoria a 2.4 MHz aseguramos un ancho de banda más acorde con el dual channel 1066. Recordemos que el AMD Phenom dispone de un exiguo bus de 64 bit entre los núcleos y el uncore.

Con una frecuencia de 2.4 GHz obtenemos un ancho de banda máximo de 19.2 GB/s, suficiente para un dual channel DDR2 1066 (17 GB/s). En la segunda parte de este artículo veremos si esto es suficiente …

PIC02047

Spread Spectrum disabled.

Voltajes CPU VDDA, HT, NB, NB 1.8V y SB siempre en valores mínimos absolutos para mantener la menor disipación térmica y consumo.

PIC02049

Timings de memoria.

Ajustados a 5-5-5-18 2T a 2.20 V. Desafortunadamente, es imposible hacer estable la memoria 1066 MHz a 1T independientemente del voltaje aplicado …

PIC02051

Phenom II X4 940 3600 MHz / 2400 MHz NB clock.

Manteniendo Cool’n’Quiet activado pese al overclock permitimos que el procesador regule automáticamente la frecuencia y el voltaje entre los siguientes estados:

  • Carga máxima: Núcleos 3600 MHz – Uncore 2400 MHz – memoria 1066 MHz – 1.425 V
  • Carga mínima:  Núcleos  800 MHz – Uncore 2400 MHz – memoria 1066 MHz – 1.000 V

De este modo, cuando el sistema está en reposo o con cargas de trabajo bajas, las temperaturas rondan los 25 - 28 ºC en los núcleos y en carga máxima se acerca a los 60 ºC.

En el siguiente artículo un análisis exhaustivo del subsistema de memoria incluyendo las cachés en RMMA y RMMT.

Etiquetas de Technorati: ,,,,

sábado, 10 de enero de 2009

El retorno de AMD: Phenom II. Actualizado - LowLevelHardware

AMD por fín comercializa los nuevos Phenom II, unos procesadores basados en el núcleo Shanghai de 45 nm, siendo el primer diseño de AMD en este nodo al que llega un año por detrás de Intel. Con él AMD retorna a la competición en prestaciones con su eterno rival Intel emparejándose a los Penryn quadcore Q9400 - Q9450 - Q9550.

AMD ha logrado reducir la superficie de Shanghai a 258 mm2 desde los 285 mm2 de Barcelona haciéndolo un procesador más barato de fabricar siendo similar a Core i7 (Nehalem) con sus 263 mm2.

Shanghai

Wafer de dies AMD Shanghai de 45nm.

Ya hace un tiempo indiqué las prestaciones esperadas y las nuevas características que hacían de Phenom II un procesador clave para AMD:

" Un AMD Phenom II 940BE a 3 GHz tendrá prestaciones similares a un Phenom actual a unos 3.5 - 3.6 GHz. En Fritz Chess Benchmark espero índices sobre los  8500 - 9000 puntos. Es decir, sobre la velocidad de un C2Q 9450 o 9550, lo cual para AMD es todo un salto en prestaciones (un Phenom 9950BE obtiene unos 6100 puntos). "

Con Phenom II, AMD ha dejado atrás el fatídico nodo de 65 nm. Todos los diseños de AMD en este nodo han sido un fracaso relativo ... Recordemos el core Brisbane A64 X2 o el propio Barcelona quadcore ...

Shanghai2

Perspectiva del die Shanghai.

Ahora que se conocen con más detalles los refinamientos de Shanghai sobre Barcelona los comentaré más en mayor profundidad:

  • La caché L3 compartida aumenta hasta los 6 MB desde los exiguos 2MB de Barcelona.
  • Aumento de la asociatividad a 48 vías (desde 32 en Barcelona).
  • Proceso de fabricación de 45 nm con  litografía de inmersión lo que proporciona mayor potencial de reloj, menos disipación térmica y menor consumo respecto al anterior proceso de 65 nm de Barcelona.
  • Según AMD la L3 de Shanghai es 2 ciclos más rápida en acceso que la de Barcelona (Phenom).
  • Cuando un núcleo entra en estado de ahorro energético los contenidos de las cachés L1 y L2 se mueven a la L3 compartida permitiendo una detención total del reloj (clock gating).
  • Por fín AMD implanta predicción de saltos indirecta.
  • Se dobla el ancho de banda de probe (chequeo datos/instrucciones en cachés L1 - L2).
  • Mayores buffers load y store en las controladoras de memoria.
  • Mayores buffers de coma flotante.
  • Reducción del tiempo MAB (missed buffer).
  • Mejora del pipelining de prefijos de instrucciones LOCK.
  • Optimización del movimiento entre registros de coma flotante.

44701A_Wafer_2

Un primer plano de Shanghai en el que destaca su L3 de 6 MB.

La caché L3 de Shanghai

Tamaño:

El aumento de la L3 a 6 MB es el rasgo fundamental de la transición Barcelona 65 nm a Shanghai 45 nm. Barcelona era un procesador claramente falto de caché L3, 2 MB para 4 núcleos es claramente insuficiente y realizando profiling podemos comprobar que los 6 MB de Shanghai mejoran mucho las cosas pero todavía queda terreno a la mejora.

Un tamaño doble en una caché reduce los fallos de caché (caché miss) en un factor 1.4 (raiz cuadrada de 2), eliminando así costosos accesos al nivel siguiente de caché o si es el LLC (last level cache), en este caso L3, lentísimos accesos a memoria (del orden del 150 - 200+ ciclos).

Asociatividad:

La asociatividad de 48 vías es sorprendente. Intel utiliza una L3 de 8 MB y asociatividad 16 en Core i7. A mayor valor mejor tasa de aciertos debido al soporte de cargas de trabajo con menor localidad espacial en memoria.

48 vías significa que una posición de memoria se puede cachear en 48 posiciones diferentes de caché. Pero esto implica que cada vez que hay que buscar una posición de memoria en caché L3 hay que buscar en 48 líneas de caché, lo que obviamente hace el acceso L3 más lento.

Una asociatividad doble reduce la tasa de fallos de caché igual que lo haría un tamaño de caché doble, es decir en un factor 1.4. Aunque para asociatividades elevadas (más de 8) la mejora es cada vez menos importante.

Los integrantes iniciales de la gama Phenom II:

  • Phenom II 920: 2.8 GHz, 1.8 GHz L3/IMC, 3.6 GHz HT. Unos 270 €.
  • Phenom II 940: 3.0 GHz, 1.8 GHz L3/IMC, 3.6 GHz HT. Unos 230 €.

Lamentablemente, y debido a razones de consumo y disipación, AMD ha tenido que dejar a la L3 y las IMC (Controladoras de memoria integradas) a una frecuencia de solo 1.8GHz.

Por ejemplo, el actual Phenom 9850 y el 9950 utilizan una frecuencia L3/IMC de 2.0GHz. Esta reducción en Shanghai aumentará la latencia relativa de la L3 y la memoria principal, aunque gracias a las mejoras microarquitecturales introducidas será en la práctica más rápida que la de Phenom Barcelona.

Hay que tener en cuenta que Shanghai es el primer procesador de AMD fabricado en 45 nm y que sin duda mejorará con el tiempo. De hecho, las nuevas versiones AM3 de Phenom II previstas para Febrero implantan una L3/IMC a 2.0 GHz para soportar DDR3 1333, aunque supondrá un cuello de botella en la arquitectura (un dual channel DDR3 1333 requeriría un reloj de IMC/L3 de 2.66 GHz para asumir el ancho de banda proveniente de los módulos con la actual implementación de bus L3 de solo 64 bit bidireccional). Explicado aquí.

A modo de apunte, los Opteron basados en el core Shanghai, tienen la L3/IMC a 2.2 GHz lo que les aporta un plus prestacional y compiten muy favorablemente con toda la gama Xeon Quadcore de Intel.

Prestaciones

Phenom II mejora a Phenom de un 5 a un 30% a igualdad de reloj según la aplicación debido a sus numerosas mejoras microarquitecturales y sobretodo a su L3 de 6 MB y 48 vías.

En el terreno de los juegos la mejora llega en algunos títulos a un 50% del Phenom II 940 (3.0 GHz) respecto al Phenom 9950 (2.6 GHz).

Yo esperaba prestaciones en el entorno de un C2Q 9450 o un C2Q 9550, pero debido al bajo reloj L3/IMC de 1.8 GHz (yo esperaba 2.2 GHz), más bien estarán en el entorno del C2Q 9400 o C2Q 9450.

Consumo y disipación térmica

El TDP de Phenom II está situado en 125W, un valor respetable. Este alto consumo es debido a la juventud del proceso de 45 nm de AMD - IBM lo que obliga a utilizar voltajes elevados (1.35 V en al 940) que aumentan considerablemente la producción de calor.

cpuz_PhenomII_940

CPUZ nos muestra los 1.35 V nominales del Phenom II 940.

  • La disipación térmica crece linealmente con la frecuencia: Doble frecuencia, doble consumo, doble disipación.
  • En cambio, al aumentar el voltaje, el consumo y la disipación crecen con la tercera potencia (el cubo) del voltaje: doble voltaje, ocho veces mayor consumo y disipación térmica.

Overclock

Dependiendo de cada procesador en particular (siempre hay variaciones) podemos esperar un overclock estable con refrigeración por aire en unos 3.4 GHz y con un excelente cooler podemos llegar a los 3.5 - 3.6 o incluso 3.8 GHz donde entramos ya en la refrigeración líquida que puede extenderse hasta los 4.0 - 4.4 GHz (como máximo).

El futuro

AMD no disipa las dudas sobre la microarquitectura que seguirá a Shanghai, los detalles son escasos y no entraré a comentarlos.

Lo que sí haré es una lista de "deseos" en la que plasmo lo que creo que AMD podría implantar de cara a aumentar el IPC (instructions per clock) en su nuevo núcleo:

  • Aumento de la asociatividad de la L1i (caché de instrucciones de nivel 1). Las actuales cachés de 64 KB y 2 vías tienen una alta tasa de fallos debido a su bajísima asociatividad (Intel utiliza un diseño de 8 vías) pese a su gran tamaño. Realizando profiling se ve claramente la menor tasa de fallos de la L1i de Core2 (32KB, 8 vías) frente a la L1i de Phenom o Athlon64 (64KB, 2 vías) pese a su menor tamaño.
  • Aumento del ancho de ejecución a quad issue.
  • Mejora del mediocre mecanismo de branch prediction (en comparación con Core2 o Core i7).
  • Implantación de desambiguación en escrituras y lecturas combinadas en memoria.
  • Aumento del ancho del bus IMC/L3 - cores a 128 bits bidireccional.
  • Reducción de la latencia L2 de los actuales 15 ciclos aunque ello signifique una reducción de su tamaño a 256 KB hasta niveles similares a Core i7.
  • Reducción de la latencia L3 mediante mejora en los timings de sincronización y aumento de su frecuencia base (actualmente 1.8 - 2.0 - 2.2 GHz).
  • Aunque a AMD le desagrade, inclusión de los nuevos juegos de instrucciones Intel SSE4 y futuros.
  • Aumento del tamaño L3 sin aumentar desmesuradamente la asociatividad.
  • Introducción de SMT de dos vías al estilo Intel HyperThreading.

Espero ver plasmadas alguna de estas ideas en los futuros diseños (que ya estarán seguramente ultimados, al menos en la mesa de diseño) del fabricante alemán.

Etiquetas de Technorati: ,,,,,