Return to course page

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

  1. hardware for virtual memory, software for caches

  2. hardware for virtual memory, hardware for caches

  3. software for virtual memory, software for caches

  4. software for virtual memory, hardware for caches

Question 2: (see above) The decision about where to physically locate a particular address is done by

  1. hardware for virtual memory, software for caches

  2. hardware for virtual memory, hardware for caches

  3. software for virtual memory, software for caches

  4. software for virtual memory, hardware for caches

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?

  1. the tag

  2. the set index

  3. the block offset

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?

  1. an array

  2. a hash table

  3. a tree

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)

  1. an array

  2. a hash table

  3. a tree

Question 6: (see above) Multi-level page tables are superior to single-level page tables because multi-level tables
Select all that apply

  1. use less space to store the mapping for sparse address spaces

  2. use less space to store the mapping for full address spaces

  3. are more efficient when creating entries for newly-allocated memory

  4. are more efficient when used to look up ppns

  5. are more flexible in the page sizes they can handle

  6. are more flexible in the sizeof(ppn) - sizeof(vpn) they can handle

Return to main page
Return to course page