|
| 1 | +--- |
| 2 | +sidebar_position: 7 |
| 3 | +title: 기억장치(2) |
| 4 | +description: 컴퓨터 기억장치의 분류, 특성, 계층 구조, 반도체 메모리, 모듈 설계 등 핵심 개념을 정리 |
| 5 | +--- |
| 6 | + |
| 7 | +## 1. 캐시 메모리 (Cache Memory) |
| 8 | + |
| 9 | +캐시 메모리는 CPU와 주기억장치(DRAM) 간 속도 차이로 인한 병목 현상을 해결하기 위해 CPU와 주기억장치 사이에 설치되는 고속 반도체 기억장치입니다. |
| 10 | + |
| 11 | +### 1.1 캐시의 특징 및 동작 원리 |
| 12 | + |
| 13 | +- **고속성:** SRAM 칩 사용, DRAM보다 빠름 |
| 14 | +- **용량 제한:** 가격·공간 제약으로 용량 작음 |
| 15 | +- **CPU 대기 시간 최소화:** 주기억장치 접근 대기 시간 감소 |
| 16 | + |
| 17 | +#### 캐시 동작 |
| 18 | + |
| 19 | +- **캐시 적중(Cache Hit):** CPU가 원하는 데이터가 캐시에 있음 |
| 20 | +- **캐시 미스(Cache Miss):** CPU가 원하는 데이터가 캐시에 없음 → 주기억장치에서 데이터 읽어옴 |
| 21 | +- **적중률(Hit Ratio, H):** `H = \frac{\text{캐시 적중 횟수}}{\text{전체 액세스 횟수}}` |
| 22 | +- **평균 액세스 시간(Ta):** `T_a = H \times T_c + (1-H) \times T_m` |
| 23 | + - `T_c`: 캐시 액세스 시간, `T_m`: 주기억장치 액세스 시간 |
| 24 | + |
| 25 | +#### 지역성(Locality) 원리 |
| 26 | + |
| 27 | +- **시간적 지역성:** 최근 접근 데이터 재사용 가능성 높음 |
| 28 | +- **공간적 지역성:** 인접 데이터 연속 접근 가능성 높음 |
| 29 | +- **순차적 지역성:** 분기 없는 한 명령어 순차 인출 |
| 30 | + |
| 31 | +--- |
| 32 | + |
| 33 | +### 1.2 캐시 설계 목표 및 고려사항 |
| 34 | + |
| 35 | +- **목표:** 적중률 극대화, 액세스 시간·미스 지연 최소화, 데이터 일관성 유지 |
| 36 | +- **크기:** 용량↑ → 적중률↑, 비용·액세스 시간↑ |
| 37 | +- **인출 방식:** |
| 38 | + - 요구 인출(Demand Fetch) |
| 39 | + - 선인출(Prefetch) |
| 40 | +- **블록/라인:** 주기억장치 블록(K단어) → 캐시 라인, 태그(Tag)로 구분 |
| 41 | + |
| 42 | +#### 사상 방식 (Mapping Techniques) |
| 43 | + |
| 44 | +| 방식 | 특징 | 장점 | 단점 | |
| 45 | +| -------------- | --------------------------------------------- | --------------------- | ------------------------------ | |
| 46 | +| 직접 사상 | 각 블록이 지정된 한 라인에만 적재 | 하드웨어 단순, 저비용 | 동일 라인 겹침(Overwrite) 문제 | |
| 47 | +| 완전-연관 사상 | 어떤 라인에도 적재 가능 | 적중률 높음 | 고가, 복잡한 회로 필요 | |
| 48 | +| 세트-연관 사상 | 여러 세트로 나누고 각 세트에 여러 라인(k-way) | 유연성, 적중률↑ | 교체 알고리즘 필요 | |
| 49 | + |
| 50 | +- **교체 알고리즘:** |
| 51 | + - LRU(Least Recently Used), FIFO, LFU 등 |
| 52 | +- **쓰기 정책:** |
| 53 | + - Write-through: 캐시·주기억장치 동시 갱신(일관성↑, 느림) |
| 54 | + - Write-back: 캐시만 갱신, 교체 시 주기억장치 반영(속도↑, 일관성 관리 필요) |
| 55 | +- **캐시 일관성:** |
| 56 | + - 다중 프로세서 환경에서 MESI 등 프로토콜 필요 |
| 57 | +- **계층적/분리 캐시:** |
| 58 | + - L1/L2/L3 계층, 명령어/데이터 분리(Split Cache) |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +## 2. DDR SDRAM (Double Data Rate Synchronous DRAM) |
| 63 | + |
| 64 | +- **SDRAM:** 시스템 클록에 동기화, 다수 뱅크 구성, 버스트 모드 지원 |
| 65 | +- **DDR:** 클록 펄스 상승·하강 에지 모두에서 데이터 전송(2배 대역폭) |
| 66 | +- **DDR2/3/4:** 버스 클록 주파수↑, 대역폭↑ |
| 67 | +- **대역폭 공식:** `\text{Memory Bandwidth} = \text{Bus Width} \times \text{클록 주파수} \times \text{클록 당 전송 횟수}` |
| 68 | +- **랭크(Rank):** 64비트 데이터 폭을 갖는 모듈 단위, x4/x8 칩 병렬 연결 |
| 69 | + - Single/Dual/Quad Rank, ECC(오류정정) 지원 |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +## 3. 차세대 비휘발성 기억장치 (Next-Generation Non-Volatile Memory) |
| 74 | + |
| 75 | +### 3.1 PRAM (Phase-change RAM) |
| 76 | + |
| 77 | +- **원리:** GST(게르마늄-안티몬-텔룰라이드) 상태 변화로 저항값 차이 이용 |
| 78 | +- **장점:** 빠른 액세스, 저전력, 간단한 회로, 높은 시장성 |
| 79 | + |
| 80 | +### 3.2 FRAM (Ferroelectric RAM) |
| 81 | + |
| 82 | +- **원리:** 강유전체(PZT) 극성 변화로 데이터 저장, 전기 공급 없어도 상태 유지 |
| 83 | +- **장점:** 빠른 속도, 비휘발성, 저전력 |
| 84 | + |
| 85 | +### 3.3 MRAM (Magnetic RAM) |
| 86 | + |
| 87 | +- **원리:** 강자성체 자화 방향(자기장)으로 정보 저장, 전류 인가 방향에 따라 '0'/'1' 구분 |
| 88 | +- **장점:** 비휘발성, 빠른 속도, 높은 내구성 |
| 89 | + |
| 90 | +--- |
| 91 | + |
| 92 | +## 요약 |
| 93 | + |
| 94 | +- **캐시 메모리:** CPU-주기억장치 병목 해소, 지역성 원리, 다양한 사상·교체·쓰기 정책 |
| 95 | +- **DDR SDRAM:** 클록 동기화·2배 대역폭, 랭크 구조, 고속 대용량 지원 |
| 96 | +- **차세대 비휘발성 메모리:** PRAM, FRAM, MRAM 등 신기술, 고속·저전력·비휘발성 특징 |
| 97 | +- 이들 기술은 시스템 성능 향상과 대용량 데이터 처리, 새로운 저장 방식의 가능성을 제시함 |
0 commit comments