TLB는 페이지 테이블의 일부를 캐시하는 캐시 메모리로, 페이지 테이블에서 가장 최근에 사용된 페이지 번호와 물리 주소의 매핑을 저장한다. TLB는 태그와 데이터로 구성되어 있으며, 태그는 가상 페이지 번호를, 데이터는 해당 가상 페이지 번호에 대응하는 물리 주소와 제어 정보를 저장한다.
TLB의 동작 원리
- 가상 주소 변환: 프로세스가 가상 주소에 접근하려고 할 때, TLB에 해당 가상 페이지 번호가 있는지 검사하고 있으면 물리 주소를 즉시 제공한다.
- TLB 미스(TLB Miss): TLB에 가상 페이지 번호가 없는 경우, 페이지 테이블에서 해당 페이지 번호를 검색하고 TLB에 엔트리를 추가한다.
TLB와 성능 최적화
- 적중률 최대화: TLB의 적중률을 높이기 위해 적절한 TLB 크기와 교체 알고리즘을 선택해야 한다.
- 멀티레벨 TLB: 여러 수준의 TLB를 사용하여 작은 크기의 빠른 TLB와 큰 용량의 TLB를 조합하여 적중률을 높일 수 있다.
TLB의 효과
- 가상 주소 변환 속도 향상: TLB를 통해 페이지 테이블 검색을 생략하므로 가상 주소 변환 속도가 향상된다.
- 프로세스 성능 개선: TLB는 여러 프로세스 간의 캐시 정보를 분리하여 각각의 프로세스에 대해 효율적인 가상 주소 변환을 지원한다.
TLB는 가상 메모리 시스템에서 핵심적인 성능 최적화 도구로 작용한다. 페이지 테이블 검색을 효과적으로 캐싱하여 가상 주소 변환을 빠르게 처리하고, 적중률을 높이는 등의 기술적인 측면에서 중요한 역할을 한다.
'운영체제(OS) > keyword' 카테고리의 다른 글
(Project3-Virtual Memory) 지연 로딩(Lazy Loading) (0) | 2023.12.16 |
---|---|
(Project3-Virtual Memory) 페이지 오류(Page Fault) (0) | 2023.12.16 |
(Project3-Virtual Memory) 페이지 테이블(Page Table) (0) | 2023.12.16 |
(Project3-Virtual Memory) 가상 메모리(Virtual Memory) (0) | 2023.12.16 |
(Project2-User Programs) 세그멘테이션 오류(Segmentation Fault) (0) | 2023.12.16 |