Материал предоставлен http://blog.lakhtin.com

Буфер записи DCode и System шины

Для предотвращения циклов ожидания на шинах и простаивания процессора в процессе сохранения данных, процессоры Cortex-M3 используют одновходовой буфер записи на шинах DCode и System.

Если буфер записи заполнен, последующие запросы на шине притормаживаются до тех пор, пока буфер не будет очищен. Буфер записи используется только тогда, когда шина ожидает фазу передачи данных буферезированного сохранения, во всех остальных случаях транзакция на шине немедленно завершается.

DMB и DSB инструкции ожидают очистку буфера записи перед завершением. Если во время ожидания очистки буфера во время выполнения инструкций DMB или DSB произошло прерывание, процессор вернёт управление на инструкцию непосредственно следующую после DMB/DSB после обработки прервания.

Произойдёт это оттого, что процесс обработки прерывания работает как операция барьера в памяти.

Режимы работыРегистры процессора