Uma barreira à memória é uma instrução que a CPU executa ou é apenas um marcador?

Estou tentando entender exatamente o que é uma barreira de memória. Com base no que sei até agora, uma barreira de memória (por exemplo:mfence) é usado para impedir o reordenamento das instruções de antes para depois e de depois para antes da barreira da memória.

Este é um exemplo de barreira de memória em uso:

instruction 1
instruction 2
instruction 3
mfence
instruction 4
instruction 5
instruction 6

Agora minha pergunta é: é omfence instrução apenas um marcador informando a CPU em que ordem para executar as instruções? Ou é uma instrução que a CPU realmente executa como executa outras instruções (por exemplo:mov)

questionAnswers(4)

yourAnswerToTheQuestion