-
캐시 설계 시 고려할 사항
-
매핑 프로세스
주기억 장치로부터 캐시 메모리로 데이터를 전송하는 방법을 말하며 직접 매핑, 연관 매핑, 집합 연관 매핑의 3가지가 있음
-
교체 알고리즘
- 캐시 메모리가 가득 차 있는 상태에서 CPU가 캐시 메모리에 접근하여 실패했을 때, 캐시 메모리의 일부를 비우고 주기억 장치로부터 새로운 데이터를 적재해야 함
- 캐시 메모리를 비우는 방식이 교체 알고리즘인데, 직접 매핑에서는 주기억 장치의 데이터가 캐시 메모리와 같은 주소에 저장되므로 교체 알고리즘을 사용할 필요가 없음
교체 알고리즘 |
내용 |
최소 최근 사용 (LRU; Least Recently Used) |
- 캐시 메모리 내에서 사용되지 않은 채로 가장 오래된 블록을 교체
- 현재까지 알려진 교체 알고리즘 중 가장 효과적
|
최소 빈도 사용 (LFU; Least Frequently Used) |
- 캐시 메모리에 적재된 후 가장 적게 참조된 블록을 교체
|
선입 선출(FIFO, First In First Out) |
- 캐시 메모리에 적재된 지 가장 오래된 블록을 교체
|
임의(Random) |
|
▶ 교체 알고리즘 및 내용
-
쓰기 정책
-
캐시 메모리의 수
-
캐시 메모리의 데이터 일관성 유지 방법
- 단일 시스템 버스에 여러 개의 CPU들이 접속된 다중 프로세스 시스템에서 캐시 메모리의 쓰기 정책인 '즉시쓰기'와 '나중 쓰기' 정책을 적용하는 경우, 주기억 장치와 각각의 CPU에 해당하는 캐시 메모리들 사이에 데이터의 불일치 현상이 발생
-
데이터의 불일치 현상을 방지하는 방법