Mostrando entradas con la etiqueta L3 caché. Mostrar todas las entradas
Mostrando entradas con la etiqueta L3 caché. Mostrar todas las entradas

jueves, 2 de febrero de 2017

Nehalem-EX Beckton - LowLevelHardware

Ayer expiró la NDA referente a la publicación de las primeras imágenes, aunque de bajo detalle, del octal core nativo Nehalem-EX. En este artículo esbozo algunas peculiaridades y característica de este nuevo procesador que se comercializará a finales de año.

NHM-EX Nehalem-EX. Se aprecia su gran tamaño para el socket LGA-1566.

Que nadie se lleve a engaño pues jamás tendremos un procesador Beckton en nuestro sistema personal, está diseñado con otras cargas de trabajo en  mente e incorpora tecnologías RAS (novedad en el mundo X86) de la familia Itanium.

NehalemEX_Nehalem_Tukwilla_Dunnington La maestría de Intel diseñando procesadores para entorno empresarial.

En la captura superior apreciamos Nehalem-EX junto a Nehalem y debajo Tukwilla (Itanium quad core de 65 nm) y Dunnington (Xeon hexa core nativo con 16 MB L3 basado en núcleos Penryn de 45 nm).

Presentación Presentación de los nuevos Nehalem-EX octal core nativos.

Hace unos meses (en diciembre de 2008) realicé un análisis muy arriesgado, aunque iba bien encaminado, del die de Beckton basándome en las muy lejanas y de mala calidad fotografías de un wafer de procesadores que sostenía un orgulloso Patrick Gelsinger. y no era para menos.

[Gelsinger_Beckton3.jpg]

2.3 millones de transistores en 45 nm

Beckton constituye un procesador monstruoso, 2.3 millones de transistores para:

  • Ocho núcleos de arquitectura Nehalem con SMT de dos vías.
  • 24 MB de caché L3 distribuidos en bancos independientes.
  • 4 enlaces QPI.
  • 4 controladoras de memoria DDR3 asociadas a chips externos (SMB, Scalable Memory Buffer).

Image3 La grandeza de Beckton.

La elección de los arquitectos de procesadores de Intel de implementar una caché de tercer nivel de 24 MB ya posiciona de por sí el producto orientándolo hacia cargas de trabajo de servidor.

En Beckton 24 MB son 3 MB por núcleo (o 1.5 MB por thread), un paso adelante desde Nehalem con sus 2 MB por core. Bien es cierto que una caché de tal magnitud no puede tener unos tiempos de acceso fulgurantes, pero en entorno servidor esto es menos importante que acceder constantemente a memoria y más todavía a memoria no local.

Además, recordemos que la función del LLC (Last Level Cache), en este caso la L3, es también evitar tráfico de coherencia de cachés de niveles inferiores.

BECKTON_02 Los cuatro QPI permitirán sistemas de cuatro sockets totalmente conectados.

Análisis del die

die1 Die de Beckton, intencionadamente ocultado por los señores de Intel.

Como vemos, los núcleos han pasado a la periferia en grupos de dos colocados simétricamente respecto al centro del chip. Es una buena opción para evitar hot spots térmicos distribuyendo mejor la generación de calor en el procesador (como es sabido las cachés consumen comparativamente muchos menos W/cm2 que la lógica).

La superficie estimada ronda los 600 mm2, partiendo de los 246 mm2 del actual Nehalem quad core que encontramos en los procesadores Core i7.

Los núcleos serán prácticamente idénticos a los conocidos de Nehalem en los Core i7, con SMT de dos vías para un total de 16 threads por chip y por socket. Las cachés L1 y L2 serán respectivamente de 32 + 32 KB y 256 KB la L2 de baja latencia (exacto a Core i7).

En la parte superior de die encontramos los cuatro enlaces QPI para comunicación con otros procesadores y con el chipset o IO Hub.

En la parte inferior se sitúan las controladoras de memoria que se conectan a cuatro procesadores externos llamados SMB o Scalable Memory Buffer que permitirán hasta 16 (!!) DIMMs por socket.

Image2 Ubicación de los chips SMB.

