【发布时间】:2015-01-21 03:59:19
【问题描述】:
我的理解是,这两种方法的主要区别在于,在“write-through”方法中,数据是通过缓存立即写入主存,而在“write-back”方法中,数据是在“稍后”写入”。
我们仍然需要等待“稍后”的内存,那么“直写”有什么好处?
【问题讨论】:
-
@EricWang 我想你的意思是
write back的性能更好? -
@wlnirvana 是的,你是对的,这是我的笔误。我会删除它,并在此处添加新评论以避免将来产生误导。
-
简单来说,
write back的性能更好,因为写入主存比写入cpu缓存慢很多,而且数据可能会很短(意味着可能会很快再次改变,不需要将旧版本存入内存)。它很复杂,但更复杂,现代 cpu 中的大多数内存都使用此策略。 -
我看到已经给出了解释性的答案。我建议你在覆盖回写算法之后再看一下 Write-Allocate、Write-NoAllocate 标签。
-
您的问题的答案是,使用直写缓存,在同一个块内写入时,只需要一次写入主内存。详情见我的回答。
标签: caching cpu-architecture cpu-cache