19장: TLB (Translation Lookaside Buffers)
MMU의 한 구성요소
가상 - 물리 주소변환에 사용되는 캐시 역할
TLB 작동 예시
a[0]에 접근
VPN 06 접근
TLB에 VPN 06 검색
→ 없음, 미스났음
TLB에 VPN 06 갱신
a[1] 접근
VPN 06 접근
TLB에 VPN 06 검색
→ 있음, 적중
3 miss & 7 hit
공간 지역성이 잘 드러남
정리
- CPU로부터 논리적 주소가 나옴
- VPN을 통해 TLB 확인
- 없으면 페이지 테이블 조회함
TLB 장점
- 여러 VPN을 병렬로 탐색 가능
- 시간 지역성
- 한 번 사용됐으면 또 사용될 가능성 높음
- 공간 지역성
- 인접한 주소가 사용될 가능성 큼
TLB 할 일
Context Switch
프로세스 A, B의 VPN을 통한 TLB 사용
- VPN 10을 통해 TLB 확인했으나 없음
- TLB 테이블에 채워넣음
Context Switch 발생
TLB 내용은 바뀌지 않음
그러나, 문제가 발생함
각 프로세스가 동일한 VPN을 사용하고 있다는 것
문제 해결방법 - ASID (Address Space Identifier)
구분자 추가
페이지 공유
두 개의 프로세스가 하나의 페이지를 공유할 때
세그먼트 공유와 같은 효과 → 메모리 절약 가능
교체 정책
- TLB 테이블 교체 대상 선정
- FIFO, LRU, LFU(자주사용)
'🖥️ Computer Science > Operating System' 카테고리의 다른 글
[OS] 30장: Condition Variables (0) | 2024.07.03 |
---|---|
[OS] 28장: Locks (0) | 2024.07.02 |
[OS] 18장: 메모리 가상화의 Paging (0) | 2024.06.30 |
[OS] 17장: Free-Space Management (0) | 2024.06.29 |
[OS] 16장: Segmentation (0) | 2024.06.28 |