캐시 메모리 주소 사상의 필요성
I. 캐시 메모리 주소 사상의 개요
-
개념: CPU가 요청한 주기억장치의 주소를 캐시 메모리의 특정 위치에 대응시키는 방식
-
특징: (1) 용량차 해소 위한 공유규칙 (2) Hit/Miss 판정 기반 제공
-
소용량 캐시 운용 위한 필수 메커니즘
II. 주소 사상 필요성의 구성도 및 구성요소
가. 주소 사상 필요성의 구성도
[대용량 주기억장치 블록다수]→(사상규칙 적용)→[소용량 캐시라인]
↓
[태그비교]→[Hit/Miss 판정]
- 용량차 해소 후 히트여부 판정
나. 주소 사상 필요성의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 용량문제 | 블록-라인 비율 | 다수블록-소수라인 공유 |
| 용량문제 | 공유규칙 | 사상방식으로 배치결정 |
| 주소변환 | 필드분해 | 태그+라인(세트)+단어 |
| 주소변환 | 위치결정 | 캐시내 검색대상 특정 |
| 판정근거 | 태그비교 | Hit/Miss 여부 확인 |
| 판정근거 | 성능조절 | 충돌률·비용 트레이드오프 |
- 용량해소·주소변환·판정근거로 구성
III. 주소 사상 필요성 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 시사점 | 사상없인 캐시저장 불가능 | 근본적 필요조건 |
| 시사점 | 방식선택이 성능 좌우 | 설계시 핵심고려 |
| 관련기술 | 교체정책과 연계설계 | LRU 등 병행필요 |
- 사상없이 캐시동작 자체 불가
캐시메모리의 주소 매핑 방법
I. 캐시-주기억장치 대응기법, 캐시 사상 방법의 개요
-
개념: 주기억장치 블록-캐시라인 대응규칙
-
특징: (1) 방식별 히트율-비용 상충 (2) 태그비교 구조 상이
-
3가지 사상방식 트레이드오프 존재
II. 캐시 사상 방법의 구성도 및 구성요소
가. 캐시 사상 방법의 구성도
[주소]→(태그+라인+단어)
├─직접사상: 1개라인 고정대응
├─연관사상: 전체라인 자유배치(라인필드無)
└─집합연관: 세트내 N-way 배치(세트필드)
- 주소 필드해석 방식이 사상 결정
나. 캐시 사상 방법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 직접 사상 | 주소구성 | 태그+라인번호+단어 |
| 직접 사상 | 특성 | 구조단순·충돌빈번 |
| 연관 사상 | 주소구성 | 태그+단어(라인無) |
| 연관 사상 | 특성 | 충돌無·비교기부담 |
| 집합연관 | 주소구성 | 태그+세트번호+단어 |
| 집합연관 | 특성 | 절충안·실무표준 |
- 태그·라인(세트)·단어 필드조합 상이
III. 캐시 사상 방법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 직접 단순, 연관 고성능 | 집합연관이 절충 |
| 관련기술 | LRU 등 교체정책 병행 | 집합연관시 필요 |
| 시사점 | 라인/세트 필드폭 설계 | 캐시크기 결정요인 |
- 라인·세트 필드가 사상방식 좌우
캐시 쓰기 정책
I. CPU-메모리 성능차 해소기술, 캐시 쓰기 정책의 개요
-
개념: 캐시 변경시 주기억장치 반영방식 결정
-
특징: (1) 데이터 일관성 유지방식 결정 (2) 쓰기성능·일관성 트레이드오프
-
캐시-메모리간 데이터 일치 유지기법
II. 캐시 쓰기 정책의 구성도 및 구성요소
가. 캐시 쓰기 정책의 구성도

