[ OS ] 캐시

이숭인·2021년 9월 2일
0

[ OS ] 운영체제

목록 보기
9/9

캐시

캐시 는 메인 메모리와 CPU 사이에 존재한다.

프로세서메인 메모리 간의 처리 속도 차이를 보완하기 위한 고속 버퍼와 같이 생각하면 된다.

  • 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다.
  • 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다.

언제 사용하면 좋지??

  • 접근 시간에 비히 원래 데이터를 접근하는 시간이 오래 걸리는 경우
  • 반복적으로 동일한 결과를 돌려주는 경우



캐시의 필요성

Long Tail

  • 20%의 요구가 시스템 리소스의 대부분을 사용한다는 법칙인 Long Tail 법칙.
  • 20%의 기능에 Cache를 이용함으로써 리소스 사용량은 대폭 줄이고, 성능은 대폭 향상시킬 수 있다.



캐시의 지역성

캐시에는 지역성 이라는 것이 존재한다.
지역성 이란 기억장치 내의 정보를 균일하게 Access하는 것이 아닌 어느 한 순간에 특정 부분을 집중적으로 참조 하는 특성이다.

  • 캐시 가 효율적으로 동작하려면, 캐시의 적중률(Hit -rate)극대화 시켜야 한다.

  • 지역성이란, 데이터 접근시간적 , 공간적 으로 가깝게 일어나는 것을 의미한다.

CPU 가 요청한 데이터가 캐시에 존재한다면 Cache HIT,
존재하지 않아 메인 메모리에서 가져오는 경우 Cache MISS




지역성의 종류

시간적 지역성

한번 참조된 데이터는 다시 참조될 확률이 높다.

특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은 것.
(메모리 상의 같은 주소에 여러 차례 읽기, 쓰기를 수행할 경우)


공간적 지역성

참조된 데이터 주변에 있는 데이터가 다음에 참조될 확률이 높다.

특정 데이터와 가까운 주소가 순서대로 접근되는 것
CPU 캐시나 디스크 캐시의 경우, 한 메모리 주소에 접근할 때 그 주소뿐만 아니라 해당 블록을 전부 캐시에 가져오게 된다.
(메모리 주소를 오름차순이나 내림차순으로 접근할 경우)

profile
iOS Developer

0개의 댓글