- 주기억장치에 저장된 내용의 일부를 임시로 저장해두는 기억장치
- 빠른 장치(CPU)와 느린 장치(주기억장치)에서 속도 차이에 따른 병목 현상 줄이기 위한 메모리
e.g. 메모리와 CPU 사이의 속도 차이가 너무 커서 그 중간에 레지스터 계층을 둬서 속도 차이 해결
캐싱 계층
- 계층과 계층 사이에 있는 계층
e.g. 캐시와 보조기억장치 사이의 주기억장치 → 보조기억장치의 캐싱 계층
지역성의 원리
사용cache hit
- 캐시에서 원하는 데이터 찾음, CPU 내부 버스 기반으로 작동, 빠름
cache miss
- 데이터가 캐시에 없어서 주기억장치로 가서 데이터 찾아옴, 시스템 버스 기반으로 작동, 느림
- 최근 사용한 데이터에 다시 접근하려는 특성 (e.g. for 반복문의 i)
- 최근 접근한 데이터를 이루고 있는 공간이나 그 가까운 공간에 접근하는 특성 (e.g. 배열)
처리 빠르지만 잦은 충돌
순서 일치 x, 관련 있는 캐시와 메모리 매핑, 충돌 적지만 모든 블록 탐색해야 해서 처리 느림
직접+연관 매핑, 순서 일치, 집합을 둬서 저장하며 블록화되어 있어서 검색 효율적
- 캐시에 데이터 저장 시 자료구조를 활용해 묶어서 저장하는 것
- 캐시에 저장하는 데이터에 메모리 주소를 함께 저장해 빠르게 원하는 정보 찾음 (set, map 등 활용)
- 만료기한이 있는 k-v 저장소
- ~4KB
- 보통 서버에서 만료기한 설정
- 만료기한이 없는 k-v 저장소
- ~10MB
- 웹 브라우저 닫아도 유지
- 도메인 단위로 저장, 생성
- HTML5 지원하지 않으면 사용 X
- 클라이언트에서만 수정 가능
- 만료기한이 없는 k-v 저장소
- 탭 단위로 세션 스토리지 생성
- 탭을 닫을 때 데이터 삭제
- ~5MB
- HTML5 지원하지 않으면 사용 x
- 클라이언트에서만 수정 가능