Computer Science/Operating System

[OS] 19장: TLB (Translation Lookaside Buffers)

kyxxn 2024. 7. 1. 01:33
728x90

19장: TLB (Translation Lookaside Buffers)

MMU의 한 구성요소
가상 - 물리 주소변환에 사용되는 캐시 역할

TLB 작동 예시

  1. a[0]에 접근

  2. VPN 06 접근

  3. TLB에 VPN 06 검색

    → 없음, 미스났음

  4. TLB에 VPN 06 갱신

  5. a[1] 접근

  6. VPN 06 접근

  7. TLB에 VPN 06 검색

    → 있음, 적중

3 miss & 7 hit

공간 지역성이 잘 드러남

정리

  1. CPU로부터 논리적 주소가 나옴
  2. VPN을 통해 TLB 확인
  3. 없으면 페이지 테이블 조회함

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] 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
[OS] 15장: 주소 변환의 원리  (0) 2024.06.27