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

作者: wacheck (94不愛喝水)   2018-12-20 18:53:30
大家好想請問一下一個基本的問題
這是題目 想問第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!?)
請教各位大神了 感恩
作者: b10007034 (Warren)   2018-12-20 19:05:00
access C64E5, miss搬C64E50, 1, 2, 3, ..., 15到cache block*15(F)你想的是byte address要換成word address才會想明白C64E5(byte addr)轉成21939(word addr)access 21939, miss搬21938 21939 2193A 2193B到cache block*31939 才對,2換成3其實block addr最直接了,只要addr裡有C64E的第一次MISS,後面都HIT
作者: wacheck (94不愛喝水)   2018-12-20 23:27:00
感謝回覆 我恍然大悟原來我是卡在沒作轉換XD
作者: b10007034 (Warren)   2018-12-22 11:36:00
我回得第一行看得懂嗎?byte addr讀得懂,那word addr只是換算單位而已如果讀不懂的話,代表你cache觀念還不太通可以餵狗 HackMD Cache原理cache block size決定一次要搬多少data
作者: wacheck (94不愛喝水)   2018-12-23 11:59:00
感謝 昨天花一下午終於弄懂了 !!!

Links booklink

Contact Us: admin [ a t ] ucptt.com