Инструкции по переупорядочению процессора x86?
аюсь понять, что именно является барьером памяти. На основании того, что я знаю до сих пор, барьер памяти (например:mfence
) используется для предотвращения переупорядочения инструкций с до до и после и после до перед барьером памяти.
Это пример использования барьера памяти:
instruction 1
instruction 2
instruction 3
mfence
instruction 4
instruction 5
instruction 6
Теперь мой вопрос:mfence
инструкция просто маркер, указывающий процессору в каком порядке выполнять инструкции? Или это инструкция о том, что ЦП фактически выполняет так же, как выполняет другие инструкции (например:mov
).