I had this question in an Operating system course test And Im couldn't figure out on how to solve it
A system is given that uses paging, with a page size of 1MB. The length of the virtual address is 56 bits and each process receives the maximum virtual memory space possible in the data tired system in question. The system is designed to manage the physical RAM main memory of size 4GB (4 gigabytes). Each line in the page table contains a memory frame number (PHYSICAL FRAME NUMBER) and another 10 bits to store additional information.
A. How many levels should the page table be divided into so that each of the page tables fits exactly on one page?
My answer began like this: Since the length of virtual address is 56 bits than we have in total 2^56 addresses. Page size is 1MB == 2^20 to calculate the page number 2^56 / 2^20 = 2^36 ( 36 bits)
to calculate the size of a physical address : 2^36 ( 36 bits) + 10 bits (of extra memory) = 46 bits Total number of physical address : 2^46
To manage 4GB (2^2 * 2^30 = 2^32) RAM memory.
After this i couldn't manage to continue.
Any help will be appreciated.