고속의 기억장치로 캐시를 이용하면 주기억장치에 접근하는 횟수가 줄기에 컴퓨터의 처리 속도 향상
기본동작
- 캐시 적중
- 캐시 미스
- CPU가 원하는 데이터를 캐시에서 찾지 못하고 주기억장치로부터 데이터를 읽어옴
- 적중률
CPU에의한메모리참조총횟수캐시적중횟수(히트수)
주기억장치와 캐시의 조직
캐시의 크기는 주기억장치보다 작기때문에 주기억장치의 블록을 캐시의 라인에 매핑시켜야 함
블록
주기억장치로부터 동시에 인출되는 정보들의 그룹
라인
캐시에서 하나의 주기억장치 블록이 저장되는 장소
태그
라인에 적재된 블록을 구분해주는 정보

사상 방식
- 주기억장치로부터 캐시메모리로 데이터를 전송하는것
- 주기억장치 블록이 로딩되는 캐시 라인을 결정함
- 캐시 적중률에 큰 영향을 끼침
- 캐시 기억장치의 내부구조를 결정함
직접사상
주기억장치의 블록들이 지정된 어느 한 캐시 라인으로만 적재됨
- 주기억장치 주소 형태
- 태그필드 | 라인필드 | 단어필드
- 단어필드 : w ( w= 주기억장치 블록의 크기 2n의 n)
- 라인 필드 : l (블록수/블록의 크기)
- 태그 필드 t (블록수 / 캐시의 라인 수)
- ex


- 주기억 장치 주소를 받아 상위 5비트를 분석
- 5비트 중 라인에 해당하는 중간 3비트를 캐시와 비교
- 찾은 캐시의 라인에 저장된 태그비트 비교
- hit일 경우 하위 2비트를 총해 워드 값(8비트)반환
- miss일 경우 해당 블록(32비트)을 저장
완전연관사상
주기억장치의 블록은 비어있는 어느 캐시라인에도 적재 가능
단, 캐시에서 데이터를 찾을 때 모든 태그를 검색해야함
- 주기억장치 주소 형태
- 태그필드 | 단어필드
- 단어필드 : w (w= 블록의 크기)
- 태그필드 : t (t= 주기억장치의 블록의 수)
- ex


- 주기억장치 주소를 받아 상위 5비트를 분석
- 캐시 내 모든 라인의 태그값과 비교
- hit일 경우 하위 2비트를 통해 워드값 리턴
- miss일 경우 해당 블록을 저장
세트연관사상
직접사상과 완전연관사상의 장점만을 취함
세트수에 따라 2-way , 4-way 연관사상으로 부름
- 주기억장치 주소 형태
- 태그필드 | 세트필드 | 단어필드
- 단어필드 : w (블록의 크기)
- 세트필드 : s (블록의 수 / 캐시세트의 크기)
- 태그필드 : t (블록수 / 세트수)
- ex


- 주기억장치 주소를 받아 상위 5비트 분석
- 세트에 해당하는 중간 2비트를 캐시와 비교
- 찾은 캐시의 태그비트 비교
- hit일 경우 하위 2비트를 통해 워드값 리턴
- miss일 경우 해당 블록 저장