在CCI550的TRM里面描述SNOOP FILTER的tag size = 0.75 - 1 * entry size of all exclusive cache entry之和.先前的理解是,如果恰好等于所有entry 和的话,就不会存在snoop filter满了,但cache没满的情况。
根据课程里的描述,如果在CPU evict cache line但并没有向外发出WriteEvict cmd的话,的确有会出现back invalid情况,导致有用的line被invalid掉,而Evit掉了的line反而仍在记录中,造成性能的恶化。
我的疑问是,是否只有课程中提到的这种情况才会导致出现snoop filter overflow从而back invalid吗?是否还有其他的场景?另外一般情况下出现back invalid的频率有多高呢?小于1%?