Virtual Memory Translation
Virtual address → TLB → page tables → physical address.
Rendering…
Make it your own.
flowchart LR
VA[Virtual address] --> Split[Split: VPN + offset]
Split --> TLB{TLB hit?}
TLB -- yes --> PPN[Physical page number]
TLB -- no --> Walk[Page-table walk\n4-level on x86-64]
Walk -.->|fill| TLB
PPN --> Join[Concatenate PPN + offset]
Join --> PA[Physical address]
Walk --> Fault{Page present?}
Fault -- yes --> PPN
Fault -- no --> PF[Page fault →\nOS handler]
PF --> Load[Load page from disk]
Load --> Walk