首页计算机计算机系统结构计算机组成原理 17 第4章第4讲 虚拟存储器.ppt

17 第4章第4讲 虚拟存储器.ppt

页数:31页文件大小:587.0 KB来源: 计算机组成原理ppt课件

本课件讲解虚拟存储器的提出目的与容量需求背景,比较段式、页式与段页式三种管理方式的地址映射过程,并说明页表结构与用快表提高地址变换速度的实现思路,并分析页面大小的选择趋势。

第三单元层次存储系统第四讲虚拟存储器讲次标题页,虚拟地址空间的管理方式与地址映射过程
内容提要:虚拟存储器的目的要点列表,涵盖虚拟存储器的目的、虚拟存储器的管理、段页式管理的地址映射等主要内容
存储容量需求要点列表,涵盖应用需求、天气预报、地震预测、语音、图形、图象等主要内容
查看本课件的文字版(共 31 页,供检索与复制)

第1页:第三单元层次存储系统第四讲虚拟存储器

第三单元层次存储系统第四讲虚拟存储器

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟地址空间的管理方式与地址映射过程。

第2页:内容提要:虚拟存储器的目的

  • 虚拟存储器的目的
    • 给程序员提供比实际主存大得多的地址空间
  • 虚拟存储器的管理
    • 段式管理、页式管理、段页式管理
  • 段页式管理的地址映射
  • Pentium的虚拟存储管理

第3页:存储容量需求

存储容量需求

  • 应用需求
    • 海量数据处理
  • 天气预报、地震预测、石油勘探–多媒体信息处理
  • 语音、图形、图象
  • 软件需求
    • Nathan软件第一定律:软件是一种可以膨胀到充满整个容器的气体。
  • 技术需求
    • 多进程、多道程序给程序员一个比实际内存大得多的编址空间

第4页:提高存储器容量

提高存储器容量

  • 降低主存储器成本,在同样成本下,可以获得更大的主存容量。–主存的价格到今天也是依然比较昂贵
    • 程序对主存的“胃口”的增加和主存价格的降低速度几乎一样的快。
  • 采用虚拟存储器

第5页:现代计算机的层次存储器系统

现代计算机的层次存储器系统

  • 利用程序的局部性原理:–以最低廉的价格提供尽可能大的存储空间
    • 以最快速的技术实现高速存储访问ControlDatapathSecondaryStorage(Disk)ProcessorRegistersMainMemory(DRAM)SecondLevelCache(SRAM)On-ChipCache1nsMillisecondsGBSpeed (ns):10ns50-100nsMB-GB100sSize (bytes):KB-MBTertiaryStorage(Disk)SecondsTerabytes

第6页:虚拟存储器

虚拟存储器

  • 提供一种容量非常大的存储器
    • 多个任务所需存储器的总和大于实际存储器空间
    • 单个程序的地址空间超过了实际存储器
  • 使得可利用的物理存储器得到更好地利用
  • 简化存储器的管理
  • 地址空间:–虚拟地址:程序员编程使用的地址
    • 虚拟地址空间:虚拟地址的集合
    • 存储器地址:物理存储器的地址,也称物理地址(Physical Address)或实地址(Real Address)
    • 逻辑地址:程序员使用的地址

第7页:虚拟存储器优点

虚拟存储器优点

  • 根本优点
    • 获得运行比物理存储器更大空间程序的能力
  • 存储管理
    • 段式虚拟存储管理段长可变,可以适应程序数据的特点,但容易造成“碎片”。
  • 保护
    • 操作系统可以对虚拟存储空间进行特定的保护. . .
  • 灵活
    • 程序的某部分可以装入主存的任意位置
  • 提高存储效率
    • 只在主存储器中保留最重要的部分
  • 提高并行度
    • 在进行段页替换的同时可以执行其它进程
  • 可扩展
    • 为对象提供了扩展空间的能力.

第8页:虚存与Cache的比较

虚存与Cache的比较

  • 虚存
    • “主存——辅存层次”,主要目的是解决存储容量的问题。–单位时间内数据交换次数较少,但每次交换的数据量大,达几十至几千字节。
  • Cache
    • Cache主要目的是解决存储速度问题,使存储器的访问速度不太影响CPU的运行速度。–单位时间内数据交换的次数较多,每次交换的数据量较小,只有几个到几十个字节。

第9页:虚存与Cache

虚存与Cache

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现Cache的映射方式、替换算法与命中率相关问题。

  • CP

第10页:虚存管理

虚存管理

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现Cache的映射方式、替换算法与命中率相关问题。

第11页:段式存储管理段是程序模块化设计的结果

段式存储管理段是程序模块化设计的结果,即把程序中逻辑上相对独立的部分(如过程、函数、数据表等)设计为不同的段,再经过连接程序连接成更大的程序。此时用段作为信息调入主存的单位是合适的,以段为单位分配与管理主存储器被称为段式存储管理。

段式管理有利于按段实现信息共享和内存保护,问题是易造成主存中出现不好用的碎块,会影响主存储器的利用效率。

第12页:段表内容及其管理段式存储管理的核心问题

段表内容及其管理段式存储管理的核心问题

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟地址空间的管理方式与地址映射过程。

