개요
MESI 프로토콜은 캐시의 일관성을 유지하기 위해서 별도의 플래그(flag)를 할당한 후 플래그의 상태를 통해 데이터의 유효성 여부를 판단하는 프로토콜이다. 멀티프로세서 시스템에서 캐시 메모리의 일관성을 유지하기 위해 메모리가 가질 수 있는 4가지 상태를 정의한다.
- Modified(수정) 상태 : 데이터가 수정된 상태
- Exclusive(배타) 상태 : 유일한 복사본이며, 주기억장치의 내용과 동일한 상태
- Shared(공유) 상태 : 데이터가 두 개 이상의 프로세서 캐시에 적재되어 있는 상태
- Invalid(무효) 상태 : 데이터가 다른 프로세스에 의해 수정되어 무효화된 상태
이 상태에 따라서, 메모리 Access에 대해서 캐시 일관성을 유지하기 위한 정책이 달라지게 된다.