CS/컴퓨터 구조

4장 : 기억장치 - (5) 캐시 메모리

infobox503 2024. 12. 13. 09:59

<요약>

  • 캐시 메모리
    • 캐시 적중
    • 지역성
      • 시간적 지역성
      • 공간적 지역성
      • 순차적 지여성

1. 캐시 메모리

  • 의미
    • CPU ↔ 기억장치 사이의 속도 차이 완화
    • 임시 저장 장치
  • 과정
    • CPU ↔ 캐시 메모리 ↔ 주기억장치
  • 특징
    • 주기억장치 조회 시, 해당 내용이 캐시 메모리에 적재
    • 캐시 메모리에 데이터가 있다면 주기억장치 조회X
    • 캐시 메모리는 SRAM 사용(액세스 속도 빠름)

2. 캐시 적중

  • 의미
    • CPU가 원하는 데이터가 캐시 메모리에 있음
  • 캐시 적중률(H)
    • 캐시 적중되는 정도
  • 캐시 미스
    • 캐시 적중 반대
    • 캐시 메모리에 원하는 데이터X
  • 캐시 미스율(1-H)
  • 예시

 

3. 지역성

  • 의미
    • 특정 위치의 데이터에 집중적으로 액세스하는 현상
  • 응용
    • 캐시 적중률은 지역성에 의존한다
  • 종류
    • 시간적 지연성
      • 최근에 액세스된 데이터가 다시 액세스 될 것이다
    • 공간적 지연성
      • 액세스된 데이터 주변에 있는 데이터들이 액세스 될 것이다
    • 순차적 지연성
      • 액세스된 데이터앞에 순서대로 데이터들이 액세스 될 것이다

4. 캐시 설계 목표

  • 주기억장치, 캐시의 데이터 동일하게 유지 및 그에 따른 오버헤드 최소화
    • 주기억장치 a=5
    • 캐시 a=15
    • ⇒ 이렇게 되면 X
  • 캐시 적중률 극대화
  • 캐시 액세스 시간 최소화
  • 캐시 미스에 따른 지연 시간 최소화

5. 캐시 설계

  • 요소
    • 캐시 용량
    • 인출 방식
      • 요구 인출
        • 캐시 미스 발생 시, CPU가 필요한 정보만 캐시로 가져옴(주기억장치로부터)
      • 선인출
        • CPU가 필요로하는 정보 + 필요할 것으로 예측되는 정보도 캐시로 가져옴
        • 블록 단위로 가져옴
    • 사상 방식
    • 교체 알고리즘
    • 쓰기 정책
    • 다중 캐시

6. 캐시와 블록

  • 블록
    • 블록 크기 = 캐시의 라인 크기
      • 라인 : 캐시에서 각 블록이 저장되는 장소(번지?)
      • 태그 : 캐시 라인을 구분하는 존재
  • 특징
    • 캐시의 라인 수 < 기억장치 블록 수(기억장치가 수천배 큼)
  • 예시
    • 블록은 4개 번지 합쳤다고 하자
    • 캐시 0라인 = 기억장치 0~3번지 넣기 가능