Memory: ROM vs. RAM
ROM (Read-Only Memory): 읽기 전용 메모리
ROM은 이름 그대로 주로 읽기(Read) 작업만 가능하도록 설계된 비휘발성(Non-volatile) 메모리입니다. 즉, 전원 공급이 중단되어도 저장된 내용이 사라지지 않습니다.
1. ROM의 목적 및 주요 사용처
ROM의 주된 목적은 컴퓨터가 부팅되거나 특정 하드웨어가 작동하는 데 필요한 영구적인 명령어(펌웨어, Firmware)를 저장하는 것입니다. 이러한 명령어들은 자주 변경될 필요가 없으며, 시스템의 기본적인 동작을 제어합니다.
BIOS/UEFI: PC의 마더보드에 내장되어 컴퓨터가 켜졌을 때 가장 먼저 실행됩니다. 하드웨어 초기화, 부팅 장치 검색 및 운영체제 로딩 등의 역할을 합니다.
임베디드 시스템: 가전제품, 자동차 제어 장치, 의료 기기 등 특정 기능을 수행하는 임베디드 시스템에서 펌웨어 코드를 저장하는 데 사용됩니다.
게임 카트리지: 과거 게임 카트리지에 게임 데이터가 ROM 형태로 저장되었습니다.
폰트 저장: 프린터 등에서 폰트 데이터를 저장하는 데 사용되기도 합니다.
2. ROM의 종류
ROM은 한 번 기록된 내용을 변경하기 어려운 초기 형태부터, 필요에 따라 내용을 지우고 다시 기록할 수 있는 발전된 형태까지 다양합니다.
ROM (Mask ROM):
제조 과정에서 내용이 영구적으로 고정됩니다. 공장 출하 시 데이터가 기록되며, 사용자가 내용을 변경할 수 없습니다. 대량 생산 시 비용이 저렴합니다.
PROM (Programmable ROM):
사용자가 한 번(단 한 번)만 내용을 기록할 수 있습니다. 특수 장비(PROM 프로그래머)를 사용하여 퓨즈를 끊는 방식으로 기록합니다. 한 번 기록되면 수정할 수 없습니다.
EPROM (Erasable Programmable ROM):
자외선(Ultraviolet light)을 사용하여 저장된 내용을 모두 지우고 다시 기록할 수 있습니다. 지우는 데 시간이 오래 걸리고, 지우기 위해 칩을 장치에서 분리해야 하는 불편함이 있습니다. 개발 단계에서 유용합니다.
EEPROM (Electrically Erasable Programmable ROM):
전기적 신호를 사용하여 개별 바이트 단위로 내용을 지우고 다시 기록할 수 있습니다. EPROM보다 편리하지만, 쓰기 속도가 느리고 수명이 제한적(지우고 쓰는 횟수 제한)입니다.
플래시 메모리 (Flash Memory):
현재 가장 널리 사용되는 ROM의 한 형태이자 EEPROM의 발전된 형태입니다. 블록 단위로 전기적으로 내용을 지우고 다시 기록할 수 있습니다. EEPROM보다 빠르고 용량이 크며, 더 저렴합니다. USB 드라이브, SSD(Solid State Drive), 스마트폰의 내부 저장소, 디지털 카메라의 메모리 카드 등 다양한 곳에 사용됩니다. 플래시 메모리 덕분에 BIOS/UEFI 펌웨어를 사용자가 쉽게 업데이트할 수 있게 되었습니다.
3. ROM의 특징 요약
비휘발성(Non-volatile): 전원이 꺼져도 데이터가 유지됩니다.
주로 읽기 전용: 한 번 기록되면 내용 변경이 어렵거나 특수한 절차를 거쳐야 합니다.
주로 펌웨어 저장: 시스템의 기본 동작을 위한 코드를 저장합니다.
느린 쓰기 속도: (기록 가능한 ROM의 경우) 읽기에 비해 쓰기 속도가 매우 느립니다.
RAM (Random Access Memory): 랜덤 접근 메모리
RAM은 읽기(Read)와 쓰기(Write) 작업이 모두 가능하며, 휘발성(Volatile) 메모리입니다. 즉, 전원 공급이 중단되면 저장된 내용이 모두 사라집니다. RAM은 컴퓨터의 **주 메모리(Main Memory)**로 사용됩니다.
1. RAM의 목적 및 주요 사용처
RAM의 주된 목적은 CPU가 현재 실행 중인 프로그램의 코드와 데이터를 임시로 저장하는 것입니다. CPU는 RAM에 저장된 정보에 매우 빠르게 접근하여 처리할 수 있습니다.
운영체제(OS): 부팅 후 운영체제 코드가 RAM에 로드되어 상주합니다.
응용 프로그램: 웹 브라우저, 워드 프로세서, 게임 등 사용자가 실행하는 모든 응용 프로그램의 코드와 데이터가 RAM에 로드됩니다.
작업 중인 데이터: 문서 편집 중인 내용, 게임 플레이 데이터, 인터넷에서 로드된 이미지 등 현재 CPU가 활발하게 처리하고 있는 모든 데이터가 RAM에 저장됩니다.
2. RAM의 종류
RAM은 크게 SRAM과 DRAM 두 가지 주요 유형으로 나뉩니다.
SRAM (Static RAM):
속도: 매우 빠릅니다. 플립플롭(Flip-flop) 회로를 사용하여 데이터를 저장하며, 한 번 저장된 데이터는 전원 공급이 유지되는 한 유지됩니다. 주기적인 재충전이 필요 없습니다.
용량: 상대적으로 작습니다. 각 비트를 저장하는 데 여러 개의 트랜지스터(4~6개)가 필요하여 집적도가 낮습니다.
집적도 : 공간 안에 얼마나 많은 기능을 넣을 수 있는지를 나타내는 척도
비용: 매우 비쌉니다.
주요 사용처: CPU 내부의 캐시 메모리(Cache Memory)로 주로 사용됩니다 (L1, L2, L3 캐시). 빠른 속도가 핵심적인 부분에 사용됩니다.
DRAM (Dynamic RAM):
속도: SRAM보다 느립니다. 데이터를 커패시터에 전하 형태로 저장하며, 커패시터의 전하는 시간이 지남에 따라 누설되므로 주기적으로 재충전(Refresh)해 주어야 합니다. 수 밀리초(ms)마다 셀을 재충전 해 주어야 하는데, 재충전 시간 동안에는 메모리 접근을 일시적으로 중단시키므로 접근 속도가 저하됩니다.
재충전을 위한 타이밍 회로, 컨트롤러 등 추가 제어 회로가 필요
용량: 상대적으로 큽니다. 각 비트를 저장하는 데 트랜지스터와 커패시터 각 하나씩만 필요하여 집적도가 높습니다.
비용: 상대적으로 저렴합니다.
주요 사용처: 컴퓨터의 주 메모리(Main Memory)로 널리 사용됩니다. 우리가 흔히 'RAM'이라고 부르는 것은 대부분 DRAM입니다 (예: DDR5 SDRAM).
특징 | SRAM (Static Random Access Memory) | DRAM (Dynamic Random Access Memory) |
---|---|---|
구조적 특징 | 플립플롭 (Flip-flop) 소자로 구성 | 커패시터 (Capacitor)를 사용 |
휘발성/비휘발성 | 휘발성 (Volatile) - 전원이 끊기면 데이터 손실 | 휘발성 (Volatile) - 전원이 끊기면 데이터 손실 |
용량 | 적다 - 한 비트를 표현하는 데 더 많은 트랜지스터 필요 | 크다 - 회로가 비교적 간단하여 집적도가 높음 |
가격 | 비싸다 - 더 많은 소자를 사용 | 저렴하다 - 회로가 간단하고 집적도가 높음 |
속도 | 빠르다 - 캐패시터 미사용으로 재충전 불필요 | 느리다 - 커패시터 방전을 막기 위해 주기적인 재충전 필요 |
재충전 여부 | 재충전 필요 없음 | 재충전 필요 (Refresh) |
3. RAM의 특징 요약
휘발성: 전원이 꺼지면 데이터가 모두 사라집니다.
읽기/쓰기 가능: 자유롭게 데이터를 읽고 쓸 수 있습니다.
임시 데이터 저장: 현재 CPU가 사용하는 프로그램 코드와 데이터를 저장합니다.
빠른 접근 속도: ROM이나 보조 저장 장치(SSD/HDD)에 비해 매우 빠릅니다.
ROM과 RAM의 주요 차이점 비교
특징 | ROM (Read-Only Memory) | RAM (Random Access Memory) |
---|---|---|
휘발성 | 비휘발성 (전원 Off 시 데이터 유지) | 휘발성 (전원 Off 시 데이터 소실) |
용도 | 펌웨어, 부팅 코드, 시스템 기본 설정 등 영구 데이터 저장 | 실행 중인 프로그램 코드 및 데이터 등 임시 데이터 저장 |
읽기/쓰기 | 주로 읽기 전용 (쓰기 시 특수 절차 필요, 느림) | 읽기 및 쓰기 모두 자유롭게 가능 (빠름) |
속도 | 읽기 속도는 빠르지만, (기록 가능한 종류는) 쓰기 속도 느림 | 매우 빠름 (읽기, 쓰기 모두) |
비용 | 용량 대비 상대적으로 저렴 (플래시 메모리 기준) | 용량 대비 상대적으로 비쌈 |
대표 종류 | Mask ROM, PROM, EPROM, EEPROM, 플래시 메모리 | SRAM, DRAM |
주요 사용처 | BIOS/UEFI 칩, 임베디드 기기 펌웨어, SSD/USB 메모리 | PC 주 메모리, CPU 캐시 메모리 |
결론
ROM과 RAM은 컴퓨터 시스템에서 각기 다른 중요한 역할을 수행합니다. ROM은 시스템의 생명선과 같은 펌웨어와 같은 불변의 정보를 영구적으로 저장하여 컴퓨터가 시동되고 기본적인 기능을 수행할 수 있도록 합니다. 반면, RAM은 CPU가 현재 활발하게 작업하는 데이터를 빠르게 읽고 쓸 수 있는 임시 작업 공간을 제공하여, 운영체제와 응용 프로그램이 원활하게 동작하고 사용자에게 즉각적인 반응성을 제공하도록 합니다. 이 두 가지 메모리 유형은 상호 보완적으로 작동하여 현대 컴퓨터의 복잡한 기능을 가능하게 합니다.