CPU의 캐시 메모리는 어떤 역할을 하는가?

이문규 munch@itdonga.com

01.jpg
01.jpg
CPU 구매 시 가장 기본적인 기준이 되는 것은 작동 '클럭 수치' 이고(클럭 수치가 높으면 성능도 좋고 가격도 높다), 그다음으로 흔히들 고려하는 것이 바로 캐시 메모리 다. CPU 사양을 보면 L1 캐시네, L2 캐시네 하는 그것. 이 캐시 메모리에 따라서도 CPU 성능은 그 우열을 판가름 할 수 있다. 사실 CPU 캐시 메모리에 따른 성능 차이는 확실하게 체감할 정도는 아니지만, 아무래도 캐시 메모리가 많으면 성능적으로 유리한 것이니 비교해 볼만 하겠다. 그렇다면 '클럭 = CPU의 속도'라고 깔끔하게 정리되지만, 캐시 메모리는 대체 어떤 역할을 하는 것일까?

캐시 메모리(cache memory)란, 속도가 빠른 장치와 느린 장치 사이에서 속도 차에 따른 병목 현상을 줄이기 위한 범용 메모리를 말하는 것이다. CPU 이외의 장치에서도 많이 사용되는 용어인데, CPU에서는 CPU 코어(고속)와 메모리(CPU에 비해 저속) 사이에서 속도 차에 따른 병목 현상을 완화하는 역할을 한다.

02.jpg
02.jpg

인터넷에서도 웹 브라우저를 보면 '캐시 파일'이라는 용어를 볼 수 있다. 웹 페이지 상의 이미지 등을 하드디스크에 미리 저장해 두고, 다음번 웹 페이지 접근 시 해당 사이트가 아닌 하드디스크에서 이미지를 불러들여 로딩 속도를 높이는 역할을 한다. 이 캐시 파일도 마찬가지로, 속도 빠른 하드디스크와 상대적으로 느린 웹 페이지 가운데서 병목을 줄이는 것이다.

마찬가지로, CPU가 메모리에 저장된 데이터를 읽어들이면서, 자주 사용하는 데이터는 아예 캐시 메모리에 저장한 다음 다시 사용할 때는 메모리가 아닌 캐시 메모리에서 가져오는 것이다. 이에 따라 캐시 메모리는 일반 메모리보다 속도가 빠르긴 하지만 용량은 적은 게 일반적이다. 그만큼 비싸기 때문이다.

CPU에는 이러한 캐시 메모리가 2~3개 정도가 사용된다. 이를 L1, L2, L3 캐시 메모리라 하며, 여기서 L은 ‘Level’을 의미한다. 우리 말로 하면 '1차 캐시', '2차 캐시', '3차 캐시 메모리'가 된다. 이는 속도와 크기에 따라 분류한 것으로, L1 캐시는 일반적으로 CPU 칩 안에 내장되어 데이터 사용/참조에 가장 먼저 사용된다. L1 캐시는 보통 8~64KB 정도의 용량으로 CPU가 가장 빠르게 접근하게 되며, 여기서 데이터를 찾지 못하면, 이제 L2 캐시 메모리로 넘어간다.

03.jpg
03.jpg

L2 캐시 메모리는 용도와 역할은 L1 캐시와 비슷하지만 속도는 그보다 느리다. 일반적으로 64Kb~4MB 정도가 사용된다. CPU 제품마다 약간 다르겠지만, 일반적으로 L2 캐시는 CPU 다이(회로판)에 별도의 칩으로 내장된다. 앞서 말한 대로 L1 캐시를 먼저 뒤지고, 없으면 L2 캐시를 뒤져 데이터를 찾는다. 역시 L2 캐시는 L1 캐시보다 느리지만, 일반 메모리(RAM)보다는 빠르다.

L3 캐시 메모리도 동일한 원리로 작동한다. 다만 요즘 웬만한 프로세서에서는 L3 캐시 메모리를 달고 있지 않다. L2 캐시로 충분히 커버할 수 있기 때문이다. 예를 들어, 인텔 코어2 듀오나 쿼드에는 L3 캐시가 없지만, 코어 i7에는 8MB를 달아뒀다. 물론 없는 것보다야 있는 게 분명히 낫겠지만, L1/L2 캐시 메모리 정도만 CPU 성능에 직접적인 영향을 미치기에 L3 캐시는 크게 신경 쓰지 않는 것이 일반적인 추세다. 참고로 이 L3 캐시는 CPU가 아닌 메인보드에 내장되는 경우가 더 많다.

04.jpg
04.jpg

05.jpg
05.jpg

인텔 코어 i7 975EE 프로세서의 캐시 메모리 정보. L3 캐시 메모리 8MB를 내장했다

그렇다면 이렇게 CPU 성능에 직접적인 영향을 미치는데 왜 고작 몇 MB 정도밖에 달아두지 않았을까? 예상했던 대로 단가 때문이다. 캐시 메모리로 사용되는 SRAM은, 우리가 메모리라 부르는 DRAM에 비해 가격이 상당히 비싸기 때문이다.

위에 설명한 이론과 정의 말고도 '캐시 메모리'에 대한 상세 내용은 훨씬 다양하고 복잡하다. 하지만 적어도 CPU 구매 시 사양을 점검하는 데 필요한 캐시 메모리 정보는 위의 내용이면 부족하지 않을 것으로 본다. 당연하겠지만, 캐시 메모리 많은 높이 좋은 놈이다. 아울러 비싼 놈이기도 하다.

다만 앞서 잠깐 말했듯, 캐시 메모리 용량에 따른 성능 차이는 벤치마크 툴로 테스트할 때나 수치로 증명될 뿐이지, 실제로 일반적으로 사용하면서 체감할 수 있을 정도는 아니다. 따라서 CPU를 결정할 때 참고할 만한 2차 기준은 될지언정 절대적인 지표로 여기기엔 좀 무리가 있다.

글 / IT동아 이문규(munch@gamedonga.co.kr)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.