例题:
概念解释:
\(Cache\)中的数据为主存中数据的一个子集,用来与\(CPU\)的处理速度相匹配,当\(CPU\)访问存储器时会先访问\(Cache\),如果\(Cache\)没有找到需要的数据,就会去主存找,于是引入\(Cache\)命中率,用来描述在\(Cache\)完成存取的占比,我们希望数据都可以在\(Cache\)直接找到,所以这个命中率越接近1越好。
Cache命中率:
\(P = \frac{N_c}{N_c + N_m} \quad\)
- N_c:Cache中完成的存取次数
- N_m:主存中完成的存取次数
平均访问时间:
\(T_t = P * T_c + (1 - P) * T_m\)
- T_c:命中时Cache的访问时间
- T_m:未命中时主存的访问时间
访问效率:
\(E = \frac{T_c}{T_t}\quad=\frac{T_c}{P * T_c + (1 - P) * T_m}\quad=\frac{1}{P + (1 - P) * r}\quad\)
- r:主存慢于Cache的倍数:\(r = \frac{T_m}{T_c}\quad\)
回归题目:
- \(P = \frac{1900}{1900 + 100}\quad = 0.95\)
- \(T_t = 0.95 * 50 + 0.05 * 250 = 60ms\)
- \(E = \frac{50}{60}\quad = 83.3\%\)