Virtual address space is 1GB so we need 30 bits for Virtual Address. We will need 20 bits (i.e. 30-10) for Virtual Page Number.
Size of Page Table Entry (PTE) = 2B (14b for frame number, 2b for valid and dirt bit)
Number of page table entries in one page = 1 KB/ 2B = 512
On each page we will have 512 entries and we need 9 bits to address their page table entries.
For Page Table lvl 3 (2 bits) |
For Page Table lvl 2 (9 bits) |
For Page Table lvl 3 (9 bits) |
Page Number (10 bits) |
So number of pages required for page table = 1 + $2^{2}$ + $2^{2}$ * $2^{9}$ = 2053
Memory required for page tables = 2053 * 10 * 1 KB = 20.05 MB