Comparación de Arquitecturas: Intel Atom y VIA Nano

Comparación de Arquitecturas: Intel Atom y VIA Nano

por

Intel Atom y VIA Nano son los dos procesadores dedicados a computadores realmente pequeños, con pantallas de menos de 10" y un peso menor a los portátiles que ya conocemos. Hoy veremos a fondo sus diferencias a nivel de arquitectura para complementar el análisis de rendimiento que vimos hace algunos días

Hace un par de semanas les presentamos un review sobre los últimos CPUs eficientes desarrollados por Intel y VIA que representan un cambio en la forma en que se desarrollan este tipo de semiconductores donde la preocupación principal no es su máximo rendimiento sino que ellos tengan un rendimiento “suficiente”. En esta era de múltiples núcleos, megahertz, máximo número de IPCs (instrucciones por ciclo), el parámetro sobre el cual cada vez se está haciendo mayor énfasis, es su eficiencia energética comúnmente medida por rendimiento por Watt de electricidad consumido.

Cuando Intel se deshizo exitosamente de su arquitectura Netburst (Pentium 4) anunció que todos sus nuevos desarrollos eran pensados bajo dicha filosofía. AMD hace algo similar y últimamente ha llevado un poco más allá este término hablando de rendimiento por Watt por dólar. Finalmente, VIA la menos conocida de las empresas que desarrolla CPUs x86 ha basado su estrategia prácticamente desde que adquirió Cyrix de National Semiconductors en 1999, en que sus chips tengan el menor consumo eléctrico posible aun cuando ello implique que sean menos poderosos que los de la competencia. Con la explosión de los Netbooks, gracias al exitoso lanzamiento del Asus Eee, este tipo de microprocesadores se han vuelto extremadamente relevantes hasta tal punto que se espera que sus ventas crezcan hasta 50 millones de unidades para el 2012.

Bajo esta óptica estábamos al debe de mostrarles en detalle un análisis sobre tanto el Intel Atom como el VIA Nano para ver qué podemos esperar de ellos no solamente en los productos que se venden en la actualidad, sino lo que podemos esperar de ellos en el futuro.

Primera Mirada a las especificaciones

Antes de entrar en un análisis detallado de las arquitecturas una primera aproximación a los objetivos con el cual cada núcleo fue diseñado se puede ver claramente en sus especificaciones básicas:

Intel Atom

VIA Nano

*El cache L1 está compuesto por dos bloques, uno para instrucciones y otro para datos.

Esta primera mirada muestra como los CPUs de Intel parecen tener una ventaja insuperable en el aspecto más relevante para el mercado al cual apuntan: su consumo eléctrico. De hecho, con estos números VIA debiese abstenerse de participar en este mercado si se piensa que su CPU de menor consumo tiene el doble de TDP que el de más alto consumo de Intel.

Sin embargo, una lectura más detenida de esta tabla muestra indicios de que estamos ante dos filosofías opuestas de diseño y por ende apuntan a diferentes mercados. Este indicio proviene de los tamaños de tanto los caches L1 como L2, la velocidad del FSB y la cantidad de transistores. Para probar dicha hipótesis debemos hacer una mirada más detallada a las arquitecturas de estos CPUs.

Núcleo

La arquitectura del Intel Atom está desarrollada bajo la filosofía “en-orden”, contiene 16 etapas de procesamiento, puede enviar a procesar 2 instrucciones por ciclo y tiene 4 unidades de ejecución, dos para cálculos de enteros y 2 para cálculos flotantes y SSE.

Por otro lado, la arquitectura de VIA está hecha bajo la filosofía “fuera-de-orden”, debe contener entre 12 y 18 etapas (VIA no lo ha especificado), puede procesar 3 instrucciones por ciclo y tiene 7 unidades de ejecución, 2 para cálculos enteros, 2 para cálculos flotantes y SSE y 3 para manejo de memoria.

El párrafo anterior que parece estar en chino, muestra las primeras diferencias de cómo fueron concebidos estos CPUs y al mismo tiempo comienza justificar las diferencias del tamaño del núcleo como del consumo eléctrico. La información presentada será desmenuzada y explicada para que sea más fácil de entender a continuación.

¿Núcleos ordenados o desordenados?

