본문 바로가기

엔지니어링(TA, AA, SA)/성능과 튜닝

[엔지니어링] CPU와 캐시 (L1/L2/L3 캐시..)

CPU 캐시 메모리는 어떤 역할을 하는가? http://it.donga.com/215/

 

CPU 사양을 보면 L1 캐시 / L2 캐시 등이 존재한다. 이 캐시 메모리에 따라서 CPU 성능의 우열을 판가름할 수도 있다. 캐시 메모리가 많으면 성능적으로 유리하다고 말할 수 있다.

 

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

 

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

 

 

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

 

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

 

 

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