Calculating the average memory access time - VirtualGATE16

What is the average memory access time (correct to two decimal places) when you have the following memory hierarchy? Assume that (i) the cache uses physical addresses, (ii) the CPU stalls until the data is delivered, (iii) everything fits into the memory, and (iv) the hardware does the page table walk and updates TLB.

               

Unit

additional access latency

local hit rate(in %)

TLB

1

95

L1

1

95

L2

8

80

L3

50

50

Memory

100

100

Page table walk & TLB update

200

100

8Comments
Amit Kumar @amit0368 27 Jan 2016 02:42 pm

how do we calculate TLB MISS penality

Shaili @shaili19 27 Jan 2016 02:49 pm

Can someone please show the actual calculations? 

Do we need to add the access latency of previous caches in the miss penalty?

Digvijay Pandey @digvijay 29 Jan 2016 05:21 am

Time = TLB access time + Miss rate TLB * TLB update time + L1 access time + Miss Rate L1 * L2 Access Time + Miss Rate of L1 * Miss Rate L2 * L3 Access Time +  Miss rate L3 * Memory Access time

= 1 + 0.05*200 + 1 + 0.05*8 + 0.05*0.20*50 + 0.50*0.20*0.50*100
= 1 + 10 + 1 + 0.40 + 0.50 + 0.50
= 13.40 ms

Ashish Kumar @ashishkumar1 2 Feb 2017 03:08 pm

I got ans = 13.35..

please provide ans in range otherwise this CO subject will have poor performance ..

Sumit Verma @sumitverma 2 Feb 2017 03:39 pm

Don't worry. Range is there.

Abhinav Arora @abhinav93 2 Feb 2017 04:32 pm

The answer should be 13.47 to be exact what is the range?

 

Sumit Verma @sumitverma 2 Feb 2017 04:34 pm

@abhinav93 Your answer is in range.

Ashish Kumar Goyal @dashish 2 Feb 2017 07:53 pm

I am getting 13.02! Is i correct?? @sumitverma