Las filosofías “en-orden” y “fuera-de-orden” son absolutamente opuestas y explican la capacidad que tiene cada chip para procesar las instrucciones. Los procesadores “en-orden” simplemente procesan las instrucciones en el orden que las van recibiendo. La principal desventaja de esta filosofía es que si hay que esperar para que una instrucción sea procesada, por ejemplo, debido a que el cache este vacio, el CPU pasará varios ciclos sin procesar absolutamente nada.

Por otro lado, en una arquitectura “fuera-de-orden” el microprocesador es capaz de reordenar las instrucciones de tal forma de que se ejecuten de forma más eficiente (por ejemplo poniendo una instrucción de suma antes de la instrucción que requiere datos del cache).

Considerando que todos los CPUs de Intel desde el Pentium Pro tienen esta habilidad, pareciese que la decisión de Intel no fue la más acertada. Sin embargo los ingenieros de Intel optaron por el modelo más simple de procesamiento, pues implementar la filosofía “fuera-de-orden” es muy costosa en número de transistores y el consumo eléctrico de dicha circuitería es considerable.

Etapas

Las etapas de un CPU definen cuantos pasos se requieren para procesar una instrucción completamente, de forma muy similar a como funciona una línea de ensamblaje. La cantidad mínima de pasos para procesar cada instrucción es de 4 fetch, decode, execute y retire (buscar, decodificar, ejecutar y retirar). Sobre estas etapas se agregan sub-etapas adicionales que permiten lograr un balance entre las máximas frecuencias que un CPU puede alcanzar y su nivel de consumo. Muchas etapas aumentan la frecuencia potencial a la cual puede llegar un chip y disminuyen su consumo eléctrico cuando la instrucción es “correctamente procesada”.

Al hablar sobre una instrucción “correctamente procesada” me refiero al hecho de que los predictores del CPU (que se encargan precisamente de predecir los resultados para un mayor rendimiento) hicieron una predicción correcta del resultado y por ende, la instrucción puede ser retirada del ciclo de procesamiento. Cuando la predicción no es acertada, la instrucción tiene que ser procesada otra vez, volviendo nuevamente al principio de la línea de ensamblaje consumiendo mucha más energía pues se deben repetir nuevamente múltiples pasos para que esta sea resuelta.

Tanto el Atom como el Nano (aun cuando no tenemos los datos exactos se puede estimar que debiese tener 16 al igual que el chip de Intel) están en el mismo rango de etapas, por lo que su escalamiento de frecuencias, penalidades por predicciones incorrectas y consumo eléctrico en esta área debiesen ser similares, descontando las demás particularidades de cada arquitectura.

Unidades de Ejecución

El Intel Atom es tiene cuatro unidades de ejecución como fue mencionado anteriormente para cálculos enteros, flotantes y de SSE. Una de las principales debilidades de estas unidades es que las multiplicaciones y adiciones solo pueden ser procesadas por la unidad FP que es extremadamente lenta para realizar dichos cálculos. Por otro lado, el VIA Nano, tiene 7 unidades de ejecución que no tienen los problemas de Atom. Adicionalmente su unidad de punto flotante es incluso más rápida que la de la arquitectura Core.

Las unidades de ejecución son alimentadas por las dos y tres unidades respectivamente de envió de instrucciones que son capaces incluso de fusionar dos instrucciones en una más grande para aumentar la eficiencia de procesamiento. Con esto, VIA aumenta su ventaja pues tiene más unidades funcionales para procesar datos por instrucción enviada.

Nota sobre pitonizos (predictores)

Aun cuando es muy difícil comparar la capacidad de predicción correcta de resultados por las unidades de cada chip diseñadas para este propósito, se debe asumir que el de Intel debe ser considerablemente superior al de VIA por dos razones. Por una parte, Intel ha invertido años y millones de dólares para mejorar sus unidades de predicción debido a la debilidad de su arquitectura Netburst que se veía muy penalizada por tener un excesivo número de etapas para poder escalar en frecuencia. Por lo tanto, es ampliamente reconocido que dichas unidades de Intel tienen los niveles más altos de predicción. Por otra parte, el Nano de VIA es el primer CPU de la empresa que hace una implementación robusta (léase a la par de lo que hacen AMD e Intel) por ende, todavía deben de tener mucho trabajo para afinar dicha unidad.

