不知道是不是高数做傻了,这道题翻车在最基本的考数学的点上.....
先来看题:在使用磁盘高速缓存的系统中,平均访问时间是80.6ms,高速缓存的平均访问时间是1ms,磁盘平均访问时间是200ms。系统有8MB高速缓存。高速缓存增加一倍时,非命中率降低40%。问需要增加多少高速缓存才能使平均访问时间减少到20ms(高速缓存按2的倍数增加)。
这个题乍一看是磁盘相关的题,其实仔细审完题后就会发现它不过是打着磁盘的形式,本质上是一道cache命中率计算的题。可以把这里的高速缓存看作cache,磁盘看作内存。
首先把最开始的命中率p设出来,1ms*p+(1ms+200ms)*(1-p)=80.6很轻松把p解出来是0.6。同样的手法,平均访问时间为20时的命中率为0.9。
题目中说,高速缓存增加一倍,非命中率降低40%。
那我们就要算他降低了多少个40%。
注意题目里是非命中率,不要错用命中率算。
0.1=0.4*(1-0.6)^x,这个式子就算出来降低了x个40%,即增加了x个一倍。注意这里的一倍是针对当前大小而言的,例如8增加一倍是16,16增加一倍是32。
x取整得到3
8->16->32->64
所以需要增加64-8=76MB
所以这道题换个名词又可以出在内存那一章,真是省事呢.....