TIL/TIL

[CS] 캐시(Cache), 지역성(Locality)

JoJobum 2022. 8. 18.

캐시(Cache)란?

자주 사용하는 데이터를 복사해두는 임시 장소이다.

 

메모리 계층 구조 (Memory Hierarchy)

CPU는 작은 메모리일수록 빠르게 접근할 수 있음 + 자주 쓰는 데이터는 계속 자주 쓰인다 (= 시간 지역성)

위의 2가지 이유로 어떤 데이터를 접근하고자 할 때마다 SSD/HDD에 접근하여 데이터를 가지고 오는 것이 비효율적이기에 용도에 따라 메모리들을 쌓은 구조

윗쪽일수록 더 작고, 비싸고, 빠른 메모리 반대로 밑쪽일수록 더 크고, 싸고, 느리다

자주 쓰는 데이터일수록 윗쪽 계층에 두고 반대의 경우일수록 아랫쪽에 두어 최소의 비용으로 최대의 효율을 지향한다

 

시간 지역성

자주 쓴 데이터는 앞으로도 자주 쓸 것이다 

 

공간 지역성

사용된 데이터와 인접한 데이터가 사용될 것이다 => 특정 데이터 접근시 해당 블록을 전부 가지고옴, 이때 같은 블록에 필요한 데이터가 존재하면 효율적 (필요한 데이터들이 모여있을수록 메모리에 접근하는 횟수가 적어지고 효율적일 것)

 

반응형

'TIL > TIL' 카테고리의 다른 글

[CS] OS 관련  (2) 2022.09.25
[JAVA] TIL  (0) 2022.09.06
[JAVA] 오버로딩(overloading) vs 오버라이딩(overriding)  (0) 2022.09.06
[ML] Face Recognition details  (0) 2022.08.24
[ML] Face Recognition  (0) 2022.07.27

댓글