我希望这不是重复。
有关缓存和虚拟内存模拟的问题:
如果出现以下情况:
现在我的问题是:缓存如何将页面错误处理代码传递给CPU(如果是) 等待主内存传递其他数据(导致页面错误的数据)?
我提出了这个解决方案:改进我的缓存,以便CPU和缓存接收 页面错误信号;缓存存储其状态,接收和传递页面错误处理 代码到CPU,然后恢复其以前的状态。
这就是我想出来的,但这是正确/有效且高效的方式吗?
答案 0 :(得分:0)
CPU和缓存不等待丢失的数据。
通常,页面错误会对CPU产生某种类型的中断,从而暂停原始指令流。当页面错误处理程序返回时,原始指令流将从第一次未在缓存中出现的指令开始重新开始。