541 views
0 votes
0 votes

A Computer system implements 8 kilobyte pages and a 32-bit physical address space. Each page table entry contains a valid bit, and the translation. If the maximum size of the page table of a process is 20 megabytes, then what will the length of the virtual address supported by the system (in bits)?

  • 26

     

  •  30

     

  •  36

     

  • 20

 https://gateoverflow.in/8247/gate2015-2_47 The above question related to this gate question.But when I tried i got 33 bit but i choose 30 bits

1 Answer

Best answer
3 votes
3 votes

I will use the answer by Arjun given on the link you gave, with the relevant values modified.

8 KB pages means 13 offset bits. 
For 32, bit physical address, 32 - 13 = 19 page frame bits must be there in each PTE (Page Table Entry). 
We also have 1 valid bit. 
So, total size of a PTE = 19 + 1 = 20 bits.

​Given in question, maximum page table size = 20 MB
Page table size = No. of PTEs * size of an entry
So, no. of PTE = ( 20 * 2020 * 23 ) / ( 20 ) = 8 M

Virtual address supported = No. of PTEs * Page size (As we need a PTE for each page)
= 8 M * 8 KB
= 64 GB = 236 Bytes

So, length of virtual address supported = 36 bits (assuming byte addressing)

selected by

Related questions

2 votes
2 votes
0 answers
1
0 votes
0 votes
3 answers
2
2 votes
2 votes
2 answers
4