8.2 地址翻译

发布时间 2023-07-28 16:06:25作者: C~A

n位的虚拟地址包含两个部分:一个p位的虚拟页面偏移,一个n-p位的虚拟页号,将页表条目中的物理页号和虚拟地址空间的地址偏移量串联起来就得到物理地址。

展示了当页面命中时,CPU硬件执行的步骤。

第1步:处理器生成一个虚拟地址,并把它传送给MMU。

第2步:MMU生成PTE地址,并从高速缓存/主存请求得到它。

第3步:高速缓存/主存向MMU返回PTE。

第4步:MMU构造物理地址,并把它传送给高速缓存/主存。

第5步:高速缓存/主存返回所请求的数据字给处理器。

下面是缺页时的命中

处理器生成一个虚拟地址,并把它传送给MMU

MMU生成PTE(Page Table Entry 页表条目)地址,并从高速缓存/主存请求得到它

高速缓存/主存向MMU返回PTE

PTE中的有效位是零,所以MMU触发了一次异常,传递CPU中的控制到操作系统内核中的缺页异常处理程序

缺页处理程序确定出物理内存中的牺牲页,如果这个页面已经被修改了,则把它换出到磁盘

缺页处理程序页面调入新的页面,并更新内存中的PTE