Before this read chapter please follow the previous chapter first: Implementation of TLB
Effective Memory Access Time (EMAT) in two cases: TLB hit and TLB miss:
As we know process and page table both reside at the main memory, so when we access the page table we have to access the main memory it may be one memory reference or more than the memory reference as per the number of page tables used.
And we also know TLB has faster access time than main memory i.e.
TLB access time < Main memory access time.
Let, TBL access time = 30ns and memory access time = 100 ns
Effective Memory Access Time (EMAT) on TLB hit:
TLB hit: when we get page entry directly from TLB
EMAT = Access time of TLB to get page entry (frame number) + Access time of main memory to match frame number and get corresponding process page.
So, EMAT = 30ns + 100ns = 130ns
Note: In that case, we do not need to access the page table so, only one main memory reference is required.
Effective Memory Access Time (EMAT) on TLB miss:
TLB hit: When we do not get page entry at TLB and back to page table to get page entry.
EMAT = Access time to search TLB and not present + Access time of main memory for page table to get page entry (frame number) + Access time of main memory to match frame number and get corresponding process page.
So, EMAT = 30ns + 100ns + 100ns = 230ns
Note: Because we have to access one main memory additional for the page table, Effective Memory Access Time (EMAT) is going to increase. Here two main memory references are used.
At TLB miss, apart from accessing the page table to get frame number, we also load page entry from page table to TLB. But this loading time is negotiable.
Note: Please continue with Effective Access Time (EMAT) TLB hit and miss ratio: Effective Access Time using Hit ratio and Miss ratio