Homework: Disco

Read: Disco paper

Hand-In Procedure

You are to turn in this homework during lecture. Please write up your answers to the exercises below and hand them in to a 6.828 staff member at the beginning of lecture.

Disco TLB

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?
}

This completes the homework.