jueves, 2 de febrero de 2017

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