当前位置:首页 > 内存 > 正文

页表在虚存还是内存

  • 内存
  • 2024-06-07 22:06:25
  • 2724

一、虚拟存储器及TLB介绍在现代计算机系统中,虚拟内存是程序运行的基石。它巧妙地解决了处理器的地址空间与物理内存限制之间的矛盾。处理器的位数决定了虚拟地址范围,而内存管理单元(MMU)则起到桥接作用,将虚拟地址转换为物理地址,实现程序保护和共享,大大提高操作系统和编程的效率。灵活性。
虚拟内存采用分页机制,每个虚拟地址由页号和页内偏移量组成。页表这个重要的数据结构,存储了虚拟地址到物理地址的映射。每个程序都有自己独立的页表。页表寄存器(PTR)允许程序在物理内存中找到相应的位置。虽然单级页表占用大量空间,但多级页表如B.二级页表减少内存使用和空间需求。同时,页表路径在处理PageFault异常方面也更加高效。
虚拟内存的主要优点是为每个程序提供独立的地址空间,允许灵活的内存管理,包括非连续物理内存的分配和交换空间的使。此外,它还通过页表和TranslationLookasideBuffer(TLB)实现访问权限的精细控制。TLB作为页表的缓存,通过全连接、组连接或直连接来加速地址转换。它与缓存类似,但更注重时间相关性,尤其是层次结构的设计。
TLB命中机制,无论是直接寻址还是PageFault处理,都是至关重要的。如果TLB缺失,程序就必须运行PageTableWalk,它在硬件和软件层面都有优点和缺点。现代处理器支持可变大小页面,操作系统负责管理可变大小页面以优化TLB空间使用。例如,MIPS处理器的12位页面掩码可以有效管理不同大小的页面,降低地址比较的复杂度。
群连接或全连接TLB的替换策略,如:B.随机算法保证脏页的管理。当需要从磁盘加载数据时,会标记TLB的脏状态位,以确定是否需要写回磁盘。更新和维护TLB包括管理ASID或特定VPN对应的条目。ARM处理器的CP15寄存器承担了这部分职责。
虚拟内存和缓存之间的关系同样重要。物理缓存负责加速物理地址到数据的转换并与TLB配合。虽然引入虚拟缓存可能会带来延迟和惩罚,但TLB的存在在虚拟地址转换中仍然是不可或缺的。在虚拟地址管道中,虽然使用虚拟缓存会增加额外的硬件要求,但可以减少TLB和物理内存的访问,提高效率。
一般来说,虚拟内存和TLB是计算机系统中必不可少的组件。它们良好的设计和高效的运行为现代计算机的性能优化和内存管理提供了有力的支持。了解和优化它们的工作方式对于提高程序性能和系统效率至关重要。


二、页表放是在内存上还是磁盘上,为什么?页表是什么意思,如果它是一个通用文件,在保存之前它被放置在内存中,并且在保存之后它在磁盘上,因为它在不保存时是一个临时文件。