728x90

💡 캐시 메모리 💡

🔍 Cache Memory?

메인 메모리와 CPU간의 데이터 속도 향상을 위한 중간 버퍼 역할을하는 메모리
캐시는 블록(Block)으로 구성. 각각의 블록은 데이터를 담고 있다.

🔍 Cache 특징

  • 장점
  • 주소값을 키로써 접근하기 때문에 메모리 계층 구조에서 가장 빠른 소자. 처리속도가 거의 CPU의 속도와 비슷할 정도의 속도
  • 주 기억 장치를 접근하는 횟수가 줄어들어 컴퓨터의 처리속도가 향상
  • 단점
  • 용량이 적음
  • 상대적으로 가격이 비쌈
  • 지워질 수 있으며 영구적인 메모리가 아니다.
따라서 캐시는 빈도수가 높은 것들 위주로 데이터량이 많지 않은 것이 좋다.

🔍 Cache 종류

Cache memory에는 L1, L2, L3가 있다.   
L은 level의 약자로 L1 -> L2 -> L3 -> 순으로 데이터를 찾는다.

1. L1
CPU 내부에 존재. 프로세서와 가장가까운 캐시
2. L2
CPU와 RAM 사이에 존재. 용량이 큰 캐시
3. L3
보통 메인보드에 존재. 멀티 코어 시스템에서 여러 코어가 공유하는 캐시.

🔍 작동 원리

CPU가 메모리에 접근하기 전 먼저 캐시 메모리에서 원하는 데이터의 존재 여부 확인
이때 필요한 데이터가 있는 경우 hit, 없는 경우를 miss

  • 공간적 지역성: 한 번 참조한 메모리의 옆에 있는 메모리를 다시 참조하게 되는 성질
  • 시간적 지역성: 한 번 참조된 주소의 내용은 곧 다음에 다시 참조된다는 특성

🔍 캐시 미스

1. Compulsory miss (= cold miss) 강제 미스
데이터에 접근시 캐시에 메모리를 올리기 위해 발생하는 캐시 미스.

2. Conflict miss
Cache에서 set의 way가 부족하여 발생하는 miss.
Direct map이나 Set associative 방식에서 같은 부분을 번갈아 가면서 사용하게 되어 발생하는 miss.

3. Capacity miss
캐시의 용량이 부족하여 발생하는 miss.
프로그램 수행 시 접근하는 데이터의 양이 캐시의 사이즈를 넘어갈 경우 miss.

728x90

'Computer Science > Computer Architecture' 카테고리의 다른 글

6. 파이프라이닝  (0) 2023.06.27
5. 패리티비트 & 해밍코드  (0) 2021.08.02
4. 고정소수점 & 부동소수점  (0) 2021.08.02
2. CPU  (0) 2021.07.18
1. Structure  (0) 2021.07.14

+ Recent posts