[理工] 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