메모리 계층 구조와 레지스터·캐시·RAM·SSD의 역할

레지스터, 캐시, RAM, SSD와 HDD로 이어지는 메모리 계층 구조의 속도·용량·비용 트레이드오프와 데이터 이동 방식을 정리한다.

2026-08-14 · 최초 발행 2026-01-16

빠른 저장장치와 큰 저장장치를 함께 쓰는 구조

메모리 계층은 속도, 용량, 비용 사이의 균형을 맞추기 위한 컴퓨터 시스템의 설계 방식이다. 무한히 빠르고, 무한히 크며, 영구적이고, 저렴한 메모리는 현실에 없다. 빠른 메모리는 비싸고 저장 용량이 작으며, 큰 용량을 제공하는 메모리는 상대적으로 느리고 저렴하다.

그래서 시스템은 CPU 가까이에는 작은 고속 저장장치를 두고, 아래 계층으로 갈수록 더 큰 용량의 저장장치를 배치한다.

메모리 계층 피라미드위로아래로레지스터~1ns | ~KBL1 캐시~2ns | ~64KBL2 캐시~10ns | ~512KBL3 캐시~40ns | ~32MB주기억장치(RAM)~100ns | ~64GBSSD~100us | ~TBHDD~10ms | ~TB속도 증가용량 증가
계층 접근 시간 용량 비용($/GB) 휘발성
레지스터 < 1ns ~1KB 최고 휘발성
L1 캐시 1-2ns 32-64KB 매우 높음 휘발성
L2 캐시 5-10ns 256KB-1MB 높음 휘발성
L3 캐시 20-50ns 8-64MB 중간 휘발성
RAM 50-100ns 16-256GB 낮음 휘발성
SSD 25-100us 256GB-8TB 매우 낮음 비휘발성
HDD 5-15ms 1TB-20TB 최저 비휘발성

CPU 내부에서 명령어를 받치는 레지스터

레지스터는 CPU 내부에 있으며, 명령어를 실행하는 데 즉시 필요한 데이터를 저장하는 가장 빠른 저장장치다. 플립플롭 또는 래치로 구성되고 CPU 클럭 속도와 동일하게 동작한다.

분류 레지스터 기능
범용 레지스터 RAX, RBX, RCX, RDX 산술/논리 연산 데이터 저장
인덱스 레지스터 RSI, RDI 배열/문자열 처리
포인터 레지스터 RSP, RBP 스택 관리
명령어 포인터 RIP 다음 명령어 주소
플래그 레지스터 RFLAGS CPU 상태 정보
세그먼트 레지스터 CS, DS, SS, ES 메모리 세그먼트 지정

레지스터 파일은 범용 레지스터와 벡터 레지스터를 포함하며, ALU와 FPU/SIMD 연산부가 읽기와 쓰기를 수행한다.

레지스터 파일읽기/쓰기읽기/쓰기벡터 레지스터XMM0-XMM15(128비트)YMM0-YMM15(256비트)ZMM0-ZMM31(512비트)범용 레지스터 (x86-64)RAXRBXRCXRDXRSIRDIRSPRBPR8-R15ALUFPU/SIMD

컴파일러는 레지스터 할당(Register Allocation) 알고리즘으로 변수를 가능한 한 레지스터에 유지해 메모리 접근을 줄인다. 자주 쓰는 변수를 레지스터에 배치하는 방식이 성능에 직접 영향을 준다.

캐시가 CPU와 RAM 사이의 간격을 줄이는 방식

현대 프로세서는 여러 단계의 캐시를 둔다. L1 캐시는 코어 전용이며 가장 빠르고, L2는 코어 전용 또는 공유 형태가 될 수 있다. L3는 모든 코어가 공유한다.

멀티코어 CPU코어 3코어 2코어 1L1I(명령어)L1D(데이터)L2 캐시L1I(명령어)L1D(데이터)L2 캐시L1I(명령어)L1D(데이터)L2 캐시공유 L3 캐시(LLC)주기억장치

캐시 계층은 데이터 복제 방식에 따라 포용적, 배타적, 비포용적으로 나뉜다. 포용적(Inclusive) 캐시는 상위 계층의 데이터를 하위 계층에도 보관하므로 일관성 유지가 쉽지만 메모리 중복으로 효율이 낮아질 수 있다. 배타적(Exclusive) 캐시는 데이터를 한 계층에만 두어 메모리 효율을 높이지만 일관성 관리가 복잡하다. 비포용적(Non-Inclusive) 캐시는 포용성을 강제하지 않아 설계 유연성을 제공하며 현대 프로세서에서 주로 채택된다.

쓰기 미스와 갱신을 처리하는 정책도 캐시 특성을 결정한다.

정책 설명 장점 단점
Write-Through 캐시와 메모리 동시 갱신 일관성 보장 쓰기 지연
Write-Back 캐시만 갱신, 교체 시 메모리 반영 쓰기 성능 우수 복잡한 관리
Write-Allocate 쓰기 미스 시 블록 로드 후 쓰기 후속 접근 최적화 불필요한 로드 가능
No-Write-Allocate 쓰기 미스 시 메모리 직접 쓰기 단순함 지역성 활용 저하

