Lecture 19 assignment

Read the Disco paper. (This paper led to the creation of VMware.) One of the 6.828 students from last year interned at VMware. We also lost last year's TAs to VMware.

Assignment: Please fill out the pseudocode for the functions below and hand it in.

/ Disco's tlb miss handler.
// Called when a memory refernce for virutal adddress
// 'VA' is made, but there is not VA->MA (virtual -> machine)
// mapping in the cpu's TLB.
tlb_miss_handler (VA)
{
}

// Disco's procedure which emulates the MIPS
// instruction which writes to the tlb.
//
// VA -- virtual addresss
// PA -- physical address (NOT MA machine address!)
emulate_tlbwrite_instruction (VA, PA)
{
}

// Disco's procedure which emulates the MIPS
// instruction which read the tlb.
//
emulate_tlbread_instruction (VA)
{
  // Hint: should this return a PA or an MA?
}