Consider a system that has a cache memory unit and a memory management unit
(MMU). The address input to the cache memory is a physical address. The MMU
has a translation lookaside buffer (TLB). Assume that when a page is evicted from
the main memory, the corresponding blocks in the cache are marked as invalid.
For a given memory reference, which of the following sequences of events can
NEVER happen?
Think of this problem as a consistency check between three layers of the memory hierarchy: the TLB (fast translation cache), the page table (full translation record), and the cache (which only understands physical addresses).
The key invariant to apply is: a TLB entry is valid only if the page it maps is currently present in main memory. This is because the operating system invalidates TLB entries the moment a page is swapped out or evicted, and the cache blocks tied to that physical frame are invalidated at the same time.
Using this invariant, check each combination logically rather than mechanically:
So the impossible sequences, matching the given key, are \(\text{Option B}\) and \(\text{Option C}\).
Final answer: B and C (options 2 and 3).
Consider a three-level page table to translate a 39-bit virtual address to a physical address as shown. The page size is 4KB and page table entry size at every level is 8 bytes. A process \( P \) is currently using 2GB virtual memory mapped to 2GB physical memory. The minimum amount of memory required for the page table of \( P \) across all levels is \(\underline{\hspace{2cm}}\) KB. 