TT Lab

운영체제 · 가상 메모리

가상 주소는 어떻게 물리 주소가 되나

프로그램이 쓰는 주소는 진짜 주소가 아닙니다. 48비트 가상 주소를 아홉 비트씩 네 조각과 열두 비트 오프셋으로 쪼갠 뒤, 조각마다 한 층의 표에서 다음 표를 찾아 내려갑니다. 주소 하나를 읽으려고 메모리를 네 번 더 읽는 셈입니다. 그 대가를 줄이는 것이 TLB 입니다.

네 층을 타고 내려가는 길

노란 칸이 이 주소가 고른 엔트리이고, 선이 그 길입니다.

주소 바꿔 보기

이 주소가 밟는 걸음

가상 주소
메모리를 더 읽는 횟수
물리 주소
페이지 안 오프셋

층마다 어느 비트가 인덱스가 되고, 그 결과 무엇을 찾는가
층쓰는 비트인덱스찾은 것

오프셋은 변환되지 않고 그대로 따라갑니다. 페이지를 통째로 다른 자리로 옮겨도 페이지 안의 배치는 그대로인 까닭입니다.