第三章 存储管理.ppt

上传人:hyn****60 文档编号:70969756 上传时间:2023-01-31 格式:PPT 页数:37 大小:651.50KB
返回 下载 相关 举报
第三章 存储管理.ppt_第1页
第1页 / 共37页
第三章 存储管理.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《第三章 存储管理.ppt》由会员分享,可在线阅读,更多相关《第三章 存储管理.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第3章存储管理2012.7.10柳永亮1本章从存储器系统的构成以及在微机系统中的重要作用入手,从科学发展的视角,逐步地、由浅入深地引导读者认识微处理器的存储器管理功能,以及存储器管理技术的发展。以16位的8086 和32位的Pentium为平台,以新-旧对比的方法介绍存储器管理技术,以及各功能部件的结构、功能、操作原理等。对所采用的虚拟存储技术(分段、分页存储管理技术)等先进技术,进行了说明和剖析。本章知识要点:本章也是微机知识的核心之一、是重点、难点所在。通过本章,读者得到是系统的先进的存储管理技术知识。23.1 3.1 存储器系统存储器系统 计算机的存储器管理体系采用的是一种层次结构,它的

2、最顶层的、与CPU联系最密切的存储部件是微处理器内部的寄存器。然后,就是一级高速缓冲存储器L1,二级高速缓冲存储器L2。接下来的就是微处理器必须配置的主存储器,它们都是微机系统的内部存储器。再下一个层次的存储器就是外部存储器,通常是硬盘、光盘等,如图 CPU 寄存器组 一级一级 CacheCache 二级二级 CacheCache 主主 存储器存储器 外部 存储器3 所谓存储管理,其实是一个硬件机制,由于它的存在可以让操作系统为众多运行的程序创造一个便于管理的和谐的存储环境。通过微处理器的总线访问的存储器叫做物理存储器。它是由一系列的(由8位二进制的)字节组成的,而且给每一个字节都分配了一个唯

3、一地址,把这种地址称之为物理地址。像Pentium可访问的物理存储器的范围为4GB(232 1)。Pentium微处理器片内存储管理部件负责对物理存储器实施安全可靠且行之有效的存储管理操作。3.1 3.1 存储器系统存储器系统 41.1.内存储器内存储器2.2.随机存取存储器随机存取存储器RAMRAM3.2 3.2 半导体存储器半导体存储器 内存储器是指微机系统中存放程序和数据的部件,是CPU能直接进行存取操作的部件,它是由一组或多组具有数据存储功能、以及能进行读写操作的大规模集成电路组成。内存储器条。RAM是一种既能读出也能写入的存储器,它适合于存放用户程序和数据,因为这类信息是经常变化的

4、RAM有3个特点 可以读出,也可以写入读出时并不损坏所存储的内容只有在写入时才修改原来所存储的内容 所谓随机存取,意味着存取任一单元所需的时间相同因为存储单元排成二维阵列就象通过XY两个坐标就能确定一个点那样 当断电后,存储的内容立即消失,又称为NOVRAM(Nonvolatile RAM)或NVRAM53.2 3.2 半导体存储器半导体存储器 RAM的分类 在RAM中,又被分为双极性RAM、和MOS RAM这样两大类。(1)双极性RAM (2)MOS RAM SRAM(Static RAM,静态随机存储器)SRAM的运行速度非常快,像CPU内的一级、二级缓冲存储器就使用了SRAM,其运行频率

5、与CPU的时钟同步。SRAM高速度的特点,对提高系统性能非常有利,但价格较贵。DRAM(Dynamic RAM,动态随机存储器)63 3只读存储器只读存储器(Read Only Memory)(Read Only Memory)常用的只读存储器又分成以下几类:(1)ROM:一般由生产厂家把编好的程序固化在ROM中。(2)PROM:是可编程只读存储器(Programmable Read Only Memory),它与 ROM的性能一样存储的程序在处理过程不会丢失,也不会被替换(3)EPROM:可擦除的ROM这是一种可由用户编程并可擦除的ROM。存放在 EPROM中的信息可以擦除,然后再写入,且能

