캐시 메모리(Cache Memory)

이유석·2022년 1월 3일
0

속도가 느린 장치(주 기억장치, HDD) 와 속도가 빠른 장치(CPU, Web)에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리 입니다.

전체 시스템의 성능을 개선을 시킬 수 있는 메모리 이다.

  • CPU가 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 사져오면서 속도를 향상시킨다.

CPU에는 이러한 캐시 메모리가 2~3개 정도 사용된다.

  • 듀얼 코어 프로세서의 캐시 메모리
    -> 각 코어마다 독립된 L1 캐시 메모리를 가진다.
    -> 두 코어가 공유하는 L2 캐시 메모리가 내장된다.

  • 속도와 크기에 따라 분류
    -> L1 : CPU 내부에 존재
    -> L2 : CPU 와 RAM 사이에 존재
    -> L3 : 보통 메인보드에 존재

  • 디스크 캐시 : 주기억장치(RAM)와 보조기억장치(하드디스크)사이에 존재하는 캐시

캐시 메모리 성능

  • CPU에서 필요로 하는 데이터가 캐시 메모리에 있어서 참고할 수 있는지

  • Cache Hit
    - CPU에서 필요로 하는 데이터가 캐시 메모리에 있을 시

  • Cache Miss
    - CPU에서 필요로 하는 데이터가 캐시 메모리에 없을 시

    • 필요로 하는 데이터를 주 기억장치로부터 가져옴
  • Hit Ratio
    - CPU에서 필요로 하는 데이터가 캐시 메모리에 있을 확률

Cache Miss 경우 3가지

  1. Cold Miss
    해당 메모리 주소를 처음 불러서 나는 미스

  2. Conflict Miss
    캐시 메모리에 A와 B 데이터를 저장해야 하는데, A와 B가 같은 캐시 메모리 주소에 할당되어 있어서 나는 미스 (주소 할당 문제)

  3. Capacity Miss
    캐시 메모리의 공간이 부족해서 나는 미스 (공간 문제)

지역성 (Locality)

  • 프로세스들이 기억장치 내의 정보를 균일하게 접근하는 것이 아니라, 어느 순간에 특정 부분을 집중적으로 참조하는 것을 말한다.

  • 시간 지역성
    - 어떤 데이터가 참조되면, 곧바로 다시 참조될 가능성이 높음

  • 공간 지역성
    - 데이터가 참조되면, 주위의 데이터가 참조될 가능성이 높음

구조 및 작동 방식

  • Direct Mapped Cache
    주 기억장치의 여러 주소가 캐시 메모리의 한 주소에 대응되는 다대일 방식
    캐시 메모리 = 인덱스 필드 + 태그 필드 + 데이터 필드 로 구성된다.
    장점 : 간단하고 빠름
    단점 : Conflict Miss가 발생

  • Fully Associative Cache
    비어있는 캐시 메모리가 있을면, 마음대로 주소를 저장하는 방식
    장점 : 저장할 때는 매우 간단함
    단점 : 조건이나 규칙이 없어서 모든 블럭을 한번에 찾아 원하는 데이터를 찾아야함

  • Set Associative Cache
    Direct + Fully 방식
    특정 행을 지정하고, 그 행안의 어떤 열이든 비어있을 때 저장하는 방식
    장점 : Direct에 비해 저장이 빠르다. Fully에 비해 검색이 빠르다.
    단점 : Direct에 비해 검색이 느리다. Fully에 비해 저장이 느리다.

profile
https://github.com/yuseogi0218

0개의 댓글