토픽 118 / 122·비교표
메모리 계층 (Memory Hierarchy)
SRAM vs DRAM
| 항목 | SRAM | DRAM |
|---|---|---|
| 구조 | 6트랜지스터/셀 (플립플롭) | 1트랜지스터+1커패시터/셀 |
| 속도 | 1-10ns | 50-100ns |
| 용량 | KB-MB | GB-TB |
| 비용 | 매우 비쌈 | 저렴 |
| 리프레시 | 불필요 | 필요 (수ms마다) |
| 용도 | 캐시 (L1/L2/L3) | 주기억장치 (메인메모리) |
Write-Through vs Write-Back
| 항목 | Write-Through | Write-Back |
|---|---|---|
| 동작 | 캐시+메모리 동시 쓰기 | 캐시만 쓰기, 교체 시 반영 |
| 일관성 | 항상 일치 | 불일치 구간 존재 (Dirty Bit) |
| 속도 | 느림 (매번 메모리 접근) | 빠름 |
| 복잡도 | 단순 | 복잡 (Dirty Bit 관리) |
| 적용 | 일부 GPU | 현대 CPU 주류 |
캐시 매핑: 직접 vs N-way 집합연관 vs 완전연관
| 항목 | 직접 매핑 | N-way 집합연관 | 완전연관 |
|---|---|---|---|
| 배치 | 1개 라인 고정 | 셋 내 N개 | 어디든 가능 |
| 비교기 | 1개 | N개 | 전체 |
| 충돌 미스 | 높음 | 중간 | 최소 |
| 비용 | 최저 | 중간 (실용적) | 최고 |
| 적용 | 소형 캐시 | L1/L2/L3 (2/4/8-way) | TLB |
캐시 교체: LRU vs FIFO vs LFU vs Random vs RRIP
| 항목 | LRU | FIFO | LFU | Random | RRIP |
|---|---|---|---|---|---|
| 기준 | 최근 미사용 | 삽입 순서 | 참조 횟수 | 무작위 | 재참조 간격 |
| 지역성 | 시간적 | 무시 | 빈도 | 없음 | 시간적+스캔 저항 |
| Belady 모순 | 없음 | 있음 | 없음 | 없음 | 없음 |
| 적용 | L1 (Pseudo-LRU) | 단순 구현 | 특수 용도 | ARM L2/L3 | 현대 L2/L3 |
NUMA vs UMA
| 항목 | NUMA | UMA |
|---|---|---|
| 접근 시간 | 비균일 (로컬 빠름/원격 느림) | 균일 (모든 메모리 동일) |
| 확장성 | 높음 (수십~수백 코어) | 낮음 (소규모) |
| 구조 | 노드별 로컬 메모리 + 인터커넥트 | 공유 메모리 + 단일 버스 |
| 복잡도 | NUMA 인식 최적화 필요 | 단순 |
| 적용 | 서버 (Xeon, EPYC) | 소규모 SMP |
페이징 vs 세그멘테이션
| 항목 | 페이징 | 세그멘테이션 |
|---|---|---|
| 단위 | 고정 크기 (4KB) | 가변 크기 (논리 단위) |
| 단편화 | 내부 단편화 (평균 2KB) | 외부 단편화 |
| 주소 변환 | VPN → PFN (페이지 테이블) | 세그먼트번호 + 오프셋 |
| 보호 | 페이지 단위 | 세그먼트 단위 (논리적) |
| 현대 사용 | 주류 (Linux, Windows) | 사실상 비활성 (x86-64 Flat) |
MMU vs MPU
| 항목 | MMU | MPU |
|---|---|---|
| 주소 변환 | 가상→물리 변환 지원 | 없음 (물리 주소 직접 사용) |
| 메모리 보호 | 변환 + 보호 | 보호만 (리전 기반) |
| 복잡도 | 높음 | 낮음 |
| 전력 | 높음 | 낮음 |
| 적용 | 현대 CPU (x86, ARM Cortex-A) | 임베디드 MCU (Cortex-M) |
페이지 교체: OPT vs LRU vs FIFO vs Clock
| 항목 | OPT | LRU | FIFO | Clock |
|---|---|---|---|---|
| 기준 | 미래 최장 미사용 | 과거 최장 미사용 | 적재 순서 | 참조 비트 |
| 성능 | 이론적 최적 | OPT 근사 | 단순/비효율 | FIFO 개선 |
| 구현 | 불가능 (비교 기준) | 타임스탬프/스택 (비용 높음) | 순환 포인터 | 참조 비트+원형 큐 |
| Belady 모순 | 없음 | 없음 | 있음 | 없음 |
NAND vs NOR 플래시
| 항목 | NAND | NOR |
|---|---|---|
| 셀 연결 | 직렬 | 병렬 |
| 접근 | 순차 최적, 페이지 단위 | 랜덤 접근, 바이트 단위 |
| 집적도 | 높음 (대용량) | 낮음 |
| XIP | 불가 | 가능 (코드 직접 실행) |
| 용도 | SSD, USB, SD카드 | 펌웨어, BIOS, 부트로더 |
SSD vs HDD
| 항목 | SSD | HDD |
|---|---|---|
| 구동 방식 | 반도체 (NAND 플래시) | 기계식 (플래터+헤드) |
| 랜덤 접근 | 0.1ms | 5-10ms |
| 내충격성 | 우수 (무기계 부품) | 취약 (진동 민감) |
| 소음 | 무소음 | 소음 발생 |
| 비용/GB | 높음 | 낮음 |
| 수명 | 제한 (P/E 사이클) | 장기 (기계 마모) |
SoC vs Chiplet vs Monolithic
| 항목 | SoC | Chiplet | Monolithic |
|---|---|---|---|
| 설계 | 단일 칩 통합 | 여러 작은 다이 조합 | 단일 대형 다이 |
| 수율 | 중간 | 높음 (작은 다이) | 낮음 (대형 다이) |
| 유연성 | 낮음 (고정 구성) | 높음 (Mix & Match) | 낮음 |
| 전력 | 매우 낮음 | 중간 | 높음 |
| 적용 | 모바일 (Snapdragon) | AMD Ryzen/EPYC | 일부 서버 칩 |
폰 노이만(CPU 중심) vs PIM vs CIM
| 구분 | 폰 노이만(CPU 중심) | PIM(메모리 내 연산) | CIM(메모리 셀 연산) |
|---|---|---|---|
| 데이터 이동 | 대량(버스 병목) | 최소화 | 거의 없음 |
| 대역폭 | 버스 제한 | 내부 대역폭 활용 | 셀 단위 병렬 |
| 에너지 효율 | 낮음 | 높음 | 최고 |
| 성숙도 | 상용화 | 초기 상용화 | 연구 단계 |