En el centro encontramos la interfaz de sistema, el antiguamente llamado North Bridge, que incluye toda la lógica y buffers de comunicación con el exterior, en este caso habrá variaciones muy importantes respecto a Nehalem por las funcionalidades RAS añadidas para acceder a mercados hasta ahora reservados a procesadores Itanium o competidores RISC como IBM Power y otros.

cache1 Uno de los dos bloques de caché de 12 Mb, dividida en cuatro bancos de 3 MB.

Debo decir que han hecho un buen trabajo ocultando detalles en las fotografías… a juzgar por ellas todos los sub arrays de 3 MB (hay ocho de ellos) son morfológicamente idénticos. Veremos con el tiempo qué estructura interna ocultan, aunque en la fotografía inferior ya se aprecian más claramente y parecen bloques típicos de caché:

Beckton_Esquema_DieEsquema del die de Nehalem-EX.

En esta fotografía se aprecian mejor los ocho núcleos Nehalem y sobretodo los ocho arrays de caché L3 de 3 MB para un total de 24 MB. Nótese la gran cantidad de lógica adicional a lo largo del centro del die.

Intel podrá, en caso necesario desactivas independientemente núcleos defectuosos o arrays de L3 de 3 MB que presenten defectos funcionales.

Frecuencias esperadas de Nehalem-EX

Lógicamente, un octal core nativo compuesto de 2.9M de transistores, debe de ir limitado por TDP, lo que nos indica que inicialmente no veremos los 3 GHz. Lo esperable son frecuencias sobre los 2.13 – 2.26 GHz, quizás con los topes de gama a unos 2.66 GHz.

isscc_05[1] Proceso de Low Leakage especial para Dunnington, también aplicado a Beckton.

Intel, como era de esperar dada su maestría en estas lides, ha desarrollado un nuevo proceso de fabricación de 45 nm específico para Beckton con un Leakage menor, permitiendo frecuencias superiores que si se tratase simplemente de dos dies Nehalem en un chip más la lógica adicional y con 24 MB de L3.

quad_beckton Quad Nehalem-EX / Beckton en carga máxima. 64 threads (!!).

Estará disponible a finales de este año para servidores de alta gama, y especialmente utilizado en virtualización, además al incorporar características RAS dotará a estos entornos de una robustez añadida nunca vista en la arquitectura X86.

Image1 Capacidades RAS en Nehalem-EX.

Podrá no solo detectar sino aislar y corregir errores tanto de procesamiento como de memoria o I/O.

Uncore clock en Core i7 920 stepping D0. Actualizado - LowLevelHardware

El procesador Core i7 es un complejísimo ingenio con una estructura eminentemente modular. Los ingenieros de Intel lo diseñaron de este modo para dotar de flexibilidad al producto pudiendo así fabricar diversas versiones para distintos nichos de mercado.

En este artículo analizo en profundidad la influencia de la frecuencia del Uncore en las prestaciones de un Core i7 920 fuera de especificación con los núcleos a 3.5 GHz y 3.628 GHz, con multiplicador de cores X20 y Uncore X20 con BCLK de 175 y 181 MHz respectivamente sin Turbo Mode en Memtest86+ 2.11.

En Windows, en cambio con Turbo Mode X21 en cores.

UncoreColoreados los cuatro núcleos de Nehalem. El resto es el uncore.

Una característica clave de todos los procesadores actuales es su naturaleza asíncrona. En el procesador Core i7 hay tres frecuencias de reloj diferenciadas por su multiplicador derivado de un reloj maestro, el BCLK:

  • Frecuencia de los núcleos de ejecución
  • Frecuencia del uncore
  • Frecuencia de los enlaces QPI

La frecuencia de los núcleos es la más conocida e inmediatamente relacionamos su incremento con mayor capacidad de cálculo. En el procesador Core i7 este dominio de reloj comprende los cuatro procesadores con SMT y sus cachés privadas L1 y L2.

En el sistema fuera de especificación que estoy preparando, la frecuencia objetivo es de 3.8 GHz (BCLK 181 y multiplicador X21 Turbo Mode).

PIC02645 Pasando Prime 95 Blend en Windows XP Pro 24h.

Por su parte, la frecuencia del buses QPI no tiene gran importancia en sistemas de un solo socket, pues solo se utiliza para la comunicación con el chipset X58. En sistemas multiprocesador (varios sockets) su función principal es la comunicación entre varios chips Nehalem (Xeon), por ello incorporan tres enlaces de 4.8 a 6.4 GHz.

