본문 바로가기
CS/[혼자 공부하는 컴퓨터구조 + 운영체제]

[컴퓨터구조] 6-3. 캐시 메모리

by haeyoon 2024. 5. 9.

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

(CPU가 메모리에 접근하는 속도 < 레지스터에 접근하는 속도)

따라서 연산 속도가 빠르더라도 메모리에 접근하는 시간이 느리면 CPU의 성능은 낮아진다.

이때 필요한 것이 '캐시 메모리'이다.

 

캐시 메모리의 탄생 배경과 특징을 이해하기 위해서는 '저장장치 계층구조'라는 개념을 이해해야 한다.

캐시메모리의 탄생 배경과 특징, 작동원리에 대해 알아보자.

 


1. 저장 장치 계층 구조

저장장치 특징

① CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.

② 속도가 빠른 저장장치는 저장용량이 작고, 가격이 비싸다.

"빠른 저장장치"와 "용량 큰 저장장치"는 양립하기 어렵다

 

* CPU 내의 레지스터 VS 메모리(RAM) VS USB 메모리

  CPU 내의 레지스터 메모리(RAM) USB 메모리
가격 높다 중간 낮다
속도 빠르다 중간 느리다
용량 작다 중간 크다

 

저장 장치 계층 구조

컴퓨터가 사용하는 저장 장치들은 'CPU에 얼마나 가까운가'를 기준으로 계층적으로 나타낼 수 있다.

 


2. 캐시메모리

CPU 연산속도와 메모리 접근 속도의 차이를 줄여주기 위해 캐시 메모리 등장

 

캐시 메모리 (cache memory)

CPU메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM기반의 저장장치

https://haeyoon12.tistory.com/29

 

캐시메모리에 CPU가 필요로 하는 데이터가 있으면 필요한 데이터로의 접근시간을 줄일 수 있다.

* 캐시 메모리 종류

CPU와 가까운 순서대로 L1캐시, L2캐시, L3캐시

멀티코어 프로세스의 캐시메모리

  • 일반적으로 L1&L2캐시는 코어 안에, L3는 밖에 위치한다.
  • L3 캐시는 여러 코어가 공유하는 형태로 사용된다
  L1 캐시 L2 캐시 L3 캐시
용량 크다 중간 작다
속도 느리다 중간 빠르다
가격 낮다 중간 높다
데이터 접근 순서 1 2 3

 

저장 장치 계층 구조 (+캐시 메모리)


3. 참조 지역성 원리

+ 메모리와 보조기억장치

메모리가 보조기억장치의 일부를 복사하여 저장한다

  • 보조기억장치는 전원이 꺼져도 기억할 대상을 저장
  • 메모리는 실행중인 대상을 저장

 

캐시메모리는 메모리보다 용량이 작기 때문에 메모리에 있는 모든 내용을 저장할 수 없다.

그렇다면 캐시메모리는 무엇을 저장해야 할까?

 

* 캐시메모리는 CPU가 사용할 법한 대상을 예측하고 저장한다.

캐시 히트 ❘ 캐시 미스

  • 예측이 맞을 경우 = 캐시 히트
  • 예측이 틀릴 경우 = 캐시 미스

* 캐시 적중률

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

 

참조 지역성의 원리

캐시메모리가 메모리로부터 가져올 데이터를 예측해 결정하는 방법

 

ⓛ CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다. (시간 지역성)

프로그래밍 언어 배울때 변수에 값 저장 하고 나면 언제든 접근해 값 사용할 수 있다

= CPU는 변수가 저장된 메모리 공간을 언제든 다시 참조할 수 있다

 

② CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다. (공간 지역성)

CPU가 실행하려는 프로그램은 보통 관련 데이터들끼리 한데 모여있다.

= 특정 프로그램을 실행할때는 해당 프로그램이 모여있는 공간 근처를 집중적으로 접근한다.