6、多次改写其中的内 容,只是写入速度较慢(4)EEPROM:电可擦除可重写只读存储器(或E2PROM)。也叫“电擦除可编程只读存储器EEPROM”、或被称之为EAROM,是电可擦除PROM、或电可改写ROM。(5)闪速存储器(Flash Memory)闪速存储器是一种特殊类型的EEPROM类的存储器,是目前较理想的一类存储器,具有密度高、读/写速度快、成本低和不易丢失的特点。Flash的主要优点是:不易丢失性:相比于SRAM,Flash不需后备电源来保持信息。易更新性:与EEPROM相比,Flash的成本更低,密度和可靠性更高。3.2 3.2 半导体存储器半导体存储器 7内存储器条是微机系统用来

7、存放程序和数据的实际存储器,主要有两种类型:(1)单边直插式存储器模块SIMM(Single Inline Memory Module)早期的30线、72线的内存储器条属于这种类型。72线内存储器条多用在80486、早期的Pentium微处理器上,其容量有 4MB、8MB、16MB和32MB等,可提供32位有效数据位。(2)双边直插式存储器模块DIMM(Double Inline Memory Module)像168线的SDRAM和184线的DDR SDRAM内存储器条属于这种类型。3.2 3.2 半导体存储器半导体存储器 4 4内存储器条内存储器条 85.5.内存储器的主要性能指标内存储器的

8、主要性能指标 内存储器容量:即内存储器所能容纳的字节总数;存取速度:即从内存储单元中将二进制信息读出到存储器数据寄存器中(或反之)所需的时间;存储器的可靠性:用平均无故障时间的长短来表征,即两次故障之间的平均时间 间隔;性能价格比。3.2 3.2 半导体存储器半导体存储器 9 由于8086与地址相关的寄存器是16位(内部寄存器都是16位),算术逻辑单元ALU也只能进行16位计算,因此只能存放16位地址,即只能寻址达到64KB(216=64KB)。为了形成20位地址,以便寻址1MB存储空间。8086采用分段办法管理1MB存储空间,即将1MB存储空间分成若干个逻辑段,每个逻辑段最大为64KB。80

9、86把内存分成4种逻辑段,即代码段、数据段、堆栈段和附加段。3.3 163.3 16位微处理器的存储管理位微处理器的存储管理3.3.1.3.3.1.分段存储管理分段存储管理10FFFFFH00000H可重叠代码段数据段附加段堆栈段存放代码存放数据存放数据存放临时数据 1MB存储空间 图3-4 内存分段示意图3.3 163.3 16位微处理器的存储管理位微处理器的存储管理11 4个技术术语:物理地址、偏移地址、段基地址和逻辑地址。物理地址 80868088 的1MB存储器以字节地址为单位,即存储器是按“字节寻址”。存储器中的每个字节中可以存放一个字节数,每个字节拥有一个唯一的地址编号。存储单元的

10、地址码由8086芯片提供,去进行存储器的地址译码。由于8086最大内存容量为1MB,把每一个内存单元的20位地址叫做物理地址。偏移地址 是指段内某内存单元的物理地址,相对于段起始地址的位移量,称为段内偏移地址。也就是说,是段内的某个存储单元与该段段首地址的差值,称为段内偏移地址或称为偏移量或相对地址,用16位二进制代码表示。由于一个段最大为64KB,故偏移地址用16位二进制表示就可以了。3.3.2 存储管理中的术语存储管理中的术语3.3 163.3 16位微处理器的存储管理位微处理器的存储管理12段基地址 是放置在段寄存器上的地址信息。由于8086对内存储器采用分段存储管理的办法,8086将大

11、小为1MB的存储空间分为若干段,而段的大小可以根据需要决定,其最大值可为64KB。存储器分段后,每一段都要有一个段号,且要用16位二进制数表示。其实,每个段首地址的高端16位二进制代码就是该段的段号,也叫段基地址 80868088对存储器分段时,各段的起始位置通常是地址编号是能被16整除的内存单元。逻辑地址 是在程序中对存储器地址的一种表示方法,一般是将段基址和偏移地址称为逻辑地址。3.3 163.3 16位微处理器的存储管理位微处理器的存储管理13 为要认识32位微处理器的存储管理技术,下面将以32位的Pentium微处理器为例,对其采用的存储管理技术进行分析。一是与8086的存储管理技术进

