我想知道我是否正確回答了這個問題:
頁參考的順序如下: *ABCBADACEBEFBEFBA 使用 LFU 頁替換,會發生多少頁錯誤?
| 投幣口 | 一種 | 乙 | C | 乙 | 一種 | D | 一種 | C | 乙 | 乙 | 乙 | F | 乙 | 乙 | F | 乙 | 一種 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 一種 | X | X | X | |||||||||||||
| 2 | 乙 | X | X | X | X | ||||||||||||
| 3 | C | D | C | 乙 | X | F | 乙 | F |
從我所做的追蹤來看。我得出的結論是有 9 個頁面錯誤。我計算每次使用頁面的頻率,并在它們從插槽中移除(換出)時將其重置為 0。這是正確的方法嗎?
| 投幣口 | 一種 | 乙 | C | 乙 | 一種 | D | 一種 | C | 乙 | 乙 | 乙 | F | 乙 | 乙 | F | 乙 | 一種 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 一種 | X | X | X | |||||||||||||
| 2 | 乙 | X | C | 乙 | F | 乙 | F | 乙 | |||||||||
| 3 | C | D | 乙 | X | X |
我得到的解決方案是這樣的,它給了我們 11 個頁面錯誤。但是,我不明白為什么當 B 的頻率為 2 而 D 在插槽 3 中的頻率僅為 1 時,為什么會在插槽 2 上替換第二個 C。
uj5u.com熱心網友回復:
你應該回到你在課堂上給出的 LFU 的定義。看來你把它解釋為
驅逐自填充以來點擊次數最少的條目。
在這種情況下,您的答案(第一張表)確實是正確的。
但是,似乎預期答案(第二個表)中使用的 LFU 策略是
驅逐具有最小比率的條目
freq(X) = number of hits / its age。
在這種情況下,在第 2 個 C,你有
freq(A) = 3/7 = 0.429
freq(B) = 2/6 = 0.333
freq(D) = 1/2 = 0.500
并且頻率最低的條目確實是 B。
我希望 LFU 實施第二個策略,因為一旦快取中有不同年齡的條目,您就必須考慮到它們有更少或更多的時間來積累統計資訊。如果條目從未被驅逐,您的方法只會在限制范圍內給出正確的頻率——這實際上不是一個有趣的案例。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/363464.html
