good selection을 책장에서 가져오면 굳이 책장에 다시 갈 필요 없이 책상위에 내가 원하는 책이 있다. 그럼 시간을 절약해준다.
메모리에 엑세스를 빨리 하려면 principle of locality가 중요
책장 = main memory 책상은 processor
책상위에 있는 책들 = cache. 프로세서 칩 안에 있는 메모리
좋은 selection을 캐시에 갖다놓으면 메인 메모리에 왔다갔다 할 필요 없다
latency가 많이 발생한다 main memory에 접근할때. 프로세서 외부이므로 시간이 오래 걸린다.
메인 메모리중의 small portion만 있으면 프로그램 실행하는데 아무 문제가 없다
temporal과 spatial locality
temporal은 책을 빌리면 당분간 그 책을 본다. 최근에 본 책을 다시 또 볼 확률이 높다
최근에 엑세스 했으면 다시 엑세스 할 확률이 높다
spatial localtiy는 메모리에 데이터가 유사한것끼리 모여있으므로 공간적으로 유사한것끼리 모아놨다.
최근에 엑세스한거 다시 볼 확률 높다 내가 본 책 주변에 내가 참고할만한 책이 많다
현대 모든 컴퓨터의 메모리가 이 원리를 기반으로 만들어짐
메모리는 계층구조로 되어있다 이것들을 locality를 쓴다
제일 작은 메모리는 프로세서랑 가장 가깝다
모든 정보는 맨 아래에 다 저장되어있음
필요한 영역을 위로 가져오는것
최근에 접근한것을 nearby것들을 copy해서 dram에 가져온다 spatial locality