Let me simplify the solution .so tell me you know the formula for average memory access time is Average access time = h1*tcm+(1-h1)(tcm+tmm)
so to calculate average memory time we need hit ratio ,cache memory access time and main memory access time.
now read question and try to figure out what are the things we have .so we have hit ratio given ,cache memory time given and some info about main memry access time given but not clear .
it takes 20 ns to bring the first word of a block from the main memory, while each subsequent word takes 5ns .
Now we have to take care of this line and find main memory access time.As after reading the line you know that it is taking about words in memory so for first work it takes 20ns and for remaning it takes 5ns each .So you have figured out that you need to calculate no of words.
no of words:
Block size is 256 Bytes,word size is 64 bits or 8 bytes. So Block size in words is 8 words.
Number of words per block=32
so tmm=20+31*5=175ns
now simply apply the formula and you will get the answer
tavg= 0.94 * (3) + 0.06 * (20 + 5 * 31) = 13.5(ans)