Frecuencia del uncore en Core i7

En cambio, mucho menos conocida es la influencia de la frecuencia del uncore, o lo que no son los cores (núcleos). El Uncore comprende la caché L3 de 8 MB y sus buses y también las tres controladoras de memoria DDR3 integradas con sus buffers de escritura y los mecanismos de hardware prefetch.

En el modelo i7 920, la frecuencia nominal del uncore son unos meros 2133 MHz para 2666 MHz en los cores sin turbo mode (2.8 GHz en turbo Mode).

Si incrementamos este parámetro obtenemos un claro incremento de prestaciones en software que haga un uso intensivo de la caché L3 y de la RAM e incluso podemos llegar a un diseño síncrono con los núcleos.

Datos experimentales obtenidos en Memtest86+ 2.11 sin Turbo Mode:

Multiplicador CPU X20, Uncore X16 – X20. Las cinco primeras configuraciones con BCLK 175 MHz, la última 181 MHz. En las dos últimas obtenemos sincronía entre los núcleos y el Uncore con multiplicador en ambos casos X20.

Image1 Velocidades en MB/s de los diferentes niveles de caché y memoria para distintos ajustes.

La velocidad de acceso a la L3 compartida (shared) de 8 MB se incrementa en cuanto superamos el multiplicador 2:1 con la memoria (memoria 1400 MHz, uncore 2800 MHz) y a partir de ahí se mantiene en un valor constante, en este sistema 34314 MB/s. (Todas las medidas con BCLK 175 MHz):

imageVelocidad de la caché L3 de 8 MB para distintas frecuencias del Uncore. Cores a 3.5 GHz.

En cambio, la velocidad de acceso a memoria principal por el triple canal DDR3 tiene un comportamiento más curioso con dos inflexiones:

Empieza en 14286 MB/s para un multiplicador Uncore:RAM de 2:1, incrementándose a 15555 MB/s a frecuencias de 2982, 3158 y 3333 MHz del uncore. En cambio cuando sincronizamos el Uncore con los núcleos se incrementa notablemente su velocidad hasta los 17157 MHz.

Esto es debido a que no es necesaria ya resincronización alguna entre los dos dominios de frecuencia, con la latencia añadida que este proceso comporta.

imageVelocidad de la RAM para diferentes frecuencias del Uncore. Cores a 3.5 GHz.

Más de 17 GB/s es un excelente resultado teniendo en cuenta que he utilizado 3 GB en un triple canal de DDR3 1333 normal y corriente Kingston CAS 9 (9-9-9-24 2T). Eso sí, las latencias las he configurado manualmente a 7-7-7-21 con 1T de acceso con una modificación manual de todos los parámetros relevantes en BIOS incluyendo los voltajes.

Capturas de pantalla Memtest86+ 2.11:

PIC02637Cores 3.5 GHz, Uncore 2.8 GHz, memoria triple channel 1400 MHz 7-7-7-21 1T.

Con todo optimizado al máximo incluidos los timings de memoria a 7-7-7-21 1T, el resultado son 14286 MB/s con la memoria en triple channel 1400 MHz. La caché L3 llega a unos 32 GB/s.

PIC02638Cores 3.5 GHz, Uncore 2.98 GHz, memoria triple channel 1400 MHz 7-7-7-21 1T.

Aquí vemos el primer incremento de velocidad en lectura de memoria y caché L3. Respectivamente de 14286 a 15556 MB/s y de 32 a 34 GB/s para la L3.

PIC02779 Cores 3.5 GHz, Uncore 3.50 GHz, memoria triple channel 1400 MHz 7-7-7-21 1T.

Aquí tenéis el segundo punto de inflexión con un gran incremento de ancho de banda (de 15555 a 17157 MB/s), con relojes síncronos cores-uncore a 3.5 GHz.

PIC02644 Core i7 920 @ 3620 MHz cores y 3620 MHz Uncore. Core i7 síncrono (!!).

Estos hechos me hacen sospechar una importante reducción de latencia con estos ajustes; lo comprobaré en unos días ya en Windows.

El diseño asíncrono

