Return to course page

Question 1: Suppose we have 64KB pages, 8B page table entries, and a 2-level page table hierarchy. How many bits long is the usable virtual address (the VPNs and VPO combined)?

Answer as a normal base-10 number.

Answer:

Question 2: Memory permission bits (such as "read-only") are stored in
Select all that apply

  1. page table entries

  2. data pages

  3. the TLB

  4. operating system data structures

Question 3: The Linux operating system data structure vm_area_struct refers to a range of addresses. These ranges are usually aligned with page boundaries because

  1. vm_area_structs store only physical page numbers, not whole addresses, to save space

  2. vm_area_structs store only virtual page numbers, not whole addresses, to save space

  3. the MMU reads the vm_area_struct and expects page boundaries

  4. the OS uses the vm_area_struct to initialize page table entries so sub-page resolution is not useful

  5. speed: alignment with page boundaries makes memory accesses faster

Question 4: The TLB is a cache, which means it splits its input into parts. Which of the parts used by data caches is missing, and why?

  1. There is no tag because all the input bits are used for other purposes

  2. There is no tag because there is nothing to compare them to

  3. There is no index because the TLB is direct-mapped

  4. There is no index because the TLB is fully associative

  5. There is no offset because there is only one element per block

  6. There is no offset because the TLB stores PPNs or PTEs, not bytes

Question 5: In the processor described in the textbook, the TLB lookup and L1 cache lookup can run partly in parallel. This is parallelism is possible because of careful selection of which of the following?
Select all that apply

  1. page size

  2. single VPN size

  3. number of levels in page table hierarchy

  4. PPN size

  5. number of TLB offset bits

  6. number of TLB index bits

  7. number of TLB tag bits

  8. number of L1 offset bits

  9. number of L1 index bits

  10. number of L1 tag bits

Return to main page
Return to course page