| |||
| Home > Programmers Model > Write buffer | |||
To prevent bus wait cycles from stalling the processor during data stores, buffered stores to the DCode and System buses go through a one-entry write buffer. If the write buffer is full, subsequent accesses to the bus stall until the write buffer has drained. The write buffer is only used if the bus waits the data phase of the buffered store, otherwise the transaction completes on the bus.
DMB and DSB instructions wait for
the write buffer to drain before completing. If an interrupt comes
in while DMB or DSB is waiting for the
write buffer to drain, the processor returns to the instruction
following the DMB or DSB after the interrupt
completes. This is because interrupt processing acts as a memory
barrier operation.