메모리 계층과 가상 메모리 관리의 이해

메모리 계층 구조와 SRAM·DRAM·Flash의 특성, 주소 변환과 가상 메모리 관리, 성능 지표를 정리한다.

2026-08-14 · 최초 발행 2025-12-30

CPU가 디스크를 직접 기다리지 않게 하는 저장 공간

메모리는 CPU가 실행할 프로그램과 처리할 데이터를 잠시 올려두는 공간이다. CPU와 저장장치의 속도 차이를 완충하고, 각 위치에 주소를 부여해 필요한 데이터에 접근할 수 있게 한다.

CPU는 GHz 단위, ns 수준으로 동작한다. DRAM은 수십 ns, SSD는 수십~수백 μs, HDD는 수 ms의 접근 시간을 가진다. 작업 데이터를 매번 디스크에서 읽어야 한다면 CPU 대기 시간이 크게 늘고 시스템 처리량은 급감한다. 멀티태스킹도 성립하기 어렵다.

CPU(GHz)레지스터(< 1ns)캐시(1-10ns)메인 메모리(50-100ns)SSD(50-100μs)HDD(5-10ms)속도빠름느림용량작음비용비쌈저렴

빠른 저장 공간과 큰 저장 공간을 함께 쓰는 방식

메모리 계층은 속도, 용량, 비용을 하나의 장치로 충족하기 어렵다는 제약에서 출발한다. CPU에 가까울수록 빠르지만 작고 비싸며, 아래 계층으로 갈수록 용량은 커지고 비용은 낮아지지만 접근은 느려진다.

레지스터는 CPU 내부에 있으며 가장 빠른 메모리다. 크기는 수십수백 바이트이고, 연산 중인 데이터를 일시 보관한다. 캐시 메모리는 L1/L2/L3로 나뉘며 SRAM으로 구성된다. KBMB 크기에서 자주 쓰는 데이터를 보관한다.

주기억장치는 DRAM으로 구성되며 GB 단위의 실행 프로그램과 데이터를 담는다. SSD와 HDD 같은 보조기억장치는 TB 단위의 데이터를 영구 저장한다.

이 구조가 작동하는 전제는 지역성이다. 시간적 지역성은 최근 접근한 데이터가 다시 사용되는 경향이고, 공간적 지역성은 인접 데이터가 함께 접근되는 경향이다. 순차적 지역성은 데이터를 순서대로 접근하는 특성이다. 캐시는 이 특성을 이용해 자주 쓰는 데이터를 빠른 계층에 배치하고, 계층 사이의 이동을 줄여 Hit Rate를 높인다.

계층 구조속도 vs 용량비용 최적화레지스터매우 빠름매우 작음캐시빠름작음메인 메모리중간중간보조기억장치느림균형점

전원이 끊기면 사라지는 메모리

SRAM은 플립플롭 회로를 사용하며 비트당 트랜지스터 6개로 구성된다. 전원이 공급되는 동안 데이터를 유지하고 리프레시가 필요 없다. 1-10ns의 빠른 속도를 제공하지만 비용이 높고 집적도가 낮아 대용량 제작에는 불리하다. 그래서 캐시 메모리에 주로 사용된다. 초고속이고 안정적이며 대기 전력이 낮다는 장점이 있는 반면, 비싸다는 제약이 있다.

DRAM은 커패시터와 비트당 트랜지스터 1개를 사용해 전하로 데이터를 표현한다. 저장된 전하를 유지하려면 수 ms마다 리프레시해야 한다. 속도는 50-100ns 수준이지만 대용량 제작이 쉽고 비용이 낮아 주기억장치에 적합하다.

DRAM에는 클럭 신호에 동기화하는 SDRAM, 양방향 데이터 전송을 사용하는 DDR SDRAM(DDR4, DDR5), 그래픽 카드용 고대역폭 GDDR, 적층 구조의 HBM이 있다.

휘발성 메모리SRAMDRAM플립플롭6T/bit리프레시 불필요캐시 메모리커패시터1T1C/bit리프레시 필요메인 메모리빠름비쌈느림저렴

전원이 없어도 남아야 하는 데이터

