캐시 메모리 주소 사상의 필요성
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) MMU 기반 주소 변환 수행
-
논리주소 매핑으로 보호·격리 구현
II. 가상 메모리 관리 기법의 구성도 및 구성요소
가. 가상 메모리 관리 기법의 구성도
[Process] → [Logical Address]
↓
[MMU] ← [Page Table / Segment Table]
↓
[Physical Address] → [RAM]
↓ (Page Fault)
[보조기억장치(Swap Area)]
- 논리주소를 MMU가 물리주소로 변환
나. 가상 메모리 관리 기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 주소변환 | MMU | 논리→물리 주소 실시간 변환 |
| 주소변환 | Page/Segment Table | 매핑 정보 저장 테이블 |
| 기법 | 페이징 | 고정크기 블록 단위 관리 |
| 기법 | 세그멘테이션 | 가변크기 논리단위 관리 |
| 확장기능 | Demand Paging | 필요 페이지만 적재 |
| 확장기능 | Page Replacement | 메모리 부족시 교체 수행 |
- 주소변환·기법·확장기능 3범주 구성
III. 가상 메모리 관리 기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 오개념 | 보조기억장치 활용은 필수 아님 | Swap없어도 성립 |
| 오개념 | 물리메모리 확장은 선택적 효과 | 본질은 주소변환 |
| 시사점 | Thrashing 방지 위한 Working Set 관리 | 성능 저하 요인 |
- Swap 무관, 주소변환·보호가 본질
가상 메모리의 페이징 기법 (고정 분할 기법)
I. 고정크기 블록 매핑체계, 페이징 기법의 개요
-
개념: 논리·물리주소를 고정크기로 분할매핑
-
특징: (1) 외부단편화 미발생 (2) 내부단편화 발생 가능
-
Page-Frame 단위 주소 변환 수행
II. 페이징 기법의 구성도 및 구성요소
가. 페이징 기법의 구성도
[Logical Address Space]
→ Page0, Page1, Page2...
↓ (Page Table 매핑)
[Physical Address Space]
→ Frame3, Frame7, Frame1...
↓ (Page Fault 발생시)
[보조기억장치 Swap Area]
- Page를 Frame으로 매핑 변환
나. 페이징 기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 주소공간 | Page | 논리주소 고정크기 블록 |
| 주소공간 | Frame | 물리주소 고정크기 블록 |
| 변환구조 | Page Table | Page-Frame 매핑정보 |
| 변환구조 | TLB | 주소변환 캐시로 고속화 |
| 제어비트 | Valid Bit | 페이지 존재여부 표시 |
| 제어비트 | Dirty Bit | 페이지 수정여부 표시 |
- 주소공간·변환구조·제어비트 구성
III. 페이징 기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 세그멘테이션 대비 외부단편화 없음 | 내부단편화는 존재 |
| 관련기술 | 다단계 페이징으로 테이블 크기 절감 | 대용량 주소공간 대응 |
| 시사점 | 보조기억장치 매핑은 정의 아님 | Demand Paging은 확장기능 |
- 세그멘테이션 대비 관리 단순, 확장성 有
가상 메모리의 세그먼트 기법
I. 논리단위 가변분할체계, 세그멘테이션 기법의 개요
-
개념: 논리적 의미단위로 가변분할매핑
-
특징: (1) 내부단편화 미발생 (2) 외부단편화 발생 가능
-
Segment 단위 논리적 주소 관리
II. 세그멘테이션 기법의 구성도 및 구성요소
가. 세그멘테이션 기법의 구성도
[Logical Address Space]
→ Code Segment, Data Segment,
Stack Segment, Heap Segment...
↓ (Segment Table 매핑)
[Physical Address Space]
→ 가변크기 메모리 영역 배치
↓ (부재시)
[보조기억장치 Swap Area]
- Segment별 가변크기 물리영역 매핑
나. 세그멘테이션 기법의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 주소공간 | Segment | 논리적 의미단위 가변블록 |
| 주소공간 | Base/Limit | 세그먼트 시작주소·길이 |
| 변환구조 | Segment Table | Segment-물리주소 매핑정보 |
| 변환구조 | Segment Number | 세그먼트 식별 인덱스 |
| 제어비트 | Protection Bit | 접근권한 제어 표시 |
| 제어비트 | Valid Bit | 세그먼트 존재여부 표시 |
- 주소공간·변환구조·제어비트 구성
III. 세그멘테이션 기법 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 비교 | 페이징 대비 논리적 보호 용이 | 외부단편화 취약 |
| 관련기술 | 세그먼트-페이징 혼합기법 활용 | 양기법 장점결합 |
| 시사점 | Compaction으로 단편화 해소 필요 | 관리 오버헤드 존재 |
- 페이징 대비 논리적 의미단위 보호 우수
페이징 기법에서의 지역성(Locality)
I. 참조 편중 특성, 지역성의 개요
- 개념: 프로세스가 특정영역 집중접근 특성
- 특징: (1) 시간지역성 최근참조재참조 (2) 공간지역성 인접주소참조
- 참조패턴 편중으로 캐시효율 근거
II. 지역성의 구성도 및 구성요소
가. 지역성의 구성도
[프로세스 실행]
├─[시간 지역성]→ 최근 참조된 페이지 재참조 (Loop, Counter)
└─[공간 지역성]→ 인접 주소 페이지 참조 (배열, 순차 코드)
↓
[Working Set] → 활성 페이지 집합 유지 → Page Fault 감소
- 시간·공간 지역성이 워킹셋으로 귀결
나. 지역성의 구성요소
| 구분 | 구성요소 | 설명 |
|---|---|---|
| 시간지역성 | 반복문 | 루프변수 반복참조 |
| 시간지역성 | 서브루틴 | 호출함수 재참조 |
| 공간지역성 | 배열순차접근 | 인접원소 연속참조 |
| 공간지역성 | 순차실행코드 | 명령어 순차인출 |
| 응용개념 | Working Set | 일정시간 참조페이지집합 |
| 응용개념 | PFF | 페이지폴트빈도 제어 |
- 시간·공간지역성, 응용개념 3범주
III. 지역성 추가정보
| 구분 | 내용 | 비고 |
|---|---|---|
| 시사점 | Working Set기반 프레임할당 | 스래싱방지 |
| 관련기술 | LRU 교체알고리즘 활용 | 지역성 근거 |
| 비교 | 지역성 낮으면 스래싱 증가 | 캐시적중률 저하 |
- 지역성 낮으면 스래싱 위험 증가
병렬 컴퓨팅
Flynn의 병렬컴퓨팅 분류
메모리 공유에 따른 병렬처리 분류
파이프라인 해저드
발생 원인
해결방법
CPU 스케쥴링 알고리즘
SJF, HRN
MLQ, MLFQ
인터럽트
인터럽트 처리 절차
인터럽트 구현 방식
교착상태
개념, 필요조건, 해결방법