Anonymous user menu

Number of bits required for address next page table

Plz explain it in detail 

thank u....

Arvind Rawat @arvind.rawat
12 Dec 2014 05:32 pm

Virtual address size = 32 bits
Physical address size = 36 bits
Physical memory size = 2^36 bytes
Page frame size = 4K bytes = 2^12 bytes
No. of bits required to access physical memory frame = 36 - 12 = 24
So in third level of page table, 24 bits are required to access an entry.

9 bits of virtual address are used to access second level page table entry and size of pages in second level is 4 bytes. So size of second level page table is (2^9)*4 = 2^11 bytes. It means there are (2^36)/(2^11) possible locations to store this page table. Therefore the second page table requires 25 bits to address it. Similarly, the third page table needs 25 bits to address it.

Rohit @rohitm
3 Dec 2015 09:37 pm
plz explain why u did 2^36/2^11 ?
Arvind Rawat @arvind.rawat
4 Dec 2015 10:56 am

Physical memory size = 2^36 and second level page table size = 2^11 so number of pages in second level page table will be (2^36)/(2^11) = 2^25. Thus 25 bits are required to address it.

Ravi Raaja @raviraaja
12 Dec 2015 11:43 pm

hi could you please explain why you are dividing physical memory , and y not let that page table in any frame of main memory , im asking this because for other problem generally in outermost page table if its size is lessr that a page then we never included some bit for specifying its loction in main mem so , y your are doing it here for 2 nd level page table? because it is not complete or any other reasons?

Parimal Andhalkar @parimal_andhalkar
12 Dec 2014 06:22 pm

hey its ans give is B   i.e. 24,24 & 24

Arvind Rawat @arvind.rawat
12 Dec 2014 09:21 pm

Found something useful after searching the net... This question is implementation specific and only we can assume standard implementations in solving such problems.

"Page Frame Address
The page frame address specifies the physical starting address of a page. The low-order 12 bits are always zero. In the first level and second-level page table, the page frame address is the address of a page table. In the 3rd level page table, the page frame address is the address of the page frame that contains the desired memory operand."

Ans. 24,24,24 as per above.

"A minor complication arises in multilevel translation: should the address of the second-level page table in the 1st-level table be a virtual or a physical address? A virtual address adds an extra translation that needs to be done, while a physical address has problems dealing with page tables that are not in memory. 
Generally,the 1st-level table contains physical addresses, but the least significant bit of each entry indicates whether the page table is present in memory or not. If not present, then the entry would contain an OS-specific pointer (such as a disk block address) used to record where the page table is stored on disk."

As per above considering LSB answer should be
D) 25,25,24

TarGate @tar_gate
13 Dec 2014 12:33 am

Well we just need 24 bits at each level for addressing. As each table entry is of 32 bits, 24 goes for addressing the rest of the bits Read/Write, Present, Dirty etc which provide extra information. As we must not forget the page table is also stored physically, 24 bits suffice to identify it. 



Parimal Andhalkar @parimal_andhalkar
14 Dec 2014 12:50 pm
Manish Kumar Prasad @manishkumarpras
13 May 2018 09:16 pm
@rawat I think you should remove the answer 25,25,24. It is misguiding the viewers.
Manish Kumar Prasad @manishkumarpras
13 May 2018 09:17 pm
Most of the places of there answer given is 25,25,24.