Аппаратный семафор
Регистр периферии, работающий как замок между процессорными ядрами, которым больше нечем договориться.
Если разместить на одном кристалле Cortex-M7 и Cortex-M4 или прикладное ядро рядом с микроконтроллерным, общего механизма атомарных операций часто нет. Эксклюзивный монитор каждого ядра видит только его собственные обращения, а между ними ещё могут стоять кэши. Решение — блок регистров блокировки на общей шине: чтение или запись с идентификатором ядра захватывает замок, если он свободен, а железо гарантирует ровно одного победителя.
ST называет этот блок HSEM в STM32H7 и STM32MP1; Texas Instruments встроила аналогичные модули spinlock в свои OMAP, а в Linux для них есть фреймворк hwspinlock. Освобождение часто может вызывать прерывание на другом ядре, и семафор становится половиной слоя обмена сообщениями в системах AMP.