cpu-cachelocalitycache-line

CPU 캐시와 지역성을 설명해 주세요

면접 출제
예상 시간
8
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

cache line은 무엇인가요?

부가 설명

코드에서 배열 하나를 읽는 일은 간단해 보이지만, CPU 입장에서는 데이터가 어디에 있느냐가 큰 차이를 만듭니다. L1 cache에 있으면 빠르게 읽지만, RAM까지 가야 하면 훨씬 오래 기다립니다. 그래서 같은 알고리즘이라도 메모리 접근 패턴이 성능을 크게 흔듭니다.

지역성은 이 차이를 설명하는 핵심 단어입니다. 방금 쓴 값을 곧 다시 쓰면 시간 지역성이 좋고, 연속된 배열처럼 가까운 주소를 차례로 쓰면 공간 지역성이 좋습니다. Big-O가 같아도 cache-friendly한 접근은 실제 성능에 영향을 줍니다.

한 줄 정리

CPU 캐시는 지역성을 이용해 느린 메모리 접근을 줄이고, 접근 패턴이 좋을수록 효과가 커집니다.