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.

miércoles, 10 de diciembre de 2008

Análisis wafer Intel Beckton 8 cores - LowLevelHardware

Intel mostró en el último IDF wafers de su último procesador, derivado de la arquitectura Nehalem, el monstruoso Intel Beckton octacore.

Gelsinger_Beckton

Patrick Gelsinger enseña orgulloso un wafer de dies de Beckton.

Beckton será un octacore nativo, compartirá arquitectura con los actuales Core i7 y disfrutará de una masiva caché L3 de 24 MB (!!), cuatro enlaces QPI (lo que permitirá sistemas de 4 sockets totalmente conectados) y cuatro controladoras de memoria FB-DIMM DDR2.

Cada uno de los ocho núcleo de Beckton constará de:

  • 32 + 32 KB caché L1
  • 256 KB de L2 privada
  • 24 MB de caché L3 compartida entre los 8 núcleos
  • Probablemente los procesadores permanecerán invariados respecto a los conocidos en los Core i7 y contarán con SMT de dos vías (HyperThreading) para un total de 16 threads por socket.
  • El ancho de banda de memoria será ingente con valores de 25.6 GB/s con FB DIMM DDR2 800.
  • Se fabricará en el actual nodo de 45 nm.

HiResBecktonWafer

Como podemos ver, el tamaño de este procesador va a ser enorme, alrededor de 600 mm2.

En cada wafer de 300 mm caben solamente unos 13 x 9 procesadores (para un total de dies completas), lo que elevará enormemente su coste de fabricación debido a su superficie de alrededor de 600 mm2. Obviamente irá destinado a servidores y estaciones de trabajo de gama alta.

Si nos fijamos atentamente en la fotografía anterior, vemos que el die Beckton o Nehalem EX está subdividido en ocho sectores.

Beckton1_624

Probablemente los cuatro sectores centrales serán los ocho procesadores en grupos de dos y los cuatro de la periferia incluirán:

  • La caché L3 de 24 MB en varios bancos (probablemente cuatro bancos de 6 MB)
  • Los cuatro enlaces QPI
  • Las cuatro controladoras de memoria FB-DIMM DDR2 800

HiResBecktonWaferEnhanced

Imagen en la que se aprecia "algo mejor" la estructura interna.

En cualquier caso todo esto es mera especulación por mi parte. También pudiera ser que los sectores centrales integren tanto los ocho núcleos de procesamiento como los cuatro bancos de la L3. Quién sabe ... aunque en unos meses lo veremos.

Beckton_enhanced2

Del tamaño del die podemos estimar en unos 72 a 77 dies completos por wafer de 300 mm, de ahí deberemos descontar las que no sean funcionales por defectos puntuales o de proceso (yield) que en diseños tan masivos suelen ser un porcentaje elevado, sobretodo en los primeros steppings.

Para el que desee profundizar en el conocimiento del coste de producción de un microprocesadors recomiendo el siguiente PDF de la Universidad de Berkeley:

Lecture 5: Cost, Price, and Price for Performance
Professor Randy H. Katz
Computer Science 252
Spring 1996

http://bnrg.eecs.berkeley.edu/~randy/Courses/CS252.S96/Lecture05.pdf

Image1 

Como vemos, el coste de un procesador depende directamente del coste del wafer (la oblea de silicio).

Image2

A menor superficie menor coste.

Image3

Para definir el concepto de yield o rendimiento entran en juego los defectos (puntos rojos) por cm2.

Image4

Ejemplos de costes del die de algunos procesadores comerciales con sus tasas de defectos y yields.

viernes, 5 de diciembre de 2008

Hyperthreading en Core i7. Análisis - LowLevelHardware

Los procesadores Intel Core i7 basados en núcleos Nehalem incorporan SMT de dos vías (Hyperthreading) en cada uno de sus cores, obteniendo así un total de ocho CPUs lógicas para cuatro núcleos físicos.

PIC01477a

El brillo dorado de Nehalem

En sistemas operativos actuales de la familia Windows (léase XP, XP64, Vista o Vista64) no hay manera de diferenciar qué es un procesador físico y cual uno lógico. De este modo Windows, en su torpeza, asigna los threads a las CPUs lógicas sin saber realmente si son o no núcleos físicos con la consiguiente degradación de las prestaciones.

Sistema de pruebas:

  • Core i7 920 @ 3.33 GHz / 2.66 GHz Uncore (Voltaje nominal)
  • Turbo mode multithreaded 3.5 GHz
  • Turbo mode single threaded 3.66 GHz
  • BClock 167 MHz
  • Placa Intel DX58SO Intel X58 - ICH10 (Voltajes nominales)
  • 3 canales Kingston DDR3 1333 8-8-8-24-1T @ 1.62V
  • Western Digital 500 GB WD5000AAKS 7200 rpm 16 MB SATA2
  • Grabadora DVD SATA LG
  • ATI Radeon 4850 512 MB GDDR3 625 MHz / 2 GHz
  • F/A Tacens Radix 520W
  • Instalación limpia con drivers Windows XP Home SP3

