Seventy Percent Twice

A tiny machine: 16-byte pages, and a 10-element array of 4-byte integers laid out from virtual address 100, so it spans VPN 06, 07 and 08. A loop sums all ten elements. Ignore instruction fetches and the loop variables.

The first pass over the array gets 3 TLB misses and 7 hits, a 70% hit rate. The loop then runs a second time. Between the two passes the OS context switches to another process and back, and this CPU has no ASIDs, so the TLB is flushed on every switch.

What hit rate does the second pass get?

A

30%, the complement of the first pass

B

100%, since the three translations were loaded during the first pass

C

70%

D

0%, because a flushed TLB has no valid entries at all