虚拟存储器作为存储器层次结构的一层,采用与高速缓存存储器和主存之间数据交换相同的方法,DRAM主存与虚拟存储器(磁盘)之间的传输单元叫做虚拟页Virtual Page。由于SRAM存储器速度相当于DRAM存储器的10倍,而DRAM存储器速度相当于磁盘速度的100 000倍,所以当DRAM缓存不命中时,时间开销(惩罚)是极大的,故而虚拟页往往很大,典型的是4KB~2MB.而且其往往是全相联的,并且操作系统采用了极其复杂精密的替换算法。
虚拟存储器系统需要判断一个虚拟页是否存放在DRAM中,如果存在则需要判断这个虚拟页放在哪个物理页中。如果没有,则需要找到这个虚拟页在在磁盘中的位置并在物理存储器中选择一个牺牲页,并将虚拟页从磁盘拷到物理存储器中,替换这个牺牲页。
这些功能是由操作系统软件、MMU中的地址翻译硬件和一个存放在物理存储器中的被称为页表page table的数据结构提供的。页表的功能是将虚拟页映射到物理页。它是一个由页表条目Page Table Entry,PTE构成的数组。
在虚拟存储器中,DRAM缓存不命中称之为缺页page fault。
时间: 2024-12-14 08:31:48