반응형
Ⅰ. 캐시메모리 주소 매핑(mapping)
가. 캐시 메모리 주소 매핑의 개념 및 필요성
개념 | - 주기억장치와 캐시기억장치 사이에서 임의의 블록을 지정된 캐시기억장치 블록에 기억시키는 방법 |
필요성 | - 캐시 메모리가 메인 메모리에 비해 작은 용량을 가져 효율적인 캐시 메모리 활용을 위해 필요 |
나. 주소 매핑 방식
방식 | 구분 | 세부 내용 |
직접 사상 | 개념도 | |
설명 | - 메모리 블록들이 지정된 캐시 라인으로만 적재 - H/W 구조 간단하고 구현 비용 저렴 - 라인 공유 중인 블록 적재 시 Swap-out 발 |
|
연관 사상 |
개념도 | |
설명 | - 메모리 블록 적재 시 캐시 라인이 정해지지 않음 - 신규 적재 시 캐시 라인 선택 자유, 적중률 향상 - H/W 구조가 복잡하고 구현 비용이 높음 |
|
집합연관 사상 |
개념도 | |
설명 | - 메모리 블록 그룹이 하나의 세트로 공유 - 메모리 블록은 특정 세트 내 어느 곳이나 적재 가능 - 회루 구현이 복잡하고 구현 비용 높음 |
Ⅱ. 캐시 쓰기 정책(write policy)
구분 | Write Through | Write Back |
구성도 | ||
개념 | - 쓰기 동작 시 캐시와 주 기억장치 동시 쓰기 | - 캐시에만 쓰고 데이터 swap-out 시 주 기억장치에 복사 |
장점 | - 구조 단순 - 캐시-기억장치 일관성 |
- 기억장치 쓰기 동작 횟수 초기화 |
단점 | - 버스 트래픽 증가 - 쓰기 시간 증가 |
- 캐시-기억장치 일관성 문제 (Cache Coherency) |
Ⅲ. 다중 프로세서 시스템에서 캐시 일관성(Cache Coherence)을 유지하기 위한 기법
가. 일관성 유지 기법
구분 | 기법 | 설명 |
SW 측면 | 공유 캐시 | - 모든 프로세서들이 하나의 공유 캐시 사용 - 프로세서 간 캐시 엑세스 충돌 가능 |
공유 변수 캐시 미사용 | - 변경 가능한 변수는 주 기억장치에만 저장 - Lock 변수(임계영역) 공유 캐시 미사용 |
|
HW 측면 | 디렉토리 프로토콜 | - 주기억장치의 중앙 제어기가 캐시 일관성 관리 - 모든 지역 캐시 동작 제어 및 보고 |
스누피 프로토콜 | - 공유되는 캐시 데이터 갱신 시 갱신되지 않은 나머지 데이터 무효화 |
- Write Through는 VI 프로토콜, Write Back은 MESI 프로토콜 대표
나. 일관성 문제 해결 기법, VI와 MESI
구분 | 항목 | 설명 |
VI (Vaild & Invalid) |
개념도 | |
개념 | - 프로세서가 캐시 데이터 수정 시 주 기억장치로 갱신 | |
프로토콜 | V: Valid -> 캐시 내용 = 주기억장치 내용 | |
I: Invalid -> 캐시 내용 != 주기억장치 내용 | ||
MESI | 개념도 | |
개념 | - 변경된 캐시 스누피 제어기가 다른 스누피 제어기에게 변경된 내용 통보 | |
프로토콜 | 수정(Modified): 데이터가 수정된 상태 | |
배타(Exclusive): 유일한 복사,주기억장치와 동일 상태 | ||
공유(Shared): 데이터가 2개 이상 프로세서 캐시 공유 | ||
무효(Invalid): 데이터가 다른 프로세서의 수정으로 무효 |
반응형
'IT 기술 > CA & OS' 카테고리의 다른 글
가상메모리 (0) | 2024.12.17 |
---|---|
SSD FTL(Flash Translation Layer) (0) | 2024.12.17 |
메모리 인터리빙 (0) | 2024.12.17 |
FTS(Fault Tolerant System) / HA(High Availability) (0) | 2024.12.17 |
선점형 CPU 스케쥴링 (0) | 2024.12.17 |