How to calculate effective access time

Assuming a TLB hit rate of 90%, a physical memory access takes 100 ns, a TLB access takes 20 ns, and computes the effective access time for a processor using two tier page tables, and parallel indexing of the TLB and page tables.

This was my formula:

(H)(TLB access time + mem access time) + (1-H)(TLB access + PT access + mem access)

      

This was my calculation:

EAT = [(.90) * (100ns + 20ns) + (1-.90)(20ns + 100ns*2 + 100ns)] = 130ns

      

I understand 2 * 100ns because of the two-level page table, my confusion was when my professor said that the 20ns TLB access time should not be included in the skip calculation.

Can someone really explain the reasons for this?

+3


source to share


1 answer


The TLB and PT indexing is assumed to be "parallel". Thus, searches for TLB and PT are simultaneous .

When searching in memory, the processor runs both a PT request and a TLB. If the TLB has an answer, it will answer first; this is a hit case. If not, the request will continue to run until PT responds; that's the case of no access.



Significantly, PT has already started looking for an answer during the time the TLB determines it cannot answer. Thus, TLB lookup time should not be counted when skipping the cache.

+2


source







All Articles