retagged by
47,561 views
53 votes
53 votes
Consider a paging system that uses $1$-level page table residing in main memory and a $\textsf{TLB}$ for address translation. Each main memory access takes $100$ ns and $\textsf{TLB}$ lookup takes $20$ ns. Each page transfer to/from the disk takes $5000$ ns. Assume that the $\textsf{TLB}$ hit ratio is $95 \%$, page fault rate is $10 \%$. Assume that for $20 \%$ of the total page faults, a dirty page has to be written back to disk before the required page is read from disk. $\textsf{TLB}$ update time is negligible. The average memory access time in ns (round off to $1$ decimal places) is ___________
retagged by

10 Answers

4 votes
4 votes
Memory Access Time = 100 ns

TLB look up = 20 ns

no.of levels in paging = 1

page fault rate=10%

 

AMAT = evaluate Memory Address + Access Memory Address

evaluate Memory Address = $0.95*20 + 0.05 (20+ 1 * 100 )$ = 19+6=25 ns

Access Memory Address = Page fault rate * Pagefault service Time + (1-page fault rate) * Memory Acess time.

 

Page fault service time = dirty read + non-dirty read

= 0.2*(5000 + 5000+100) + 0.8* (5000+100) = 2020+4080=6100 ns

Dirty read --- 5000 for writing back to the page, 5000 for fetching new required page and 100 for accessing it.

 

Access Memory Address = 0.1 * 6100 + 0.9 * 100 = 610 + 90 = 700 ns

 

AMAT = 25 + 700 = 725 ns
edited by
4 votes
4 votes


@Arjun sir, This should be the logical flow..Could you please check..

edited by
2 votes
2 votes
The answer can be divided into parts:
= Time to convert VA to PA + Access word
= [tlb_access_time + tlb_miss_rate * k_levels_paging * memory_access_time]
  +  
[memory_access_time + page_fault_rate (page_fault_service_time + dirty_page_rate * write_back_time) ]
= [20 + 0.05 * 1 * 100]
   +
   [100 + 0.1*(5000 + 0.2 * 5000)]

= [25] + [100 + 600]
= 25 + 700
= 725
1 votes
1 votes
95%tlb hit*(tlb access time + 20% of 10% dirty page + 80% of 10% simple page fault + 90% no page fault) +  5%TLB miss*(tlb access time + paging time + same story)

effective memory access time =

0.95{20 + 0.1*0.2*(100+5000+5000) + 0.1*0.8*(100+5000)+0.9*(100)} + 0.05{20 + 100 + 0.1*0.2*(100+5000+5000) + 0.1*0.8*(100+5000)+0.9*(100)}

= 0.95*720 + 0.05*820

= 684 + 41

=725 ns
Answer:

Related questions

28 votes
28 votes
8 answers
2
Arjun asked Feb 12, 2020
16,783 views
The number of permutations of the characters in LILAC so that no character appears in its original position, if the two L’s are indistinguishable, is ______.