I try to solve an exercise, unfortunately without any success yet.
From the following given information, the virtual address space should be calculated:
- Page size is 16 KB
- Logical address size is 47 bit
- 3 levels of page tables; all have the same size
- Page table entry size is 8 byte
My idea is to find out how many pages can be addressed. The page count should lead then to the size of the virtual address space, right?
Virtual address space = page size * page count
As far as I understand is the page count defined by the logical address size. The logical address is split up in 3 levels of page tables plus the offset. Due the page table entry size is 8 byte (2^6 = 64 bit), 6 bits of the logical address are used for each stage to address it. The offset will have the size of 30 bits.
Each page stage can address 64 bit plus the 30 bits offset. So does this result in the page count?
Page count = 64 * 3 + 30 = 222
With the page size and the page count I get the virtual address space of 3552 KB
.
I think this is wrong. It should be much larger. What is not correct? Any help is appreciated!