Locality 란
Locality를 한국어로 직역하면 '지역성' 이라는 뜻이다.
프로그램적으로 생각해보자.
우리의 프로그램은 항상 메모리의 특정 주소를 찾아가서 데이터를 읽어오고 특정 주소로 찾아가서 데이터를 쓰는 행위들이 기본이다.
여기서 '특정주소' 가 어떻게 될지, 실행해보기 전의 우리는 아직 잘 모른다.
하지만! 이 Loaclity 라는 특성을 이용하면 이를 예상하고 접근 시간을 줄일 수 있다는 것이다!
(또한, 이 접근 시간은 프로세서의 성능에 직접적인 연관이 있다.)
Temporal Locality 와 Spartial Locality
Temporal Loaclity : 최근에 접근했던 주소값을 다시 접근하는 경향
- 한번 사용한 주소의 메모리 영역은 자주 접하게 된다.
- 예시) Loop문 안의 x = V[i] , Stack 등등
Spartial Locality : 최근 접근했던 주소값 근처의 주소들을 접근하는 경향.
- 한번 사용했던 주소의 근처 영역은 접근이 이루어질 확률이 관계없는 곳보다 더 높다.
- 예시) Sort, Array, Sequential instruction 등등
Locality 의 활용
- Memory hierarchy
- Storing on disk
- 디스크에서 메모리로 복사할 때
- CDN(Contents Delivery Network)
728x90
'컴퓨터 지식' 카테고리의 다른 글
소프트웨어 설계에 대해 ⭐ / 2️⃣ - 시각화와 모델링 (Feat.UML, PUML, draw.io) (0) | 2022.01.01 |
---|---|
소프트웨어 설계에 대해 ⭐ / 1️⃣ - 설계의 중요성과 디자인 패턴 (feat. patterns) (0) | 2021.12.23 |
[CS지식] Non Bloking VS Asynchronous / 논블로킹 vs 비동기 (2) | 2021.05.20 |
댓글