컴퓨터구조

[컴퓨터구조] mfence (Memory Fence)

moonsk 2019. 5. 3. 23:11

mfence는 해당 명령어 이전에 위치한 모든 메모리 로드, 저장, 명령에 대해 직렬화 연산을 수행합니다.

 

프로세서는 out-of-order execution, Speculative execution과 같은 연산 고속화 기술에 의해 연산의 순서를 바꾸어 수행할 수 있는데, 이 때 mfence명령어를 통해 프로세서가 명령어의 순서를 지키도록 강제합니다.

 

요약하자면 x86, x86-64에서는 속도 향상을 위한 기술들 때문에 메모리 연산의 순서가 보장되지 않는데 이 순서를 보장하기 위한 명령어가 mfence입니다.

 

mfence 예시

 

반응형