본문 바로가기
CS 공부/컴퓨터구조

캐시 메모리(Cache Memory)란?

by 횰쓰 2022. 7. 10.

캐시 메모리란?

캐시의 의미를 검색해보면 Wikipedia에서는 이를 다음과 같이 정의한다. ‘캐시(cache, 문화어: 캐쉬, 고속완충기, 고속완충기억기)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다.

 

캐시는 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다.

 

쉽게 말해, 캐시는 다른 말로는 고속 기억 장치(메모리)라고 불리며, 시간을 절약하기 위해 데이터를 임시로 저장한다. 컴퓨터가 발전함에 따라 CPU의 속도가 점점 빨라졌지만 메모리에는 한계가 있다. 따라서 캐시가 등장하였고 캐시는 속도를 높이고 고속의 CPU와 동기화하기 위해 없어서는 안 되는 존재이다. 

 

 

캐시 메모리의 구조

컴퓨터는 기본적으로 CPU, (메인)메모리, 디스크로 구성되어있다. CPU는 어떠한 연산을 처리하기 위해 디스크에 있는 데이터를 메모리로 가져와 명령어와 함께 연산을 수행한다. 디스크에 있는 정보를 메모리로 가져오기 위해서는 물론 메모리도 고가이고 속도가 빠르지만 여전히 어느 정도의 시간이 소요된다. 캐시 메모리를 사용하면 이를 더 빠르게 처리할 수 있다. 

 

 

캐시메모리는 CPU와 메모리 사이에 위치해 있다. 캐시 메모리를 CPU에 가깝게 배치하여, 또는 아예 CPU 안에 탑재하여 연산을 더 고속화할 수 있다. 즉, 자주 사용하는 데이터를 미리 메모리 또는 디스크로부터 가져와서 CPU 안에 있는 캐시 메모리에 저장해놓고 CPU에서 바로 사용함으로써 더 효율적으로 연산을 처리할 수 있는 것이다.

 

 

웹 브라우저 캐시 파일

웹 페이지를 처음 접속할 때보다 다음에 접속할 때 더 빠르게 접속되는 것을 겪어본 적이 있을 것이다. 또는 다른 페이지를 잘못 눌러서 뒤로 가기를 했을 때 웹 페이지의 스크롤 위치가 원래 페이지의 봤던 곳에 위치하는 경우가 있다.

 

 

 

Why?

 

웹 브라우저는 URL을 통해 웹 서버의 html이나 이미지 정보 등을 받아와서 띄운다. 그런데 이때 브라우저는 브라우저 내의 어떤 특정 공간 또는 디렉토리에 정보를 저장해 놓는다. 이를 웹 브라우저 캐시 파일이라고 한다. 덕분에 또 다시 같은 웹 페이지를 접속했을 때 또는 불러왔을 때 더 빠르게 페이지를 접속할 수 있다. 데이터의 통신을 효율성을 높이기 위해 이와 같이 작동하는 것이다. 이것을 ‘캐시되어 있다’라고 표현하기도 한다.

 

이를 메모리라고 할 수는 없겠지만, 목적이 캐시 메모리와 비슷하다. 만약 웹 페이지의 정보가 바뀐다면, 예를 들어 특정 이미지가 바뀐다면, 이 때는 원래의 캐시 정보를 지우고 다시 서버에게 정보를 요청하여 새로운 정보를 할당한다.

댓글