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?
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 los 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 del microcontrolador (Cortex-M)
Los perfiles de microcontroladores implementan un modelo de programadores diseñado para el procesamiento rápido de interrupciones, con apilamiento de registros de 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 bajo consumo.
Las CPU ARM de la serie M tienen un pequeño conjunto de instrucciones, a menudo sin unidad de punto flotante, sin gestión de memoria, sin caché. Están optimizados para bajo costo en lugar de alto rendimiento. Generalmente se combinan con FLASH, RAM y periféricos en un chip microcontrolador. Se usan principalmente para controlar hardware y se programan desde cero (sin bibliotecas) o se vinculan con algunas bibliotecas que podrían proporcionar características similares al sistema operativo. A ARM le gusta ver estas CPU como asesinos de microcontroladores de 8 bits y de 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 subconjunto pequeño), y con frecuencia (¿siempre?) tienen una unidad de punto flotante, unidad de administración de memoria y caché (s). Están optimizados para un alto rendimiento en lugar de un bajo costo (pero aún 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 gama alta como ethernet, video, mpeg decoder), destinados a ser combinados con RAM fuera de chip y FLASH. A menudo ejecutan algunos sistemas operativos, 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 elección para teléfonos móviles y tabletas (que compiten con las CPU de Intel).
Muy breve resumen: M es para microcontroladores (high-end), A es para ejecutar Linux en dispositivos con batería.
Lea otras preguntas en las etiquetas microcontroller arm cortex-m cortex-a