• Media processing: SIMD
• Enhanced exception handling
• Overhaul of memory system architecture
• Split into profiles
• 64-bit architecture
• Two main execution states: AArch32 and AArch64
ARMv7 is the most widely-used architecture in mobile devices. ARMv7, which defines the architecture for the first of the Cortex series of cores, defines three architecture profiles as follows:
A-profile (application profile). ARM Cortex-A cores are intended for application use and consist of ARM Cortex-A5, A7, A8, A9, A12, A15 and A17 MPCore. These are used in devices such as smartphones, tablet PCs, gaming consoles and routers.
R-profile (realtime profile). ARM Cortex-R cores are intended for robust realtime use and consist of Cortex-R4, R5 and R7. These are used in automotive systems, storage devices, medical instruments, digital TVs, blu-ray players and others.
M-profile (microcontroller profile). ARM Cortex-M cores are intended for microcontroller use and consist of Cortex-M0, M0+, M1, M3 and M4. These are used in automotives, gaming consoles, Bluetooth and ZigBee, touchscreen and power management.
ARMv7 architecture has the following features:
CPU modes. Except in M-profile, the 32-bit ARM architecture specifies several CPU modes, as listed below. At any moment in time, the CPU can be in only one mode, but it can switch modes due to interrupts, or programmatically.
User mode. Usual ARM program execution state
FIQ mode. Mode that is entered whenever the processor accepts an FIQ interrupt
IRQ mode. Mode that is entered whenever the processor accepts an IRQ interrupt
Supervisor mode. Mode that is entered whenever the CPU is reset or an SVC instruction is executed
Abort mode. Mode that is entered whenever a prefect abort or data abort exception occurs
Undefined mode. Mode that is entered whenever an undefined instruction exception occurs
System mode. Mode that is entered only by executing an instruction
Monitor mode. Mode introduced to support TrustZone extension