Intel Atom, explicado

O, al menos, la explicación que me hubiese gustado leer antes de comprar mi Aspire One.

Si vamos a la página de características del Atom N270, vemos que tiene un único núcleo y la tecnología Hyper-Threading (HT), sobre la cual escribí hace poco. Dado que este es un procesador destinado al mercado de los sistemas empotrados y, de rebote, a ordenadores de muy bajo consumo, parece lógico usar un sólo núcleo. La pregunta es: ¿cómo se llega a ese bajo consumo con un rendimiento razonable?

La carrera del gigahertz hace tiempo que, por fortuna, dio paso a la carrera del rendimiento. Prueba de ello es que hay arquitecturas que, a la misma velocidad de reloj, son más rápidas que otras. La optimización ha venido de la mano de mejoras internas, paralelismo y cambios en los diseños de los buses externos. Para la comparación utilizaré el Intel Atom N270 y el Intel Core 2 Duo E2140, ambos a 1,6GHz, haciendo tareas de compresión de audio.

Si tomamos un fichero de música en formato FLAC y lo convertimos a Vorbis de calidad 5 (una prueba no sintética, sino del mundo real, al menos del mío), obtenemos una velocidad de conversión de aproximadamente 5x en el caso del Atom y de 11,7x en el E2140. En ambos, el procesador se puso a la máxima velocidad, es decir, a 1,6GHz. Mirando las gráficas de rendimiento del procesador, el E2140 ejecutó toda la tarea en el mismo núcleo, mientras que el Atom se repartió entre ambos cauces HT, llegando al 100% de uno de ellos y de un 30 a un 38% del otro. Teniendo en cuenta que se estaba operando desde X Window, es de imaginar que alguna tarea secundaria estaría también consumiendo recursos, pero dado que esto era cierto en ambas máquinas, hay que suponer que la prueba está más o menos compensada.

Lo que resulta de más interés en todo esto es que, observando la gráfica del rendimiento, en el caso del Atom de vez en cuando se pasaba del 100% a un 30% en uno de los cauces, invirtiéndose en el otro. Es decir, ambos se pasaban la tarea de uno a otro. Dado que un cauce puede estar ocupado en un momento determinado, el otro asume la tarea en la medida de sus posibilidades, mientras que cuando el caso es a la inversa, de nuevo se turna para que el procesador siempre tenga instrucciones que ejecutar. ¿El resultado? Un aumento de rendimiento de un 30 a un 38% en las pruebas. Esto equivaldría a un sólo núcleo a unos 2,2GHz sin un aumento notable del consumo, lo cual justifica plenamente la existencia de HT en este pequeño procesador.

Aún así, hay una diferencia bastante grande de rendimiento comparado con el E2140. ¿Qué cambios de arquitectura lo explican? Los tamaños y velocidades de las memorias caché internas pueden tener que ver, pero existe algo aún más importante: el Atom, cuyo objetivo es consumir la menor energía posible, es un procesador que interpreta el flujo de instrucciones tal como le llega. En otras palabras, no tiene la circutería de otros procesadores más potentes, necesaria para la reordenación de instrucciones, que posibilitaría la ejecución fuera de secuencia. Esto hace que, si el código no está especialmente adaptado a la arquitectura del Atom, las instrucciones se ejecuten de una manera menos eficaz de la que podría ser. Lo cual, finalmente, viene a ser la clave del equilibrio entre rendimiento y consumo.

En resumen: el Atom, un procesador de compromiso que suple con eficacia sus carencias con sus habilidades, posibilitando que un sistema alimentado por baterías pueda darnos horas y horas de diversión (o trabajo) con una sola carga. Aunque, eso sí: es poco probable que se convierta en el caballo de batalla de la próxima granja de síntesis de imágenes de Weta Digital :)