ARM Cortex-M4
# ARM Cortex-M4

ARM Cortex-M4 è il core con Architettura ARM, nato come evoluzione del core ARM Cortex-M3. Il core M4 offre prestazioni avanzate di controllo digitale e quindi ideale per applicazioni DSP con tutta la semplicità operativa tipica del core ARM Cortex-M.

Basso assorbimento, bassi costi ed alta efficienza lo porteranno ad essere un core usato nel controllo motori, nel settore automobilistico, nella gestione di potenza, nelle applicazioni audio e nell'automazione industriale.

## Caratteristiche ARM Cortex-M4

* Architettura:

    ARMv7E-M (Harvard)
* Supporto ISA:

    Thumb / Thumb-2
* Estensioni DSP:

    Single cycle 16,32-bit MAC
    Single cycle dual 16-bit MAC
    8,16-bit SIMD arithmetic
    Hardware Divide (2-12 Cycles)
* Unità Floating Point:

    Single precision floating point unit
    IEEE 754 compliant
* Pipeline:

    3-stage + branch speculation
* Dhrystone:

    1.25 DMIPS/MHz
* Protezione di Memoria:

    Optional 8 region MPU with sub regions and background region
* Interrupts:

    Non-maskable Interrupt (NMI) + 1 to 240 physical interrupts
* Latenza Interrupt:

    12 cycles
* Latenza Inter-Interrupt:

    6 cycles
* Livelli di priorità Interrupt:

    8 to 256 priority levels
* Controllo Wake-up Interrupt:

    Up to 240 Wake-up Interrupts
* Sleep Modes:

    Integrated WFI and WFE Instructions and Sleep On Exit capability.
    Sleep & Deep Sleep Signals.
    Optional Retention Mode with ARM Power Management Kit
* Bit Manipulation:

    Integrated Instructions & Bit Banding
* Debug:

    Optional JTAG & Serial-Wire Debug Ports. Up to 8 Breakpoints and 4 Watchpoints.
* Trace:

    Optional Instruction Trace (ETM), Data Trace (DWT), and Instrumentation Trace (ITM)

## ARM Cortex-M4: aziende licenziatarie

Il core M4 è in produzione con:

* Freescale: con il progetto Kinetis (che prevede al momento fino a 7 famiglie di microcontrollori e più di 200 dispositivi compatibili)
* NXP: ha annunciato di aver acquistato la licenza ARM Cortex-M4 ed è uscita con una famiglia dualcore asimmetrico M4+M0 chiamata LPC43xx (già sul loro sito)
* ST: ha prodotto le famiglia F3, F4, G4, L4 e L4+ di microcontrollori STM32
* TI: con la nuova famiglia LM4F che sarà anche qualificata Automotive (AEC-Q100)
* Silicon Labs

quindi il panorama di microcontrollori con il core Cortex-M4 è sensibilmente ampliato.

