Archivo de la etiqueta: armv6 vs armv7

ARMv6 vs ARMv7

Llega un poco tarde, pero la lucha ARMv6 vs ARMv7 es una discusión de matices y en el fondo muy relativa a las capacidades del hardware y a qué podemos esperar del software que lo aprovecha.

Las arquitecturas ARM más comunes hasta hace poco en el mundo de las miniordenadores eran estas dos, aunque ARMv8 está creciendo con fuerza y a corto medio plazo será la que domine. Las diferencias ente ARMv6 (ARM versión 6) y ARMv7 (ARM versión 7) no son claras por el hecho de que los diseños de la empresa ARM son modulares. Por lo que ciertas capacidades son opcionales y no tienen que ser implementadas, podemos tener por tanto un chip ARMv7 muy capado peor que un ARMv6 con todos los extras.

En primer lugar, las diferencias en el conjunto de instrucciones básicas de ARM son insignificantes. Los registros centrales de ARMv6 y ARMv7 son los mismos. ARMv7 es compatible con ARMv6, por lo que los binarios compilados para ARMv6 también deberían funcionar en ARMv7. ARM está orientado a una arquitectura estrictamente RISC (del inglés Reduced Instruction Set Computer, en español Computador con Conjunto de Instrucciones Reducidas). Por lo tanto, el conjunto de instrucciones básicas de ARM sólo puede realizar operaciones muy sencillas. Para cosas complejas, los micros ARM tienen módulos de tipo coprocesador: las llamadas extensiones.

Sin embargo, las extensiones son opcionales y el fabricante del chip puede decidir no implementarlas. Las diferencias principales de ARMv6 vs ARMv7 están exactamente en varias extensiones de procesador. Muchas de las extensiones típicas de ARMv7 fueron creadas cuando los chips ARMv6 estaban usándose y en algunas de las subversiones de ARMv6 pueden encontrarse algunas de estas mejoras. Esto se puede ver en detalle en esta tabla de la Wikipedia: Arquitectura ARM – Familias.

ARMv7 estás dividido recientemente en 3 perfilesARMv7-AARMv7-RARMv7-MLos perfiles difieren en los modos de acceso a la memoria, latencia o control de interrupciones:

  • El perfil A está más cerca del sistema clásico de PC, con el sistema operativo y las aplicaciones encima. Este es el que encontramos en todas estas placas de tipo mini ordenador.
  • Por otra parte, el perfil R está a medio camino del A y el R es para “Tiempo Real”, o sea, de respuesta rápida pero con sistema operativo y aplicaciones preparadas para ese entorno exigente.
  • Y por último, el perfil M se acerca más al comportamiento del microcontrolador con procesamiento determinístico de tiempo, típicamente sin sistema operativo.

Sigue leyendo