캐시 메모리(Cache Memory)
- 주기억장치에서 자주 사용하는 프로그램과 데이터를 저장해두어 속도를 빠르게 하는 메모리
- 주기억장치와 CPU사이에 위치
- 속도가 빠른 장치와 느린 장치간의 속도 차에 따른 병목현상을 줄이기 위한 범용 메모리
- 캐시메모리를 사용하면 주 기억장치를 접근하는 횟수가 줄어들어 컴퓨터의 처리속도가 향상
CPU는 데이터를 가져오기 위해 캐시메모리 -> 메모리(RAM) -> 보조기억장치(HDD) 순으로 접근한다.
- Cache hit ✅ : 캐시 메모리의 데이터를 CPU 레지스터에 복사한다.
- Cache Miss ❎, Memory hit ✅ : 메모리에서 데이터를 캐시 메모리에 복사하고 캐시 메모리의 복제된 내용을 CPU 레지스터에 복사한다.
- Cache Miss ❎, Memory Miss ❎, HDD hit ✅ : 보조 기억장치에서 필요한 데이터를 메모리에 복사한다. 메모리에 복제된 내용을 캐시 메모리에 복제한다. 캐시 메모리의 복제된 데이터를 CPU 레지스터에 복제한다.
캐시(Cache)의 지역성(Locality)
캐시가 효율적으로 동작하려면, 캐시의 적중율(Hit-rate)를 극대화 시켜야 한다.
지역성이란 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것, 즉 어느 한 순간에 특정 부분을 집중적으로 참조하는 특성을 의미한다.
지역성(Locality)의 종류
시간적 지역성
- 예시 : 조건문
- 특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은 것
- 메모리 상의 같은 주소에 여러 차례 읽기 쓰기를 수행할 경우, 상대적으로 작은 크기의 캐시를 사용해도 효율성을 꾀할 수 있다.
공간적 지역성
- 예시 : 배열
- 특정 데이터와 가까운 주소가 순서대로 접근되었을 경우 CPU 캐시나 디스크 캐시의 경우 한 메모리 주소에 접근할 때 그 주소뿐 아니라 해당 블록을 전부 캐시에 가져오게 된다.
- 이때 메모리 주소를 오름차순이나 내림차순으로 접근한다면, 캐시에 이미 저장된 같은 블록의 데이터를 접근하게 되므로 캐시의 효율성이 크게 향상된다.
캐시 메모리의 매핑 프로세스(Mapping Process)
매핑 프로세스는 주기억장치로부터 캐시 메모리로 데이터를 전송하는 방법이다.
- 직접 매핑(direct Mapping)
- 메인 메모리를 일정한 크기의 블록으로 나누어 각각의 블록을 캐시의 정해진 위치에 매핑하는 방식
- 간단하고 구현하는 비용이 적게드는 장점이 있지만 적중률이 낮아질 수 있다는 단점이 있다.
- 어소시에이티브 매핑(Associative Mapping)
- 캐시 메모리의 빈 공간에 마음대로 주소를 저장하는 방식.
- 저장하는 것은 간단하지만, 원하는 데이터가 있는지 찾기 위해서는 모든 블록을 병렬적으로 검사해야 하기 때문에 복잡하고 비용이 높은 단점이 있다.
- 세트-어소시에이티브 매핑(Set-Associative Mapping)
- 직접 매핑과 연관 매핑의 장점만을 취한 방식.
- 빈 공간에 마음대로 주소를 저장하되, 미리 정해둔 특정 행에만 저장하는 방식
- 가장 많이 사용되는 방식이다.
캐시 미스(Cache miss)
캐시 미스(Cache Miss)는 CPU가 참조하려는 데이터가 캐시 메모리에 없을 때 발생한다.
- Compulsory Miss : 특정 데이터에 처음 접근할 때 발생하는 cache miss
- Capacity Miss : 캐시 메모리의 공간이 부족해서 발생하는 cache miss
- Conflict Miss : 캐시 메모리에 A와 B 데이터를 저장해야 하는데, A와 B가 같은 캐시 메모리 주소에 할당되어 있어서 발생하는 cache miss다. direct mapped cache에서 많이 발생한다.
출처
'Computer Science > 운영체제' 카테고리의 다른 글
쓰레드 세이프(Tread Safe) (0) | 2023.03.19 |
---|---|
Sync vs Async & Block vs Non-Block (0) | 2023.03.19 |
가상 메모리(Virtual Memory) (0) | 2023.03.18 |
교착상태와 기아상태 (1) | 2023.03.18 |
운영체제란 (0) | 2023.03.17 |