CS/컴퓨터구조

캐시에서 데이터를 찾는 방법

박 성 하 2023. 2. 14. 17:05
728x90

1. 캐시

  • 메인 메모리와 프로세서 사이의 메모리 계층
  • 빠르고 비싸다
  • 캐시에 없는 데이터를 요청할 경우 메모리에서 캐시로 가져오게 된다. 교체가 필요할 경우 최신 것으로 교체되어 시간적 지역성 활용 가능
  • 캐시 실패파이프라인 지연 만을 발생시킴
  • 다단계 캐시의 경우 1차 캐시실패율을 줄이기 위해 크기, 블록이 작2차 캐시는 접근시간이 중요하지 않기에 크기가 크다

 

2. 캐시 내 데이터 배치

   - 직접 사상

  • 캐시의 위치를 할당하는 방법으로 워드의 메모리 주소를 이용
  • 각 메모리 위치가 캐시 내의 딱 한 장소에 바로 사상되기 때문에 이 방식을 이용
  • (블록 주소) modulo (캐시 내에 존재하는 전체 캐시 블록 수)

  - 완전 연관

  •  캐시 내의 어느 곳에나 들어갈 수 있는 방식
  • 검색 시 캐시 내의 모든 엔트리를 병렬로 검색
  • 검색 비용이 커 블록이 적은 캐시에서 사용 가능

  - 집합 연관

  • 직접 사상 + 완전 연관
  • 한 블록이 들어갈 수 있는 자리의 개수가 고정
  • 인덱스 필드에 의해 캐시 내의 한 집합으로 사상되고, 집합 내에서는 아무 장소나 들어갈 수 있음

 

3. 데이터 존재 유무 확인

   - 태그

  • 캐시 내의 워드가 요청한 것인지 아닌지를 식별하는데 필요한 주소 정보를 포함.
  • 캐시 인덱스로 사용되지 않은 주소의 상위 부분 비트들로 구성

   - 유효 비트

  • 엔트리가 비어 있을 경우를 대비해, 엔트리에 유효한 주소가 있는지를 표시
  • 0이면 엔트리에 유효한 블록이 없는 것으로 간주
728x90

'CS > 컴퓨터구조' 카테고리의 다른 글

메모리 계층의 실패원인 - 3C모델  (0) 2023.02.21
페이지 배치  (0) 2023.02.20
SDRAM이란?  (0) 2023.02.14
메모리에서 데이터를 찾는 방법  (0) 2023.02.14
단일 사이클 vs 멀티 사이클 vs 파이프라이닝  (0) 2022.09.06