IT 기술/CA & OS

캐시 메모리

gooooooood 2024. 12. 17. 18:10
반응형

Ⅰ. 캐시메모리 주소 매핑(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