Consider a three level memory system of the following specifications,
T1: Memory access time of level-1 memory = 10 ns/word
T2: Memory access time of level-2 memory = 15 ns/word
T3: Memory access time of level-3 memory = 200 ns/word
H1 = 0.8 (hit latency at level-1)
H2 = 0.9 (hit latency at level-2)
H3 = 1.0 (hit latency at level-3)
If the referred word is available in level-1 memory, it is handed over to the processor. If it is not available in level-1, then a 2-word block is to be moved from level-2 to level-1 and from level-1 it is given to the processor. If it is not present in level-2, a four-word block is first moved from level-3 to level-2 and then associated block is moved from level-2 to level-1. The average access time will be _________________ ns (integer value only).

Habib Mohammad Khan 8 Dec 2016 07:20 pm

There are 3 cases :

A) Hit in level 1 : So for this portion of effective time = 0.8 * 10  = 8 ns

B) Miss in level 1 and hit in level 2 : For this we first need to transfer 2 word block cache from level 2 to level 1 and then in memory..So effective time portion in this case = 0.2 * 0.9 * (15 * 2 + 10)

= 0.18 * 40

= 7.2 ns / word

C) In case miss in both level 1 and level 2 and hit in final level : In this case the 4 block word needs to be brought to level 2 from level 3, then the corresponding 2 word block from level 2 to level 1..So time required in this portion  =  0.2 * 0.1 * (200 * 4 + 15 * 2 + 10)  = 16.8 ns

Hence total time considering all 3 cases =  8 + 7.2 + 16.8 ns

=  32 ns

Hence 32 ns is the correct answer