三个原因可能会引起Cache失配

手册/FAQ (513) 2016-04-08 09:21:27

 Cache失配原因可分成以下三类: (3C模型) 

1、被迫(compulsory)失配:( 冷启动失配): 第一次访问存储块时,由于该块不在cache中,所以必须首先将引块从主存取入cache. 

    绝对次数与程序有关,随着容量增加成比例增加。可以适当增大快 

2、容量(Capacity)失配:因cache不能容纳所有存储块,当程序再次访问到曾装入cache又已被替换出去的某块时,出现容量失配。 

     与关联度无关,容量增大,容量失配率减少。 

3、冲突(conflict)失配:在采用组关联和直接映象方式的cache中,主存的很多块都将对应cache的同一块。因这一原因,当程序再次访问到曾装入cache又已被替换出去的某块时,出现冲突失配。 

     容量一定时,关联度越高,冲突失配越小。

 

     通常情况下,失配率和访问时间是相互制约的,最好的就是选取折中的方式。

 

THE END