TLB(Translation Look-aside Buffer)
: 가상 메모리 주소를 물리적인 주소로 변환하는 속도를 높이기 위해 사용되는 캐시
- 페이지 테이블을 캐싱한 저장장치
- 페이지 교체에는 LRU 알고리즘 적용
- MMU에 포함되어 있는 작은 캐시 -> 내부에서 여러 계층으로 존재할 수 있음
- 최근에 일어난 가상 메모리와 물리 주소의 변환 테이블 저장
- CPU가 가상 주소로 메모리에 접근하려고 할 때, 우선 TLB에 접근하여 가상 주소에 해당되는 물리 주소를 찾고 TLB에 매핑이 존재하지 않으면 MMU가 페이지 테이블에서 해당되는 물리 주소로 변환한 후 메모리에 접근
- TLB 사용 이유
- 페이지 테이블은 메인 메모리에 존재해서 CPU는 메인 메모리에 최소 2번은 접근해야 원하는 데이터를 얻을 수 있음
- 페이지 테이블에 접근 -> 페이지 테이블을 기반으로 실제 메모리로 접근
- 2번의 접근을 줄이고자 TLB 사용
- 굉장히 작음
-> TLB에 있는 캐시면 메모리에 접근하기 전에 막아야 하기 때문에 크기를 줄여 속도를 높임
-> 물리 주소를 갖고 있으면 메모리에 두 번 들릴 필요 없이 바로 해당 물리 주소를 찾아갈 수 있음
- 동작 원리
- CPU에서의 정보로 TLB 탐색
- TLB에 있으면 바로 물리 주소에 접근
- TLB에 없으면 Page Table로 들어감
Reference
https://velog.io/@becooq81/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-TLB
'운영체제' 카테고리의 다른 글
15. Paging : Smaller Table (0) | 2025.02.10 |
---|---|
14. TLB(Translation Look-aside Buffers) 심화 (0) | 2025.02.10 |
12. 가상 메모리 & 요구 페이징 & 페이지 교체 (0) | 2025.02.10 |
11. 페이징(Paging) (0) | 2025.02.10 |
10. 세그멘테이션(Segmentation) (0) | 2025.01.23 |