Como siempre se ha demostrado estos resultados apoyan la mayor velocidad de los diseños síncronos, aunque por consideraciones de consumo y disipación térmica son más adecuados los diseños asíncronos como Phenom II y core i7.

Señalar por último, que el incremento de la frecuencia del uncore debe de ir acompañado a su vez de un incremento en su voltaje de alimentación, con lo que crece también el consumo y disipación térmica de esta parte del procesador. Por lo que es crítico contar con un adecuado sistema de refrigeración.

Nota: No existe método de conocer la temperatura del uncore o de la caché L3 de 8 MB (no poseen sensores térmicos, al menos visibles al usuario…) con lo que recomiendo prudencia.

Para la segunda parte de este artículo visita este enlace de ProfessionalSAT, con resultados prestacionales excepcionales en Windows.

Phenom II X4 @ 3.6 GHz. Análisis microarquitectural en RMMA – LowLevelHardware

En este artículo analizo en profundidad el subsistema de memoria de un AMD Phenom II X4 940 fuera de especificación con el reconocido software RMMA, RightMark Memory Analyzer.

Image1

Configuración del sistema:

  • Uncore (literalmente “lo que no son los núcleos”) a 2.4 GHz
  • Placa Base ASUS AM2+/AM3 M4A79-Deluxe AMD 790FX – AMD 750
  • 4 GB en dos módulos Kingston HyperX DDR2 1066 5-5-5-15 2T 2.2V

Debo destacar que en este procesador he llevado a cabo un incremento de frecuencia diferenciado en los núcleos de ejecución y en el uncore:

  • De 3 a 3.6 GHz para los cuatro núcleos (un +20%)
  • De 1.8 a 2.4 GHz para el uncore que incluye la caché L3 de 6 MB y las controladoras de memoria DDR2 (un +33%)

Con lo que las prestaciones computacionales puras mejorarán de un 20 % a un 33 % sobre el rendimiento nominal en función del tipo de cálculo. Recordad que todos los análisis son en modo single-threaded, es decir, solo actúa uno de los cuatro núcleos. Para análisis multi-threaded ver el artículo anterior realizado con RMMT.

RMMA es un software diseñado para investigar cualquier pequeña peculiaridad del subsistema de memoria y las unidades de ejecución de cualquier procesador. Pueden incluso descubrirse detalles “no públicos”.

Latencia de D-cache y memoria:

rmma_20090227_143034_0281

Phenom II X4 @ 3.6 GHz / 2.4 GHz. Latencia D-Caché en RMMA

Podemos ver delimitadas con claridad cuatro zonas:

Primera zona: desde los 4 KB a los 64 KB la zona de caché L1D con 3 ciclos de latencia.

Segunda zona: desde los 64 KB hasta los 640 KB (64 + 512 KB) la zona de caché L2.

  1. Con una latencia mínima de unos 9.2 ciclos en acceso forward o backward (actuando eficientemente el hardware prefetch).
  2. En acceso pseudo-random obtenemos unos 12.2 ciclos, caso real en software bien programado.
  3. Y por último, en acceso púramente aleatorio (Random access) llegamos hasta los 15 ciclos.

Tercera zona: de los 640 KB a los 6720 KB (64 + 512 + 6144 KB) la zona de la caché L3 de 6 MB.

  1. El hardware prefetch se muestra altamente efectivo para accesos secuenciales forward o backward dando una latencia de solo 21 ciclos.
  2. En acceso pseudo aleatorio obtenemos unos 34.8 ciclos, caso real en software bien programado (programas científicos, algunos juegos…)
  3. Para el acceso aleatorio obtenemos unos 52 ciclos hasta que llegamos a los 2048 KB y desbordamos el D-TLB y aumenta progresivamente pasando por los 70 ciclos para accesos con bloques de 4 MB hasta los 78 ciclos para 6 MB.

Cuarta zona: de los 6720 KB en adelante la zona de memoria principal.

  1. El hardware prefetch se muestra extremadamente efectivo para accesos secuenciales forward o backward dando una latencia de solo 41 ciclos.
  2. En acceso pseudo-random (pseudo aleatorio) obtenemos unos 93 ciclos.
  3. Para el acceso puramente aleatorio, siendo un caso absolutamente extremo (worst case scenario) obtenemos unos 205 ciclos para un acceso respectivo de 8 MB, 230 para 16 MB y unos 236 para 32 MB.

