[컴퓨터의 메모리구조] 캐시,메모리,디스크의 차이

 

Cache, 하드디스크, 메인메모리의 차이


Redis를 공부하려다가 캐시와 메모리, 하드디스크에 대해 헷갈려서 컴퓨터의 메모리 구조에 대해서 전반적으로 다시 정리해보았다.


메모리는 ‘기억장치’라는 뜻을 가지고 있다. 일반적으로 메모리라고 하면 주로 ‘메인메모리’ 즉, RAM을 의미한다. 다른 말로는 주기억장치라고 한다.

메인 메모리는 프로세서처럼 전자소자로 만들어져 있고 기억할 내용이 전기 신호로 저장되기 때문에 하드디스크를 이용하는 것에 비해 속도가 매우 빠르다.



컴퓨터 메모리의 종류

보통 레지스터, 캐시, RAM을 주 기억장치라고 부른다. 프로그램이 실제로 구동될 때 이 세 기억장치를 사용하기 때문이다.

  • 레지스터는 제일 빠른 메모리로, CPU 계산과정의 일부로 작동한다.

  • 캐시 메모리는 레지스터 다음으로 빠른 메모리로 L1, L2, L3 캐시 등 여러 단계로 나뉘어진다. 숫자가 작을수록 용량이 작고 빠르며 숫자가 클 수록 용량이 크고 느리다.

  • RAM은 매우 빠르지만 CPU > Cache > RAM 순서로 빠르다. 하지만 SSD, HDD에 비해서는 월등히 빠르다.

    image

보통 게임을 처음 실행하거나 스테이지를 넘어갈 때 화면에서 “로딩중…(loading…)” 이라는 메시지를 볼 수 있는데, 이 때 로딩이 바로 하드디스크에서 데이터를 읽어 램으로 전송하는 과정을 의미한다.




메인메모리 - RAM
  • 메인메모리 = 주기억장치 = RAM

  • RAM은 Random Access Memory의 약자이다.
  • RAM은 DRAM과 SRAM이 있는데 주기억장치는 주로 DRAM을 의미한다. (SRAM은 캐시나 레지스트리)
  • 컴퓨터의 CPU가 현재 처리중인 데이터나 명령만을 일시적으로 저장하는 휘발성 메모리이다. 전원이 꺼지면 메인 메모리에 저장된 내용들은 모두 사라진다. 따라서 컴퓨터가 꺼진 이후에도 데이터를 유지하고 싶을 경우에는 데이터를 하드디스크에 저장해야 한다.
  • 보조기억장치보다 접근속도가 빠르다.
  • 모든 프로그램은 컴퓨터에서 실행되기 위해 메모리의 일부를 차지한다.



캐시
자주쓰는 데이터는 계속 자주 쓰인다.

컴퓨터과학에서 증명된 법칙이다. 대부분 프로그램은 한 번 사용한 데이터를 다시 사용할 가능성이 높고 그 주변의 데이터도 곧 사용할 가능성이 높은 데이터 지역성을 가지고 있다. 이를 이용해서 OS나 CPU는 자동으로 자주 쓰이는 데이터와 자주 쓰일 것 같은 데이터를 메모리에서 캐시로 읽어온다.

메인 메모리의 데이터를 캐시 메모리에 넣어두고 필요한 데이터를 캐시에서 먼저 찾도록 할 경우 시스템 성능을 향상시킬 수 있다.



하드디스크(HDD - Hard Disk Driver)
  • 보조기억 장치

  • 사용자가 사용하고자 하는 데이터프로그램을 저장한다.

  • 전원을 끄더라도 저장된 데이터나 정보가 날아가지 않는 비휘발성 메모리이다.


CPU - Central Processing Unit
  • 중앙 처리장치
  • 컴퓨터 내부의 모든 명령(연산)을 담당한다.

  • CPU는 컴퓨터 부품 중에 가장 빠르다. 보통 작업을 할 때 기억장치(RAM., HDD, SDD, …) 중 그나마 가장 빠른 RAM과 주로 자료를 주고 받는데 CPU입장에서는 RAM이 너무 느리게 느껴진다.
  • 그래서 CPU는 자주 쓰는 데이터들을 캐시메모리에 넣어놓고 사용하는 것이다.
  • 속도 차이는 CPU > 캐시메모리 > RAM 순서이다.
  • Cache는 CPU와 RAM 사이에 위치해 있다.


Register
  • CPU 안에 내장되어 연산을 위한 저장소를 제공한다.


RAM - Random Access Memory
  • HDD - RAM - CPU 와 유사한 방식으로 연산과정의 중간에 위치한다.
  • HDD에 비해 월등히 빠른 속도로 CPU가 정보를 원활히 이용할 수 있도록 한다.
  • CPU가 사용하기 좋도록 각종 정보를 임시 저장하는 휘발성 장치이다.





추가 용어


DRAM - Dynamic RAM
  • 동적 메모리
  • 전원이 계속 공급되더라도 주기적으로 재충전되어야 기억된 내용을 유지할 수 있다.
  • 주로 대용량의 기억장치에 사용되며 가격이 저렴하다.
  • 주로 RAM이라고 표현하는 것(주기억장치)은 거의 DRAM을 칭하는 것이다.
SRAM - Static RAM
  • 정적 메모리
  • 전원 공급이 되는 동안은 기록된 내용이 지워지지 않기 때문에 재충전이 필요없다.
  • 접근 속도가 빠르고 가격이 비싸다는 특징이 있으며 주로 캐시메모리나 레지스터로 사용된다.