12、行比较,认识到存储管理技术与时俱进是历史的必然。二是认识到先进的存储管理技术,是计算机技术发展的基础和需要。3.4 323.4 32位微处理器存储管理位微处理器存储管理3.4.1 3.4.1 虚拟存储技术虚拟存储技术 1.虚拟存储技术 (1)虚拟存储器 虚拟存储器技术是使程序所用的存储容量,不取决于实际随机存储器RAM容量,程序可以运行在比实际存储器大得多的存储器上的一种方法 在虚拟存储系统中,磁盘成了事实上的主存储器,而实际随机存储器RAM则是变成了用来暂时存放微处理器当前正在使用的指令代码和数据的一个区域,在主存储器内存放的是,微处理器正在执行的或将要执行的保存在磁盘上的部分程序的拷贝。1

13、4 虚拟存储系统为了能把虚拟地址(也称其为逻辑地址)转换成实地址(称物理地址),在硬件上提供了关键性的技术支持。(2)虚拟存储方案 就目前的虚拟存储技术,虚拟存储方案有如下三种:分段存储方案,即把虚拟存储器分成大小可以变化的若干个段;分页存储方案,这种方案是把虚拟存储器分成大小固定的若干个页;混合方案,是在大小可以变化的段的基础上,再把段细分成大小固定的若干个页3.4 323.4 32位微处理器存储管理位微处理器存储管理152 分段存储管理技术 (1)Pentium实施的分段存储管理技术 存储管理是由分段存储管理和分页存储管理组成,分段存储管理模式是建立在可靠性和高性能的基础之上的一项管理技术

14、。所谓分段,就是将Pentium的4GB的存储空间分成若干个各自独立的被保护的地址空间。每一个应用程序都可以使用若干个大小不等的段。分段部件是一种可以提供多个各自独立地址空间的机构。所以段实际上就是一个独立的被保护的地址空间。(2)段信息的流程 分段需要的操作步骤、分段操作过程、及几个需要知道的基本概念和技术术语。3.4 323.4 32位微处理器存储管理位微处理器存储管理16 分段所需要的操作过程,是由Pentium的存储管理(即分段部件和分页部件)负责控制执行。Pentium器配备有6个16位的段寄存器,与80386的6个16位的段寄存器同宗、同名、同功能。段寄存器的另一种称呼叫段选择符。

15、在段寄存器内存放的信息表示的就是段选择符的信息,用这个段选择符的信息,可以从两个段描述符表中的其中一个之中,找出这个段的描述符信息。从段寄存器上的信息,到得到段描述符的信息的过程,可用一个如下的流程图表示之。段寄存器段选择符段描述符表段描述符3.4 323.4 32位微处理器存储管理位微处理器存储管理173.4 323.4 32位微处理器存储管理位微处理器存储管理 段寄存器 段寄存器上的信息是用来说明本次指示的是6种段中的哪一类段(是代码段、数据段、堆栈段)。段选择符 由于存放在段寄存器上的内容,实际上是段的选择符信息,它指明了本次段选择符上的内容所指示着的段描述符,是在两个段描述符表中的哪一

16、个之中。为更清楚说明问题起见,图中展示出段寄存器(段选择符)的结构。索 引 字 段 012315RPLTi图中符号说明:1.位0位1(RPL);请求特权级字段 RPL=00 表示最高特权级 RPL=11 表示最低特权级 2.位2(Ti);字段是指示符字段 Ti=0 指向全局描述符表 Ti=1 指向局部描述符表 3.位15位3;索引字段18 段描述符表 段描述符表,是用来保存段描述符的地方。也就是说,段描述符表是由各种段(代码段、数据段、堆栈段、附加数据段)的描述符组成。Pentium配备的段描述表为两个表,其一叫全局描述符表GDT,另一个则叫局部描述符表LDT,如图所示。全局描述符表是供系统中

17、所有程序使用的。而局部描述符表是供各自运行程序使用的。3.4 323.4 32位微处理器存储管理位微处理器存储管理 Ti RPL段界限基地址段界限基地址访问控制局部描述符表全局描述符表Ti=1Ti=0段选择符01215局部描述符表寄存器LDTR全局描述符表寄存器GDTR19 段描述符 图展示出了一个Pentium使用的段描述符,它是由8个字节(64位)组成。3.4 323.4 32位微处理器存储管理位微处理器存储管理 07811 109121314151619202122232431段界限 15 00基地址15 00段界限19 16基地址2316基地址3124DPL类型AVLD/B0GPS段描

