CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 현저하게 느리다. 이것을 어떻게 해결할 수 있을까?

CPU 메모리 접근

 

저장 장치 계층 구조

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

 

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

저장 장치 계층 구조

 

캐시 메모리

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

캐시 메모리는 편의점에 비유할 수 있다

 

캐시 메모리를 사용하는 경우

 

계층적 캐시 메모리(L1-L2-L3 캐시)

계층적 캐시 메모리

 

 

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

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

 

코어마다 따로 캐시를 가질 수 있고, 공유하는 캐시 메모리를 갖는다.

 

 

분리형 캐시

분리형 캐시

 

조금 더 속도를 빠르게 하기 위해 L1 캐시를 분리한 캐시이다. ex) L1D -> 데이터만 저장, L1l -> 명령어만 저장

 

 

 

참조 지역성의 원리

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

그렇다면 무엇을 저장해야 할까? 

 

CPU가 자주 사용할 법한 내용을 예측하여 저장한다.

 

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

예측이 틀렸을 경우 (CPU가 메모리에 접근해야 하는 경우) = 캐시 미스 라고 한다.

 

 

캐시 적중률 

캐시 적중률

캐시 적중률이 높아야 한다. 

 

참조 지역성의 원리는 CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리이다. 

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

 

공간 지역성 예시

 

 

'컴퓨터구조와 운영체제' 카테고리의 다른 글

RAID 정의와 종류  (0) 2024.08.08
보조기억장치  (0) 2024.07.20
메모리의 주소 공간  (0) 2024.07.07
RAM의 특성과 종류  (1) 2024.07.03
명령어 집합 구조  (0) 2024.07.02

+ Recent posts