PIC01482

Core i7 triple channel DDR3 1333 MHz

Image1

Core i7 920. Captura de CPU-Z 1.48 en Turbo mode x22 single thread a 3666 MHz

En un sistema Core i7, en el Administrador de Tareas de Windows, encontramos ocho CPUs lógicas como podéis observar en la siguiente captura de ocho instancias de Memtest Windows:

MemtestWIN_X8

Core i7 al 100% de uso en las ocho CPUs lógicas.

Hace unos meses ya hice una evaluación similar analizando el comportamiento de los procesadores quadcore (Phenom y C2Q) en Windows y su optimización asignando manualmente cada proceso a un core.

Caso 1: Un thread - single threaded

Limitamos manualmente WinRAR para que utilice sólo la CPU lógica 0.

WRAR_1THREAD

La velocidad obtenida en el test de WinRAR 3.80 es de 1143 KB/s utilizando solo uno de los ocho cores lógicos de Nehalem.

Caso 2: Dos threads - dual threaded

Limitamos a WinRAR a utilizar las CPUs lógicas 0 y 1:

WRAR_2THREAD_0_1

Obtenemos una velocidad de 1908 KB/s. Estamos utilizando dos procesadores distintos.

Ahora asignamos WinRAR a las CPUs lógicas 0 y 4:

WRAR_2THREAD_0_4

Obtenemos una velocidad inferior al caso anterior. Señal inequívoca de que la CPU lógica 0 y la 4 forman parte del mismo núcleo de procesamiento, el primer núcleo del Core i7. Pese a asignar a dos CPUs lógicas, estamos utilizando un solo procesador (con SMT).

En cambio cuando asignamos a las CPUs lógicas 0 y 1 estamos asignando a dos núcleos diferentes y de ahí el aumento de velocidad.

Caso 3: Cuatro threads - Four threaded

Asignamos manualmente WinRAR a las CPUs lógicas 0, 1, 2 y 3.

WRAR_4THREAD_0_1_2_3

Obtenemos un índice de 3157 KB/s con cuatro CPUs lógicas que corresponden a cuatro procesadores físicos. El caso óptimo.

En cambio, si seleccionamos las CPUs lógicas 0, 1 y 4, 5 obtenemos el siguiente resultado:

WRAR_4THREAD_0_1_4_5

Solamente 2884 KB/s porque en este caso hemos seleccionado 4 CPUs lógicas que corresponden sólo a dos núcleos físicos con HyperThreading (SMT).

Caso 4: Ocho Threads - Eight threaded

Dejando ejecutar por defecto a WinRAR 3.80 en un sistema Core i7, obtenemos la siguiente captura:

WRAR_8THREAD_01234567

Como decía, por defecto, queda asignado a las ocho CPUs lógicas (0, 1, 2, 3, 4, 5, 6 y 7) dando un rendimiento excepcional de casi 4200 KB/s. Recordemos que estamos en un sistema Core i7 a 3.5 GHz y Uncore a 2.66 GHz con triple canal DDR3 1333 8-8-8-24 1T.

Caso 5: Dos instancias de WinRAR - Eight threaded

Lanzando dos instancias de WinRAR y dejando todo por defecto obtenemos lo siguiente:

2xWRAR_2x8THREAD_01234567_01234567

Ambas instancias de WinRAR están asignadas a las ocho CPUs lógicas. En este caso obtenemos 2410 y 2512 KB/s. Un total de 4930 KB/s, lo que demuestra que una sola instancia de WinRAR no es capaz de saturar un Core i7 con sus ocho threads.

Podemos también asignar cada instancia de WinRAR a cuatro CPUs lógicas para "balancear la carga" obteniendo resultados similares:

2xWRAR_2x4THREAD_0145_2367

Conclusiones:

Hay que ser consciente de la complejidad de los procesadores actuales y en especial del procesador Nehalem de Intel. Al haber ocho CPUs lógicas pero sólo cuatro físicas hay que ser cuidadoso si deseamos extraer el máximo rendimiento de aplicaciones mal adaptadas a ocho threads.

Image2

KB/s en WinRAR 3.80 beta

Como vemos, la escalada de  rendimiento de uno a ocho threads es ejemplar y es debida al ingente ancho de banda de esta plataforma.

Image1

Debemos saber que las CPUs lógicas 0, 1, 2 y 3 tienen sus parejas en las 4, 5, 6 y 7. Es decir la CPU lógica 0 y la 4 forman parte del mismo procesador físico y así sucesivamente.

CPUsLogicasNEHdie

Las ocho CPUs lógicas y los cuatro núcleos de Nehalem 

