캐시 메모리 주소 사상의 필요성

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-BackDirty 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 교체알고리즘 활용지역성 근거
비교지역성 낮으면 스래싱 증가캐시적중률 저하
  • 지역성 낮으면 스래싱 위험 증가