domingo, 16 de mayo de 2010

ARM 9 y ARM 11

Mucho se dice sobre los procesadores de los teléfonos pero poco se sabe ¿es mejor uno u otro? todo depende de lo que se quiera hacer y el objetivo final, el tema es que nos dejamos llevar por números fáciles como siempre sucedió con los procesadores de las PCs.

Cuando nos dimos cuenta que la batalla de los Megahertz terminaba en la nada y que la realidad iba por otros aspectos, desde la latencia, operaciones por segundo, punto flotante, enteros, caché y demás aprendemos un poquito más de como con marketing y un numero nos logran vender cualquier cosa.

Pero en el caso de los procesadores ARM volvemos a lo mismo ¿es mejor un ARM9 a 300 Mhz o un ARM11 a 600Mhz? ni una cosa ni la otra, siempre depende.

Los procesadores ARM 11 son, obviamente, más modernos que los 9, pero no necesariamente mejores para todo. La razón va por el lado estrictamente técnico.

El pipeline del ARM9 es de 5 etapas, eso significa que por cada ciclo necesita pasar por 5 pasos y no por 9 etapas como el ARM 11. Esta diferencia provoca que si el pipeline del ARM11 se bloquea deberá esperarse a que termine para el siguiente proceso, pero, a la vez, este diseño permite mayor velocidad en Mhz.

Una diferencia sutil pero importante a la hora de entender la capacidad de un micro y del otro, podríamos tener un ARM11 a 600Mhz pero saturado y otro ARM9 con mejor uso de su microarquitectura desde el software. Todo depende de como los usemos.

Otra posibilidad del ARM11 es el "branch prediction" que si es utilizado por el software ahí si marca una diferencia, pero si está desactivado se desaprovecha y puede ser hasta más lento que un ARM9.

El diseño de los procesadores ARM implica que si no hay branchs ni interlocks logrará procesar una instrucción por ciclo del reloj, algo ideal. Así que, si todo está bien programado, un ARM11 será mucho más rápido que un ARM9, pero donde las cosas se compliquen la diferencia se achicará un poco. Obviamente ARM11 es más moderno y tiene un set de instrucciones mejorado, por eso llama la atención cuando todavía se utiliza el ARM9 en algunos teléfonos modernos.

Igualmente tanto el ARM9 como el ARM11 quedan obsoletos con la nueva generación de procesadores Cortex, pero recién durante este año comenzaremos a ver dispositivos con estos nuevos micros, tengo entendido que la Palm Pre lo incluirá, varios de Samsung ya traen Cortex A8 y probablemente varios más.

No hay comentarios:

Publicar un comentario