Ya visualmente, para el familiarizado con estos términos, vemos que en el Phenom II X4 se ha implantado un muy eficiente mecanismo de hardware prefetch. Además, actúa no solo en memoria principal sino en las L2 privadas de 512 KB y lo más importante de cara a ocultar su latencia en la caché L3 compartida de 6 MB.

En el terreno de la caché L3, en estos procesadores se trata de un diseño compartido y su reloj asíncrono a los núcleos (en este caso con una relación núcleo : L3 de 3 : 2 para unas frecuencias respectivas de 3.6 y 2.4 GHz) lo que le otorga unas características peculiares.

Empíricamente, y por los tests realizados en éste y el anterior artículo, podemos aventurar la organización de sus buses L2 - L3. Muy probablemente son buses a cada core de 64 bit a frecuencia del uncore (2.4 GHz en este sistema), y con penalización en latencia por resincronización, y por ello limitan el ancho de banda de memoria por núcleo a un valor inferior al dual channel DDR3 1066.

Bus de datos caché L1 – caché L2

rmma_20090227_145303_0171

Bus L1 – L2 de 128 bits en AMD Phenom II X4.

El intercambio efectivo de datos entre la L1 y la L2 alcanza los 7.98 – 7.99 bytes / ciclo en lectura y los 4.68 – 4.73 bytes / ciclo en escritura.

Recordemos que la L1, la L2 y su bus de comunicaciones funcionan todos ellos a la frecuencia de los cores, en este caso 3.6 GHz.

Bus de datos caché L2 – caché L3 unificada

rmma_20090227_145643_0234

Bus L2 – L3 de 64 bits @ frecuencia del uncore (2.4 GHz) en AMD Phenom II X4.

La caché L2, al estar dentro de cada núcleo de ejecución, opera a la frecuencia de éste, a 3.6 GHz. Por el contrario la masiva caché L3 de 6 MB unificada se encuentra en el uncore y por ello es asíncrona a los núcleos y en este caso su frecuencia es de 2.4 GHz.

Como vemos en la gráfica, el bus L2 – L3, logra transmitir de 3.24 a 3.44 bytes / ciclo o unos 25.92 – 27.52 bits / ciclo contados a 3.6 GHz por un bus de 64 bit a cada uno de los cores.

En cambio si referimos estos datos al reloj del uncore, se convierten en 4.87 - 5.18 bytes / ciclo o 38.96 – 41.44 bits / ciclo.

Estos datos son claramente inferiores a los obtenidos en los procesadores Intel Core i7 que cuentan con un bus L2 – L3 más eficiente y con un ancho doblado a 128 bits.

Extraído de Core i7 vs Phenom en dual channel. Ancho de banda de cachés y memoria. 19/11/2008

“ La caché L3 de Phenom es claramente el punto débil de la arquitectura K10. AMD ha dotado de un bus de solo 64 bit a su L3 y esto limita gravemente sus prestaciones, siendo su transferencia del bus L2-L3 menos de la mitad que la de su nuevo rival, Core i7.

phenom_rmma_20080512_214024_0171

Como vemos en Phenom la caché L3 apenas mejora las prestaciones de la memoria principal y esto es además agravado por su pequeño tamaño (2 MB) mostrándose únicamente efectiva en escritura. Digamos que en el AMD Phenom la L3 sirve para reducir el acceso a memoria o la carga de trabajo sobre las controladoras de memoria.

Corei7_rmma_20081120_110524_0921_400

Como vemos la L3 de core i7 es extremadamente útil para mejorar la velocidad respecto al acceso a memoria principal y además cuenta con un tamaño considerable, 8 MB.

Aún así tengo ciertas esperanzas depositadas en los nuevos Phenom II basados en el nuevo Core Shanghai de 45 nm con 6 MB de L3 del que he hablado extensamente y que tendremos oportunidad de probar en Enero de 2009.”

Panorámica Caché L2 – Caché L3 – memoria principal:

rmma_20090227_145808_0078

Panorámica L2 – L3 – RAM en Phenom II X4 @ 3.6 / uncore 2.4 GHz.

Asociatividad caché L3

rmma_20090227_143417_0937

La teoría: caché L3 de 48 vías y 6 MB.

