IT-lexikon › Hårdvara › Exklusiv monitor (LDREX/STREX)

Exklusiv monitor (LDREX/STREX)

Hårdvara In English → Uppdaterad: 2026-11-04

ARM:s hårdvarumekanism för atomära läs-modifiera-skriv-operationer: en läsning markerar en adress, och skrivningen lyckas bara om ingen annan rört den emellan.

Instruktionen LDREX läser ett värde och säger åt monitorn att hålla koll på adressen. Programmet räknar fram ett nytt värde, och STREX försöker skriva tillbaka det. Har något hänt under tiden — en annan kärna skrev, eller ett avbrott kom emellan — misslyckas skrivningen, STREX returnerar 1 och koden får försöka igen. Principen kallas load-linked/store-conditional och fanns redan i MIPS; ARM fick den med ARMv6.

På Cortex-M3 och uppåt rensar varje avbrottsinträde monitorn, så en uppräkning i huvudloopen kan inte krocka med samma uppräkning i en ISR. Cortex-M0 saknar instruktionerna helt, vilket är skälet till att atomära operationer där görs genom att stänga av avbrotten i en kritisk sektion.

← Tillbaka till lexikonet