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