2,078 views
1 1 vote
There is 4 level page table and has following information

64 bit virtual address space

64 kb page size

8 byte page table entry size

program uses only addresses 0...4GB

if page number split equally 4 level page tables uses ......KB?

1 Answer

1 1 vote
Program uses 4Gb= $2^{32}$

Offset= 16 bit and for page number we can use 48 bits

Now pages number is split equally so we have 12|12|12|12

Page size is 64 KB so number of pages a program can have is $\frac{2^{32}}{2^{16}}=2^{16}$

Number of 4th level page table = $\frac{2^{16}}{2^{12}}=2^{4}$

1 single 3rd level page table

1 single 2nd level page table and

1 single 1st level page table

so total space = $2^{15}+2^{15}+2^{15}+2^{4}*2^{15}=19*2^{15}$

approximate value is 608KB

and if you are asking size of single page table then = 32 Kb

BONUS

if we use single level paging then total size= $2^{48}*2^{3}=2^{51}$ huge overhead

if we use 2 level paging of equal page no 24|24 then total size=$2^{27}+2^{27}=2^{28}$=256MB

3 level paging of 16|16|16 total size = $2^{19}+2^{19}+2^{19}=2^{21}$=2MB

hence 4 level paging is useful
• edited by
Position:
Show:

Related questions

4 4 votes
1 1 answer
127
127 views
GO Classes asked Aug 10
127 views
Consider the $\text{x86-64}$ architecture.Assume:Pages are $4$ KB Each page-table entry is $8$ bytes Each page-table page contains $512$ entries The page-table structure ...
5 5 votes
2 2 answers
257
257 views
GO Classes asked Aug 14
257 views
A virtual-memory system has:$48$-bit virtual addresses $32$ KB pages $32$ TB physical memory Two-level page tables Both levels stored in physical memory Every second-leve...