title: ARM Cortex-M4
text: # 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.
  
  