2015-12-31 71 views
1

我有256個塊,每塊有16個字節。我試圖根據雙向組關聯緩存來定義未命中或命中十六進制地址。我懷疑第二個可能會因爲雙向聯想而錯過嗎?我認爲是打但是我不確定。雙向組關聯緩存命中/未命中檢查

2ABC10A2 

2ABC10A7 

4BBC10A0 

2ABC10A9 

所以如果我有每塊16個字節,我有2^4然後4位分別我的偏移是2, 7, 0, 9意思。如果我有256塊,我有2^8然後8位索引,這意味着0A仍然是標籤。我想我是對的。所以我拿到了桌子,但我不是因爲缺席/擊中部分。他們是對的嗎?如果有錯誤,你能解決嗎?我想學習。謝謝。

TAG   INDEX    BLOCK DATA        HIT/MISS 

2ABC1   0A   2ABC10A0 + 16 BYTE  (2ABC10A0  - 2ABC10AF )  MISS 
2ABC1   0A    2ABC10A0 + 16 BYTE       HIT 
4BBC1   0A    4BBC10A0 + 16 BYTE       MISS 
2ABC1   0A    2ABC10A0 + 16 BYTE       HIT 

回答

0

未命中/命中部分是正確的。

索引位寬爲7不8.對於256個塊2路組相聯高速緩存中,索引的位寬爲log 2 (2分之256)= 7.

更精確的命中/命中部分是正確的,假設所有的訪問都是加載(讀操作)。如果包含存儲(寫入操作),則取決於緩存寫入策略的選擇。