Monitor wyłączny (LDREX/STREX)
Sprzętowy mechanizm ARM do atomowego odczytu-modyfikacji-zapisu: odczyt znakuje adres, a zapis się udaje tylko wtedy, gdy nikt w międzyczasie go nie ruszył.
LDREX czyta wartość i każe monitorowi obserwować ten adres. Program oblicza nową wartość, a STREX próbuje ją zapisać. Jeśli w międzyczasie coś się stało — inny rdzeń tam zapisał albo wtrąciło się przerwanie — zapis zawodzi, STREX zwraca 1, a kod zawraca i próbuje od nowa. Zasada nazywa się load-linked/store-conditional i istniała już w MIPS; ARM przejął ją wraz z ARMv6.
W Cortex-M3 i wyższych każde wejście w wyjątek czyści monitor, więc inkrementacja w pętli głównej nie zderzy się z tą samą inkrementacją w ISR. Cortex-M0 w ogóle nie ma tych instrukcji, dlatego operacje atomowe robi się tam przez maskowanie przerwań wewnątrz sekcji krytycznej.