jueves, 27 de marzo de 2008

El resurgir de Phenom. El Stepping B3 y el futuro Shanghai 45nm.

El esperado Phenom B3 está en la calle, el TLB bug, por fin forma parte de un pasado de auténtica pesadilla para AMD. Gracias a el, 2008 pinta mejor para el segundo mayor fabricante de microprocesadores de consumo.

Die del core Barcelona 65nm del AMD Phenom.


Todos los procesadores tienen, han tenido y siempre tendrán bugs, funcionamientos erróneos que se apartan de lo esperado en ciertas condiciones. Algunos se solucionan con parches (patches) en los sistemas operativos, otros mediante guías para los programadores en las que se les enseña como evitarlos y otros mediante cambios en las BIOS de las placas base.

El problema con el famosísimo bug 298, es que puede producir corrupción de datos y bloqueos / cuelgues del sistema en circunstancias muy concretas e infrecuentes. Los actuales procesadores AMD poseen una compleja estructura de caché exclusiva, a diferencia de su rival, Intel, que utiliza cachés inclusivas.

Una caché exclusiva como la del AMD Phenom funciona del siguiente modo. Tiene tres niveles (L1, L2 y L3), cada vez de mayor tamaño pero menor velocidad y mayor latencia que en ningún caso albergan los mismos datos, con lo que el tamaño de caché efectivo es la suma de los niveles.

Latencias de las cachés en Phenom stepping B2 y B3 (datos obtenidos con un 9600 Black Edition stepping B2):

  • L1: 3 ciclos.
  • L2: de 9 a 15 ciclos.
  • L3: de 20 a 49 ciclos.
  • Memoria principal: más de 125 ciclos a 2.3 GHz con DDR2 800 4 4 4 12 1T unganged.

Cuando un procesador requiere un dato de memoria primero busca en las cachés en orden ascendente, si no lo encuentra va pasando de un nivel a otro (L1 -> L2 -> L3) y si no hay suerte debe ir a memoria principal. En el caso de Phenom a través de sus dos controladoras integradas DDR2 @ 800 o 1066 MHz.

La organización exclusiva tiene la ventaja de que el tamaño efectivo es igual a la suma de L1 + L2 + L3. En Phenom este tamaño global es 64 + 512 + 2048 = 2624 KB. Pero tiene la clara desventaja de requerir mucha más lógica (más transistores, más superfície en el diseño) y crear un gran tráfico de coherencia entre niveles de caché.

En este tipo de arquitecturas hay un gran transvase bidireccional de datos entre niveles de caché, pues la información nunca está duplicada en más de un nivel. Al entrar una línea de caché en L1 se fuerza la expusión (eviction) de otro a L2.


Descripción del bug en la pág. 39 de la guía "Revision Guide for AMD Family 10h Processors".


El problema con ERRATA 298 reside en el TLB L2 de Phenom y su relación con la L3. Digamos, para no profundizar demasiado, que dos procesos pueden obtener datos diferentes acerca de la misma dirección de memoria, unos correctos, los otros erróneos. Estos últimos son los que generan el problema.

Más técnicamente: Una linea de L2 TLB usada por el sistema operativo para traducir las páginas de memoria virtual a memoria física puede ser duplicada en L3 (¿arquitectura exclusiva?) y si en ese momento otro proceso utiliza esa línea de L3 con datos erroneos ...

Para los autenticos adictos recomiendo el siguiente artículo de LostCircuits del siempre excelente Michael Schuette.

Con el stepping B3 se corrige este error y por fortuna para AMD, abre una nueva etapa para su procesador estralla, el AMD Phenom.

Con el B3 surgen dos nuevos modelos:

  • Phenom 9850 Black Edition. 2.5 GHz Cores / 2.0 GHz NB/L3/Controladoras RAM.
  • Phenom 9750. 2.4 GHz / 1.8 GHz.

Que se añaden a los ya existentes stepping B2:

  • Phenom 9500. 2.2 GHz / 1.8 GHz.
  • Phenom 9600. 2.3 GHz / 1.8 GHz.
  • Phenom 9600 Black Edition. 2.3 GHz / 1.8 GHz.

Como podemos observar el sufijo -50 marca el nuevo stepping B3. Además y al mismo tiempo AMD lanza los Phenom X3, quadcores con un núcleo desactivado: Será la serie 8000, por ahora todos ellos continúan siendo B2.

En cuanto a prestaciones, no hay diferencia entre el antiguo B2 sin el TLB patch y el nuevo B3. El Phenom 9850 BE es el actual sweet spot de la gama dado su relativamente alta frecuencia y sus multiplicadores desbloqueados que permiten un sencillo overclocking hasta los 2.7 - 2.8 GHz.

El core Shanghai.

Así se denomina el nuevo procesador quadcore de 45nm de AMD. Es un core shrink del núcleo Barcelona de 65nm. Incluye pequeñas mejoras respecto al core Barcelona de Phenom 65nm y aumenta muy significativamente la L3 de 2 a 6 MB, además de permitir frecuencias de funcionamiento más elevadas y disipaciones térmicas significativamente menores.


Die del nuevo core AMD Shanghai. Pulse en la imagen para obtener una en alta resolución 2088x1612.


Con Shanghai, AMD pretende competir en mejores condiciones con Intel y su Penryn QuadCore, pero lo tendrá más difícil con Nehalem, la siguiente microarquitectura de Intel. Según estimaciones del fabricante Shanghai será sobre un 15% superior al actual núcleo de 65nm clock for clock.

Hay un parámetro en el que AMD sí tiene una clara ventaja como señala hoy Johan de Gelas en AnandTech, se trata del TLB. Hablando de cargas de trabajo propias de servidores utilizando virtualización, un TLB de gran capacidad como el de Barcelona o Shanghai puede aportar un incremento del 10-20% en prestaciones, debido al particionamiento de este recurso entre las distintas máquinas virtuales.

Press KIT dónde se explican las peculiaridades del proceso de 45nm de AMD-IBM.

Más imágenes de alta resolución de Shanghai y del wafer de procesadores.

Shanghai tendrá una superficie estimada de 240 mm2, similar a Intel Nehalem, y una desidad de caché L3 de unos 7-8 mm2/MB. Recordemos que el actual Phenom 65nm (core Barcelona) tiene la friolera de 283 mm2 (!).

Todo parece indicar que AMD ha dado en el clavo con el Phenom B3, recordemos que el más alto de la gama, el 9850 BE tiene un precio inferior al quadcore más económico de Intel, el Q6600.

Prestacionalmente el 9850BE es similar al Intel Core2Quad Q6600 a un precio ligeramente inferior. AMD ahora sí está en el buen camino.

Carlos Yus Valero – informaticapremium informaticapremium-logo-150px