What is a page table and what can it be used for?
Overview of Page Table
What is a page table?
This is called the translation lookaside buffer (TLB), and it is an associated cache.
When a virtual address needs to be converted to a physical address, the TLB will be searched first.
Subsequent translations will find TLB hits, and memory access will continue.
Unlike the true page table, it may not be able to save all current mappings.
The operating system must be prepared to handle misses, just like using MIPS-style software-filled TLB.
IPT combines a page table and a frame table into one data structure.
The core of a fixed-size table is that the number of rows equals the number of frames in memory.
If there are 4,000 frames, the inverted page table has 4,000 rows.
Multilevel Page Tables
Multilevel page tables are also called hierarchical page tables.
To avoid this, we can create a page table structure containing virtual page mapping.
This is done by keeping several page tables covering a certain block of virtual memory.
For example, we can create smaller 4K pages with 1024 entries, covering 4M virtual memory.
Not only are two levels required, but multiple levels may be required.
Nested Page Tables
you could implement nested page tables to improve the performance of hardware virtualization.
By providing hardware support for page-table virtualization, simulation requirements are greatly reduced.
For x86 virtualization, the current choices are Intels Extended Page Table feature and AMDs Rapid Virtualization Indexing feature.