Leksykon IT › Sprzęt › NMI (przerwanie niemaskowalne)

NMI (przerwanie niemaskowalne)

Sprzęt Svenska → Zaktualizowano: 2026-11-03

Przerwanie, którego procesor nie może wyłączyć: przechodzi nawet wtedy, gdy wszystkie inne przerwania są zablokowane.

Zwykłe przerwania można maskować: kod wyłącza je na czas sekcji krytycznej i przyjmuje potem. NMI nie ma takiego przełącznika. Dzięki temu służy do zdarzeń ważniejszych niż cokolwiek, co program akurat robi: błędu parzystości pamięci, zadziałania watchdoga, zasilacza na skraju załamania.

Pomysł jest stary. 6502 miał dedykowany pin NMI, którego NES używał do budzenia gry przy każdym wygaszaniu pionowym. W x86 wczesne PC zgłaszały przezeń błędy pamięci, a Linux wciąż używa go w „NMI watchdogu", który wyłapuje zawieszony rdzeń. W Cortex-M NMI to wyjątek numer 2 o stałym priorytecie −2; wyżej stoi tylko reset.

Haczyk w tym, że handler NMI może wylądować w środku czegokolwiek, także w kodzie, który uważał się za chroniony. Musi więc być krótki i nigdy nie wolno mu brać blokady.

← Wróć do leksykonu