页表计算机组成,《计算机组成与体系结构》——7.2虚拟存储器

本节重点:

虚拟存储器技术

页表

块表

分段

分页技术使多道程序设计变得真正有效,而且进程分页这一简单策略导致了另一重要概念的产生——虚拟存储器。

1 请求分页

为了理解虚拟存储器,我们对刚才讨论的分页方案进行改进。改进的方案称为请求分页,即一个进程的每个页只有在需要时才调入。

采用了请求分页,就没有必要将整个进程装入主存,这将产生一个惊人的结论:一个进程可能比主存所有的空间都大。

因为进程只在主存中运行,所以主存称为实存储器。但是程序员或用户看到了一个大得多的存储器,它分配在磁盘上,后者称为虚拟存储器。虚拟存储器使多道程序设计更为有效,同时消除了用户使用主存的限制。

2 页表结构

从存储器中读取一个字的基本机制包括:通过页表把虚拟或逻辑地址(由页号和偏移量组成)转换成物理地址(由帧号和偏移量组成)。因为页表是可变长的,与进程有关,所以我们不能期望将它存入寄存器中,而必须将它存入主存中。

3 块表

原则上,每次虚拟存储器的访问能引起两次物理存储器的存取:一次是获得相应的页表项,另一次是获得所需的数据。因此,即使一个简单的虚拟存储器方法也将使存储器存取时间加倍。为了解决这个问题,许多虚拟存储器方案使用一个特殊的高速缓存来存放页表项,通常称为块表(TLB)。这个高速缓存功能与存储器中的高速缓存相同,它用来存储最近使用的那些页的页表项。

e6df230ea596

分页操作和块表(TLB).png

可以看出,单个存储器访问所设计的处理器硬件的复杂性。虚拟地址转换成实地址,这涉及到访问页表,页表可能在TLB、主存或硬盘上。然后要访问字,这字也可能在高速缓存、主存或硬盘上,如果在磁盘上,则还需要将包括该字的页调入主存,把它的块转入高速缓存中。此外,还要更新该页的页表项。

4 分段

另一种划分可寻址存储器的方法是分段(segmentation)。分页对程序员是不可见的,其目的是为程序员提供较大的地址空间。而分段通常对程序员是可见的,它使组织程序和数据更方便,能将特权、保护属性与指令、数据联系起来。

分段后,存储器由多个地址空间或短组成。段长度是可变、可动态分配的。通常,程序员或操作系统为程序和数据分配不同的段。各程序由许多程序段和数据段,各段可制定分配存取权和使用权,存储器访问地址由段号和偏移量组成。

对程序员来讲,分段的地址空间有许多优点:

简化了对数据结构的处理。

将程序分段允许每段程序独立地修改和重编译。

可以实现进程共享。程序员将某程序或数据表放入一段,其他进程页可以访问该段内容。

段保护。程序员可以赋予特定段存取特权。

总结

从上一节操作系统对进程的调度,我们了解了进程的分页技术。这一节讲解操作系统的另一任务——存储器管理。要点如下:

请求分页可以不把整个进程装入主存,因此可以运行比主存空间更大的进程,那部分没有放到主存中的页存放在磁盘上,我们称之为虚拟存储器。

然后又讲了页表、块表和分段。页表是维护页的表,而块表是页表的索引,放在速度较快的缓存上;

分段是对主存进行空间的划分,可以支持程序员对其进行操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值