Exclusive monitor (LDREX/STREX)
ARM’ın atomik oku-değiştir-yaz için donanım mekanizması: bir yükleme adresi işaretler, depolama ise arada kimse ona dokunmadıysa başarılı olur.
LDREX bir değeri okur ve monitöre o adresi izlemesini söyler. Program yeni değeri hesaplar, STREX da geri yazmayı dener. Bu arada bir şey olduysa — başka bir çekirdek oraya yazdıysa ya da bir kesme araya girdiyse — depolama başarısız olur, STREX 1 döndürür ve kod yeniden denemek için başa döner. İlkenin adı load-linked/store-conditional’dır ve MIPS’te zaten vardı; ARM bunu ARMv6 ile benimsedi.
Cortex-M3 ve üstünde her istisna girişi monitörü temizler; böylece ana döngüdeki bir artırma, bir ISR’deki aynı artırmayla çakışamaz. Cortex-M0’da bu komutlar hiç yoktur; bu yüzden orada atomik işlemler, bir kritik bölüm içinde kesmeler maskelenerek yapılır.