[理工] 16進位如何決定cache miss

看板Grad-ProbAsk作者 (94不愛喝水)時間7年前 (2018/12/20 18:53), 7年前編輯推噓2(2020)
留言22則, 2人參與, 7年前最新討論串1/1
大家好想請問一下一個基本的問題 這是題目 想問第c小題 https://i.imgur.com/mjVAa34.png
這是第C小題解答 https://i.imgur.com/8f7iZ9i.png
我的疑問: 已知index跟tag怎麼來 但想請教16進位的要怎麼看miss或hit? (我的想法:第一次都會發生compulsory miss,我access C64E5此位址發生miss, 因為1block是16byte=4word就搬4個word上來, 所以搬C64E4,C64E5,C64E6,C64E7,但解答的C64E8居然是HIT!!!WHY!?) 請教各位大神了 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.138.38 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1545303212.A.FAD.html ※ 編輯: wacheck (36.227.138.38), 12/20/2018 18:54:17

12/20 19:05, 7年前 , 1F
access C64E5, miss
12/20 19:05, 1F

12/20 19:05, 7年前 , 2F
搬C64E50, 1, 2, 3, ..., 15到cache block
12/20 19:05, 2F

12/20 19:10, 7年前 , 3F
*15(F)
12/20 19:10, 3F

12/20 19:18, 7年前 , 4F
你想的是byte address要換成word address才會想明白
12/20 19:18, 4F

12/20 20:14, 7年前 , 5F
C64E5(byte addr)轉成21939(word addr)
12/20 20:14, 5F

12/20 20:14, 7年前 , 6F
access 21939, miss
12/20 20:14, 6F

12/20 20:15, 7年前 , 7F
搬21938 21939 2193A 2193B到cache block
12/20 20:15, 7F

12/20 20:17, 7年前 , 8F
*31939 才對,2換成3
12/20 20:17, 8F

12/20 20:19, 7年前 , 9F
其實block addr最直接了,只要addr裡有C64E的
12/20 20:19, 9F

12/20 20:20, 7年前 , 10F
第一次MISS,後面都HIT
12/20 20:20, 10F

12/20 23:27, 7年前 , 11F
感謝回覆 我恍然大悟原來我是卡在沒作轉換XD
12/20 23:27, 11F

12/21 19:04, 7年前 , 12F
拍謝 昨天想了一下 16進位是tag+index固定 然後offset從0
12/21 19:04, 12F

12/21 19:06, 7年前 , 13F
到15 而如果轉為word addr. 為何只要搬四個? 腦袋有點
12/21 19:06, 13F

12/21 19:06, 7年前 , 14F
打結了QQ
12/21 19:06, 14F

12/21 19:07, 7年前 , 15F
我知是因為1block換算後得4word 所以搬四個 但不懂這兩
12/21 19:07, 15F

12/21 19:08, 7年前 , 16F
者的關聯 (連接不上 QQQ)
12/21 19:08, 16F

12/22 11:36, 7年前 , 17F
我回得第一行看得懂嗎?
12/22 11:36, 17F

12/22 11:37, 7年前 , 18F
byte addr讀得懂,那word addr只是換算單位而已
12/22 11:37, 18F

12/22 11:38, 7年前 , 19F
如果讀不懂的話,代表你cache觀念還不太通
12/22 11:38, 19F

12/22 11:39, 7年前 , 20F
可以餵狗 HackMD Cache原理
12/22 11:39, 20F

12/22 11:41, 7年前 , 21F
cache block size決定一次要搬多少data
12/22 11:41, 21F

12/23 11:59, 7年前 , 22F
感謝 昨天花一下午終於弄懂了 !!!
12/23 11:59, 22F
文章代碼(AID): #1S6tIi-j (Grad-ProbAsk)