15 Aug Check whether the entry is in the TLB
In this system, when a virtual address is requested:
- Check whether the entry is in the TLB. – If yes, directly return the frame number; – If no, continue step 2.
- Get the page table by segment number.
- Get the frame number by page number.
- Replace the TLB entry with the new record.
- Retrieve the data.
Givens are some incomplete source files. You need to complete:
tlb.cpp:
int TLB::get_frame(VirtualAddress vaddr)
void TLB::lru_replace(VirtualAddress vaddr, unsigned int frame)
main.cpp:
int address_translate(VirtualAddress vaddr)
You can find the instructions and hints in the comments of the source file.
Your final output should be exactly the same as attached png file:
