假如cache的命中率为0.8,当cache和主存都不命中时,CPU从外存调取数据的几率怎么算?(知道结果,但是不知道怎么来的)
根据CPU访问主存的模型,当CPU访问一个内存地址时,它首先会在cache中查找该地址对应的数据,如果命中则会直接读取;否则,CPU会从主存中读取数据并将其存入cache中,供后续的读写操作使用。当cache和主存都无法命中时,CPU只能从外存中读取数据。
因此,可以通过以下公式计算CPU从外存中读取数据的概率:
P = (1 - Cache命中率) x (1 - 主存命中率)
已知Cache命中率为0.8,假设主存也有80%的数据被缓存在Cache中,则主存命中率为0.8,带入上述公式可得:
P = (1 - 0.8) x (1 - 0.8) = 0.04
即CPU从外存调取数据的概率为4%。