The Handler Must Not Fault
On a software-managed TLB (MIPS R10k, SPARC v9) the hardware's job on a miss is one line:
1 VPN = (VirtualAddress & VPN_MASK) >> SHIFT
2 (Success, TlbEntry) = TLB_Lookup(VPN)
3 if (Success == True) // TLB hit
4 ... form physical address, access memory ...
10 else // TLB miss
11 RaiseException(TLB_MISS)
Everything else is an OS trap handler that walks the page table and executes a privileged instruction to install the entry. What must the OS arrange so this design does not collapse the first time it is used?
Sign in to answer questions and track your progress
Sign In