Machineboy空
메모리 ③ 캐시 메모리, 참조 지역성(Locality of Reference)의 원리 본문
전제 조건 1) CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 느리다.
전제 조건 2) CPU로 부터 먼 저장 장치일 수록 느리고, 속도가 빠른 저장 장치는 저장 용량이 작고 가격이 비싸다
저장 장치 계층 구조 (레지스터 vs 메모리(RAM) vs USB 메모리)
CPU에 가까울수록 빠르고 비싸다(16GB 메모리 > 16GB USB)
즉, 낮은 가격대의 대용량 저장 장치를 원한다면 느린 속도는 감수해야 하고,
빠른 속도의 저장 장치를 원한다면 작은 용량과 비싼 가격은 감수해야 한다.
캐시 메모리 (Cashe Memory)
- CPU와 메모리 사이에 위치한, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM(Static RAM)기반의 장치.
- CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생
CPU가 매번 메모리에 왔다 갔다 하는 건 시간이 오래 걸리니
메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 쓰자!
계층적 캐시 메모리 (hierarchical cache)
현대 CPU 설계에서 가장 일반적.
- L1: 코어 내부에 위치
- 용량 : 레지스터 < L1 < L2
- L2: 코어 내부에 위치
- 용량: L1 < L2 < L3
-
- 용량: L2 < L3 < 메모리L3: 코어 외부에 위치
참조 지역성의 원리 (Locality of Reference)
- 캐시 메모리는 메모리보다 용량이 작다.
- 당연하게도 메모리의 모든 내용을 저장할 수 없다.
캐시메모리는 메모리에 있는 내용 중 일부 내용만을 저장할 수 밖에 없는데 어떤 것을 저장해야 할까?
➝ CPU가 자주 사용할 법한 내용을 예측해서 저장해야 함!
* 캐시 히트 (Cache Hit) : 예측이 들어 맞은 경우! CPU가 캐시 메모리에 저장된 값을 활용한 경우
* 캐시 미스 (Cache Miss) : 예측이 들어 맞은 경우! CPU가 메모리에 접근해야 하는 경우
* 캐시 적중률 (Cache Hit Rate)
- 캐시 히트 횟수 / 캐시 히트 횟수 + 캐시 미스 횟수
요즘 CPU의 캐시 적중률은 적어도 80 % 넘기는 경우가 많음
➝ 캐시 적중률을 높여야 한다 = CPU가 사용할 법한 데이터를 예측하는 방법 = 참조 지역성의 원리
* 참조 지역성의 원리 (Locality of Reference)
CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리.
- 경향 1: CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
- 경향 2: CPU는 접근한 메모리 공간 근처를 접근하는 경향이 있다. (공간 지역성)
캐시 메모리는 참조 지역성을 바탕으로 CPU가 사용할 법한 메모리를 가져와서 저장을 한다!
'Computer > CS' 카테고리의 다른 글
보조기억장치 ② RAID Level (1) | 2024.01.09 |
---|---|
보조기억장치 ① 하드디스크와 플래시 메모리, Garbage Collection (2) | 2024.01.09 |
메모리 ② 메모리의 주소 공간 - 논리 주소, 물리 주소 (2) | 2024.01.08 |
메모리 ① RAM의 특징과 종류 - DRAM 과 SRAM (1) | 2024.01.08 |
CPU 성능 향상 ③ 명령어 집합 구조, CISC와 RISC (1) | 2024.01.06 |