作者wacheck (94不爱喝水)
看板Grad-ProbAsk
标题[理工] 16进位如何决定cache miss
时间Thu Dec 20 18:53:30 2018
大家好想请问一下一个基本的问题
这是题目 想问第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://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1545303212.A.FAD.html
※ 编辑: wacheck (36.227.138.38), 12/20/2018 18:54:17
1F:推 b10007034: access C64E5, miss 12/20 19:05
2F:→ b10007034: 搬C64E50, 1, 2, 3, ..., 15到cache block 12/20 19:05
3F:→ b10007034: *15(F) 12/20 19:10
4F:→ b10007034: 你想的是byte address要换成word address才会想明白 12/20 19:18
5F:→ b10007034: C64E5(byte addr)转成21939(word addr) 12/20 20:14
6F:→ b10007034: access 21939, miss 12/20 20:14
7F:→ b10007034: 搬21938 21939 2193A 2193B到cache block 12/20 20:15
8F:→ b10007034: *31939 才对,2换成3 12/20 20:17
9F:→ b10007034: 其实block addr最直接了,只要addr里有C64E的 12/20 20:19
10F:→ b10007034: 第一次MISS,後面都HIT 12/20 20:20
11F:→ wacheck: 感谢回覆 我恍然大悟原来我是卡在没作转换XD 12/20 23:27
12F:→ wacheck: 拍谢 昨天想了一下 16进位是tag+index固定 然後offset从0 12/21 19:04
13F:→ wacheck: 到15 而如果转为word addr. 为何只要搬四个? 脑袋有点 12/21 19:06
14F:→ wacheck: 打结了QQ 12/21 19:06
15F:→ wacheck: 我知是因为1block换算後得4word 所以搬四个 但不懂这两 12/21 19:07
16F:→ wacheck: 者的关联 (连接不上 QQQ) 12/21 19:08
17F:推 b10007034: 我回得第一行看得懂吗? 12/22 11:36
18F:→ b10007034: byte addr读得懂,那word addr只是换算单位而已 12/22 11:37
19F:→ b10007034: 如果读不懂的话,代表你cache观念还不太通 12/22 11:38
20F:→ b10007034: 可以喂狗 HackMD Cache原理 12/22 11:39
21F:→ b10007034: cache block size决定一次要搬多少data 12/22 11:41
22F:→ wacheck: 感谢 昨天花一下午终於弄懂了 !!! 12/23 11:59