In: Computer Science
Assume a 32-bit system, with a 2-level page table, with a page size of 4KiB (p1=10bits, p2=10bits, offset=12bits).
(i) A program on this system requires 16MiB in total: the program text segment uses 4MiB, the program data requires 2MiB, the program dynamically allocates 8MiB on the heap, and the stack utilises 2MiB. How many page-table pages are required for this process? (Don’t answer with just a number, explain your reasoning. Without your reasoning we cannot award part marks if your answer is incorrect.)
(ii) Describe the lookup steps within the page tables to find the physical address of the logical address 0x00403004.
(iii) If the reference time to access the physical memory frame
is 20 nanoseconds. Assume that all required pages are in memory.
How long does a paged memory reference take, if—
i. There is no TLB?
ii. There is a TLB, with an access speed of 0.05 nanoseconds, but
the TLB does not contain information on the required page?
iii. There is a TLB, with an access speed of 0.05 nanoseconds, and
the TLB contains information on this page?
Do not answer with just a number, explain your reasoning.