記憶體階層與效能
即使將快取改為全相聯方式也不會減少的未命中,下列何者正確?
- A兩筆資料爭奪同一組、互相逐出所造成的未命中
- B使用的資料量大於快取容量所造成的未命中
- C直接映射的配置不均所造成的未命中
查看答案與解析
正確答案:B. 使用的資料量大於快取容量所造成的未命中
在全相聯方式中,任何資料都能放在任何位置,因此爭奪同一組所造成的衝突未命中會消失。然而,若程式反覆使用的資料量(工作集)大於整個快取,不論放在哪裡都放不下而會發生逐出。這就是容量未命中,必須加大快取,或藉由迴圈分塊(loop blocking)等縮小重複使用的範圍。配置不均或爭奪組,兩者都是衝突未命中的原因。
- A. 爭奪組是衝突未命中,改為全相聯就會消失。
- B. 正確。工作集溢出的容量未命中仍會殘留。
- C. 配置不均所造成的未命中也是衝突未命中的一種。