• retagged by
8,138 views
4 4 votes
Suppose that a cache is 20 times faster than main memory and cache memory can be used 80% of the time. The speed up factor that can be achieved by using the cache is

3 Answers

Best answer
9 9 votes

Let Cache access time is X, then main memory access time will be 20X .

Speed up factor = (Time taken to get data W/O Cache)/(Time taken to get data with Cache)

Time taken to get data W/O Cache: 20X

Time taken to get data with Cache: .8X + .2(20X) =4.8X

Then speed up will be 20X/(4.8X) = 4.166 (Answer)

• selected by
4 4 votes

Soverall = ((1-∑f) + ∑$\frac{f}{s}$)-1 
 
           = ((1-.8) + ( $\frac{.8}{20}$) -1

           = 4.166

3 3 votes
Hierarchical access to main memory..
T​c : Cache Access Time, T​m : Memory Access time, Tm = 20T​c, Hit Ratio = 0.80

Effective access Time = Tc + 0.20 *Tm = Tc + 0.20*20Tc = 5*Tc
Speed Up = Memory Access Time Without Cache / Memory Access Time With Cache
= Tm/Effective Access time = 20*Tc/5*Tc

Speed up = 4
Answer:
Position:
Show:

Related questions

61 61 votes
5 answers 5 answers
25.4k
25.4k views
Arjun asked Feb 12, 2020
25,417 views
Consider a double hashing scheme in which the primary hash function is $h_1(k)= k \text{ mod } 23$, and the secondary hash function is $h_2(k)=1+(k \text{ mod } 19)$. Ass...
1 1 vote
1 1 answer
773
773 views
SKMAKM asked Oct 20, 2022
773 views
Answer: 1.098
1 1 vote
2 2 answers
1.9k
1.9k views
80 80 votes
11 answers 11 answers
34.2k
34.2k views
go_editor asked Sep 28, 2014
34,186 views
Consider a $6$-stage instruction pipeline, where all stages are perfectly balanced. Assume that there is no cycle-time overhead of pipelining. When an application is exec...