缺页异常

缺页异常后需要硬件和操作系统配合工作,地址命中则只需要硬件参与

 

 

程序存储在disk,在32位系统下,虚拟地址空间最大4G,但是不是每个地址都存储程序片段。上图左侧是一整个虚拟地址空间,没有程序片段的地址空间称为Unallocated;有程序片段,并且缓存到DRAM称为Cached;有程序片段但没有缓存到DRAM称为Uncached。

 

上图左侧是一个页表,如果是unallocated,在页表地址位就是Null;VP 3 和VP 6片段是Uncached,页表项的Valid位就是0,地址位就是disk地址;VP 1等片段是Cached,页表项的Valid位就是1,地址位就是PPN。

当CPU要访问PTE3对应的内容,发现其Valid位是0,CPU就会触发page fault exception,调用操作系统提供的page fault exception处理函数,把PTE3对应的VP 3搬移到DRAM,然后更新PTE3的Valid位,如下图。

 

posted @ 2022-12-14 23:20  流水灯  阅读(113)  评论(0编辑  收藏  举报