운영체제

13. TLB(Translation Look-aside Buffer)

ggomjiu 2025. 2. 10. 03:39

TLB(Translation Look-aside Buffer)

: 가상 메모리 주소를 물리적인 주소로 변환하는 속도를 높이기 위해 사용되는 캐시

- 페이지 테이블을 캐싱한 저장장치

- 페이지 교체에는 LRU 알고리즘 적용

- MMU에 포함되어 있는 작은 캐시 -> 내부에서 여러 계층으로 존재할 수 있음

- 최근에 일어난 가상 메모리와 물리 주소의 변환 테이블 저장

- CPU가 가상 주소로 메모리에 접근하려고 할 때, 우선 TLB에 접근하여 가상 주소에 해당되는 물리 주소를 찾고 TLB에 매핑이 존재하지 않으면 MMU가 페이지 테이블에서 해당되는 물리 주소로 변환한 후 메모리에 접근

 

- TLB 사용 이유

  • 페이지 테이블은 메인 메모리에 존재해서 CPU는 메인 메모리에 최소 2번은 접근해야 원하는 데이터를 얻을 수 있음
  • 페이지 테이블에 접근 -> 페이지 테이블을 기반으로 실제 메모리로 접근
  • 2번의 접근을 줄이고자 TLB 사용

- 굉장히 작음

-> TLB에 있는 캐시면 메모리에 접근하기 전에 막아야 하기 때문에 크기를 줄여 속도를 높임

-> 물리 주소를 갖고 있으면 메모리에 두 번 들릴 필요 없이 바로 해당 물리 주소를 찾아갈 수 있음

 

- 동작 원리

  1. CPU에서의 정보로 TLB 탐색
  2. TLB에 있으면 바로 물리 주소에 접근
  3. TLB에 없으면 Page Table로 들어감

 

 

 

 

 

 

 

 

 

 

Reference

https://velog.io/@becooq81/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-TLB