作者quts (生人勿近)
看板Grad-ProbAsk
标题[理工] [计组] write allocate
时间Sun Nov 1 19:27:41 2009
关於cache的write allocate
由於我在白算盘的第四版找不到相关的叙述
跟同学讨论之後觉得还是有些地方怪怪的
想请板上大大开释一下
张凡老师的讲义提到
"Write allocate - the block is locked on a write miss,
followed by the write-hit action."
我的想法是
当处理器做完运算想要把资料写回的时候
发现在cache当中没有相对应的资料可以复写(<---write miss发生)
於是从memory当中把资料复制到cache再将刚刚运算完的资料写入
然後将这笔新的资料从cache再写到memory
举例来说就是
当处理器运算a=a+1之後想要把新的a也就是a+1写入cache
但是找不到本来应该存在的a
於是从memory当中把a搬入cache然後把a变成a+1
然後把a+1写回memory
我和同学觉得这样的动作未免也太不直接了~"~
为什麽不接写入memory就好(也就是write around)?
还是说这样子的动作只是为了搭配write through而已?
另外想请问以黄色的部份解释write miss对不对?
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.118.136
1F:推 polomoss:write allocate 是用来解决 write miss发生 11/01 22:23
2F:→ polomoss:有两种解决搭配之前所用的 write through/write back 11/01 22:24
3F:→ polomoss:也就是它是针对那两种状况衍生出这两种解决方式 11/01 22:25
4F:→ quts:那我另外想请问...我这样解释write allocate对不对? 11/02 01:25
5F:→ quts:还有write miss是这样解释吗? 11/02 01:25
6F:→ quts:因为我找不到相关的参考资料~"~ 11/02 01:25
7F:→ quts:谢谢 11/02 01:26
8F:推 bennylu:google "write allocate", 第一笔就找到了 11/02 02:10
9F:→ quts:谢谢 11/02 08:30