1️⃣ RAM의 특징
RAM에는 실행할 프로그램의 명령어와 데이터가 저장된다.
중요한 것은 전원이 꺼지면 RAM에 저장된 명령어와 데이터가 모두 날아간다. 이렇게 전원을 끄면 저장된 내용이 사라지는 저장 장치를 휘발성 저장 장치(volatile memory)라고 한다.
반대로 전원이 꺼져도 저장된 내용이 유지되는 저장장치는 비휘발성 저장 장치(non-volatile memory)라고 한다. 하드 디스크나 SSD, CD-ROM, USB 메모리와 같은 보조기억장치가 대표적인 비휘발성 장치이다.
보조기억장치는 전원을 꺼도 내용을 유지하지만, CPU는 보조기억장치에 직접 접근하지 못한다. 그래서 일반적으로 보조기억장치인 비휘발성 저장 장치에는 '보관할 대상'을 저장하고, 휘발성 저장 장치인 RAM에는 '실행할 대상'을 저장한다. CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면 이를 RAM으로 복사하여 저장한 뒤 실행한다. CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면 이를 RAM으로 복사하여 저장한 뒤 실행한다.
2️⃣ RAM의 용량과 성능
CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면 이를 RAM으로 가져와야 할 텐데, RAM 용량이 적다면 보조기억장치에서 실행할 프로 그램을 가져오는 일이 잦아 실행 시간이 길어진다.
예를 들어 RAM 용량이 프로그램 A, B, C 중 하나만 저장할 수 있을 만큼 작다면, CPU가 프로그램 A를 실행하고 싶을 때는 보조기억장치에서 프로그램 A를 RAM으로 가져오고, 프로그램 B를 실행하고 싶을 때는 다시 프로그램 B를 RAM으로 가져오는 식의 반복을 해야 한다.
하지만 RAM의 용량이 충분히 크다면 보조 기억장치에서 많은 데이터를 가져와 미리 RAM에 저장할 수 있다. 많은 프로그램을 동시에 실행하는 데 유리하다. 방금 전 예시의 경우 용량이 충분히 크다면 프로그램 A, B, C를 보조기억장치에서 여러 번 가져오는 수고를 덜 수 있다.
또한, CPU가 실행할 프로그램을 책에 빗대어 생각해 보면 보조기억장치는 책이 꽂혀있는 책장과 같고, RAM은 책을 읽을 수 있는 책상과 같다. 책상이 크다면 책장으로부터 많은 책을 미리 책상으로 가져와 여러 권을 동시에 읽을 수 있기 때문에 책을 가지러 왔다 갔다 하는 시간을 절약할 수 있다. 이처럼 RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는데 유리하다.
✅ 그럼 RAM 용량이 크면 프로그램 실행 속도는 그에 비례하여 빨라질까?
그렇지 않다. RAM 용량이 커지면 프로그램 실행 속도가 어느 정도 증가하는 것은 맞지만, 용량이 필요 이상으로 커졌을 때 속도가 그에 비례하여 증가하지 않는다. 책을 100권 이상 올려놓을 수 있는 책상에서 책을 읽던, 1000권 이상 올려놓을 수 있는 책상에서 책을 읽든 간에 책장을 오가는 시간에는 별 차이 없는 것과 마찬가지이다.
3️⃣ RAM의 종류
1) DRAM
DRAM은 Dynamic RAM의 준말이다. 이는 저장된 데이터가 동적으로 변하는(사라지는) RAM을 의미한다. 즉, DRAM은 시간이 지나면 저장된 데이터가 점차 사라지는 RAM이다. 그렇기에 DRAM은 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화(다시 저장) 해야 한다.
이런 단점에도 일반적으로 사용하는 메모리로 소비전력이 비교적 낮고, 저렴하고, 집적도가 높기(작고 빽빽하게 만들 수 있음) 때문에 대용량으로 설계하기 용이하다.
2) SRAM
SRAM은 Static RAM의 준말이다. 이는 저장된 데이터가 변하지 않는 RAM을 의미한다. 시간이 지나면 점차 저장된 내용이 소실되는 DRAM과는 달리 SRAM은 시간이 지나도 저장된 데이터가 사라지지 않는다. 당연하게 주기적으로 데이터를 재활성화할 필요가 없다. 그리고 일반적으로 SRAM이 DRAM보다 속도도 빠르다.
✅ 시간이 지나도 저장된 데이터가 사라지지 않는다고 해서 SRAM이 비휘발성 메모리인 것은 아니다. SRAM도 전원이 공급되지 않으면 저장된 내용이 날아간다.
이런 장점에도 불구하고 메모리로 사용되는 RAM은 일반적으로 SRAM이 아닌 DRAM이다. SRAM은 DRAM보다 집적도가 낮고, 소비전력도 크며, 가격도 더 비싸다. 그래서 SRAM은 메모리가 아닌 '대용량으로 만들어질 필요는 없지만 속도가 빨라야 하는 저장 장치', 예를 들어 캐시 메모리에 사용된다.
3) SDRAM
SDRAM(Synchronous Dynamic RAM)은 클럭 신호와 동기화된, 발전된 형태의 DRAM이다.
'클럭 신호와 동기화되었다.'라는 것은 클럭 타이밍에 맞춰 CPU와 정보를 주고받을 수 있음을 의미한다. 즉, SDRAM은 클럭에 맞춰 동작하며 클럭마다 CPU와 정보를 주고받을 수 있는 DRAM이다.
시스템의 클럭속도와 동기화하여 동작할 수 있기에 수행 명령 수를 늘려 좋은 효율로 작동시킬 수 있다. 속도는 100 MHz 이상의 버스 속도를 유지하는 기능이 내장되어 있다.
4) DDR SDRAM
DDR SDRAM(Double Data Rate SDRAM)은 최근 가장 흔히 사용되는 RAM이다. DDR SDRAM은 대역폭을 넓혀 속도를 빠르게 만든 SDRAM이다. 여기서 대역폭(data rate)이란 '데이터를 주고받는 길의 너비'를 의미한다.
대역폭은 흔히 자동차 도로에 비유된다. 한 클럭에 하나씩 정보를 주고받을 수 있는 SDRAM과 비교했을 때 DDR SDRAM은 너비가 두 배인 도로와 같다. 즉, 한 클럭에 한 번씩 CPU와 주고받을 수 있는 SDRAM에 비해 DDR SDRAM은 두 배의 대역폭으로 한 클럭당 두 번씩 CPU와 데이터를 주고받을 수 있다. 당연하게도 DDR SDRAM의 전송 속도가 두 배가량 빠르다. 이런 이유에서 한 클럭당 하나의 데이터를 주고받을 수 있는 SDRAM을 SDR SDRAM(Single Data Rate SDRAM)이라 부르기도 한다.
또한, DDR2 SDRAM은 DDR SDRAM보다 대역폭이 두 배 넓은 SDRAM이다. 이는 SDR SDRAM보다 너비가 네 배 넓은 도로와 같다.
DDR3 SDRAM은 DDR2 SDRAM보다 대역폭이 두 배 넓고, SDR SDRAM보다 대역폭이 여덟 배 넓은 SDRAM이다. 그리고 최근에 흔히 사용하는 메모리는 DDR4 SDRAM으로 SDR SDRAM보다 열여섯 배 넓은 대역폭을 가진다.
✅ PSRAM(Pseudo SRAM)도 존재한다. 내부에 충전회로를 장착하여 DRAM의 단점을 보완했다. 주기적으로 전하 충전이 되기 때문에 데이터 유실을 막을 수 있고 SRAM처럼 사용할 수 있다고 한다.
SDRAM, DDR1, DDR2, DDR3, DDR4 차이점 정리글
https://kr.transcend-info.com/Support/FAQ-296
참고자료 -
'CS' 카테고리의 다른 글
[CS] 캐시 메모리 (0) | 2023.03.02 |
---|---|
[CS] 메모리의 주소 공간 (0) | 2023.02.28 |
[CS] CISC와 RISC (0) | 2023.02.21 |
[CS] 명령어 병렬 처리 기법 (0) | 2023.02.16 |
[CS] 클럭과 코어, 스레드 (0) | 2023.02.14 |