+8 votes
689 views
A system has cache main memory and disk for virtual memory. If referenced word in cache $30$ ns to access it. If it is not in cache $80$ ns to load it in cache and reference is started again. If the word not in memory then $22$ms to bring from disk to memory and $80$ ns from memory to cache and start again. Cache hit ratio is $0.8$ memory hit ratio is $0.9$

edited | 689 views
0
What this question is asking?
+1
This qstn is asking about Average access Time .

## 3 Answers

+2 votes
Best answer
In this question nothing is mention about search time inside memory and disk, so we safely ignore search time .

so that average access time is :

cache access time + MM access time + Disk access time

\begin{align*} & 0.8 * 30 \text{ ns } \\ &+ 0.18 * \left ( 30 + 80 \right ) \text{ ns } \\ &+ 0.02 * \left ( 30 + 80 + 22000000 \right ) \text{ ns } \\ &=\bf 440046 \text{ ns } \\ \end{align*}

in each above case , cache  and MM and disk we consider search time to find that referenced word = 0  .
by Veteran (57.2k points)
edited by
0
From where you have used 0.18.....
0
it is (1-0.8)*0.9 = 0.18
+7 votes

Total time = Cache Access + Memory Access + Disk Access

= Cache time + Cache Miss * (Transfer from Memory to cache + 2nd Cache reference ) + Cache Miss * Memory Miss ( Fetch Disk + Transfer from Disk to Memory )
= 30 + 0.20*(80+30) + 0.20*0.10(80 + 22,000,000)
=30 + 22 + 440001.6
= 440053.60 ns
$\approx 440 \mu s$

by Veteran (60.9k points)
0
80 + 22000 + 30 rt?
+1
Sir if der is miss in Cache, miss in memory so we will go upto disk and then transfer that file to maine memory. now at this time condition is like cache miss and memory hit.

Actually second reference of cache already counted in 0.20*(80+30) .. is it not ?
+1
yes, I missed that :)
0
why dont we consider hit ratios ....??
0
0.8 * (30) + 0.2 (0.9 * (80+30) + 0.1 (80+30+22000000) )=440026ns

ans should be like this, isn't it?

i'm not getting logic here....can u explain further?
+1
you can expand that 0.8 * 30 + 0.2 * 30 = 30 - we can rewrite like this also. But given answer is wrong due to "ms".
0
what about it ratio for cache
+1 vote
I did something Like this

0.8*30 + 0.2*0.9*(80+30) + 0.2 *0.1*(80+30 + (22000000))=440046 ns.
by Junior (729 points)
Answer:

0 votes
0 answers
3