Y por ello, asignando correctamente los procesos podremos extraer hasta la última gota de las prestaciones de estos excelentes procesadores.

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.

viernes, 21 de noviembre de 2008

AMD Phenom II. Actualizado - LowLevelHardware

En poco más de un mes, en enero de 2009, AMD empezará a comercializar los AMD Phenom II basados en el core Shanghai de 45 nm y 6 MB de caché L3.

amd_02[1]

En un principio saldrán a la luz las versiones AM2+ para memoria dual DDR2 1066 compatibles con las actuales placas base y más adelante los AM3 para DDR3.

Shanghai

Con Shanghai, AMD fabrica el procesador que habría deseado sacar al mercado a finales de 2007. El tamaño de caché L3 de Barcelona (Phenom 65 nm) es, como todos sabéis, insuficiente para el software actual.

amd_analyst_day_banner

Más todavía, Barcelona tiene una grave carencia de ancho de banda de caché L3, tanto que ahoga sus prestaciones. Esto es debido al pequeño ancho del bus L2-L3 (128 bit bidireccional)  y a su baja frecuencia (1.8 GHz y 2 GHz en los Phenom actuales).

1237333[1]

En los nuevos Phenom II habrá modelos (como el 940 BE) que contarán con una frecuencia del Uncore de 2.2 GHz, lo que permitirá mayores velocidades de su L3 y menores latencias.

El overclock, con refrigeración convencional, se extenderá hasta los 4 GHz y con medios más exóticos rondará los 5 GHz hasta los casi 6 GHz con LN2 según pruebas realizadas el día 13 en el AMD Financial Analyst Day con chips stepping C2-H, un stepping inferior al que tendremos en retail en Enero.

1237334[1]

En términos sencillos, una L3 de gran tamaño, ayuda sobretodo en casos de acceso aleatorio a datos, proceso de enteros (ofimática, compresión y descompresión de ficheros, ...) y menos en situaciones de coma flotante y streaming (vídeo).

1237344[1]

En valores absolutos ni Intel ni AMD están satisfechos con sus tamaños presentes de caché por núcleo. Tamaño de LLC (Last Level Cache) por núcleo en procesadores actuales:

  • Core 2 Penryn 45nm: 3 MB por core
  • Core i7 45 nm: 2 MB por core
  • AMD Barcelona 65 nm: 1 MB por core (512 KB+ 512 KB)
  • AMD Shanghai 45 nm: 2 MB por core (512 KB + 1536 KB)

Los arquitectos de CPU consideran estos valores insuficientes y esperan a los 32 nm para poder implantar en sus diseños L3s de tamaños más eficientes.

Recordar que doblar el tamaño de una caché multiplica su tasa de acierto por 1.41 (raíz cuadrada de 2) y más aciertos de caché significan menos accesos a memoria con su dilatada latencia de 150 - 200 ciclos.

1237345[1]

En Q1 2009  AMD lanzará la plataforma AM3 con dual channel DDR3, que convivirá con el actual AM2+. Los modelos acabados en 5 corresponden a AM3.

1237350[1]

Y será ya en el nodo de 32 nm cuando AMD lance el six-core nativo Orochi (antes conocido como Istambul) con una L3 de más de 6 MB y yo creo que más de 8 MB (aunque depende de la geometría final del diseño) y de la densidad de la L3 de AMd en 32 nm.

amd_roadmap_2008_2011

Y todo esto nos lleva a la reestructuración total de AMD debido a sus problemas financieros. Recordemos que se desprende de sus fábricas de semiconductores y funda junto a otros grupos inversores The Foundry Company, que será la que desde ahora se ocupará de la fabricación en sí de los diseños de AMD.

Para más información ver este artículo pasado en ProfessionalSAT.

AMD_manuf

Aquí podemos ver el roadmap para 2009 - 2010 de fabricación de The foundry Company. Esperemos que este cambio estratégico sea beneficioso y AMD pueda centrarse en el diseño puro de procesadores.

AMD_manufB

La división gráfica de AMD, ATI, podrá acceder también a recursos de The foundry Company, aunque siempre en proceso Bulk o proceso general.

 amd_phenom_2_logo

En resumen, buenas expectativas para los Phenom II que esperemos se materialicen en Enero. Según AMD, en el diseño de este procesador han puesto énfasis en el ahorro energético y la baja disipación térmica y en la optimización de los puntos que hacían de Barcelona un mediocre overclocker.

Post scriptum:

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).

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.

miércoles, 5 de noviembre de 2008

La caché L3 de Core i7 Nehalem. Actualizado - LowlevelHardware

Intel ha echado el resto en el diseño y realización efectiva de la caché L3 de su nuevo procesador Core i7, antes conocido como Nehalem.

L3_400

