¿Diferencia entre los procesadores de la serie ARM A y M?

Cuando pregunto esto, pienso en los microcontroladores, ¿cuál es la diferencia entre las series A y M de procesadores ARM? Muchos microcontroladores como Beagle Bone ahora tienen un tipo de Cortex?

Respuestas (2)

Perfiles de arquitectura ARM

Los perfiles de arquitectura ARM son:

Perfil de aplicación (Cortex-A)

Los perfiles de aplicación implementan una arquitectura ARM tradicional con múltiples modos y admiten una arquitectura de sistema de memoria virtual basada en una MMU. Estos perfiles admiten conjuntos de instrucciones ARM y Thumb.

Perfil en tiempo real (Cortex-R)

Los perfiles en tiempo real implementan una arquitectura ARM tradicional con múltiples modos y admiten una arquitectura de sistema de memoria protegida basada en una MPU.

Perfil de microcontrolador (Cortex-M)

Los perfiles de microcontroladores implementan un modelo de programadores diseñado para un procesamiento rápido de interrupciones, con apilamiento de registros por hardware y soporte para escribir controladores de interrupciones en lenguajes de alto nivel. El procesador está diseñado para integrarse en un FPGA y es ideal para usar en aplicaciones de muy baja potencia.

fuente

"El procesador está diseñado para integrarse en un FPGA y es ideal para usar en aplicaciones de muy bajo consumo". - tal vez eso fue una vez un criterio de diseño, pero ciertamente no es la forma en que se usa más la corteza-m.

Las CPU ARM de la serie M tienen un pequeño conjunto de instrucciones, a menudo sin unidad de coma flotante, sin administración de memoria, sin caché. Están optimizados para un bajo costo en lugar de un alto rendimiento. Generalmente se combinan con FLASH, RAM y periféricos en un chip de microcontrolador. Se utilizan principalmente para controlar el hardware y se programan sin sistema operativo (sin bibliotecas) o vinculados con algunas bibliotecas que podrían proporcionar funciones similares a las del sistema operativo. A ARM le gusta ver estas CPU como asesinos de microcontroladores de 8 y 16 bits.

Las CPU ARM de la serie A tienen un conjunto de instrucciones más grande (del cual el conjunto de instrucciones M es un pequeño subconjunto) y, a menudo (¿siempre?) Tienen una unidad de coma flotante, una unidad de administración de memoria y caché (s). Están optimizados para un alto rendimiento en lugar de un bajo costo (pero aun así están optimizados para un alto rendimiento por unidad de potencia). Por lo general, se venden como microprocesadores (a menudo combinados con periféricos de alta gama como ethernet, video, decodificador mpeg), destinados a combinarse con RAM y FLASH fuera del chip. A menudo ejecutan algún sistema operativo, a menudo Linux, con una separación entre el espacio del sistema operativo y el espacio para los programas de aplicación. A ARM le gusta ver estas CPU como LA opción para teléfonos móviles y tabletas (compitiendo con las CPU Intel).

Resumen muy breve: M es para microcontroladores (de gama alta), A es para ejecutar Linux en dispositivos alimentados por batería.