속도가 느린 장치(주 기억장치, HDD) 와 속도가 빠른 장치(CPU, Web)에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리 입니다.
전체 시스템의 성능을 개선을 시킬 수 있는 메모리 이다.
CPU에는 이러한 캐시 메모리가 2~3개 정도 사용된다.
듀얼 코어 프로세서의 캐시 메모리
-> 각 코어마다 독립된 L1 캐시 메모리를 가진다.
-> 두 코어가 공유하는 L2 캐시 메모리가 내장된다.
속도와 크기에 따라 분류
-> L1 : CPU 내부에 존재
-> L2 : CPU 와 RAM 사이에 존재
-> L3 : 보통 메인보드에 존재
디스크 캐시 : 주기억장치(RAM)와 보조기억장치(하드디스크)사이에 존재하는 캐시
CPU에서 필요로 하는 데이터가 캐시 메모리에 있어서 참고할 수 있는지
Cache Hit
- CPU에서 필요로 하는 데이터가 캐시 메모리에 있을 시
Cache Miss
- CPU에서 필요로 하는 데이터가 캐시 메모리에 없을 시
Hit Ratio
- CPU에서 필요로 하는 데이터가 캐시 메모리에 있을 확률
Cold Miss
해당 메모리 주소를 처음 불러서 나는 미스
Conflict Miss
캐시 메모리에 A와 B 데이터를 저장해야 하는데, A와 B가 같은 캐시 메모리 주소에 할당되어 있어서 나는 미스 (주소 할당 문제)
Capacity Miss
캐시 메모리의 공간이 부족해서 나는 미스 (공간 문제)
프로세스들이 기억장치 내의 정보를 균일하게 접근하는 것이 아니라, 어느 순간에 특정 부분을 집중적으로 참조하는 것을 말한다.
시간 지역성
- 어떤 데이터가 참조되면, 곧바로 다시 참조될 가능성이 높음
공간 지역성
- 데이터가 참조되면, 주위의 데이터가 참조될 가능성이 높음
Direct Mapped Cache
주 기억장치의 여러 주소가 캐시 메모리의 한 주소에 대응되는 다대일 방식
캐시 메모리 = 인덱스 필드 + 태그 필드 + 데이터 필드 로 구성된다.
장점 : 간단하고 빠름
단점 : Conflict Miss가 발생
Fully Associative Cache
비어있는 캐시 메모리가 있을면, 마음대로 주소를 저장하는 방식
장점 : 저장할 때는 매우 간단함
단점 : 조건이나 규칙이 없어서 모든 블럭을 한번에 찾아 원하는 데이터를 찾아야함
Set Associative Cache
Direct + Fully 방식
특정 행을 지정하고, 그 행안의 어떤 열이든 비어있을 때 저장하는 방식
장점 : Direct에 비해 저장이 빠르다. Fully에 비해 검색이 빠르다.
단점 : Direct에 비해 검색이 느리다. Fully에 비해 저장이 느리다.