Considerando lo anterior, Intel debiese tener un menor consumo eléctrico pues la probabilidad de una predicción errónea debe ser menor y por ende no es necesario volver a ingresar la instrucción a la línea de ensamblaje, al mismo tiempo que el numero de instrucciones por ciclo debiesen subir por este aspecto a comparación del Nano, manteniendo todos los demás parámetros constantes.

Cache

Con respecto al cache, como fue visto en la tabla del principio, el Atom tiene un cache L1 asincrónico de 32K para instrucciones y 24K de datos que además es inclusivo, mientras que el del Nano es de 64K para instrucciones como datos y es exclusivo.

Intel Atom

Lo que resalta a la vista es obviamente la disparidad en los tamaños del L1 del Atom y la razón sencilla para esto es que simplemente que se les acabo el espacio disponible para el diseño que tenían en mente, pues emplearon celdas SRAM de 8 transistores en vez de las tradicionales 6. Esto hace que haya una mayor densidad de componentes por cada 1K de cache y por ende, debieron recortar el cache para cumplir con la meta de tamaño impuesta. La razón para tomar esta decisión de usar más transistores por cada 1K de memoria se basa en el hecho de que los ingenieros de Intel descubrieron que los transistores que impiden bajar el voltaje del CPU a un piso más bajo eran los del cache. Al emplear 8 transistores para el cache, el voltaje puede ser disminuido en un porcentaje muy atractivo para un chip cuya principal característica es su bajo consumo.

La segunda consecuencia de usar celdas SRAM de 8 transistores es una menos atractiva para Intel: hace al cache considerablemente más lento. Es por ello que en las pruebas de Sandra de cache que se han hecho en estos dos chips, hasta el bloque de 64K el Nano es muy superior al de Atom para luego nivelarse pues la arquitectura del cache L2 de ambos chips es muy similar.

Las diferencias en cache, obviamente favorecen mucho a VIA en lo que respecta a latencias de acceso a bloques, tanto por el tipo de celdas utilizadas en el cache L1 del Nano, como por el hecho de que tanto su L1 como su L2 son el doble de grandes que los del Atom.

VIA Nano

El último punto es que los caches de la arquitectura de Intel son inclusivos mientras que los de VIA son exclusivos. Cada filosofía tiene sus beneficios y no se puede medir que una es mejor que la otra por sí misma, sino cómo ésta fue implementada y afecta el rendimiento global del CPU. En una arquitectura inclusiva, la información contenida en el cache L1 es duplicada en el L2. Esto significa, obviamente que la máxima cantidad de cache presente en el chip es el total que hay en el L2 (en nuestro caso 512K). Por otro lado, el beneficio de usar la arquitectura inclusiva es que si por ejemplo la memoria principal del sistema es actualizada, el controlador de memoria solo debe verificar el L1 para mantener la coherencia entre los caches. En el caso de de un sistema de cache exclusivo, el L1 no está duplicado en el L2 y por ende, lógicamente los beneficios y falencias son inversos.

Aspectos adicionales

Ambos CPUs cuentan con soporte para tecnologías de vitalización, XD (no ejecución de código), soporte de instrucciones en 64 bits, SS3 y estados muy avanzados de ahorro de energía que llegan hasta un nivel llamado C6.

En dicho estado, el voltaje al chip se corta, se guarda el estado del CPU y éste prácticamente no consume nada de electricidad. Adicionalmente a este estado de energía, ambos CPUs varían el voltaje y la frecuencia con el consumo para ahorrar la mayor cantidad de electricidad posible.

Una de las aéreas más relevantes de diferenciación entre el Atom y el Nano es que el primero incorpora en la mayoría de sus modelos Simltaneous Multi-Threading (SMT), un viejo conocido de Intel que es recordado por su nombre comercial Hyper-threading. Con SMT, el Atom puede utilizar de mejor manera los tiempos libres que le queda al CPU para aprovecharlos en el procesamiento de otro hilo, aumentando la eficiencia del chip. Muy pronto Tbon nos explicara en mayor detalle el funcionamiento de esta característica, pero mientras tanto para efectos prácticos, se puede decir que SMT hace que un computador mono-núcleo se sienta prácticamente como un CPU de dos núcleos pues cuando éste está en máxima carga, el sistema es capaz de seguir respondiendo a las interacciones realizadas por el usuario.