La asociatividad “total” debería ser de 2 + 16 + 48 = 66 vías, debido al diseño exclusivo de la arquitectura de cachés en los procesadores AMD.

De todos modos, al ser un procesador con la L3 no síncrona con los núcleos y por la peculiar forma de trabajar de la L3 (según AMD no es estrictamente exclusiva) que en ciertos casos puede duplicar datos de niveles inferiores es difícil realizar un análisis efectivo.

Latencia real efectiva caché L2

rmma_20090227_144308_0218

Latencia efectiva L2 en Phenom II X4.

En el punto de cruce de las cuatro gráficas obtenemos los 12 ciclos de acceso, la verdadera latencia L2.

Latencia real efectiva caché L3

rmma_20090227_144930_0750

Latencia efectiva L3 en Phenom II X4 3.6 GHz con uncore a 2.4 GHz.

El punto de cruce se encuentra en los 53 – 54 ciclos para esta configuración (núcleos a 3.6 GHz y L3 a 2.4 GHz).

Ancho de banda de memoria efectivo

Con un dual channel DDR2 1066 5-5-5-18 2T obtenemos un máximo teórico de 17 GB/s, veamos el ancho de banda efectivo en acceso de un solo núcleo (single threaded).

rmma_20090227_145340_0343

Ancho de banda single threaded Phenom II X4.

Limitado por un bus de solo 64 bit y además una frecuencia de ese bus (o al menos parte de él) a 2.4 GHz el ancho de banda efectivo es de unos 8.5 GB/s. Más o menos la mitad del dato teórico.

Simplemente AMD no ha creído necesario dotar a cada core de mayor ancho de banda y yo soy de la misma opinión en la actualidad.

En cualquier caso, si habéis echado un vistazo al artículo anterior en el que analizo el subsistema de memoria de este mismo equipo en modo multithreaded, es decir, en acceso concurrente de los cuatro núcleos, podemos observar valores mucho más cercanos al pico teórico de 17 GB/s (concretamente 15 GB/s efectivos):

32768x4_131072KB

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

Aquí doy por finalizado el análisis de este sistema, han sido con este ya cuatro artículos, creo que me doy por satisfecho...

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

lunes, 15 de diciembre de 2008

Phenom X2: AMD Athlon X2 serie 7000 - LowLevelHardware

El fabricante alemán de microprocesadores nos sorprende con una nueva gama de CPUs dualcore derivadas de los conocidos núcleos Barcelona de 65 nm con sólo dos núcleos activos, se trata de la nueva gama Athlon X2 serie 7000.

Después de esta nueva incorporación, los procesadores derivados del núcleo Barcelona quadcore quedan distribuidos en tres series:

  • Phenom X4 Serie 9000: Quadcore.
  • Phenom X3 Serie 8000: Quadcore con tres núcleos activos.
  • Athlon X2 Serie 7000: Quadcore con dos núcleos activos.

43494A_QuadCore_Opt_Die_BLK

El procesador Kuma: los AMD Athlon X2 7750 y 7550 están basados en dies Barcelona de 65 nm.

El procesador AMD Barcelona quadcore, por todos conocido en las gamas Phenom y Opteron, posee cuatro núcleos de procesamiento y una caché L3 compartida de 2 MB. En las series 7x50 se mantiene la caché L3 de 2 MB con sólo dos cores activos, es decir, un Barcelona stepping B3 con dos cores deshabilitados (mediante fusibles integrados en el die). A este procesador, AMD le llama Kuma:

  • AMD Athlon X2 7750 BE: 2.7 GHz cores, 2 GHz Uncore. 2 x 512 KB L2, 2 MB L3. Multiplicadores desbloqueados (Black Edition).
  • AMD Athlon X2 7550: 2.5 GHz cores, 2 GHz Uncore. 2 x 512 KB L2, 2 MB L3

Las prestaciones de Kuma son un 15 % superiores a las de un Athlon 64 X2 basado en el núcleo Brisbane (stepping G2) clock-for-clock. En tareas que demuestran las ventajas de la L3 por su set de trabajo, la ventaja de Kuma llega al 25 - 30 % (compresión de vídeo y juegos). Con ello demuestra las numerosas mejoras introducidas por AMD en los K10 respecto al original diseño K8.