18、述符符号说明:AVL 通过系统软件可以使用 G 粒位 DPL 描述符特权级 P 段存在位 D/B 缺省操作数大小尺寸(0=16位的段,1=32位的段)类型 段的类型 S 描述符类型(0=系统级,1=应用级)基地址 段的基地址 20(3)分段部件的转换操作 系统给出的地址以及程序给定的地址都是逻辑地址,段选择符内容再加上这个段的偏移量,被Pentium当成一个逻辑地址处理。逻辑地址也称为虚拟地址。这是因为它是一个只有应用程序才能看到的地址。经过分段部件的操作之后,其结果是经由分段部件将逻辑地址转换成线性地址。3.4 323.4 32位微处理器存储管理位微处理器存储管理213.4 323.4 32

19、位微处理器存储管理位微处理器存储管理16位段选择符 32位的偏移量 3122211211048位的逻辑地址32位基地址 段描述符 描述符表311500线性地址偏移量页表页目录223.分页存储管理技术 (1)分页存储管理 分页存储管理是Pentium的另一种形式的存储管理模式。是用一种规模、容量相对说来比较小的存储器空间和磁盘,去模拟一个大容量的不分段的存储空间。Pentium的分页部件为访问比实际用存储空间还要大的数据结构提供了一种技术支持,具体做法就是,将这个大数据结构的一部分保存在存储器中,而将另一部分保存在磁盘存储器中。Pentium是将4KB地址空间定义为一个页。分页部件可将线性地址空

20、间分成若干大小为4KB的被称之为页的存储模块。逻辑地址空间首先经分段部件转换成线性地址空间,然后再将线性地址空间转换成一定数量的页。3.4 323.4 32位微处理器存储管理位微处理器存储管理23(2)分页步骤 48位的逻辑地址经分段部件之后,就被转换成了32位的线性地址。如果不分页,此时的线性地址就是物理地址。如果需要分页,则要经分页部件,再将32位的线性地址转换成物理地址,这是分页部件的职责。分页的基础 48位的逻辑地址经分段部件之后,要先被转换成32位的线性地址。允许分页 Pentium的控制寄存器CRO的位31(PG位)是允许分页控制位,若将控制寄存器CRO的位31置成1,才表示分页机

21、构允许分页。线性地址的结构 下图展示出线性地址的结构。32位的线性地址被进一步分成3个字段,其中高端10位(位31位22)是页目录索引字段,中间的10位(位21位12)是页表索引字段。而剩下的低端12位字段,所表示的则是一个存储器页内的4KB个地址。3.4 323.4 32位微处理器存储管理位微处理器存储管理 页目录索引 页表索引 偏移量01112213122243.4 323.4 32位微处理器存储管理位微处理器存储管理页目录 线性地址中的高端10位(位31位22)是页目录索引字段,10位的页目录最多可以索引、定位1024个页目录项。也就是说,页目录是由1024个页目录项组成。页表 线性地址

22、的中间10位(位21位12)是页表索引字段,10位的页表最多可以索引、定位1024个页表项。也就是说,页表是由1024个页表项组成。由于10位的页目录最多可以索引、定位1024个页目录项,而10位的页表最多可以索引、定位1024个页表项。这样线性地址的高端20位,就可以索引、定位1M个页地址(即10241024=1M页)。存储器页 Pentium约定,把4KB大小的存储器空间规定成一个页。所以,Pentium的4GB的存储器空间可以分成1M个页(即4GB/4KB=1M)。253.4 323.4 32位微处理器存储管理位微处理器存储管理(3 3)分页部件的转换操作分页部件的转换操作 系统给出的地

23、址以及程序给定的地址都是逻辑地址,经过分段部件的操作之后是将逻辑地址转换成线性地址。分页部件的作用就是将线性地址转换成物理地址。下面说明分页部件的转换操作的条件和步骤:允许分页位允许分页位 Pentium的控制寄存器CRO的位31(PG位)是允许分页控制位,若将控制寄存器CRO的位31置成1,则表示分页机构允许分页。线性地址的转换线性地址的转换 图中所展示出的是,Pentium怎样用两级页表,将线性地址字段中的页目录索引字段、页表索引字段以及偏移量字段转换成物理地址的。263.4 323.4 32位微处理器存储管理位微处理器存储管理32位线性地址存储器页页表页目录页目录项页表项操作数12 11