ROM 계열은 데이터 변경 방식에 따라 구분된다. Mask ROM은 제조 시 데이터가 고정되고, PROM은 1회 프로그래밍할 수 있다. EPROM은 UV로 소거한 뒤 다시 프로그래밍하며, EEPROM은 전기적으로 소거하고 재프로그래밍한다. BIOS/UEFI 펌웨어, 임베디드 시스템, 부트로더가 대표적인 용도다.

Flash 메모리도 비휘발성 저장을 담당한다. NAND Flash는 순차 접근에 적합하고 고밀도·저비용 특성으로 SSD, USB, SD 카드에 사용된다. 블록 단위로 소거한다. NOR Flash는 랜덤 접근과 바이트 단위 읽기에 적합하며, XIP 방식의 코드 실행과 펌웨어 저장에 쓸 수 있다.

Flash는 쓰기·소거 횟수에 제한이 있어 Wear Leveling이 필요하다. 블록 단위로 소거하고 페이지 단위로 쓰며, DRAM보다는 느리지만 HDD보다는 빠르다.

3D XPoint(Optane)는 Intel/Micron이 개발했으며 DRAM과 NAND 사이의 성능과 바이트 단위 접근을 특징으로 한다. MRAM은 자기 저항 변화로 데이터를 저장하는 비휘발성 메모리로, 고속과 무한 내구성을 내세운다. FRAM은 강유전체 특성을 이용하며 저전력과 고속 쓰기 특성을 가진다.

비휘발성 메모리ROM 계열Flash 계열신기술Mask ROMEPROMEEPROMNAND FlashNOR Flash3D XPointMRAMFRAM펌웨어부트로더SSD저장장치차세대메모리

주소 공간을 물리 메모리에 연결하는 일

프로그램은 논리 주소, 즉 가상 주소를 사용한다. 실제 메모리 모듈의 위치는 물리 주소로 표현되며, MMU가 논리 주소를 물리 주소로 바꾼다. 이 변환은 페이지 테이블을 기반으로 하고 TLB가 변환 속도를 높인다. 주소 변환은 접근 효율뿐 아니라 메모리 보호와 프로세스 격리에도 관여한다.

메모리 할당에는 연속 할당, 페이징, 세그멘테이션, 페이지드 세그멘테이션이 있다. 연속 할당은 프로세스를 연속된 공간에 두는 단순한 방식이지만 단편화 문제가 있다. 페이징은 고정 크기의 페이지로 나누며 4KB가 일반적이다. 외부 단편화를 해결할 수 있지만 페이지 테이블 오버헤드가 따른다. 세그멘테이션은 코드, 데이터, 스택 같은 논리 단위로 나누는 가변 크기 방식이며 내부 단편화를 최소화한다. 페이지드 세그멘테이션은 두 방식을 결합한 현대 OS의 표준 방식이다.

가상 메모리에서는 LRU, LFU, FIFO, Clock Algorithm 같은 페이지 교체 알고리즘을 사용한다. 물리 메모리가 부족하면 스와핑으로 데이터를 디스크로 옮기고, 페이지 폴트가 발생하면 다시 로드한다. Working Set 크기가 물리 메모리보다 커지면 페이지 폴트가 과도해지는 스래싱이 발생해 시스템 성능이 급격히 저하될 수 있다.

메모리 관리주소 변환할당 기법가상 메모리MMU페이지 테이블TLB페이징세그멘테이션페이지 교체스와핑효율적접근

대역폭과 지연 시간으로 읽는 메모리 성능

대역폭은 초당 전송할 수 있는 데이터량이다. DDR4-3200은 25.6 GB/s, DDR5-4800은 38.4 GB/s, HBM2E는 460 GB/s다.

지연 시간은 요청 이후 데이터가 도착할 때까지 걸리는 시간이다. CAS Latency(CL)는 열 주소 접근 지연을 뜻하고, tRCD는 RAS to CAS Delay, tRP는 Row Precharge Time을 가리킨다.

DDR4-3200 CL16-18-18-38 표기에서 첫 번째 값은 CAS Latency, 두 번째는 tRCD, 세 번째는 tRP, 네 번째는 tRAS다. 메모리의 성능은 전송량뿐 아니라 이 지연 시간과 계층 구조, 주소 변환 방식이 함께 결정한다.

메모리운영체제컴퓨터구조가상 메모리DRAM