CS/컴퓨터 구조
4장 : 기억장치 - (5) 캐시 메모리
infobox503
2024. 12. 13. 09:59
<요약>
- 캐시 메모리
- 캐시 적중
- 지역성
- 시간적 지역성
- 공간적 지역성
- 순차적 지여성
1. 캐시 메모리
- 의미
- CPU ↔ 기억장치 사이의 속도 차이 완화
- 임시 저장 장치
- 과정
- CPU ↔ 캐시 메모리 ↔ 주기억장치
- 특징
- 주기억장치 조회 시, 해당 내용이 캐시 메모리에 적재
- 캐시 메모리에 데이터가 있다면 주기억장치 조회X
- 캐시 메모리는 SRAM 사용(액세스 속도 빠름)
2. 캐시 적중
- 의미
- CPU가 원하는 데이터가 캐시 메모리에 있음
- 캐시 적중률(H)
- 캐시 적중되는 정도
- 캐시 미스
- 캐시 적중 반대
- 캐시 메모리에 원하는 데이터X
- 캐시 미스율(1-H)
- 예시
3. 지역성
- 의미
- 특정 위치의 데이터에 집중적으로 액세스하는 현상
- 응용
- 캐시 적중률은 지역성에 의존한다
- 종류
- 시간적 지연성
- 최근에 액세스된 데이터가 다시 액세스 될 것이다
- 공간적 지연성
- 액세스된 데이터 주변에 있는 데이터들이 액세스 될 것이다
- 순차적 지연성
- 액세스된 데이터앞에 순서대로 데이터들이 액세스 될 것이다
- 시간적 지연성
4. 캐시 설계 목표
- 주기억장치, 캐시의 데이터 동일하게 유지 및 그에 따른 오버헤드 최소화
- 주기억장치 a=5
- 캐시 a=15
- ⇒ 이렇게 되면 X
- 캐시 적중률 극대화
- 캐시 액세스 시간 최소화
- 캐시 미스에 따른 지연 시간 최소화
5. 캐시 설계
- 요소
- 캐시 용량
- 인출 방식
- 요구 인출
- 캐시 미스 발생 시, CPU가 필요한 정보만 캐시로 가져옴(주기억장치로부터)
- 선인출
- CPU가 필요로하는 정보 + 필요할 것으로 예측되는 정보도 캐시로 가져옴
- 블록 단위로 가져옴
- 요구 인출
- 사상 방식
- 교체 알고리즘
- 쓰기 정책
- 다중 캐시
6. 캐시와 블록
- 블록
- 블록 크기 = 캐시의 라인 크기
- 라인 : 캐시에서 각 블록이 저장되는 장소(번지?)
- 태그 : 캐시 라인을 구분하는 존재
- 블록 크기 = 캐시의 라인 크기
- 특징
- 캐시의 라인 수 < 기억장치 블록 수(기억장치가 수천배 큼)
- 예시
- 블록은 4개 번지 합쳤다고 하자
- 캐시 0라인 = 기억장치 0~3번지 넣기 가능