Por el lado de VIA, como ya es costumbre en sus CPUs incluye las tecnologías de Padlock que son únicas en sus chips excluyendo la tecnología XD. Dichas tecnologías son gracias a circuitos especiales que permiten generar grandes cantidades de números al azar (aproximadamente unos 12 millones por segundo), tener un motor de criptografía integrado capaz de encriptar datos a 25Gb/s y generar mensajes de autentificación y firmas digitales SHA-1 y SHA256 a velocidades de 5Gb/s.

Conclusiones

Una vez resumidas todas las características de ambos chips, la hipótesis que se había planteado al principio de este artículo es más fácil de ver. El diseño del Intel Atom se centró desde un principio en el mínimo consumo energético posible, lo cual queda demostrado cuando la empresa optó por excluir ideas tales como el procesamiento fuera-de-orden y usar celdas de 8 transistores para su cache L1. Pensando que la visión de Intel es miniaturizar este chip para que sea incluido en dispositivos portátiles muy poderosos, tales como teléfonos y reproductores de video, es lógico la empresa se haya alejado de técnicas que le dificulten llegar a niveles de consumo similares a los de ARM o los de su desarrollo anterior de bajo consumo, XScale ahora propiedad de Marvell.

Por otro lado, VIA apuntó desde el principio a un chip de escritorio destinado a reemplazar a sus ya envejecidos C7, para seguir manteniéndose presente en su lucrativo negocio de PCs de bajo consumo y dimensiones ínfimas.

Desde esas ópticas ambos productos están en línea con sus expectativas, especialmente para VIA pues el aumento de rendimiento con respecto a su predecesor es considerable. En el caso de Intel, como suelen ser sus desarrollos, es un trabajo que ver a sus verdaderos frutos a largo plazo.
Ahora, con lo que no contaban ni Intel ni VIA era con la explosión del mercado de Netbooks que ha beneficiado enormemente a la primera empresa. Desde este punto de vista, Intel lleva la delantera pues el aumento de consumo energético es prácticamente nulo cuando el CPU funciona a máxima carga con todo y que la mayoría de los diseños se basan en el chipset 945G que no se caracteriza por ser de bajo consumo, mientras que el aumento de consumo de VIA es considerable para este tipo de productos.

Dada dicha explosión en la demanda por computadores altamente eficientes de consumo eléctrico y que hacen sus tareas a una velocidad lo suficientemente rápida, el nicho que se había creado VIA está siendo amenazado de forma preocupante, no solo por la aparición del Atom, sino también por la posible entrada de AMD a este mercado con un chip de bajo consumo basado en su arquitectura K8.

Desde este punto de vista las opciones de VIA se reducen a aumentar considerablemente su eficiencia energética (algo que un simple paso a un proceso de manufactura menor no arreglara) ó a aumentar en una buena medida su rendimiento para que siga siendo una alternativa viable. Si el mercado de computadores eficientes no hubiese despegado de la forma que lo hizo, el trabajo de VIA, el cual había pasado desapercibido, no se vería afectado por los sucesos recientes y la empresa tendría más tiempo para adaptarse a la aparición del Atom.

En el caso de Intel, como suelen hacerlo muchas veces, introdujeron un CPU que no tenia pretensiones de conquistar el mercado presente, sino mas bien convertirse en un vehículo que, por medio de la fortaleza de manufactura de la empresa, se convirtiera en un actor importante en el amplio mercado de productos electrónicos móviles. Mientras la empresa siga disminuyendo el consumo en niveles importantes con cada nueva versión de este chip, el mercado de CPUs para equipos móviles dominado por diseños ARM puede estar en riesgo. Pero si Intel peca de introducir más características al Atom para satisfacer el mercado de Netbooks que no permitan bajar el consumo de su plataforma, su estrategia inicial (y razón por la cual decidió vender su división XScale a Marvell) para Atom dejara de ser viable y simplemente se convertirá en un CPU x86 mas de la empresa para un mercado especifico de computación.

Comente este artículo