I met with Nandan Nayampally, Director of CPU Product Marketing for the Processor Division at ARM, at ARM TechCon 2011 last week and asked him for a short-form way of understanding the three major classes of 32-bit ARM Cortex processor core. Obviously, the A series of cores that includes the newly announced ARM Cortex-A7, the ARM Cortex-A15, and the popular ARM Cortex-A9 is for high-end embedded SoCs, SoCs that incorporate FPGA fabrics such as the Altera SoC FPGA and the Xilinx Zynq-7000 series, and mobile communications processors such as the Qualcomm Snapdragon, Nvidia’s Tegra Kal-El, and the ST Microelectronics SPEAr1300. The Cortex-M series is obviously kicking butt and taking names all over the microcontroller world with at least 17 semiconductor vendors now offering ARM-based single- and multi-processor microcontrollers. According to Nayampally, there are already more than 100 ARM Cortex-M licensees and more than 50 alone for the ARM Cortex-M0 processor core. Not all of these licensees have announced products at this time.
The Cortex-R series…well I needed to understand that better so I asked for a taxonomy of ARM Cortex processor cores and here’s Nayampally’s guide to ARM Cortex cores:
ARM Cortex-A cores (A5, A7, A8, A9, A15): Full MMU, cached (somewhat decoupled from main memory which is likely to be Gbytes of SDRAM), high-level OS support.
ARM Cortex-R cores (R4, R5, R7): Memory-protection units rather than a full MMU, cached or uncached, predictable and guaranteed response times with tightly-coupled memories, similar programming models to ARM Cortex-A series processor cores.
ARM Cortex-M cores (M0, M1, M3, M4): Uncached memory, interrupt response time is the most important characteristic, different programming model than ARM Cortex-A and Cortex-R processor cores with hardware support for interrupt service routines.