해당 Page들 기능들에 대해 연관지어서 제작한 내용
TLB(Translation Lookaside Buffer)
세 주제는 하나의 흐름
- Page Table Walk - 주소 변환의 본질이나 느린 과정
- TLB - walk를 건너뛰기 위한 하드웨어 캐시
- THP -
TLB hit rate 상승 + walk 단계 하락을 위한 최적화
CPU가 가상 주소 접근
|-- TLB 확인 -- hit --> 즉시 물리 주소 (빠름)
|
|----- miss --> Page Table Walk (느림, RAM 4번)
|
|-- THP면 walk 단계 하락 +애초에 miss 하락
TLB miss시 MMU가 메모리에 있는 다단계 페이지 테이블을 순차 조회하여 가상 주소를 물리 주소로 변환하는 과정
9 / 9 / 9 / 9 / 12 비트로 나눔
가상 주소: 0x00007f1234567890
┌────────┬────────┬────────┬────────┬──────────┐
│ PML4 │ PDPT │ PD │ PT │ Offset │
│ 9bit │ 9bit │ 9bit │ 9bit │ 12bit │
│ 인덱스 │ 인덱스 │ 인덱스 │ 인덱스 │ 페이지 내│
└────────┴────────┴────────┴────────┴──────────┘
9bit → 0~511 각 테이블의 512개 엔트리 중 하나 선택
12bit → 0~4095 4KB 페이지 안에서의 위치
PML4 1개 → PDPT 512개
PDPT 1개 → PD 512개
PD 1개 → PT 512개
PT 1개 → 물리 프레임 512개
PML4 → PDPT → PD → PT → 물리 프레임(RAM)
포인터 포인터 포인터 포인터 실제 데이터