直接映射缓存,填写主内存的内容

时间:2017-04-03 09:35:30

标签: caching memory cpu-architecture

我正准备参加计算机体系结构考试。我理解缓存如何工作以及如何根据地址将数据从主内存复制到缓存。

但是,我无法弄清楚主内存的内容是如何根据地址填写的。例如,在链接到下面的图像中,我可以轻松填写​​缓存的内容,但我不明白应该如何用箭头填充指向的单元格。

我的教授并没有真正谈论这部分,我无法在没有进一步帮助的情况下完成实际问题。请帮助我理解我应该如何填写主内存的内容!

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过几种方式填写主内存。

  1. 当逐出缓存条目时,它将存储在主存储器中。
  2. 当您的程序将数据从文件加载到内存时。假设你有一个你想要处理的图像,你可以将它加载到内存并处理它,而不是每次都从文件中访问数据,这比较慢。
  3. 直接内存访问(DMA)操作 - 这些操作用于在没有CPU交互的情况下读/写内存。您可能有一个DMA操作填写输入缓冲区然后CPU处理。
  4. 您可以让多个程序一起工作,一个生成数据,另一个生成数据。例如,您的第一个程序可能正在进行矩阵乘法,第二个程序正在使用该结果。因此,第一个程序将其结果写入主内存,并将引用第二个程序以使用它。