Learning
토픽 40 / 111·메모리 계층 (Memory Hierarchy)

Cache Prefetching (캐시 프리페칭)

Cache Prefetching (캐시 프리페칭)

프로세서가 데이터를 실제로 요청하기 전에 미리 캐시로 가져와 캐시 미스를 줄이고 메모리 접근 지연을 숨기는 기법

유형: HW 프리페칭(프로세서가 접근 패턴 자동 감지/하드웨어 회로), SW 프리페칭(컴파일러가 prefetch 명령어 삽입/__builtin_prefetch)

HW 프리페처 종류: 스트라이드 프리페처(일정 간격 접근 패턴 감지/배열 순회), 스트림 프리페처(연속 캐시 라인 접근 감지/순차 접근), 인접 라인 프리페처(현재 라인 인접 라인 함께 적재)

SW 프리페칭 전략: 루프 내 미래 반복 데이터 선적재, 프리페치 거리(prefetch distance) 튜닝, Non-temporal prefetch(캐시 오염 방지)

장점: 캐시 미스율 감소, 메모리 지연 은닉, 파이프라인 스톨 감소

단점: 불필요한 프리페치 시 캐시 오염(Cache Pollution), 메모리 대역폭 낭비, 비규칙 접근 패턴에 비효율

비교: HW 프리페칭(자동/투명/패턴 제한) vs SW 프리페칭(수동/유연/프로그래머 노력)

연관: 캐시 메모리, 캐시 미스, 메모리 계층, 파이프라인, 성능 최적화