calculate the effective access time

不问归期 提交于 2019-12-03 11:25:42

In the case that the page is found in the TLB (TLB hit) the total time would be the time of search in the TLB plus the time to access memory, so

TLB_hit_time := TLB_search_time + memory_access_time

In the case that the page is not found in the TLB (TLB miss) the total time would be the time to search the TLB (you don't find anything, but searched nontheless) plus the time to access memory to get the page table and frame, plus the time to access memory to get the data, so

TLB_miss_time := TLB_search_time + memory_access_time + memory_access_time

But this is in individual cases, when you want to know an average measure of the TLB performance, you use the Effective Access Time, that is the weighted average of the previous measures

EAT := TLB_miss_time * (1- hit_ratio) + TLB_hit_time * hit_ratio

or

EAT := (TLB_search_time + 2*memory_access_time) * (1- hit_ratio) +
       (TLB_search_time + memory_access_time) * hit_ratio

The effective time here is just the average time using the relative probabilities of a hit or a miss. So if a hit happens 80% of the time and a miss happens 20% of the time then the effective time (i.e. average time) over a large number of hits/misses will be 0.8 * (hit time) + 0.2 * (miss time).

General Formula for EAT

Hit ratio = a

Main Memory access time = m

Associative Lookup (TLB access) = e

EAT = (m + e) a + (2m + e) (1 - a)

    = 2m - ma + e
Kuntal

In TLB a copy of frequently accessed page number and frame no is maintained which is from the page table stored into memory.

It first looks into TLB. If found, it goes to the memory location so the total access time is equals to:

20 + 100 = 120 ns

Now if TLB is missing then you need to first search for TLB, then for the page table which is stored into memory. So one memory access plus one particular page acces, nothing but another memory access. So the total time is equals to:

20 + 100 + 100 = 220 ns

And effective memory access time is equals to:

0.80 * 120 + 0.20* 220 = 140 ns

Effective acess time Is total time spent in accessing memory( ie summation of main memory and cache acess time) divided by total number of memory references.

Average Access Time is hit time+miss rate*miss time, disagree with @Paul R's answer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!