miércoles, 19 de noviembre de 2008

Core i7 vs Phenom en dual channel. Ancho de banda de cachés y memoria. Actualizado - LowLevelHardware

En este artículo utilizo el excelente software RMMA 3.8 (RightMark Memory Analyzer).

Microarquitectura - Ancho de banda de memoria SSE 128bit

  • Core i7 920 (Cores 2.66 GHz / Uncore 2.13 GHz)
  • RAM 2 x 1 GB dual channel DDR3 1066 7-7-7-20
  • Sin Turbo mode para mantener la exactitud de resultados

rmma_20081120_110524_0921_400

Resultados:

Los tamaños relativos de las cachés son los publicados por Intel:

  • L1 32 KB
  • L2 256 KB
  • L3 8192 KB

Y su diseño inclusivo, es decir, copias de los niveles inferiores residen en los superiores.

Comparemos con los resultados obtenidos por un Phenom 9600 B2 (sin TLB Patch) a 2.3 GHz y Uncore 1.8 GHz.

Phenom_rmma_20080512_214049_0609_400

Ancho de banda de cachés:

En lectura de caché L1 ambos procesadores llegan al dato teórico: 16 Bytes / ciclo para Core i7 y 32 bytes / ciclo para Phenom. Esto es debido al diferente ancho de fetch de cada CPU (Phenom dispone de dos puertos de lectura de 128 bit, es decir 256 bit/ciclo).

En escritura L1 ambos llegan a los 16 Bytes/ciclo, en cada procesador hasta su tamaño de L1 (32 KB en Core i7 y 64 KB en Phenom).

En lectura de  caché L2 continúan las diferencias: Phenom raspa los 8 Bytes/ciclo (7.97) mientras que Core i7 le supera ampliamente con 10.60 Bytes/ciclo.

En escritura L2 Core i7 se destaca (9.60 Bytes/ciclo) y prácticamente humilla a Phenom (5.05 Bytes/ciclo) indicando una implementación muy superior en este área.

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 Intel y su procesador 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.

En escritura Core i7 transfiere a L3 5.57 B/ciclo mientras que Phenom consigue solo 3.26 B/ciclo.

Ancho de banda de memoria:

Datos obtenidos en single thread, es decir un solo núcleo accede a memoria. Se obtendrían resultados superiores en tests multithreaded en los que se diese un acceso concurrente de todos los núcleos a memoria.

Core i7 consigue más de 3.97 B/ciclo o 10600 MB/s  con un doble canal DDR3 1066 (7-7-7-20) y Phenom logra 2.60 B/ciclo o 6000 MB/s con un doble canal DDR2 800 4-4-4-12.

Conclusiones:

Intel ha diseñado una máquina ganadora  con Core i7, superando holgadamente en cualquier medición al AMD Barcelona excepto en la transferencia en lectura de L1 en modo SSE2 128 bit.

die

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.