El TDP de estas CPUs será de 95 W, superior al de la gama K8 Brisbane aunque inferior al clásico Athlon 64 X2 6400+ de 90 nm a 3200 MHz con dos L2 de 1 MB (TDP 125W).

En prestaciones, el modelo 7750 (2.7 GHz) compite con los Intel Pentium Dual Core 5200 y 5300 (45 nm, 2 MB L2) a 2.6 y 2.5 GHz respectivamente, aunque en el terreno del consumo se queda atrás. Recordemos que está basado en una CPU quad de 450 M (!!) transistores con dos núcleos desactivados.

amd_01[1]

En todo caso, la verdadera novedad de AMD recae en los nuevos procesadores de 45 nm, los Phenom II quadcore están al caer y que con su L3 de 6 MB sí supondrán un claro salto prestacional.

lunes, 24 de noviembre de 2008

La verdadera latencia L3 de Core i7. Actualizado - LowLevelHardware

Intel ha conseguido un diseño brillante para la caché compartida de 8 MB de los procesadores Core i7. Ha superado a AMD con su núcleo Barcelona, cuya L3 apenas destaca en ancho de banda de lectura frente a la memoria principal y más bien sirve de buffer para evitar / disminuir la carga en la RAM del sistema.

PIC01478a

En este caso analizamos el Core i7 920, el benjamín de la familia. La latencia en el 940 será peor (mayor frecuencia de núcleos, misma del Uncore) y algo mejor en el 965 EE.

Relación de frecuencia entre cores:uncore en la gama Core i7:

  • Core i7 920. Cores:Uncore 20:16 (5:4)
  • Core i7 940. Cores:Uncore 22:16 (11:8)
  • Core i7 965 EE. Cores:Uncore 24:20 (6:5)

A valor más bajo mejor rendimiento y menor latencia.

Latencia con software convencional: CPUZ 1.23.

CPUZ_lat_3ch_NOTurbo

Según CPUZ, el core Nehalem disfruta de una ajustadísima latencia de 36 ciclos para su tercer nivel de caché. Una latencia verdaderamente brillante (solo añade 22 ciclos per se).

Análisis con software especializado: RMMA 3.8.

rmma_20081122_113011_0656

En la gráfica ya observamos una latencia inicial de 42 ciclos que va empeorando conforme se van dando más y más fallos del D-TLB.

Haciendo un análisis más pormenorizado, descubrimos el verdadero valor de la latencia L3 en Nehalem:

rmma_20081124_103334_0953

El punto de cruce de las cuatro gráficas corresponde con el valor real efectivo de la latencia L3 en condiciones reales: 49 ciclos.

Cierto es, que en caso de aciertos de D-TLB, curva verde (acceso pseudo-aleatorio) tenemos una latencia de 42 ciclos, este sería la latencia efectiva en el caso de software excelentemente programado.

Conclusiones:

De este análisis, resulta un valor cercano al de la L3 del AMD Phenom Barcelona de 65nm, unos 49 - 50 ciclos.

rmma_20080512_214303_0609

Lo que sí es cierto es que Nehalem supera amplísimamente a Barcelona en el ancho de banda de su L3 (de un artículo anterior):

" Al llegar al LLC (Last Level Cache) o último nivel de caché, en este caso la caché L3 la diferencia se torna abismal en favor de Core i7. En lectura de L3, Core i7 transfiere 8.40 Bytes/ciclo (8.08 B/ciclo al superar los 2 MB) mientras que Phenom se queda en unos anémicos e insuficientes 3.59 B/ciclo para atender un dual channel DDR2 1066. "

" La caché L3 de Phenom es claramente el punto débil de la arquitectura K10. AMD ha dotado de un bus de solo 64 bit a su L3 y esto limita gravemente sus prestaciones siendo menos de la mitad (transferencia del bus L2-L3) que en su nuevo rival, Core i7. "

Según los diseñadores de Nehalem, con el próximo Tick en su cadencia Tick-Tock, esperan reducir la latencia de L3 y, sobretodo, aumentar considerablemente su tamaño.

Este nuevo procesador Westmere, la versión de 32 nm de Nehalem, es esperado para Q4 2009 - Q1 2010 e incluirá estas innovaciones entre otras.