考虑一个具有2级缓存的系统。一级缓存,二级缓存和主存储器的访问时间分别为1 ns,10 ns和500 ns。 1级和2级缓存的命中率分别为0.8和0.9。忽略缓存中搜索时间的系统平均访问时间是多少?
(A) 13.0纳秒
(B) 12.8毫微秒
(C) 12.6 ns
(D) 12.4纳秒答案: (C)
说明:首先,系统将在高速缓存1中查找。如果在高速缓存1中找不到,则在高速缓存2中查找,然后再在主内存中查找(如果在高速缓存2中也找不到)。
平均访问时间将考虑缓存1的成功,缓存1的失败,但缓存2的成功,缓存的失败和主内存的成功。
Average access time = [H1*T1]+[(1-H1)*H2*T2]+[(1-H1)(1-H2)*Hm*Tm]
在哪里,
H 1 = 1级缓存的命中率= 0.8
T 1 = 1级缓存的访问时间= 1 ns
H 2 = 2级缓存的命中率= 0.9
T 2 = 2级缓存的访问时间= 10 ns
H m =主内存的命中率= 1
T m =主存储器的访问时间= 500 ns
因此,平均访问时间=(0.8 * 1)+(0.2 * 0.9 * 10)+(0.2 * 0.1 * 1 * 500)
= 0.8 + 1.8 + 10
= 12.6纳秒
因此,C是正确的选择。
这个问题的测验