直写无写分配处罚

时间:2016-06-04 23:50:35

标签: caching memory

我正在考虑写入无写入分配(写入无分配)缓存。我通过以下定义理解这些:

  • 直写:信息被写入缓存中的块和下层存储器中的块
  • no write allocate:在写 miss 时,该块在主内存中被修改而不被加载到缓存中。
  • t cache :访问第一级缓存所花费的时间
  • t mem :访问内存中的内容所花费的时间

我们有以下情况:

  • 读取命中:在缓存中找到值,只需要 cache
  • 读取未命中:在缓存中找不到值,(t 缓存 + t mem
  • 写命中:写入缓存和主内存,(t 缓存 + t mem
  • 写错过:直接写入主存,(t cache + t mem

写入通过/不写入分配的wikipedia flow表明我们总是必须首先通过缓存,即使我们没有填充缓存。为什么,如果我们知道在这种情况下写入永远不会填充缓存,我们不能只花费t mem 执行操作,而不是(t cache + t < sub> mem )?看起来我们不必要花费额外的时间来检查我们知道不会更新的内容。

我唯一的猜测是Paul A. Clayton对previous question关于此类缓存的评论是我们仍然需要在写入时与缓存交互的原因。但即便如此,我也不明白为什么不能并行完成缓存更新和内存更新。

0 个答案:

没有答案