第13页:段式虚拟存储器的优缺点优点1.段

段式虚拟存储器的优缺点优点1.段的分界与程序的自然分界相对应;2.易于编译、管理、修改和保护,便于多道程序共享;3.段长动态可变。缺点1.段长各不相同,起点、终点不定;2.空间分配困难,容易产生碎片。

第14页:页式存储管理

页式存储管理页式存储管理是把虚拟空间和主存空间都分成大小相同的页(为二的整数幂个字),并以页为单位进行虚存与主存间的信息交换。此时虚存地址和主存地址分别被分为虚存页号、页内地址和主存页号、页内地址,虚、实二页号会不同,但使用相同的页内地址。

与段式存储管理不一样,页不是程序本身的结构特性,而是从管理的角度人为划分的结果。设置和管理好页表是页式存储管理的关键技术。

第15页:页表内容和页式管理+

页表内容和页式管理+

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟地址空间的管理方式与地址映射过程。

第16页:页式虚拟存储器

页式虚拟存储器

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟地址空间的管理方式与地址映射过程。

第17页:页表内容和页式管理+

页表内容和页式管理+

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟地址空间的管理方式与地址映射过程。

第18页:高速缓冲存储器

18Translation Look-Aside Buffers和普通cache一样,TLB可以组织成全相连,组相连或直接映射方式TLBs通常为容量较小,甚至在高端计算机上也一般不超过128-256个表项。这样,可以使用全相连映射方式。

在大多数中档计算机上,一般采用N路组相连映射方式。CPUTLBLookupCacheMainMemoryVAPAmisshitdataTrans-lationhitmiss20 tt1/2 tTranslationwith a TLB。

第19页:设计问题

19TLB设计问题

  • 访问频繁:速度是第一位的
  • TLB缺失将造成:–流水线停止
    • 通知操作系统
    • 读页表
    • 将表项写入TLB
    • 返回到用户程序
    • 重新访问
  • 因此,应尽量减少缺失:–多路组相连
    • 再尽量提高TLB的容量

第20页:高速缓冲存储器

高速缓冲存储器

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现Cache的映射方式、替换算法与命中率相关问题。

第21页:页面大小的选择

页面大小的选择

  • 减少内部碎片
  • 缩小页面大小可以减少内部碎片
  • 但是:需要更大的页表
  • 趋势:增大页面大小
    • RAM价格下降,内存储器容量增大
    • 内存和外存性能差距增大
    • 程序员需要更大的地址空间
  • 目前:页面大小为4K左右

第22页:页面替换算法

页面替换算法

  • 最近最少使用(LRU)
    • 将页帧按照最近最多使用到最近最少使用进行排序,再次访问一个页帧时,将该页帧移到表头,替换时将表尾的页帧换出。–一点改进:替换出其中一个“干净”的页帧。

第23页:虚拟存储器

虚拟存储器

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟存储器的管理方式与地址变换。

第24页:虚拟存储器

虚拟存储器

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟存储器的管理方式与地址变换。

第25页:段页式虚拟存储器管理

段页式虚拟存储器管理是段式虚拟存储器和页式虚拟存储器的综合

它先把程序按逻辑单位分为段,再把每段分成固定大小的页。操作系统对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护,可以兼取页式和段式系统的优点。

其缺点是需要在地址映射过程中多次查表。其地址映射通过一个段表和一组页表来进行。

第26页:虚拟存储器

26Pentium的虚存管理

  • 不分段也不分页模式。在这种模式下,虚拟存储的地址空间和物理存储空间大小相同,可以用在复杂度较低但对性能有较高要求的场合。
  • 页式管理模式。这种模式将主存分成固定长度的页,通过页进行存储保护和管理。
  • 段式管理模式。段式管理模式按程序本身的逻辑段来划分主存空间,与页式管理相比,段的长度可变,而且,由于段表存放在Pentium的内部寄存器中,段式管理的存储访问时间是可以预知的。
  • 段页式管理模式。段页式管理模式首先按程序的逻辑结构将主存分段,对段进行访问控制,然后,在段内分页,按页进行数据交换。

第27页:虚实地址的转换

27Pentium虚实地址的转换

  • 虚地址(逻辑地址):–程序员给出的虚拟地址,格式为段号+段内偏移(16位+32位),每段大小不超过4GB,一共不超过214段。(段号中有两位用来表示段优先级)
  • 实地址:–32位的实际内存地址。

第28页:段号和段表的格式段索引

段号和段表的格式段索引

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟地址空间的管理方式与地址映射过程。

第29页:两级页表

两级页表

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟地址空间的管理方式与地址映射过程。

  • IR

第30页:逻辑地址

逻辑地址

本页为结构/流程示意图,图中标注的主要部件与信号如下,重点体现虚拟地址空间的管理方式与地址映射过程。

  • IR

第31页:虚拟存储器

虚拟存储器

  • 虚拟存储器:提高程序员可以使用的地址空间大小。由操作系统进行管理。
  • 管理模式:段式、页式、段页式。
  • 虚实地址转换。
  • 使用快表提高地址转换的速度。
  • 是否还有继续使用虚拟存储器的必要?
顶部目录