Řadič přerušení
Vedle procesorového jádra Cortex-M3 obsahuje také řadič přerušení NVIC.
NVIC (Nested vector interrupt controller), řadič s vektory přerušení a podporou vnořených přerušení, umí obsloužit až 240 externích přerušení a umožňuje nastavit až 256 úrovní priority přerušení. Počet externích přerušení a úrovní priorit je dán implementací konkrétního typu mikrokontroléru jeho výrobcem. Prioritu přerušení lze měnit dynamicky.
Součástí řadiče přerušení je také SysTick Timer, což je jednoduchý časovač, který generuje přerušení v nastavených intervalech. Časovač se hodí například pro generování hodinového pulsu operačního systému. Programátor nemusí na zajištění takové potřeby zabrat obvykle složitější čítač/časovač, ten zůstane k dispozici pro náročnější úkoly. To, že je SysTick Timer součástí procesoru, usnadňuje také portaci operačních systémů na různé mikrokontroléry s jádrem Cortex-M3. SysTick Timer je vždy k dispozici na stejném místě a se stejnými vlastnostmi.
Procesor Cortex-M3 má deterministickou odezvu na přerušení. Oblíbený předchůdce, procesor ARM7TDMI, má dobu reakce na přerušení proměnlivou, závislou například na počtu strojových cyklů, nutných k dokončení prováděné instrukce. U procesoru Cortex-M3 je doba reakce na přerušení fixní.
Procesor při vyvolání přerušení uloží na zásobník svůj stav, registry R0 až R3, R12, LR, PC a xPSR a při ukončení obsluhy přerušení je zase obnoví. Uložení a obnova registrů je prováděna hardwarově, nemusí ji provádět rutina obsluhy přerušení, reakční doba na přerušení je tím pádem kratší. Registry jsou na zásobník ukládány v souladu s ARM standardem pro volání procedur v jazyku C (C/C++ standard Procedure Call Standard for the ARM Architecture) a proto lze psát rutiny obsluhy přerušení jako normální funkce jazyka C bez použití assembleru.