2017-02-20 92 views
0

這是我的知識:強制性和衝突性錯失可以一起發生嗎?

A)強制小姐:當塊被首次

B)衝突未訪問的情況:當有高速緩存中的其它空塊發生,但發生碰撞,由於映射策略,因此塊必須被替換(直接映射和組關聯映射緩存)。

說有兩個塊(0和1)。我們有一個直接映射緩存,傳入請求是:0,128。

0:強制小姐(映射到塊0作爲0%2 = 0)

128:強制小姐(因爲它是在第一次訪問)。但它與0相沖突(因爲128%2 = 0)。我的困惑是,它不應該是一個衝突懷念呢?

回答

0

你的事實是對的。 在這種情況下,如果128和0都映射到相同的集索引(可以說0), 只能有一種類型的遺漏。 假設您首先想要從內存中獲取地址0,那麼您的緩存注意到地址0應該在緩存中的集合0中填充,但有效標誌是false(0) - 這是一個強制性錯過(或冷錯過)。由於此緩存集中沒有數據塊。 0組由存儲器地址0的塊填充,有效標誌設置爲true(1)

當高速緩存檢查地址128時,它也計算集合索引爲0,但現在集合0的有效標誌是true(1),因爲它填充了地址0的存儲塊。現在,高速緩存比較tag字段看看它是否匹配地址128,它確實沒有。因此,該組的數據塊被地址爲128的內存中的數據塊覆蓋。這就是衝突未命中而不是冷未命中。


也許這個鏈接將幫助你: Concerning Caches what's the difference between conflict miss and capacity miss

相關問題