RAM의 저장 방식과 접근 타이밍

DRAM(Dynamic RAM)은 커패시터에 전하를 저장하며 주기적인 리프레시가 필요하다. 집적도가 높아 주기억장치로 사용된다.

세대 데이터 전송률 동작 전압 특징
DDR4 2133-3200 MT/s 1.2V Bank Group 도입
DDR5 4800-8400 MT/s 1.1V 채널당 대역폭 2배
LPDDR5 6400 MT/s 1.05V 모바일 저전력

SRAM(Static RAM)은 플립플롭으로 구성되므로 리프레시가 필요 없다. 다만 비트당 트랜지스터 수가 많아 집적도가 낮고, 캐시 메모리에 사용된다.

DRAM 읽기 요청은 행 주소 지정과 열 주소 지정, 데이터 버스트 전송을 거쳐 CPU로 전달된다.

DRAM 모듈메모리 컨트롤러CPUDRAM 모듈메모리 컨트롤러CPUtRCD (RAS to CAS Delay)CL (CAS Latency)읽기 요청RAS (Row Address Strobe)CAS (Column Address Strobe)데이터 버스트 전송데이터 전달

메모리 인터리빙은 연속된 주소를 여러 메모리 뱅크에 분산해 병렬 접근을 가능하게 한다. 이 방식은 대역폭을 높이고 뱅크 충돌을 줄인다.

HDD와 SSD가 제공하는 저장 특성

HDD(Hard Disk Drive)는 자기 디스크 플래터에 데이터를 기록하는 기계식 저장장치다. 플래터는 자기 코팅된 원형 디스크이고, 헤드는 데이터를 읽고 쓴다. 액추에이터는 헤드 위치를 옮기며, 스핀들은 플래터를 회전시킨다.

HDD의 회전 속도는 5400/7200/10000/15000 RPM이고, 평균 탐색 시간은 5-15ms, 데이터 전송률은 100-200 MB/s다.

SSD(Solid State Drive)는 NAND 플래시 메모리를 사용하는 비기계식 저장장치다.

SSD 내부 구조NAND 플래시 어레이채널 1호스트 인터페이스(NVMe/SATA)SSD 컨트롤러DRAM 캐시채널 2채널 3채널 4

SSD는 랜덤 접근 성능이 0.025-0.1ms이며, NVMe 순차 읽기/쓰기는 3000-7000 MB/s다. TBW(Total Bytes Written) 제한이 있고, 웨어 레벨링으로 셀 수명을 균등화한다.

항목 HDD SSD
접근 시간 5-15ms 0.025-0.1ms
순차 읽기 100-200 MB/s 500-7000 MB/s
랜덤 읽기 0.5-1 MB/s 50-100 MB/s
내구성 높음 쓰기 제한 있음
소음/발열 있음 없음
GB당 비용 낮음 높음
용량 ~20TB ~8TB

가상 주소 공간에서 저장장치까지의 데이터 이동

가상 메모리 시스템은 RAM과 보조기억장치를 통합해 물리 메모리보다 큰 주소 공간을 제공한다. 가상 페이지는 물리 프레임이나 스왑 영역에 매핑되며, 페이지 폴트 시 스왑을 통해 데이터가 이동한다.

스왑 영역물리 메모리가상 주소 공간매핑매핑매핑매핑페이지 폴트 스왑가상 페이지 1가상 페이지 2가상 페이지 3가상 페이지 4물리 프레임 1물리 프레임 2스왑 페이지 1스왑 페이지 2
계층 이동 전송 단위 일반적 크기
레지스터 - L1 캐시 워드 8바이트
L1 - L2 캐시 캐시 라인 64바이트
L3 캐시 - RAM 캐시 라인 64바이트
RAM - SSD/HDD 페이지 4KB-2MB

계층 특성에 맞춘 접근 패턴

레지스터 수준에서는 지역 변수 활용, 컴파일러 최적화 옵션, 인라인 함수 사용이 최적화 지점이 된다. 캐시에서는 캐시 친화적 데이터 구조와 루프 최적화(타일링, 언롤링), 프리페칭을 활용할 수 있다.

RAM에서는 메모리 풀링, 대용량 페이지, NUMA 인지 할당을 고려한다. 보조기억장치에서는 순차 I/O를 최대화하고 버퍼링/캐싱과 비동기 I/O를 활용한다.

메모리 계층은 레지스터의 초고속 접근부터 SSD/HDD의 대용량 저장까지를 연결해 속도와 용량의 트레이드오프를 다룬다. 시스템 프로그래머와 애플리케이션 개발자는 각 계층의 특성과 지역성을 이해하고, 데이터 배치와 접근 패턴을 조정해 전체 시스템 성능을 높일 수 있다.

메모리 계층 구조레지스터캐시 메모리RAMSSD컴퓨터구조