This page does not represent the most current semester of this course; it is present merely as an archive.

1 The Exam

Exam 3 was given in class on Thursday 2 May, 2019. The PDF of the exam is available here. You can find your individual responses on the submission page.

Stat Exam 1 Exam 2 Exam 3
High 91.1% 93.1% 98.2%
Median 80.6% 77.8% 85.3%
Mean 78.6% 76.0% 85.0%
Low 54.8% 52.2% 60.1%
StdDev 9.6% 11.3% 8.7%

A few notes that may not be evident from the uploads:

  • Q23 and Q24 had a lot of conceptual overlap, and were weighted half as much as other questions, though you’ll see a normalized (out of 1) score displayed if you missed points on it.
  • Q15 I dropped as ambiguous

2 Key

Question Key
Q1 2
Q2.1 True
Q2.2 True
Q3 1
Q4 2
Q5 3
Q6 20,007
Q7 5
Q8 1
Q9 3 (1 also accepted)
Q10 5
Q11 1
Q12 Two deadlocks: a locked barrier (so either remove 1 and 3 or remove 2) and a barrier some threads run more often than others (so remove 4)
Q13 1
Q14 4
Q15 (dropped)
Q16.1 False
Q16.2 True
Q16.3 True
Q16.4 True – a non-signaling page-fault is handled by mapping a new page
Q16.5 True – new page access = new TLB entry
Q16.6 True – page faults are caused by memory accesses
Q17.1 True
Q17.2 True
Q17.3 True
Q17.4 True
Q17.5 True
Q17.6 False
Q18 1 – TLBs cache VA→PA mappings, not page tables, and only one new mapping here
Q19.1 False
Q19.2 True
Q19.3 True
Q19.4 True
Q19.5 False – this would work for Specter, but not Meltdown
Q20 29 = 512
Q21 58 – 2 more bits per VPN and 2 more for the PO too
Q22 4
Q23.1 True
Q23.2 True
Q23.3 False
Q23.4 True
Q24.1 False
Q24.2 False
Q24.3 True
Q24.4 False
Q25 512KB
Q26 3 (5 also accepted)
Q27.1 True
Q27.2 False
Q27.3 True
Q27.4 False
Q28.1 False
Q28.2 True
Q28.3 False
Q28.4 True
Q29.1 True
Q29.2 True
Q29.3 True
Q29.4 True
Q29.5 True – cannot have cycles without this
Q29.6 True – cannot have cycles without this
Q30.1 True
Q30.2 True
Q30.3 False
Q30.4 False – user account changes require kernel mode, meaning an exception
Q30.5 False
Q30.6 False
Q31.1 False
Q31.2 False
Q31.3 False
Q31.4 True
Q32 3