본문 바로가기
lesson/computer architecture

CPU 캐시란 무엇인가?

by Peter Choi 2024. 8. 13.
반응형

cpu에서는 L1, L2, L3 캐시라는 명칭으로 잘 알려져 있습니다.

 

흔히 컴퓨터 구조 강의에서는 교수님이 자주 보는 논문은 책상 위에 놓고, 조금 덜 자주 보는 논문은 책장에 꽂아놓고 그것보다 덜 중요하면 도서관에서 그때그때 발려본다는 비유를 들었던 기억이 납니다.

 

저 비유 속에는 지역성이라는 캐시의 구조에 대해서 설명할 때 중요한 개념이 나옵니다. 

 

가까운 순서대로 L1, L2, L3로 분류가 되며 코어에 가까운 캐시일수록 용량은 작습니다. 답은 비싸기 때문이죠. 달리 생각해보면 집 앞에 있는 편의점의 가격과 대형 창고매장의 가격이 다른 것과 같습니다. 같은 물류창고에서(메모리에서) 데이터를 읽어오는 과정에서 코어의 바로 앞에 있는 L1 캐시에(편의점) 데이터를 받아오는 비용이 높은 것처럼 말이지요. 

 

본론으로 돌아와서 L1 캐시는 코어 칩 내부에 존재하고 있으며 명령 캐시와 데이터 캐시로 나뉘어 집니다.

속도를 얻고 용량을 포기한 케이스입니다. 어딜가나 지근거리에 있지만 매장의 규모가 작고 가격이 비싼 편의점을 생각해보면 좋겠습니다.

 

L2 캐시는 코어 칩 내부 혹은 외부에 위치해 있습니다. L1 캐시에서 캐시 미스가 발생 시에 사용됩니다.

편의점에 안 파는 물건을 위해 자차를 타고 대형마트를 가는 상황과 유사합니다.

 

L3 캐시는 코어 칩의 외부에 위치해 있습니다. 여러 코어가 서로 공유하는 공간입니다.

 

각 골목 별로 편의점이 있고, 각 시군구별로 대형마트가 있다면, 아예 시도에 한 개 있는 대형 창고매장을 생각해 보시면 좋겠습니다. 예를 들면 코스트코 같은 경우에요. 이러한 대형 창고매장에는 다양한 시군구에 있는 사람들이 차를 끌고 찾아옵니다. 마찬가지로 코어를 시군구로 생각하고 L3 캐시를 코스트코같은 대형매장이라고 생각해보면 이해가 빠를 것입니다.

 

결국 CPU Cache의 구조는 경제성이라는 요소로 인해 결정되는 것입니다. 용량에 비중을 둔다면 속도는 어느 정도 타협을 하게 됩니다. 물론 둘 다 높게 하는 것도 가능하지만 가격이라는 변수를 고려할 필요가 있을 것입니다.

반응형

댓글