- 즉시반영형·지연반영형 2가지로 분류
나. 캐시 쓰기 정책의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| Write-Through | 즉시기록 | Cache·Memory 동시갱신 |
| Write-Through | 일관성보장 | 항상 최신값 유지 |
| Write-Through | 버스트래픽 | 매쓰기마다 메모리접근 |
| Write-Back | Dirty Bit | 변경여부 표시비트 |
| Write-Back | 지연기록 | Replace시점 일괄반영 |
| Write-Back | 성능우수 | 메모리접근 횟수 감소 |
- Through·Back 2범주로 구성
III. 캐시 쓰기 정책 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | Through는 안전, Back은 고성능 | 신뢰성 vs 속도 |
| 관련기술 | 멀티코어 캐시일관성 프로토콜 연계 | MESI 등과 연동 |
| 시사점 | 시스템 특성따라 정책 선택 | 실시간성 vs 처리량 |
- 신뢰성·성능 트레이드오프 선택기준
다중 프로세서 시스템의 캐시 일관성 유지 방식
I. 다중 캐시 데이터 정합성 보장, 캐시 일관성의 개요
-
개념: 다중캐시 간 동일데이터 일치성 유지기법
-
특징: (1) 하드웨어·소프트웨어 병행 해결 (2) 성능-정합성 트레이드오프
-
멀티프로세서 캐시 불일치 문제 해결기법
II. 캐시 일관성의 구성도 및 구성요소
가. 캐시 일관성의 구성도
[CPU1]-[Cache1] [CPU2]-[Cache2] [CPU3]-[Cache3]
│ │ │
└───────[Snoopy Bus / Directory]────┘
│
[Main Memory]
(Write시 Invalidate/Update 메시지 전파)
- 버스/디렉토리 통해 갱신정보 전파구조
나. 캐시 일관성의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 하드웨어기법 | Snooping 프로토콜 | 버스 감시로 상태 갱신 |
| 하드웨어기법 | Directory 기반 | 중앙목록으로 위치 추적 |
| 하드웨어기법 | MESI 프로토콜 | 4상태 캐시라인 관리 |
| 소프트웨어기법 | 컴파일러 기법 | 공유변수 캐싱 제한 |
| 소프트웨어기법 | 비캐싱 영역 지정 | 공유데이터 캐시 배제 |
| 소프트웨어기법 | 동기화 변수 활용 | 락 통한 접근 순서화 |
- 하드웨어·소프트웨어 상호보완적 적용
III. 캐시 일관성 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | Snooping 소규모, Directory 대규모 적합 | 확장성 차이 |
| 관련기술 | MOESI로 상태 세분화 확장 | 성능개선 트렌드 |
| 시사점 | 코어수 증가시 Directory 방식 필요 | 설계시 고려사항 |
- 규모별 적합기법 선택 중요
가상 메모리 관리 기법
I. 물리메모리 확장기법, 가상메모리 관리기법의 개요
-
개념: 보조기억 활용한 가상 주소공간 관리기법
-
특징: (1) 프로세스별 독립 주소공간 제공 (2) 페이지 단위 분할적재
-
물리메모리 한계 극복 위한 주소변환 체계
II. 가상메모리 관리기법의 구성도 및 구성요소
가. 가상메모리 관리기법의 구성도
가상메모리 관리기법
┌──────────┬──────────┬──────────┬
할당정책 배치정책 인출정책 교체정책
(공간결정) (위치결정) (적재시점결정) (제거대상결정)
⬇
물리메모리 반영
- 관리 기법은 4가지 정책으로 구분됨
나. 가상메모리 관리기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 할당정책 | 균등할당 | 모든 프로세스 동일 프레임 |
| 할당정책 | 비례할당 | 크기·우선순위 비례 배분 |
| 배치정책 | 최초적합 | 첫 적합 공간에 배치 |
| 배치정책 | 최적적합 | 가장 근접 공간에 배치 |
| 인출정책 | 요구인출 | 참조시점에 적재 |
| 인출정책 | 예상인출 | 사용예측 미리적재 |
| 교체정책 | LRU | 최근최소사용 페이지제거 |
| 교체정책 | FIFO | 최초적재 페이지제거 |
- 할당·배치·인출·교체 4영역이 적재과정 담당
III. 가상메모리 관리기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 교체알고리즘 | Optimal·NUR·Clock 등 | 이론·근사 알고리즘 다양 |
| 성능이슈 | Thrashing 발생시 성능급락 | 워킹셋으로 완화 |
| 시사점 | 정책조합이 응답시간 좌우 | 운영체제 설계핵심 |
- 교체알고리즘 선택이 Thrashing 방지 핵심요소
가상 메모리의 페이징 기법 (고정 분할 기법)
I. 고정분할 메모리 관리, 페이징 기법의 개요
-
개념: 물리메모리 고정크기 분할 매핑기법
-
특징: (1) 페이지-프레임 단위 매핑 (2) 외부단편화 없음
-
논리주소 물리주소 페이지단위 변환
II. 페이징 기법의 구성도 및 구성요소
가. 페이징 기법의 구성도
[프로세스 논리주소공간]
→(페이지 0,1,2..)
[페이지 테이블] → 페이지번호:프레임번호 매핑
→(주소변환 MMU/TLB)
[물리메모리]
→(프레임 0,1,2..)
- 논리주소를 테이블 통해 물리주소 변환
나. 페이징 기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 주소변환 | 페이지 | 논리메모리 고정단위 |
| 주소변환 | 프레임 | 물리메모리 고정단위 |
| 관리구조 | 페이지테이블 | 페이지-프레임 매핑정보 |
| 관리구조 | TLB | 주소변환 캐시버퍼 |
| 부가기법 | 페이지폴트처리 | 미적재페이지 요청시 로드 |
| 부가기법 | 페이지교체알고리즘 | LRU 등 교체정책 |
- 주소변환·관리구조·부가기법 3범주
III. 페이징 기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 세그멘테이션 대비 단편화 적음 | 가변분할과 대조 |
| 관련기술 | 다단계 페이지테이블 적용 | 주소공간 확장대응 |
| 시사점 | 가상메모리 구현 핵심기반 | 메모리효율성 확보 |
- 세그멘테이션 대비 단편화 개선
가상 메모리의 세그먼트 기법 (가변 분할 기법)
I. 가변분할 메모리 관리, 세그먼트 기법의 개요
-
개념: 논리단위로 분할해 관리하는 가상메모리 기법
-
특징: (1) 가변길이 논리단위 분할 (2) 2차원 논리주소 체계
-
프로그램 논리구조 반영한 메모리 분할방식
II. 세그먼트 기법의 구성도 및 구성요소
가. 세그먼트 기법의 구성도
[논리주소: 세그먼트번호+오프셋]
↓
[세그먼트 테이블] → {Base, Limit, 보호비트}
↓
[물리주소 = Base + Offset]
↓
[주기억장치 세그먼트 영역들]
- 세그먼트번호로 테이블 조회 후 물리주소 변환
나. 세그먼트 기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 주소체계 | 세그먼트 번호 | 논리단위 식별자 |
| 주소체계 | 오프셋 | 세그먼트 내 상대위치 |
| 테이블관리 | Base 레지스터 | 세그먼트 시작주소 |
| 테이블관리 | Limit 레지스터 | 세그먼트 크기제한 |
| 보호/공유 | 보호비트 | 접근권한 제어 |
| 보호/공유 | 공유비트 | 코드 세그먼트 공유 |
- 주소체계·테이블관리·보호공유 3범주
III. 세그먼트 기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 페이징 대비 외부단편화 발생 | 가변길이 특성 |
| 관련기술 | 세그먼테이션-페이징 혼합기법 | 단편화 보완 |
| 시사점 | 모듈별 보호·공유 용이 | 접근제어 강점 |
- 외부단편화 단점, 모듈보호 장점
페이징 기법에서의 지역성(Locality)
I. 참조 편중 특성, 지역성의 개요
- 개념: 프로세스가 특정영역 집중접근 특성
- 특징: (1) 시간지역성 최근참조재참조 (2) 공간지역성 인접주소참조
- 참조패턴 편중으로 캐시효율 근거
II. 지역성의 구성도 및 구성요소
가. 지역성의 구성도
[프로세스 실행]
├─[시간 지역성]→ 최근 참조된 페이지 재참조 (Loop, Counter)
└─[공간 지역성]→ 인접 주소 페이지 참조 (배열, 순차 코드)
↓
[Working Set] → 활성 페이지 집합 유지 → Page Fault 감소
- 시간·공간 지역성이 워킹셋으로 귀결
나. 지역성의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 시간지역성 | 반복문 | 루프변수 반복참조 |
| 시간지역성 | 서브루틴 | 호출함수 재참조 |
| 공간지역성 | 배열순차접근 | 인접원소 연속참조 |
| 공간지역성 | 순차실행코드 | 명령어 순차인출 |
| 응용개념 | Working Set | 일정시간 참조페이지집합 |
| 응용개념 | PFF | 페이지폴트빈도 제어 |
- 시간·공간지역성, 응용개념 3범주
III. 지역성 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 시사점 | Working Set기반 프레임할당 | 스래싱방지 |
| 관련기술 | LRU 교체알고리즘 활용 | 지역성 근거 |
| 비교 | 지역성 낮으면 스래싱 증가 | 캐시적중률 저하 |
- 지역성 낮으면 스래싱 위험 증가