《第5章存储器管理.pptx》由会员分享,可在线阅读,更多相关《第5章存储器管理.pptx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.1 5.1 存储器概述1.1.分类:内存储器和外存储器内存:也称主存,通过系统总线与CPUCPU联接,存放正在执行的程序和数据;外存:需通过专门的接口电路和主机联接,存放暂不执行的程序或不被处理的数据。内存:根据数据的存取方式可分为随机存取存储器 (RAM)(RAM)和只读存储器 (ROM)(ROM)。第1页/共19页2.存储器的性能指标.存储器容量:以字节为单元。常以KB KB、MBMB、GBGB、TBTB为 单位。.存取周期:存储器从接收到地址,到完成读出或者写 入数据的时间称为存取周期。.功耗.可靠性.集成度:常以“位/片”、“字节/片”表示。第2页/共19页3.地址译码地址译码:按
2、系统地址总线上的信息,从整个内存中确定一个存储单元。3232位微机中采用复合译码方式。复合译码:由纵横交错的X X选择线和Y Y选择线选择某一存储单元。X X地址译码器:它决定选择3232行中的某一行;Y Y地址译码器:它决定选择3232列中的某一列。选择出某一行和某一列交叉处的一个存储单元。(如下图)第3页/共19页第4页/共19页5.25.2微型计算机内存储器组成对单字节、双字节和4 4字节等不同数据的访问。单字节:地址可以是任意地址 (即奇地址或者偶地址);双字节:偶地址(地址末位为0)0)作为低8 8位数据地址,也就是该1616位数据的地址;4 4字节:低2 2位为0 0的地址作为低8
3、 8位数据地址,也就是该3232位数 据的地址。3 3-0 0:实现8 8位、1616位和3232位数据的访问.(表5.15.1)第5页/共19页一、32位存储器组成方式 (一个例子)第6页/共19页二、存储器多级结构第7页/共19页5.35.3内存储器分段管理(保护模式)实模式存储器寻址:.段寄存器直接存放某一段的段基址,段寄存器为CSCS,DSDS,SSSS,ESES,FS,GSFS,GS。.程序给出逻辑地址,包括段基地址(1616位)和相对于 段基地址的段内偏移量(1616位),又称偏移地址。.在存储器寻址时,将逻辑地址转换为存储器存储单元 的物理地址(实际地址或者绝对地址),物理地址为
4、 2020位。地址转换规则为:物理地址=段基地址10H10H偏移地址第8页/共19页保护模式存贮器分段管理:.段寄存器存放段选择符。.选择符用于选择段描述符。.段描述符包括段基址、段界限(长度)和访问权限等。.所有段描述符存于描述符表中(内存)。1 1选择符INDEX INDEX 指示描述符在描述符表中的位置。TI TI 定义描述符表在局部描述符表LDTLDT中还是在全局 描述符表GDTGDT中。RPL RPL 指示请求特权级0-30-3。INDEXTIRPL第9页/共19页2.2.描述符描述符按照段的性质可分为三类:程序段描述符,系统段描述符和门描述符。第10页/共19页工作原理:.在保护方
5、式下,每个段寄存器(CSCS,DSDS,ESES,SSSS,FSFS,GSGS)以及部分系统地址寄存器(TRTR,LDTRLDTR)对应一个描述符寄存器。.段寄存器或者TRTR,LDTRLDTR作为选择器,存放选择符。其中高1313位作为段描述符表的地址(简称选择码)。.每当把一个选择符装入某个段寄存器时,微处理器自动从描述符表中取出相应的描述符,把描述符中的信息保存到对应的描述符高速缓冲寄存器中。第11页/共19页描述符组成:(8(8个字节组成).描述符的基地址:段的起始单元,由3232位表示。.段界限:表明段长度,由2020位表示。.访问权限及属性:其中G G为段界限长度单位,G=1G=1
6、,指示界限长度以页(4KB4KB)为单位,最大到4GB 4GB。(2(220 20 页=2=220202 21212B B=2 23232B)B)G=0 G=0,以字节为单位,最大到1MB(21MB(22020B)B)。第12页/共19页段地址转换:(逻辑地址转换成线性地址).逻辑地址包括1616位的段选择符和3232位的段偏移量。.在保护方式下,根据选择符从段描述表中取出相应的描述符,其中包括段基址、界限值、段特权级以及所允许访问的类型的信息。.描述符中3232位段基址加上3232的偏移量(由指令寻址方式决定)得到线性地址。.然后再由分段部件传送给分页部件形成物理地址。如果分页被禁止,计算出
7、的线性地址就是物理地址。第13页/共19页5.4 5.4 内存分页管理内存分段存在的问题:.每段最长可达4GB4GB,若程序全段都装入内存运行,则一两个大程序就会塞满内存,这不利于实现多任务环境。.实际使用中,中小型程序占多数,它们对内存的进进出出,造成大量内存“碎片”,浪费内存空间。.由于程序运行的局部性,调用内存的大程序中大部分指令在很长时间里并不运行,甚至根本不运行。它们即浪费了调入调出时间,又白占内存空间。分页管理基本思想:把内存分成等大的块,称为“内存页”;把程序、数据等各段的内容也人为分成同样大小的块,称为“内容页”。针对上述三大问题,页面管理可以如下处理:第14页/共19页.先把
8、程序的前几页调入内存。开始运行,不断回收 用过的内存页。这样无论一个段有多大,它只需n n个 页就可顺利运行了。.“碎片”少。.不运行的程序页将不调入内存,避免了不运行程序 段白占内存的情况。分页管理的代价:占用内存来放置内容页与内存页的对应表;花费时间去决定哪个页收回,哪个页应该调入。3232位CPUCPU系统规定页的大小为4 KB4 KB。第15页/共19页分页管理通过2 2级页表来实现的:.将内存按每4KB4KB划分为一页(称为一个页面),由页表管理页面,由页目录表管理页表。.页表中存放每个页的起始地址(低1212位全为0)0),页表中的每一项称为一个页表项,每个页表项占4 4个字节。整
9、个页表占4KB4KB空间(一页),由1010位地址表示。.页目录表存放每个页表的起始地址,页表的起始地址(低1212位全为0)0),页目录表中的每一项称为一个页目录项,也占4 4个字节,整个页目录占4KB4KB空间(一页),也由1010位地址表示。.页目录表的首地址存放于CPUCPU内CRCR3 3中。这样两级管理共可管理4GB4GB内存(2(21010221010221212)。第16页/共19页页部件的地址转换:线性地址转化为物理地址.分段部件提供的3232位线性地址中,高1010位作为偏移量与控制寄存器CRCR3 3中的2020位项目录表基址相加(最低2 2位为0 0,共3232位),指示页目录表中的某一目录项。.该目录项中的2020位地址作为页表基址与线性地址中的中间1010位(作为偏移量)相加(最低2 2位为0 0,共3232位),指示某一页表中的某一项。.该项中的2020位地址再作为页基址与线性地址中的低1212位偏移量相加,生成指向某一存储单元的3232位物理地址。第17页/共19页第18页/共19页感谢您的观看!第19页/共19页
限制150内