Memory Fence Instructionmf
Instruction Type M
Format
(qp) mf ordering_form
(qp) mf.a acceptance_form
Description
This instruction forces ordering between prior and subsequent memory accesses. The ordering_form ensures all prior data memory accesses are made visible prior to any subsequent data memory accesses being made visible. It does not ensure prior data memory references have been accepted by the external platform, nor that prior data memory references are visible.
The acceptance_form prevents any subsequent data memory accesses by the processor from initiating transactions to the external platform until:
all prior loads to sequential pages have returned data, and
all prior stores to sequential pages have been accepted by the external platform.
The definition of “acceptance” is platform dependent. The acceptance_form is typically used to ensure the processor has “waited” until a memory-mapped IO transaction has been “accepted”, before initiating additional external transactions. The acceptance_form does not ensure ordering, or acceptance to memory areas other than sequential pages.