1.名词释义
----------------------------------
VA:虚拟地址
PA:物理地址
VM:虚拟存储器
MMU:存储管理单元
VP:虚拟页 VM被组织为存放在磁盘上的N个连续的字节大小的单元组成的数组。每个字节都有唯一的虚拟地址。磁盘上数组的内容被缓存到主存中,磁盘上的数据被分割为块,即虚拟页VP,作为磁盘和主存之间的传输单元。类似的,物理存储器被分割为物理页PP。
PP:物理页
SRAM缓存:用来表示CPU和主存储器之间的L1 L2 L3高速缓存
DRAM缓存:用来表示虚拟存储器系统的缓存,它在主存中缓存虚拟页
PT:页表 将虚拟页映射到物理页
PTE:页表条目
---------------------------------
N:虚拟地址空间中的地址数量(2^n)
M:物理地址空间中的地址数量(2^m)
P:页的大小(2^p)n
VPO:虚拟页面偏移量
VPN:虚拟页号
PPO:物理地址偏移量
PPN:物理页号
PTBR:页表基址寄存器
-------------------------------------------------------
2.地址翻译过程
n-1----VPN------p p-1-------VPO--------0
PTBR --> 有效位----------PPN--------------------------
有效位----------PPN--------------------------
有效位----------PPN--------------------------
m-1----PPN------p p-1-------PPO--------0
-------正常情况-------------------
1.处理器生成一个虚拟地址,并把它传送给MMU
2.MMU生成PTE地址,并从高速缓存/主存请求得到它
3.高速缓存/主存向MMU返回PTE(页表是存储在物理存储器中的)
4.MMU构造物理地址,并把它传送给高速贮存/缓存
5.高速缓存/主存返回所请求的数据字给处理器
---------------异常情况-------------------
1-3与上相同
4.PTE中有效位0,MMU触发一次异常,传递CPU中控制操作到操作系统内核的缺页异常处理程序
5.缺页处理程序确定出物理存储器中的牺牲页(我们将把请求的页从磁盘拷贝到物理存储器此处,因此如果该牺牲页已经被修改,即与它从磁盘来之前不同,你还应把它换出到磁盘)
6.缺页处理程序调入新的页面,并更新存储器中的PTE。(将之前的PTE条目有效位置1,并记录物理页号PPN)
7.返回到原来进程,重新执行。