개발조아

캐시 메모리 본문

CS/OS

캐시 메모리

개발조아 2021. 10. 18. 21:37
728x90
  • 고속의 CPU와 상대적으로 저속인 주기억장치(메인메모리) 사이의 속도 개선을 위한 기억장치
  • CPU가 사용했던 데이터를 임시로 저장한다
  • 이미 사용했던 데이터에 대해 재접근시 메모리 참조, 인출 과정에서의 비용을 줄인다
  • CPU 기억장치의 상호작용
    • CPU에서 주소 전달 -> 캐시에서 명령이 존재하는지 확인
    • Hit (존재)
      • CPU로 명령 전달
    • Miss (존재하지않음)
      • 명령어를 주기억장치에서 찾아 데이터 인출 -> 캐시에 해당 데이터 저장 -> CPU에 명령 전달
  • 캐시의 지역성
    • 캐시의 적중률(Hit rate)를 극대화 시키기 위해 지역성의 원리를 사용
    • 지역성
      • 기억장치의 모든 정보를 균일하게 접근하는게 아니라 한순간 특정 부분만을 집중적으로 참조하는 특성
    • 시간 지역성
      • 최근 참조한 부분은 다시 참조되는 특성
    • 공간 지역성
      • 실제로 참조한 부분과 인접한 부분까지 다시 참조되는 특성
  • 캐싱 라인(Caching Line)
    • 자주 참조하는 데이터를 캐시에 저장했다고 해도, 매번 캐시의 데이터를 모두 순회하는 것은 낭비
    • 즉, 필요할 때 바로 참조할 수 있어야 캐시 활용이 유의미해진다.
    • 따라서 캐시에 데이터를 저장할 때, 자료구조를 활용해 묶어서 저장하는것을 캐싱 라인이라고 한다.
    • 데이터와 데이터의 메모리 주소를 함께 저장하여 빠르게 정보를 찾을 수 있다

'CS > OS' 카테고리의 다른 글

페이지 교체 전략  (0) 2021.10.18
메모리 관리  (0) 2021.10.18
프로세스 스케줄링  (0) 2021.10.18
교착상태(DeadLock)  (0) 2021.10.18
프로세스 동기화  (0) 2021.10.18
Comments