[ STUDY ]/CS

[ 운영체제 ] 캐시 메모리

김강니 2024. 11. 11. 21:31

1.6.1 캐시 메모리와 지역성

캐시 메모리

CPU와 메인 메모리(RAM) 간에 데이터 접근 시 속도 차이를 줄이기 위해 사용한다.

CPU에서 자주 사용하는 데이터를 캐시 메모리에 따로 저장해두면 CPU가 해당 데이터에 더욱 빠르게 접근할 수 있다.

 

💡 캐시 메모리에는 어떤 데이터를 저장할까❓❓

캐시 메모리에 저장할 데이터는 지역성을 바탕으로 결정한다.

 

📖 지역성

CPU가 자주 참조하는 데이터가 고르게 분포되지 않고 특정 부분에 몰려 있는 것

  • 시간 지역성 : 최근 참조한 내용을 다시 참조할 가능성이 높다.
  • 공간 지역성 : 실제 참조한 주소 근처의 내용을 참조할 가능성이 높다

 

1.6.2 캐시 메모리의 매핑 방식

캐시 메모리와 메인 메모리를 매핑하는 방식

  • 직접 매핑(direct mapping)
    메인 메모리를 일정한 크기로 나누고 각 영역을 캐시 메모리에 매핑
    나눠진 n개의 메모리 영역이 1개의 캐시 메모리에 매핑

  • 연관 매핑(associative mapping)
    규칙없이 매핑
    메인 메모리 영역을 캐시 메모리 영역에 적재할 때는 간단하지만, 캐시메모리에서 필요한 메모리 영역을 찾을 때 비효율적
  • 집합 연관 매핑(set associative mapping)
    직접 매핑과 연관 매핑을 결합해 단점을 보완