计算机组成原理——虚拟存储器

虚拟存储器

|| 分页

地址空间主存容量 的概念区分开来。程序员在地址空间里编写程序,而程序则在真正的内存中运行。由一个专门的机制实现地址空间和实际主存之间的映射。

计算机组成原理——虚拟存储器
计算机组成原理——虚拟存储器

|| 虚拟存储系统基本概念

虚拟存储技术的实质:

  • 程序员在比实际主存空间大得多的逻辑地址空间中编写程序。
  • 程序执行时,把当前需要的程序段和相应的数据调入主存,其他暂不用的部分放在磁盘上。
  • 指令执行时,通过硬件将逻辑地址(虚拟地址)转化为物理地址。
  • 在发生程序或数据访问失效(缺页)时,由操作系统进行主存和磁盘之间的信息交换。

计算机组成原理——虚拟存储器
虚拟存储器实现方式:

分页式、分段式、段页式

计算机组成原理——虚拟存储器

|| 分页式管理方式

  • 页表结构

计算机组成原理——虚拟存储器
页表位于内存,页表首地址在寄存器;页表的项数理论上由虚拟地址空间大小决定,理论上每个进程的页表大小是一样的。

计算机组成原理——虚拟存储器

  • 逻辑地址转为物理地址的过程

计算机组成原理——虚拟存储器

  • TLB 快表

把经常要查的页表项(页表的子集)放到Cache中,这种在Cache中的页表项组成的页表称为 Translation Lookaside Buffer。

计算机组成原理——虚拟存储器
计算机组成原理——虚拟存储器

由图可知一次存储器引用要访问 0/1/2/3 次主存。

  • 完整流程

计算机组成原理——虚拟存储器
计算机组成原理——虚拟存储器
计算机组成原理——虚拟存储器

|| 一个简化的存储系统举例

计算机组成原理——虚拟存储器
计算机组成原理——虚拟存储器
计算机组成原理——虚拟存储器
计算机组成原理——虚拟存储器
计算机组成原理——虚拟存储器