La caché L3 de Nehalem, como todos sabéis de 8 MB y asociatividad de 16 vías, es compartida entre los cuatro núcleos y de naturaleza inclusiva. Está dividida en cuatro arrays de 2 MB:

2MB_L3array

Array de 2 MB de L3 de Nehalem.

Siendo el tercer nivel de caché el número de peticiones que recibe de los cuatro procesadores a los que sirve se ve muy reducido debido a las pequeñas y rápidas L2 de 256 KB de 8 vías lo que permite no saturar su bus de datos. Pensemos que la tasa de aciertos de la L2 debe rondar el 80 - 90% dependiendo del software.

Pondré un ejemplo, en numeroso software comercial la caché L2 de un Core2Duo mantiene un 300% más de peticiones que la L2 de un Athlon64 X2.

Esto es debido a la mayor tasa de aciertos de las L2 de los A64 X2 en comparación con los Core2Duo por su mayor tamaño (64 - 64 KB contra 32 + 32 KB).

En este sentido podemos considerar la necesidad de la pequeña L2 en los procesadores Intel Core i7 como un medio para mitigar el tráfico desde y hacia la L3 que, recordemos, sirve a cuatro procesadores muy eficientes sedientos de datos e instrucciones.

La L3 en AMD Barcelona Phenom

En su día critiqué el ,para mi, mayor defecto de la microarquitectura del AMD K10: su asincronía y sobretodo sus abultadas latencias de sincronización.

El K10, en su actual modelo superior, el Phenom 9950 BE mantiene su L3 y controladoras de memoria a 2 GHz mientras que los cuatro núcleos procesan a 2.6 GHz.

Esto provoca unas latencias de L3 que rondan los 45 - 50 ciclos y más grave todavía un ancho de banda de L3 en lectura realmente mediocre debido a su raquítico bus interno de únicamente 64 bit como podemos observar en el cuadro siguiente.

  Lectura GB/s Latencia ns Latencia ciclos
Caché L1 79.8 1.2 3
Caché L2 20.0 3.7 10
Caché L3 8.5 7.9 20
Memoria 8.0 55.0 138
Resultados obtenidos con Everest 4.50 en un AMD Phenom 9850 BE (2.5 GHz cores / 2 GHz L3 & MC) con 2 x DDR2 1066 5-5-5-16-2T.
 
La L3 de Intel Core i7 Nehalem:

El ingente equipo de arquitectos e ingenieros en Intel ha dado a luz un prodigio en forma de L3 para su nuevo procesador.

 

Lectura GB/s

Latencia ns

Latencia ciclos

Caché L1

51.2

1.2

4

Caché L2

34.1

3.2

10

Caché L3

18.2

5.7

18

Memoria

14.3

42.2

135

 

 

 

 

 

 

Resultados obtenidos con Everest 4.50 en un Intel Core i7 965 EE (3.2 GHz cores / 2.133 GHz L3 & MC) con 3 x DDR3 1066 7-7-7-20.

Si cambiamos la frecuencia del uncore a 2667 MHz (la nominal en el 965 EE) obtenemos ligeras mejoras en los datos de L3 y memoria principal:

  Lectura GB/s Latencia ns Latencia ciclos
Caché L1 51.2 1.2 4
Caché L2 34.1 3.2 10
Caché L3 18.9 5.2 17
Memoria 14.9 39.0 125
Resultados obtenidos con Everest 4.50 en un Intel Core i7 965 EE (3.2 GHz cores / 2.667 GHz L3 & MC) con 3 x DDR3 1066 7-7-7-20.

Conclusiones:

Intel ha dotado a Nehalem de un uncore con buses bien dimensionados para no ahogar a sus potentes núcleos de procesamiento.

Unas matemáticas elementales nos indican que el bus de L3 de Nehalem debe ser de 128 bit:

(2.133 GHz * 128 bit) / (8 bit / 1 byte) = 34.8 GB/s

34.8 GB/s es el ancho de banda asignado por Intel al bus de L3 en los modelos Core i7 920 y 940, lo que le da un margen de ampliación considerable y supera con creces el ancho de banda de tres canales de DDR3 1066 (25.5 GB/s).

En el Extreme Edition 965:

(2.666 GHz * 128 bit) / (8 bit / 1 byte) = 42.656 GB/s

Supera el ancho de banda de un triple canal DDR3 1333 (32 GB/s). Como vemos las frecuencias de Uncore no han sido escogidas por Intel al azar, sino para dotar de margen al diseño y ha fijado su frecuencia por defecto en el doble (2X) del valor de frecuencia de la DDR3 utilizada.

En resumen, una gran flexibilidad y un buen margen de ampliación sobretodo teniendo en cuenta el reloj dinámico del uncore y su funcionamiento comprobado sin fallos hasta los 4 GHz para hacer frente a 3 canales DDR3 a 2 GHz a 1.65 V.