Semaforo hardware
Un registro di periferica che funge da lock tra core che non hanno nessun altro modo per mettersi d'accordo.
Se si mettono un Cortex-M7 e un Cortex-M4 sullo stesso die, o un core applicativo accanto a un core da microcontrollore, spesso manca un meccanismo condiviso per le operazioni atomiche. L'exclusive monitor di ciascun core vede solo i propri accessi, e nel mezzo possono esserci le cache. La soluzione è un blocco di registri di lock sul bus condiviso: una lettura o scrittura con l'ID del core acquisisce il lock se è libero, e l'hardware garantisce un solo vincitore.
ST chiama il blocco HSEM su STM32H7 e STM32MP1; Texas Instruments ha integrato moduli spinlock equivalenti nei suoi OMAP, e Linux dispone del framework hwspinlock per gestirli. Il rilascio può spesso generare un interrupt sull'altro core, e il semaforo diventa così metà del livello di messaggistica nelle configurazioni AMP.