해당 Page들 기능들에 대해 연관지어서 제작한 내용

TLB(Translation Lookaside Buffer)

TLB Flush 최적화

Transparent Huge Pages(THP)

Page table walk + THP와 연동


세 주제는 하나의 흐름

CPU가 가상 주소 접근
	|-- TLB 확인 -- hit --> 즉시 물리 주소 (빠름)
					|
					|----- miss --> Page Table Walk (느림, RAM 4번)
																|
																|-- THP면 walk 단계 하락 +애초에 miss 하락

1. Page Table Walk

정의

TLB miss시 MMU가 메모리에 있는 다단계 페이지 테이블을 순차 조회하여 가상 주소를 물리 주소로 변환하는 과정

가상 주소 분해(x86-64, 48비트)

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)
포인터  포인터  포인터 포인터  실제 데이터