[IT강의실]CPU의 캐시 메모리는 어떤 역할을 하나

  • Array
  • 입력 2010년 4월 22일 12시 21분


코멘트
오늘의 영화배우 '송강호'를 있게 한 불후의 명작인 영화 '넘버3'를 보면 이런 대사가 나온다. 극 중 '오지나' 역, 즉 도강파 보스의 내연녀로 나온 방은희 씨가 현지(이미연 분)와 함께 서점에 갔다가, 시를 읽으면 세상이 꽤 감동적으로 보일 것이라는 현지의 말에 아래와 같이 대꾸한다.

'세상에 나 오지나를 감동시키는 건 딱 세 가지야. ‘캐시’, 크레디트카드, 섹스'

본 필자 역시 이에 백 번 동의한다. 성경에서는 '믿음과 소망과 사랑'이 으뜸이겠지만, 인생 현실사에서는 위의 세 가지가 단연 '에이스'다. 자본주의 아닌가.

컴퓨터를 살 때도 관심을 둬야 할 항목은 세 가지 정도로 압축된다.
예상하는 대로 CPU, 메모리, 그래픽 카드다. 이 중 CPU만 놓고 봐도 눈여겨 봐야 할 사양 항목이 적지 않다.

가장 중요한 것은 역시 작동 '클럭'이다. 몇 기가헤르츠(GHz)네, 메가헤르츠(MHz)네 하는 수치다. 전자계산기 원론적으로 말하면, 컴퓨터(프로세서)는 0과 1을 On/Off하면서 작동하는데 이게 1 헤르츠다. 이에 따라 만약 3GHz 라면 1초에 30억 번 On/Off할 수 있는 속도를 나타낸다(기가-Giga는 10억을 의미한다). 당연히 클럭 수치가 높으면 성능도 좋다. 당연히 가격 역시 높기도 하고.

클럭 수치 다음으로 많이들 고려하는 것이 바로 캐시 메모리다. CPU 사양을 보면 L1 캐시네, L2 캐시네 하는 그것. 이 캐시 메모리에 따라서도 CPU 성능은 그 우열을 판가름 할 수 있다. 사실 CPU 캐시 메모리에 따른 성능 차이는 확실하게 체감할 정도는 아니지만, 아무래도 캐시 메모리가 많으면 성능적으로 유리한 것이니 비교해 볼만 하겠다.

우선 캐시 메모리(cache memory)라는 게 무엇일까. 단어 그대로 현금으로 사는 메모리일까. 기본적으로 캐시 메모리라는 개념은 CPU에만 사용되는 건 아니고, 속도가 빠른 장치와 느린 장치 사이에서 속도 차에 따른 병목 현상을 줄이기 위한 범용 메모리를 말한다. CPU에서는 CPU 코어(고속)와 메모리(CPU에 비해 저속) 사이에서 속도 차에 따른 병목 현상을 완화하는 역할을 한다.

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

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

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

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가 아닌 메인보드에 내장되는 경우가 더 많다.

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

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

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

글 / IT동아 이문규(munch@gamedonga.co.kr)
  • 좋아요
    0
  • 슬퍼요
    0
  • 화나요
    0
  • 추천해요

댓글 0

지금 뜨는 뉴스