보조기억장치는 전원을 꺼도 내용을 유지하지만, CPU는 보조기억장치에 직접 접근하지 못한다. 그래서 일반적으로 보조기억장치에는 보관할 대상을 저장하고, RAM에는 실행할 대상을 저장한다. CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면 이를 RAM으로 복사하여 저장한 뒤 실행한다.
CPU가 실행할 프로그램을 책에 빗대어 생각해 보자. 보조기억장치는 책이 꽂혀 있는 책장과 같고, RAM은 책을 읽을 수 있는 책상과 같다. 책상이 크면 책장으로부터 많은 책을 미리 책상으로 가져와 여러 권을 동시에 읽을 수 있기 때문에 책을 가지러 왔다 갔다 하는 시간을 절약할 수 있다. 이처럼 RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는 데 유리하다.
그렇다면 RAM의 용량이 무지막지하게 크면 프로그램 실행 속도는 그에 비례해 빨라질까? 그렇지는 않다. RAM 용량이 커지면 프로그램 실행 속도가 어느 정도 증가하는 것은 맞지만, 용량이 필요 이상으로 커졌을 때 속도가 그에 비례해 증가하지는 않는다.
책츨 100권 이상 올려놓을 수 있는 책상에서 책을 읽든, 1,000권 올려 놓을 수 있는 책상에서 책을 읽든 책장을 오가는 시간에 별 차이가 없는 것과 마찬가지다.
DRAM은 Dynamic RAM의 준말이다. Dynamic은 '동적의'를 의미하는데, 이는 저장된 데이터가 동적으로 변하는 RAM을 의미한다. 즉, 시간이 지나면 저장된 데이터가 점차 사라지므로 데이터의 소멸을 막기 위해 일정 주기 제이터를 재활성화 해야 한다.
이런 단점에도 일반적으로 메모리로써 사용하는 RAM은 DRAM인데, 소비 전력이 비교적 낮고, 저렴하고, 집적도가 높기 때문에 대용량으로 설계하기 용이하다.
💡 집적도가 높다: 더 작고 빽빽하게 만들 수 있다
SRAM은 Static RAM의 준말이다. Static은 '정적의'를 의미하는데, 이는 저장된 데이터가 변하지 않는 RAM을 의미한다. DRAM과는 달리 시간이 지나도 저장된 데이터가 사라지지 않는다. 당연히 주기적으로 데이터를 재활성화할 필요가 없다. 일반적으로 DRAM보다 속도도 더 빠르다.
하지만 이런 장점에도 메모리로 사용되는 RAM은 SRAM이 아니라 DRAM인데, SRAM은 집적도가 낮고, 소비 전력도 크며, 가격도 비싸다.
그래서 SRAM은 메모리가 아닌 '대용량으로 만들어질 필요는 없지만 속도가 빨라야 하는 저장 장치', 캐시 메모리에 사용 된다.
특징 | DRAM | SRAM |
---|---|---|
재충전 | 필요 | 불필요 |
속도 | 느림 | 빠름 |
가격 | 저렴 | 비쌈 |
집적도 | 높음 | 낮음 |
소비 전력 | 높음 | 낮음 |
사용 용도 | 주기억장치(RAM) | 캐시 메모리 |
SDRAMsynchronous Dynamic RAM은 클럭 신호와 동기화된, 발전된 형태의 DRAM이다. '클럭 신호와 동기화 되었다'는 말은 클럭 타이밍에 맞춰 CPU와 정보를 주고 받을 수 있음을 의미한다.
DDR SDRAMDouble Data Rate SDRAM은 대역폭을 넓혀 속도를 빠르게 만든 SDRAM이다.
💡 대역폭data rate이란 '데이터를 주고받는 길의 너비'를 의미한다.
대역폭은 자동차 도로에 비유될 수 있는데 한 클럭에 하나씩 정보를 주고받을 수 있는 SDRAM과 비교해 DDR SDRAM은 너비가 두 배인 도로와 같다. 당연하게도 전송 속도는 두 배가량 빠르다. 이러한 이유로 SDRAM을 SDR SDRAMSingle Data Rate SDRAM이라 부르기도 한다.
DDR2 SDRAM은 DDR SDRAM보다 대역폭이 두 배 넓고 SDR SDRAM보다 4배,
DDR3 SDRAM은 DDR2 SDRAM보다 두 배 넓고 SDR SDRAM보단 8배,
최근 흔히 쓰는 DDR4 SDRAM은 SDR SDRAM보다 16배 넓은 대역폭을 가진다.