CS 공부

2021-09-08 CS 공부 2일차

콘요맘떼 2021. 9. 8. 11:20

컴퓨터구조 (Computer Architecture)

 

3. 캐시 메모리

- 속도가 빠른 장치와 느린 장치 사이 병목 현상을 줄이기 위한 메모리

  ex) CPU-메인메모리 사이 병목현상 (CPU 클럭 속도 상승으로 인해 둘 간의 속도 차이 커짐)

  ex) 웹브라우저에서 캐시 파일은 HDD-웹페이지 사이 병목현상 완화

- CPU가 메인메모리에 저장된 데이터 읽어올 때 자주 사용되는 데이터를 캐시 메모리에 저장하여 사용하면 속도 향상됨

- 속도는 빠르지만 용량 작고 비쌈

- 일반적으로 캐시 메모리는 2~3개 사용 (L1, L2, L3 캐시라고 부르며 왼쪽일수록 용량이 작고 빠르다. 이전 캐시에서 못 찾으면 다음 캐시에 접근하는 방식)

- 캐시메모리는 CPU 내부(L1), CPU-RAM 사이(L2), 메인보드(L3), 주기억장치-보조기억장치 사이(디스크 캐시) 등에 위치함

- 메모리 계층 구조에서 가장 빠른 소자

 

메모리 계층 구조(Memory hierarchy)

: 필요에 따라 메모리를 여러가지 종류로 나누어 두는 것을 의미, 여기서 필요는 대부분 CPU가 메모리에 빠르게 접근하기 위함

 

※ 듀얼 코어 프로세서에서 각 코어는 독립된 L1 캐시를 가지고 L2 캐시를 공유함

 

(1) 캐시 메모리의 작동 원리 - 데이터 지역성 (Locality)

  • 시간 지역성 (Temporal Locality) : 한 번 참조된 데이터는 다시 호출될 가능성이 높음 (ex. 반복문의 조건 변수)
  • 공간 지역성 (Spatial Locality) : 참조된 데이터의 근처 데이터는 잠시 후 사용될 가능성이 높음 (ex. 배열)

=> 따라서 데이터를 호출할 때 해당 데이터(시간 지역성)와 그 주변 데이터도(공간 지역성) 미리 같이 가져온다.

 

※ 캐시 히트 : CPU가 요청한 데이터가 캐시에 있는 경우 / 캐시 미스 : CPU에 없어서 메모리에서 가져와야 되는 경우

 

(2) 캐시 미스의 유형

  • Cold Miss : 해당 메모리 주소를 처음 호출해서 발생하는 미스
  • Conflict Miss : 캐시 메모리에 저장되어야 하는 A와 B가 같은 캐시 메모리 주소에 할당될 때 발생하는 미스 (direct mapped cache에서 주로 발생)
  • Capacity Miss : 캐시의 용량이 부족해서 발생하는 미스

 

(3) 구조 및 작동 방법

  • Direct Mapped Cache

- DRAM의 여러 주소가 캐시 메모리의 한 주소에 할당되는 방식

- 캐시 메모리는 <인덱스 필드 + 태그 필드 + 데이터 필드>로 구성

- 간단하고 빠르지만 Conflict Miss 발생