캐시 메모리

.·2023년 12월 29일

computer-architecture

목록 보기
10/10

CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 느리다


저장 장치 계층 구조

  1. CPU와 가까운 저장 장치는 빠르고, 멀리 있는 장치는 느리다.
  2. 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다.

Cache memory

  • CPU 와 메모리 사이에 위치한, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
  • CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생
  • 다시말해서, CPU가 매번 메모리에 왔다갔다하는건 시간이 오래 걸리니, 메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 쓰자

캐시 메모리는 (L1-L2-L3)로 계층적으로 구성

  • 일반적으로 L1 캐시와 L2 캐시는 코어 내부에, L3 캐시는 코어 외부에 위치
  • L1, L2, L3 는 차례대로 크기가 점점 커진다. 즉 L1 이 가장 작고, L3 가 상대적으로 가장 크다

참조 지역성의 원리

  • 캐시 메모리는 메모리보다 용량이 작다
  • 당연하게도 메모리의 모든 내용을 저장할 수 없다. 메모리의 일부만 저장이 가능하다.

캐시 메모리는 CPU가 자주 사용할 법한 내용을 예측하여 저장한다.

만약 예측이 들어맞을 경우 (CPU가 캐시 메모리에 저장된 값을 활용할 경우)
=> 이를 "캐시 히트" 라고 한다.

만약 예측이 틀렸을 경우 (CPU가 캐세메모리에 원하는 데이터가 없어 메모리에 접근해야하는 경우)
=> 이를 "캐시 미스" 라고 한다.

캐시 적중률

캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 회수)

캐시 적중률이 높으면 성능이 높다고 볼 수 있다.
즉 캐시 히트가 많으니 캐시보다 먼 메모리로 왔다갔다하는 수가 적어지고 더 빨리 내가 원하는 데이터에 접근할 수 있다.

즉 캐시메모리를 더 잘 활용하기 위해서는
캐시 적중률을 높여야한다. == CPU가 사용할 법한 데이터를 잘 예측해야한다.

참조 지역성의 원리란 : CPU가 사용할 법한 데이터를 예측하는 방법

CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어졌다.

  • CPU는 최근 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
  • CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.

(e.g. 최근 접근했던 메모리 공간에 다시 접근하려는 경향)
num 이 반복적으로 쓰여진다.

(e.g. 접근한 메모리 공간 근처를 접근하려는 경향 (공간 지역성))


Reference

profile
.

0개의 댓글