24、22 21310 页表页表 所谓页表,实际上是由若干个大小为32位(4个字节)的页表项组成的一个阵列。页表本身也是一个页,其规模大小为4096个字节的存储空间,所以其内最多可保存1K个32位的页表项,如上图。在这种4KB的页内当然也保存着页目录项、页表项。273.4 323.4 32位微处理器存储管理位微处理器存储管理0132456789113112页框地址3112PWUAD00PWTPCDAVAIL系统设计人员可用可写存在用户页透明写页Cache禁止存取操作脏位保留 页表项页表项 两级页表中,虽页表项和页目录项的内容不同,但页表项的格式却是一样的(页目录内缺少脏位这种情况除外)。图中展示出了

25、页表项的格式。页目录中的脏位D(Dirty)位保留供将来用。283 35 5 高速缓冲存储器高速缓冲存储器CacheCache 存储器系统层次结构存储器系统层次结构 计算机的存储器系统是由几种容量大小、存取速度、性能价格、在微机系统中所处的位置等均有所不同的存储器组成。计算机的存储器管理体系采用的是一种层次结构。1.它的最顶层的、与CPU联系最密切的存储部件是微处理器内部的寄存器。然后,就是配置在CPU芯片内一级Cache L1。2.在Pentium II等高档的微处理器芯片内,增配了二级高速缓冲存储器Cache L2。3.而在Pentium 4等更高档的微处理器芯片内,甚至又新增配了三级高速

26、缓冲存储器Cache L3。293 35 5 高速缓冲存储器高速缓冲存储器CacheCache 4.接下来的就是微处理器必须配置的主存储器(也被称之为物理存储器),通常是由动态随机存储器DRAM组成。5.再下一个层次的存储器就是外部存储器(也叫虚拟存储器),通常是硬盘、光盘等。CPU 寄存器组 一级 Cache L1 主存储(物理存储器)外部存储器(虚拟存储器)三级Cache L3 二级Cache L2 303 35 5 高速缓冲存储器高速缓冲存储器CacheCache 1.Cache 存储器存储器 Cache存储器是一种高速的,但其规模大小相对于主存储器而言又是比较小的位于处理器和操作速度比

27、较低的主存储器之间的一种存储设备,其内保存的是目前处理器正在使用的主存储器的副本,处理器使用Cache 可以快速地从其内取得所需的指令和数据。由于装备有Cache,相应地减少了访问主存储器的次数.2.Cache 的作用和有效性的作用和有效性 Cache存储器的作用和有效性表现在:微机系统内的Cache存储器,确实拥有保存微处理器当前经常使用的指令和数据的能力,而且还具有存取速度快、命中率高的特点,这些特征充分表现出Cache技术的有效性。313 35 5 高速缓冲存储器高速缓冲存储器CacheCache 说明Cache 有效性的另一个重要标志是微机系统的性能。在正常情况下,由于访问Cache

28、的速度要比访问主存储器的速度快3-8倍。这样就明显地增强了整个系统性能。3.3.局部性原理局部性原理 为使Cache 更加有效,要求程序有高度的暂时性和局部性。配备Cache的基础是基于程序访问的局部性原理,即要被访问的数据大多集中在存储器的某个局部区域。从程序执行的过程上来说,它不可能长时间地仅执行位于存储器内某个局部区域中的某一段程序,被执行的程序段有可能会随着程序的结构被更换,但在短时间内CPU访问的程序段还是固定的几个程序段。研究表明,大部分程序都是串行的、顺序执行的,除分支转移指令和调用指令外,在大多数情况下,下一次要取的指令往往是紧跟着上一次刚取的那一条指令。323 35 5 高速

29、缓冲存储器高速缓冲存储器CacheCache 图中展示出了Cache 中内容相对于主存储器来说是暂时的和局部的。CPUloop 主存储器地址总线Cache控制控制loop数据总线334.Cache 存储器数目和容量存储器数目和容量 Pentium芯片内采用的是指令Cache和数据Cache各自独立、各为一体的分离式分离式Cache。也就是说,Pentium配备有两个Cache,一个是指令Cache,另一个是数据Cache。在指令Cache内,只是存放目前CPU正在执行的程序指令。而在数据Cache内,则仅仅存放目前CPU正在执行的程序所需要的数据。目前已经达到了三级Cache。分别是一级Cache L1,二级Cache L2,三级Cache L3。3 35 5 高速缓冲存储器高速缓冲存储器CacheCache 343 35 5 高速缓冲存储器高速缓冲存储器CacheCache 353 35 5 高速缓冲存储器高速缓冲存储器CacheCache 36谢谢大家!谢谢大家!37

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