Cache miss类别:
区别 miss的类型和发生miss的原因可以帮助选择恰当的措施来减少或避免miss。通常有三种miss类型。
1. conflict miss:因为冲突导致数据驱逐,即,CPU当前访问的内存位置,与刚刚被cached的内存位置映射到同一set,这样,因为冲突,该行在被重用前就被驱逐掉了,导致miss发生。正是因为conflict miss的发生,才引申出后面set-associative的解决方案。
2. capacity miss:在conflict miss发生时,如果是因为cache容量过小形成exhausted,当Miss发生时所有line frames均已经分配完了,这样导致的miss即为capacity misss。解决capacity miss的方法一般是减少每次操作的数据量,从硬件设计上来说,尽量增大cache容量。
3. compulsory miss:也叫做"第一次参考miss"。当数据第一次从下级内存被cache时发生。这种miss是无法避免的,故称为compulsory miss.