더북(TheBook)

메모리 계층 구조에서는 위로 올라갈수록 속도는 빨라지지만 용량은 작아집니다. 아래로 내려올수록 속도는 느려지지만 용량은 커집니다. 메모리 계층 구조는 ‘전달되는 데이터가 아래쪽에 있을 경우 CPU에 도달하려면 위에 있는 모든 계층을 거쳐야 한다’는 특징이 있습니다.

예를 들어 CPU가 하드디스크에 있는 어떤 파일의 데이터를 요청했을 때 이 데이터는 먼저 메모리로 옮겨지고 캐시를 거쳐 레지스터에 전달됩니다. 하드디스크에서 바로 레지스터로 이동할 수 없고, 메모리의 데이터도 캐시를 거치지 않고 바로 레지스터로 전송할 수 없습니다. 언뜻 생각하면 위에 있는 계층을 모두 거칠 경우 속도가 느려질 것 같지만, 다음 절에서 알아볼 지역성이라는 개념 때문에 실제로는 느려지지 않습니다. 오히려 메모리 계층 구조로 인해 엄청난 성능 향상을 이뤘습니다.

오늘날의 캐시는 CPU 안에 들어 있습니다. 캐시에도 L1 캐시와 L2 캐시 등이 있는데, 숫자가 작을수록 속도는 빠르고 용량은 작습니다. L1 캐시가 L2 캐시보다 용량은 작지만 속도는 빠릅니다.

다음 절에서는 메모리 계층 구조에서 가장 중요한 개념인 지역성(locality)에 대해 알아보고 캐시에 대해 조금 더 살펴보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.