kkbp1021 / OS-Study

운영체제 스터디입니다
1 stars 0 forks source link

Cache는 일관성을 유지하게 어떤 방법을 사용하는가? #7

Open kkbp1021 opened 3 months ago

kkbp1021 commented 3 months ago

물리장치? 소프트웨어적? 몰루?

lcheun commented 3 months ago

https://www.crocus.co.kr/1381

MINJU-KIMmm commented 3 months ago

https://fish9903.tistory.com/entry/%EB%A9%80%ED%8B%B0%EC%BD%94%EC%96%B4%EC%97%90%EC%84%9C%EC%9D%98-%EC%BA%90%EC%8B%9C-%EC%9D%BC%EA%B4%80%EC%84%B1cache-coherence

kkbp1021 commented 3 months ago

디렉토리 프로토콜, 스누핑 프로토콜

hoya54 commented 3 months ago
  1. 스누핑 프로토콜

    • 캐시가 사용하는 버스를 감시
    • 하나의 캐시에서 갱신이 발생하면 그 사실을 다른 캐시들로 브로드캐스트 하여 해당 데이터를 무효화
    • ex) MESI 프로토콜 - Modified(수정된 상태)
      • Exclusive(메모리 데이터와 동일한 상태)
      • Shared(2개 이상의 프로세서 캐시에 적재된 상태)
      • Invalid(무효화된 상태)
    • 빠르지만 프로세서가 많아지면 제한된 버스 폭에서 데이터가 많아져서 느려짐
  2. 디렉토리 기반 프로토콜

    • 메모리에 각 캐시의 상태를 중앙 디렉토리로 저장하여 관리
    • 중앙에서 관리되므로 브로드캐스트 없이 특정 캐시에만 작업 요청
    • 대규모 시스템에서 유리하지만 중앙 디렉토리에 대한 병목현상과 오버헤드 발생