Caching and virtual memory both manipulate addresses and potentially retrieve values from a different physical location than the user's address would have suggested.
Question 1: (see above) The conversion from user address to hardware location is done by
Question 2: (see above) The decision about where to physically locate a particular address is done by
Question 3: Virtual memory splits addresses into two parts: a page number and page offset. Caches split addresses into three parts: a tag, set index, and block offset. Consider the purpose of each of these five pieces of addresses, which of the cache's three parts has a purpose that is not implemented by one of the virtual memory's two pieces?
The goal of a page table is to implement a map<vpn, ppn>
,
where vpn
is a virtual page number and ppn
is a physical page number.
Question 4: (see above) A single-level page table uses what data type to implement this map?
Question 5: (see above) A multi-level page table uses what data type to implement this map?
(Yes, we know the book describes it as several single-level page tables; one of these is still the correct answer)
Question 6: (see above) Multi-level page tables are superior to single-level page tables because multi-level tables
Select all that apply