5️⃣ 메모리 계층구조
컴퓨터 시스템에서 메모리는 CPU가 데이터를 저장하고 불러오는 중요한 요소입니다.
하지만, 메모리는 속도와 비용에 따라 다양한 계층을 형성하며, 이를 메모리 계층 구조(Memory Hierarchy) 라고 합니다.
메모리 계층 구조는 고속의 작은 용량 메모리(CPU 캐시)에서부터 저속의 대용량 저장장치(SSD, HDD)까지 구성되어 있으며,
CPU가 데이터를 처리할 때 가장 빠르고 가까운 메모리부터 접근하는 방식을 사용합니다.
이번 섹션에서는 메모리 계층 구조의 개념, 각 계층별 특징, 메모리 성능 최적화 기법 등을 자세히 살펴보겠습니다.
🔹 1. 메모리 계층 구조란?
✅ 1.1 메모리 계층 구조 개념
메모리 계층 구조(Memory Hierarchy)는 속도, 비용, 용량에 따라 계층적으로 배치된 메모리 시스템을 의미합니다.
CPU는 빠른 속도의 메모리부터 데이터를 검색하며, 필요할 경우 낮은 계층의 메모리까지 접근합니다.
💡 메모리 계층 구조의 핵심 개념 1️⃣ 빠른 메모리는 용량이 작고, 비용이 비싸다.
2️⃣ 느린 메모리는 용량이 크고, 비용이 저렴하다.
3️⃣ CPU는 가장 빠른 캐시 메모리부터 데이터를 검색한 후, RAM → 저장장치 순으로 접근한다.
✅ 메모리 계층 구조를 활용하면, 속도와 비용의 균형을 맞출 수 있음
✅ 1.2 메모리 계층 구조의 단계
메모리 계층 구조는 CPU 레지스터(Register)에서부터 하드디스크(HDD/SSD)까지 구성됩니다.
메모리 계층 | 속도 | 용량 | 비용 | 설명 |
CPU 레지스터 | 가장 빠름 | 매우 작음 (KB) | 매우 비쌈 | CPU 내부에서 즉시 연산 |
L1 캐시 | 매우 빠름 | 작음 (KB) | 비쌈 | CPU 코어와 가장 가까운 캐시 |
L2 캐시 | 빠름 | 중간 (MB) | 비쌈 | 여러 코어가 공유하는 캐시 |
L3 캐시 | 비교적 빠름 | 큼 (MB~GB) | 중간 | 모든 코어가 공유 |
RAM (주기억장치) | 중간 | 수 GB~수십 GB | 보통 | 실행 중인 프로그램과 데이터를 저장 |
SSD (고속 저장장치) | 느림 | 수백 GB~수 TB | 보통 | 데이터 저장용, RAM보다 느림 |
HDD (저속 저장장치) | 매우 느림 | 수 TB 이상 | 저렴 | 장기 데이터 보관 |
💡 쉽게 말해:
- CPU 레지스터 → 캐시 → RAM → SSD → HDD 순서로 속도가 느려지고, 용량이 커진다.
- CPU는 가까운 곳에서 데이터를 찾고, 없으면 RAM → SSD → HDD 순으로 검색한다.
✅ 속도가 빠를수록 용량이 작고 비용이 비싸므로, 메모리 계층 구조를 활용하여 최적의 성능을 유지
🔹 2. 메모리 계층별 상세 개요
✅ 2.1 CPU 레지스터(Register)
- CPU 내부에 위치한 초고속 메모리
- 명령어 실행에 필요한 데이터 저장
- 매우 빠르지만 용량이 매우 작음 (몇 KB 수준)
💡 예제:
MOV R1, #5 ; R1 레지스터에 5 저장
ADD R2, R1, R3 ; R2 = R1 + R3
✅ CPU 내부에서 즉시 연산이 가능하므로, 가장 빠른 메모리
✅ 2.2 캐시 메모리(Cache Memory)
- CPU와 RAM 사이에서 자주 사용되는 데이터를 저장하는 초고속 메모리
- L1, L2, L3 캐시로 구분됨
캐시 계층 | 설명 |
L1 캐시 | CPU 코어별로 존재, 가장 빠름 |
L2 캐시 | CPU 코어별로 존재, L1보다 큼 |
L3 캐시 | 여러 코어가 공유하는 캐시 |
💡 캐시 메모리는 CPU가 필요한 데이터를 빠르게 가져오기 위해 사용됨
✅ CPU가 캐시에서 데이터를 찾지 못하면 RAM에서 가져옴 (캐시 미스, Cache Miss)
✅ 2.3 주기억장치(RAM, Random Access Memory)
- 현재 실행 중인 프로그램과 데이터를 저장하는 휘발성 메모리
- 속도는 빠르지만, 전원이 꺼지면 데이터가 사라짐
- DDR4, DDR5 등으로 발전하며 속도가 증가
💡 RAM 예제
int data = 100; // RAM에 변수 저장
✅ RAM이 충분하지 않으면 속도가 급격히 저하됨 (페이지 스와핑 발생)
✅ 2.4 저장장치 (SSD, HDD)
저장장치 유형 | 속도 | 설명 |
SSD (Solid State Drive) | 빠름 | 비휘발성 메모리, 데이터 읽기/쓰기 속도 높음 |
HDD (Hard Disk Drive) | 느림 | 자기 디스크 기반, 대용량 데이터 저장 가능 |
💡 SSD는 NAND 플래시 메모리를 사용하여 HDD보다 빠른 속도를 제공
✅ HDD는 비용이 저렴하지만 속도가 느려서 주로 대용량 데이터 저장용으로 사용됨
🔹 3. 메모리 계층 구조의 성능 최적화
✅ 3.1 캐시 미스(Cache Miss) 줄이기
캐시 미스(Cache Miss)가 발생하면 CPU는 RAM에서 데이터를 가져와야 하므로 성능 저하가 발생합니다.
💡 해결 방법 ✅ 로컬리티(Locality) 최적화 → 자주 사용하는 데이터를 캐시에 유지
✅ 프리페칭(Prefetching) → 미리 데이터를 불러와 캐시에 저장
✅ 3.2 가상 메모리(Virtual Memory) 활용
RAM 용량이 부족하면 가상 메모리(Virtual Memory) 를 사용하여 SSD/HDD의 일부를 RAM처럼 활용할 수 있습니다.
💡 해결 방법 ✅ 페이지 파일(Page File) 설정 → 메모리가 부족할 때 SSD/HDD를 활용
✅ 메모리 압축(Memory Compression) → RAM의 공간을 효율적으로 사용
✅ 3.3 SSD와 HDD의 효율적인 활용
- 운영 체제(OS), 프로그램 실행 파일은 SSD에 저장하여 빠른 실행 속도 유지
- 문서, 사진, 동영상 같은 대용량 파일은 HDD에 저장하여 비용 절감
💡 SSD + HDD 조합으로 비용과 성능의 균형을 맞출 수 있음
✅ 마무리: 메모리 계층 구조 핵심 정리
✅ CPU → 캐시 → RAM → SSD → HDD 순서로 속도는 느려지고 용량은 커짐
✅ CPU는 데이터를 빠르게 찾기 위해 가장 가까운 메모리부터 검색
✅ 캐시 메모리는 CPU 속도를 최적화하는 중요한 요소
✅ SSD는 속도가 빠르지만 비싸고, HDD는 용량이 크지만 속도가 느림
✅ 가상 메모리(Virtual Memory)를 활용하면 RAM 부족 문제를 해결 가능
'IT > 컴퓨터구조' 카테고리의 다른 글
🖥️ [컴퓨터구조] 캐시 성능 향상 기법 (LRU, FIFO, Prefetching) (0) | 2025.04.04 |
---|---|
🖥️ [컴퓨터구조] 캐시 메모리(Cache Memory)의 개념과 원리 (0) | 2025.04.03 |
🖥️ [컴퓨터구조] 예외(Exception)와 인터럽트 처리 (0) | 2025.03.13 |
🖥️ [컴퓨터구조] 데이터 해저드와 제어 해저드 해결 방법 (0) | 2025.03.12 |
🖥️ [컴퓨터구조] 파이프라이닝(Pipelining)의 개념 (0) | 2025.03.11 |