캐시메모리
캐시메모리와 Cache Friendly Code
캐시메모리와 Cache Friendly Code
2022.04.031. 캐시메모리는 무엇인가? 캐시메모리의 핵심 개념은 locality이다. 레지스터에 가까운 지역에 전진기지를 만들어 그 안에 자주 사용하고(temporal locality), 인접한(spartial locality) 데이터를 보관하기 위해 고안되었다. 잘 알려져 있듯이 메인메모리보다 크기가 작다. 이 작은 꾸러미를 최대한 활용하기 위한 하드웨어 알고리즘은 지금도 개발되고 있다. 허나 이것은 어디까지나 한계가 있는 이야기이다. 전 지구상에서 지금도 개발되고 있는 모든 어플리케이션의 분기를 예측하는 것은 불가능에 가깝기 때문이다. 따라서 개발자 또한 어느정도는 캐시메모리를 이해하고 코드를 짜는 것이 최적화에 매우 유리하다고 할 수 있다. 찾는 데이터가 캐시메모리에 보관되어 있다면, 캐시 히트 라고 한다. ..