Locality


title: 2026-03-13 author: 강병호 (이름) date: 2026-03-13 (날짜) category: TIL/강병호/2026/03 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —

1. 시간 지역성 (Temporal Locality)

시간 지역성이란 CPU가 최근에 한 번 접근했던 메모리 공간에 가까운 미래에 다시 접근하려는 경향을 의미합니다.

프로그래밍 예시: 코드 내에서 지역 변수에 특정 값을 할당해 두면, 이후 연산 과정에서 해당 지역 변수를 다시 호출하여 접근할 확률이 매우 높습니다. 예를 들어 반복문에서 조건 검사를 위해 지속적으로 참조되는 인덱스 변수 등이 대표적인 시간 지역성의 사례입니다.

2. 공간 지역성 (Spatial Locality)

공간 지역성이란 CPU가 특정 메모리 공간에 접근했을 때, 방금 접근한 메모리 공간의 근처에 있는 주소에 연속적으로 접근하려는 경향을 뜻합니다.

프로그램 실행 예시: 개발 환경인 인텔리제이(IntelliJ IDEA) 프로그램을 실행하는 상황을 생각해 볼 수 있습니다. CPU가 인텔리제이를 실행하기 위해 메모리상에서 인텔리제이의 명령어, 데이터가 모여 있는 공간 주변을 집중적으로 읽어들이는 작업이 바로 공간 지역성의 대표적인 예입니다. 프로그래밍 관점에서는 배열(Array)과 같이 연속된 메모리 공간에 데이터를 할당하고 순차적으로 접근하는 경우가 여기에 해당합니다.

results matching ""

    No results matching ""