martes, 15 de abril de 2008

Intel Atom. El ultraportable.

El nuevo Intel Atom ha sido diseñado con una motivación: tener la mejor relación prestaciones por watt. Todo gira en él en torno a esta premisa. Su arquitectura superescalar de dos vias con multithreading y ejecución en orden, sus L1 de 24KB + 32KB y su L2 de 512KB con celdas de diseño específico para la máxima autonomía en dispositivos móviles.



Die del nuevo procesador Intel Silverthorne.


Atom es el nombre comercial del procesador internamente conocido como Silverthorne. Un pequeño ingenio de 47 millones de transistores fabricado por Intel en el proceso de 45nm High-K CMOS, el mismo proceso en que se fabrica Penryn y próximamente Nehalem, con una superficie de 25 mm2 y un encapsulado de 13x14 mm.
Atom es un procesador diseñado para ofrecer el menor consumo posible tanto en reposo como con altas de cargas de trabajo y en este particular Intel ha puesto toda su maestría y ha tomado decisiones que marcan esta microarquitectura a todos los niveles.



Minúsculo, ¡Nada más que 25 mm2!


Comparativa de tamaño de los chips portátiles de 2006 a 2008.


Atom marca un antes y un después en la integración de las plataformas x86 de Intel, Atom y Poulsbo, su chipset, son áltamente integrados (Poulsbo todavía se fabrica con tecnología de 130nm) y permiten su montaje en dispositivos de un tamaño que nunca antes se hubiese soñado con tal nivel de prestaciones y total compatibilidad x86.


Wafer de procesadores Atom.

Recordemos que Silverthorne posee total compatibilidad Intel Merom, es decir posee todos los juegos de instrucciones Intel hasta el SSSE3 de Core2. Con lo que asegura su total compatibilidad con los sistemas operativos y el software actual. Incluso soporta virtualización y proceso de 64 bits.

Distribución del die de Silverthorne, podemos ver los diversos FUBs.

Todas las CPUs x86 actuales desde el venerable Intel Pentium presentan núcleos de ejecución fuera de orden o OoOE (Out of Order Executution), Silverthorne no puede permitírselo debido a que incrementaría su consumo. De este modo ejecuta las instrucciones en orden de programa, si una instrucción necesita un dato no disponible se detiene la ejecución y provoca una parada en el pipeline (pipeline stall).


Wafer de procesadores Silverthorne.

Para evitar estos tiempos muertos Intel ha dotado a Atom com multithreading (al estilo Pentium 4 Hyperthreading). Es virtualmente imposible tener dos threads en ejecución con dos instrucciones independientes que no dispongan en L1 o L2 de los datos para operar.

El TDP de Atom se sitúa en un máximo de 2 Watt a 2 GHz y su consumo típico es del orden de algunos cientos de mW.

Su pipeline es de 16 etapas, algo largo considerando las 14 de Conroe/Merom y Penryn, pero, comprensible debido al SMT y a las 3 etapas de decodificación de instrucciones x86 (decode stages) . Parece ser que Nehalem también contará con 16 etapas.


Las 16 etapas de Silverthorne tiene una motivación clara: para evitar exceso de circuitería que aumentaría el consumo, se recurre a serializar los algoritmos, es decir a aumentar el número de etapas de ejecución. Por otro lado el multithreading requiere de algunas etapas extra para su gestión.



En primer plano el procesador Silverthorne, detras su chipset. Poulsbo.

Curiosamente Poulsbo tiene un footprint mayor que el propio Atom, en generaciones posteriores esto cambiará. Poulsbo está fabricado a 130 nm, para ahorrar costes. Contiene el Northbridge, el Southbridge y el núcleo gráfico 2D/3D de un fabricante no desvelado por Intel.

Atom es un procesador más CISC que sus antecesores. La arquitectura x86, odiada por muchos, es además de compleja, arbitraria en muchos sentidos: cuenta solamente con ocho registros (16 en 64 bits) y por ello continuamente accede o escribe en memoria.

13 x 14 mm.

La teoría, tanto en AMD o Intel, era descomponer las instrucciones CISC x86 en algo más manejable: microinstrucciones de tipo RISC. Esto se hace en las etapas de decoding. Con mucho esfuerzo e inversión diseñaron y construyeron excelentes núcleos de ejecución (AMD Athlon y sus derivativas, Intel Core y Core2) de estas pequeñas instrucciones que antes debían ser decodificadas y secuenciadas en complejos front-ends.

Con Silverthorne cambia radicalmente, para ahorrar energía la mayoría de las instrucciones x86 se procesan directamente sin la costosa decodificación y secuenciación.







Silverthorne sobre un wafer de Tukwilla, el gigantesco Itanium quadcore.

Todas las imágenes son propiedad de Intel corp.