SyntaxHighlighter.all();

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

 

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

 

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

 

mfence 예시

 

반응형

'컴퓨터구조' 카테고리의 다른 글

[컴퓨터구조] clflush instruction  (0) 2019.05.03
[컴퓨터구조] Stride Prediction (보폭 예측)  (0) 2019.05.01

+ Recent posts