serversim
학습시뮬레이터템플릿가격
…
…
메뉴 열기
학습↗시뮬레이터↗템플릿↗가격↗
내 Documents문서
전체 목차/5장/5.131 / 40

5.1 · 캐시와 지역성

캐시는 왜 컴퓨터 곳곳에 있을까?

작은 L1 캐시가 큰 메모리보다 중요한 순간은 언제일까요?

빠른 장치와 느린 장치 사이에 자주 쓸 복사본을 가까이 두면 대부분의 긴 왕복을 피할 수 있습니다.

먼저 생활 비유

도서관 책과 내 책상

도서관은 책이 많지만 매번 다녀오면 느립니다. 오늘 쓸 몇 권을 책상 위에 두면 대부분 바로 펼칠 수 있습니다.

컴퓨터 예제로 바꾸기

배열 값 반복 읽기

for (...) sum += items[i];

CPU는 한 값뿐 아니라 주변 값을 캐시 라인으로 가져와 다음 반복이 가까운 캐시에서 적중하게 합니다.

직접 움직여 보기1 / 5

지금 일어나는 변화

CPU 요청

다음 계산에 필요한 주소를 요청합니다.

복사본 채우기RAM 접근L2·L3 확인L1 확인CPU 요청데이터 복사본현재 계층: CPU 요청

이 그림에서 기억할 한 문장

캐시는 느린 원본을 없애지 않고, 반복 접근의 대부분이 가까운 복사본에서 끝나게 합니다.

현재 상태

이동하는 것
데이터 복사본
현재 위치
CPU 요청
다음 위치
L1 확인

30초 확인 문제

캐시 미스가 나면 일반적으로?

처음 보는 용어 두 개

캐시 적중
요청한 데이터가 가까운 캐시에 있는 경우
캐시 미스
가까운 캐시에 없어 아래 계층으로 내려가야 하는 경우

이 절을 다 읽었다면

캐시는 느린 원본을 없애지 않고, 반복 접근의 대부분이 가까운 복사본에서 끝나게 합니다.

← 이전 절

4.9 함수·시스템 호출·인터럽트·스레드 전환의 공통점

다음 절 →

5.2 캐시 친화적인 코드는 어떻게 생겼을까?