관리 메뉴

클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

메모리와 캐시 메모리 1 - RAM의 특징과 종류 본문

알고리즘 및 자료 관리/컴퓨터 구조 & 운영체제

메모리와 캐시 메모리 1 - RAM의 특징과 종류

huenuri 2024. 10. 16. 04:02

어제 저녁에 공부하려던 단원이었으나 졸려서 하지 못하고 오늘 새벽에 일어나서 진행해 본다.

우리가 실행하는 프로그램은 모두 RAM에 저장되어 있다. 이번 절에서는 RAM의 하드웨어적 특성과 종류에 대해 학습해 볼 것이다.

 

 

 

 

이번 절에서는 우리가 지금까지 '메모리'라는 용어로 지칭했던 저장 장치인 RAM을 조금 더 자세히 알아보겠다. RAM의 용량이 컴퓨터 성능에 어떤 영향을 미치는지 그리고 DRAM, SRAM, SDRAM, DDR SDRAM은 무엇이고 어떤 특징을 가지는지 공부해 볼 것이다. 


 

 

 

RAM의 특징

RAM에는 실행할 프로그램의 명령어와 데이터가 저장된다. 여기서 중요한 점은 전원을 끄면 RAM에 저장된 명령어와 데이터가 모두 날아간다는 것이다. 이렇게 전원을 끄면 저장된 내용이 사라지는 저장장치를 휘발성 저장 장치라고 한다. 반면 전원이 꺼져도 저장된 내용이 유지되는 저장 장치는 비휘발성 저장 장치라고 한다. 하드 디스크나 SSD, CD-ROM, USB 메모리와 같은 보조기억장치가 대표적인 휘발성 저장 장치이다.

보조기억장치는 전원을 꺼도 내용을 유지하지만, CPU는 보조기억장치에 직접 접근하지 못한다. 그래서 일반적으로 보조기억장치인 비휘발성 저장 장치에는 '보관할 대상'을 저장하고, 휘발성 저장 장치인 RAM에는 '실행할 대상'을 저장한다. CPU가 실행하고 싶은 프로그램이 보조기억장에 있다면 이를 RAM으로 복사하여 저장한 뒤 실행한다.


 

 

 

RAM의 용량과 성능

 

 

예를 들어, 아래 그림처럼 RAM 용량이 프로그램 A, B, C 중 하나만 저장할 수 있을 만큼 작다면 CPU가 프로그램 A를 RAM으로 가지고 오고, 프로그램 B를 실행하고 싶을 때는 다시 프로그램 B를 RAM으로 가져오고, 프로그램 C를 실행하고 싶을 때는 또다시 프로그램 C를 RAM으로 가지고 와야 한다.

 

 

 

 

하지만 RAM 용량이 충분히 크다면 보조기억장치에서 많은 데이터를 가져와 미리 RAM에 저장할 수 있다. 많은 프로그램을 동시에 실행하는데 유리하다.

 

 

 

 

CPU가 실행할 프로그램을 책에 빗대어 생각해 보자. 보조기억장치는 책이 꽂혀있는 책장과 같고, RAM은 책을 읽을 수 있는 책상과 같다. 책상이 크다면 책장으로부터 많은 책을 미리 책상으로 가져와 여러 권을 동시에 읽을 수 있기 때문에 책을 가지러 왔다 갔다 하는 시간을 절약할 수 있다. 이처럼 RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는데 유리하다.

그럼 RAM 용량이 무지막지하게 크면 프로그램 실행 속도는 그에 비례하여 빨라질까? 그렇지 않다. RAM 용량이 커지면 프로그램 실행 속도가 어느 정도 증가하는 것은 맞지만, 용량이 필요 이상으로 커졌을 때 속도가 그에 비례하여 증가하지 않는다.


 

 

 

 

RAM의 종류

 

 

 

 

DRAM


 

 

 

SRAM

주기적으로 데이터를 재활성화할 필요도 없다. 시간이 지나도 저장된 데이터가 사라지지 않는다고 해서 SRAM이 비휘발성 메모리인 것은 아니다. SRAM도 전원이 공급되지 않으면 저장된 내용이 날아간다.

이러한 장점에도 불구하고 메모리로 사용되는 RAM은 일반적으로 SRAM이 아닌 DRAM이다.

 

SRAM은 DRAM보다 집적도가 낮고, 소비 전력도 크며, 가격도 비싸기 때문이다.

 

 

 

DRAM은 시간이 지나면 저장된 데이터가 점차 사라지는 RAM, SRAM은 시간이 지나도 저장된 데이터가 사라지지 않는 RAM이다.


 

 

 

SDRAM

SDRAM은 SRAM과 관계가 없다.

 

 

클럭 신호가 동기화되었다는 말은 클럭 타이밍에 맞춰 CPU와 정보를 주고받을 수 있음을 의미한다. 즉, SDRAM은 클럭에 맞춰 동작하며 클럭마다 CPU와 정보를 주고받을 수 있는 DRAM이다.


 

 

 

DDR SDRAM

 

한 클럭에 한 번씩 CPU와 데이터를 주고받을 수 있는 SDRAM에 비해 DDR SDRAM은 두 배의 대역폭으로 한 클럭당 두 번씩 CPU와 데이터를 주고받을 수 있다. DDR SDRAM의 전송 속도가 두 배 가량 빠르다. 이런 이유로 한 클럭당 하나씩 데이터를 주고받을 수 있는 SDRAM은 SDR SDRAM이라 부르기도 한다.

 

 

DDR2 SDRAM은 DDR SDRAM보다 대역폭이 두 배 넓은 SDRAM이다. DDR2 SDRAM은 SDR SDRAM보다 너비가 네 배 넓은 도로와 같다.

 

 

현재 가장 대중적으로 사용되는 RAM은 DDR4 SDRAM이다. SDR SDRAM보다 16배 넓은 대역폭을 갖는다.


 

 

 

 

단원 마무리하기

 

 

대역폭을 두 배 넓힌 SDRAM은 DDR SDRAM이다. 시간이 지나도 저장된 데이터가 사라지지 않는 RAM은 SRAM, 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화해야 하는 RAM은 DRAM, 클럭과 동기화된 DRAM은 SDRAM이다.

 

 

 

SRAM은 주로 캐시 메모리로 활용되고 집적도가 DRAM에 비해 낮다. DRAM은 주로 주기억장치로 활용되며, 대영량하기에 유리하다.

DDR3 SDRAM은 DDR2 SDRAM에 비해 대역폭이 2배 넓은 RAM이고, DDR2 SDRAM은 DDR SDRAM이 비해 대역폭이 2배 넓은 RAM이다.

 

이번에는 문제를 하나 빼고 다 틀렸다. 모두 외워야 하는 문제들인데 아직 암기까지는 하지 못했기 때문이다. 그래도 문제를 풀면서 이제 어느 정도 알게 된 것 같다.

 


 

 

 

학습을 마치고

RAM에 대해 많은 것들을 배울 수 있는 시간이었다. RAM은 컴퓨터를 다루면서 가장 많이 들어본 용어이지만 이것이 무엇을 뜻하는지 잘 몰랐었다. 이제 컴퓨터 사양을 고를 때 어떤 것이 더 좋은 성능을 낼 수 있는지 구분할 수 있을 것 같다. 문제는 많이 틀려서 마음이 언짢기도 하지만, 틀린 문제를 확실히 내 것으로 만들 수 있었다.