728x90
핵심 질문: 주소 변환 속도를 어떻게 향상할까?
🔹 흐름 정리
지난 블로깅에서 페이징 기법에 대해 알아보았다. 페이징은 프로세스 주소 공간을 작은 고정된 크기(page)로 나누고, 각 페이지의 실제 위치를 메모리에 저장한다. 매핑 정보를 저장하는 자료 구조를 페이지 테이블이라 한다. 매핑 정보 저장을 위해서는 더 큰 메모리 공간이 요구된다. 그런데 여기서 문제가 생겼었다. 가상 주소에서 물리 주소로의 주소 변환을 하려면 메모리에 존재하는 매핑 정보를 읽어야 한다. 모든 load/store 명령어 실행이 추가적인 메모리 읽기를 수반하는 것이다. 이 문제를 해결하기 위해서 하드웨어의 도움을 받는다. TLB에 대해 알아보자.
🔹 TLB란?
TLB는 Translation-lookaside buffer의 약자로 MMU(memory-management unit)의 일부이다. 자주 참조되는 가상 주소-물리 주소 변환 정보를 저장하는 하드웨어 캐시, 즉 주소 변환 캐시(address-translation cache)이다. 가상 메모리 참조 시, 하드웨어는 먼저 TLB에 원하는 변환 정보가 있는지를 확인한다. 만약 있다면 페이지 테이블을 거치지 않고 TLB의 정보로 변환을 빠르게 수행한다. 이렇게 TLB는 기존 페이징 기법의 성능 문제를 해결한다.
728x90
반응형
'운영체제' 카테고리의 다른 글
[운영체제] 17. Free Space Management 빈 공간 관리 (0) | 2024.04.23 |
---|---|
[운영체제] 07. 스케줄러 (0) | 2024.04.23 |
[운영체제] 18. Paging (1) | 2024.04.07 |
[운영체제] 06. 제한적 직접 실행(LDE, Limited Direct Execution) (1) | 2024.03.31 |
[운영체제] 16. segmentation 세그멘테이션 (1) | 2024.03.24 |