2-保护模式-2.2.ppt

上传人:s****8 文档编号:82769258 上传时间:2023-03-26 格式:PPT 页数:39 大小:1.78MB
返回 下载 相关 举报
2-保护模式-2.2.ppt_第1页
第1页 / 共39页
2-保护模式-2.2.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《2-保护模式-2.2.ppt》由会员分享,可在线阅读,更多相关《2-保护模式-2.2.ppt(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、微机接口技术微机接口技术微机接口技术第二模块第二模块 保护模式保护模式微机接口技术内存管理内存管理微机接口技术存储管理单元(存储管理单元(MMUMMU)8038680386以以上上的的CPUCPU允允许许使使用用虚虚拟拟存存储储器器,除除了了有有一一个个速速度度较较快快地地、容容量量较较小小的的主主存存储储器器(内内存存),还还有有一一个个速速度度较较慢慢,但但容容量量很很大大的的外外部部存存储储器器。二二者者通通过过存存贮贮器器管管理理机机制制,有机地、灵活地结合在一起有机地、灵活地结合在一起。对程序员而言对程序员而言,二者统一。二者统一。微机接口技术80386以上的存储器管理主要包含两种形

2、式以上的存储器管理主要包含两种形式的虚拟存储器管理的虚拟存储器管理1.1.分段内存管理分段内存管理2.2.分页内存管理分页内存管理微机接口技术分段内存管理分段内存管理虚拟地址虚拟地址、线性地址线性地址、物理地址物理地址 虚拟地址虚拟地址就是程序指令中使用的地址(也就是程序指令中使用的地址(也称逻辑地址),它由段和偏移两个部分组称逻辑地址),它由段和偏移两个部分组成。段选择符的成。段选择符的IndexIndex和和TITI占占1414位,偏移量位,偏移量为为3232位。位。如如DS:EBXDS:EBX就是一个虚拟地址。就是一个虚拟地址。TIselectoroffsetINDEXRPL微机接口技术

3、虚拟地址空间的分段虚拟地址空间的分段局部地局部地址空间址空间32T全局地全局地址空间址空间32T虚拟址空虚拟址空间间64T全局段全局段0全局段全局段1全局段全局段8191局部段局部段0局部段局部段1局部段局部段8191局部段局部段8190全局段全局段8190微机接口技术CPUCPU的分段部件将虚拟地址转换为线性地址。的分段部件将虚拟地址转换为线性地址。对于一个虚拟地址,对于一个虚拟地址,线性地址是段的基线性地址是段的基地址再加上偏移量地址再加上偏移量。段的基地址保存在段描。段的基地址保存在段描述符中。述符中。段基址和偏移量都是段基址和偏移量都是3232位的,所以位的,所以线性线性地址是地址是3

4、232位位。线性地址空间的范围是。线性地址空间的范围是2 23232=4GB=4GB,即,即00000000000000001616FFFFFFFFFFFFFFFF1616。微机接口技术虚虚拟拟地地址址和和线线性性地地址址都都是是任任务务相相关关的的。同一个虚拟地址可能得到不同的线性地址同一个虚拟地址可能得到不同的线性地址。任任 务务 1 1和和 任任 务务 2 2对对 同同 一一 个个 虚虚 拟拟 地地 址址0047H:00002000H0047H:00002000H得得到到的的线线性性地地址址可可能能是是不不同同的的。对对于于同同一一个个局局部部段段选选择择符符,LDTLDT可可对对不不同

5、的任务设置不同的段基址同的任务设置不同的段基址。线性地址线性地址为什么也是为什么也是任务相关的任务相关的?微机接口技术物理地址物理地址物物理理地地址址是是微微处处理理器器引引脚脚输输出出的的地地址址信信号。号。同同一一个个线线性性地地址址得得到到的的物物理理地地址址可可以以不不同。同。CPUCPU的的分分页页部部件件将将线线性性地地址址转转换换为为物物理理地地址址。如如果果禁禁止止CPUCPU的的分分页页功功能能,线线性性地地址址就就直直接作为物理地址。接作为物理地址。微机接口技术一个任务的全局区域和局部区域一个任务的全局区域和局部区域局部地局部地址空间址空间全局地全局地址空间址空间局部局部地

6、址地址空间空间局部地局部地址空间址空间任务任务1的虚拟地址空间的虚拟地址空间任务任务2的虚拟地址空间的虚拟地址空间任务任务3的的虚拟地址虚拟地址空间空间微机接口技术虚拟地址虚拟地址、线性地址和、线性地址和物理地址物理地址的转换过程的转换过程虚拟地址(虚拟地址(1616位段选择符位段选择符:32:32位偏移量)位偏移量)分段部件分段部件线性地址(线性地址(3232位)位)=段基址段基址 +偏移量偏移量分页部件分页部件物理地址物理地址=页的基地页的基地址址+偏移量偏移量物理地址物理地址=线性地址线性地址允许分页允许分页?允许允许禁止禁止12段式地址变换段式地址变换段寄存器的段寄存器的152位位偏移

7、量偏移量45 32 31 0段描述符段描述符 段表段表32位线性地址位线性地址物理物理地址地址虚拟虚拟地址地址段基址段基址Pentium 系列的虚拟地址空间是系列的虚拟地址空间是24664TB。注意:注意:保护模式下段寄存器的含义已变为段选择符,保护模式下段寄存器的含义已变为段选择符,通常称段寄存器为段选择符。通常称段寄存器为段选择符。微机接口技术例子例子假定虚拟地址由段描述符假定虚拟地址由段描述符0100H和偏移量和偏移量00002000H组成,禁止分页。如描述符中读组成,禁止分页。如描述符中读出的段基址为出的段基址为00030000H,那操作数的物理,那操作数的物理地址是多少?地址是多少?

8、虚拟地址虚拟地址=选择符:偏移量选择符:偏移量 =0100:00002000H线性地址线性地址=段基址段基址+偏移量偏移量 =00030000H+00002000H =00032000H微机接口技术全局段与局部段全局段与局部段微机接口技术描述符描述符描述符是用以管理描述符是用以管理64TB虚拟存储地址空间虚拟存储地址空间分段的基本元素。分段的基本元素。一个描述符对应虚拟地址空间中的一个存一个描述符对应虚拟地址空间中的一个存储段。储段。描述符可以指定给局部描述符表、全局描描述符可以指定给局部描述符表、全局描述符表、任务状态段、调用门、任务门以述符表、任务状态段、调用门、任务门以及中断。及中断。微

9、机接口技术段描述符段描述符段描述符用于描述段描述符用于描述代码段、数据段和堆栈段代码段、数据段和堆栈段。段限长段限长指出了一个段的最后一个字节的偏移地址。指出了一个段的最后一个字节的偏移地址。段描述符段描述符位于位于GDTGDT或或LDTLDT中,占中,占8 8字节字节(6464位),由以位),由以下几个部分组成:段基址(下几个部分组成:段基址(3232位)、限长(位)、限长(2020位)、位)、访问权限(访问权限(8 8位)和属性(位)和属性(4 4位)。位)。段描述符的格式如图段描述符的格式如图2-142-14,图,图2-152-15。17段描述符段描述符D7 D0段界限段界限 70段界限

10、段界限 158基址基址 70基址基址 158基址基址 2316基址基址 3124TYPESAVLDPLPGD/B0段界限段界限 19160123456718段描述符第段描述符第5字节访问字节访问权限,权限,非系统段(代码段、数非系统段(代码段、数据段、堆栈段)的格式:据段、堆栈段)的格式:AWREDCE=0E=1S=1DPLPD7 D0存在位存在位1:装入内存:装入内存0:不在内存:不在内存特权位特权位S=1是非系统段:数据段或者代码段是非系统段:数据段或者代码段S=0是系统段描述符是系统段描述符代码段标代码段标志志数据段或者数据段或者堆栈段标志堆栈段标志一致位一致位0:非一致:非一致1:一致

11、:一致可读位可读位访问位访问位扩展方向位扩展方向位1:向下扩展:向下扩展0:向上扩展:向上扩展 可写位可写位 19段描述符中系统段的第段描述符中系统段的第5字节:字节:类型值类型值段类型段类型类型值类型值段类型段类型0(0000)0(0000)未定义未定义8(1000)8(1000)未定义未定义1(0001)1(0001)286286的有效的有效任务状态段任务状态段9(1001)9(1001)386386的有效任务状态段的有效任务状态段2(0010)2(0010)LDTLDT描述符描述符10(1010)10(1010)未定义未定义3(0011)3(0011)286286的忙碌任务状态段的忙碌任

12、务状态段11(1011)11(1011)386386的忙碌任务状态段的忙碌任务状态段4(0100)4(0100)286286的的调用门调用门12(1100)12(1100)386386的调用门的调用门5(0101)5(0101)286286或或386386的的任务门任务门13(1101)13(1101)未定义未定义6(0110)6(0110)286286的的中断门中断门14(1110)14(1110)386386的中断门的中断门7(0111)7(0111)286286的的陷阱门陷阱门15(1111)15(1111)386386的陷阱门的陷阱门D7 D0TYPES=0DPLP20D7 D0AVL

13、GD/B0段界限段界限 1916用户用户/操作系统可用位操作系统可用位 D/B位,系统段不用这位位,系统段不用这位粒度位粒度位,=1以页为单位,以页为单位,=0以字以字节为单位节为单位D/B位位代码段代码段(D位位)D=1 使用使用32位操作系统和位操作系统和32位寻址方式位寻址方式D=0 使用使用16位操作系统和位操作系统和16位寻址方式位寻址方式 数据段数据段(B位位)B=1 堆栈使用堆栈使用ESP寄存器,上限为寄存器,上限为FFFFFFFFH B=0 堆栈使用堆栈使用SP寄存器,上限为寄存器,上限为FFFFH 段描述符中的第段描述符中的第6字节:四位属性字节:四位属性思考:如何知道该段为

14、代码段或数据段?思考:如何知道该段为代码段或数据段?微机接口技术段描述符高速缓存段描述符高速缓存为了提高为了提高CPUCPU的运行效率在的运行效率在CPUCPU内部设置了内部设置了段描述高速缓存,这些缓存不可见,自动段描述高速缓存,这些缓存不可见,自动装入段描述符。段描述符高速缓冲的内容装入段描述符。段描述符高速缓冲的内容和和6 6个段描述符寄存器索引的描述符当前值个段描述符寄存器索引的描述符当前值保持一致。保持一致。用户不可见。用户不可见。6 6个个6464位段描述符高速缓存寄存器。位段描述符高速缓存寄存器。22 当机器复位的时候当机器复位的时候CS=FFFFH,EIP,DS,ES,SS,F

15、S,GS以及以及EFLAGS寄存器被清零。因寄存器被清零。因为复位之后为复位之后CS:EIP=FFFF:00000000,因此机,因此机器复位或开机后,都会自动从这个地址开始取指器复位或开机后,都会自动从这个地址开始取指令,这里应该是令,这里应该是BIOS的第一条指令。的第一条指令。微机接口技术例子例子段描述符的访问权限字节为段描述符的访问权限字节为FEH,它描述的,它描述的是哪种类型的段描述符,属性是什么?是哪种类型的段描述符,属性是什么?FEH=1111,1110bS=1,代码段,代码段/数据段或者堆栈段。数据段或者堆栈段。P=1,段已经在物理存储器中。,段已经在物理存储器中。DPL,特权

16、级,特权级=3。E=1,可执行代码段。,可执行代码段。C=1,一致代码段。,一致代码段。R=1,可读。,可读。A=0,没被访问过。,没被访问过。微机接口技术如果系统段描述符的访问字节为如果系统段描述符的访问字节为82H,它代,它代表那种类型的描述符?特权级多少?现在表那种类型的描述符?特权级多少?现在在物理存储器中么?在物理存储器中么?82H=1000,0010bTYPE=0010,为,为LDT特权级特权级DPL=00,特权级,特权级0P=1,在物理存储器。,在物理存储器。微机接口技术P27例子。SEGMENT LIMIT 15.0SEGMENT BASE 15.0 BASE 23.16 BA

17、SE 31.24GX0LIMIT19.16PDPLSTYPEA0347AVL0231615872431微机接口技术Loading Descriptor from Descriptor TableLoading Descriptor from Descriptor TableLDTRdescriptorCSdescriptor00A00000HFFFFHGDTR00A00000H00A0FFFFH2000HLDTR00A02007H00A02000H00008290000000FFFF0FFE60FFFF000000900000HFFFFH00900000H0090FFFFH1005HCS006

18、00000HFFFFFH00901007H00901000H006FFFFFH00600000HGDT(64KB)LDT(64KB)CODESEGMENT(1 MB)SYSTEM MEMORYUSER MEMORYCS=1003H,如何如何?微机接口技术分页内存管理分页内存管理保护模式下的保护模式下的CPUCPU支持分页机制支持分页机制,并且分页,并且分页管理是在分段管理机制的基础上工作,它管理是在分段管理机制的基础上工作,它将将分段管理机制得到的线性地址转换为物分段管理机制得到的线性地址转换为物理地址理地址。使用分页机制的使用分页机制的好处好处在于,它可以把每个在于,它可以把每个活动任务当前

19、所必需的少量页面放在内存活动任务当前所必需的少量页面放在内存中,而不必将整个段调入内存,从而中,而不必将整个段调入内存,从而提高提高了内存的使用效率了内存的使用效率。微机接口技术分页分页所有页的长度固定为所有页的长度固定为4KB4KB,页与页之间也没,页与页之间也没有重叠。有重叠。CPUCPU将将4GB4GB的线性地址空间划分成的线性地址空间划分成2 22020页。页。在在Windows/LinuxWindows/Linux操作系统中,将操作系统中,将段式内存段式内存管理和页式内存管理结合起来管理和页式内存管理结合起来,主要是依赖,主要是依赖页式内存管理来调度内存。页式内存管理来调度内存。微机

20、接口技术任务任务A A任务任务B B页页1 1页页2 2页页1 1页页3 3页页2 2物理物理内存内存线性地线性地址空间址空间线性地址到物理地址的映射线性地址到物理地址的映射微机接口技术线性地址转换为物理地址的过程线性地址转换为物理地址的过程 分页机制就是一种将线性地址的页面分页机制就是一种将线性地址的页面映射到物理地址页面的手段,也就是从线映射到物理地址页面的手段,也就是从线性地址到物理地址的转换过程。分页机制性地址到物理地址的转换过程。分页机制中用到了两个表:中用到了两个表:页表目录表和页表页表目录表和页表。微机接口技术3232位线性地址被划分为位线性地址被划分为3 3个部分:个部分:页目

21、录索引页目录索引 页表索引页表索引 字节索引字节索引其中第其中第1 1项是对页目录(项是对页目录(Page Page DirectoryDirectory)的索引,第)的索引,第2 2项是对页表(项是对页表(Page Page TablesTables)的索引,第)的索引,第3 3项是线性地址在页面内项是线性地址在页面内的偏移。的偏移。1010位位1212位位1010位位微机接口技术线性地址转换为物理地址的过程线性地址转换为物理地址的过程Linear Address从何而来?从何而来?微机接口技术微机接口技术页表项页表项 页表项就是在分页转换时用到的页表项就是在分页转换时用到的页表描页表描述符

22、述符和和页描述符页描述符,都是,都是3232位,页表项格式如位,页表项格式如图图2-212-21。高高20位基地址位基地址AVL0D0A00R/WU/SP31 12 11 10 9 8 7 6 5 4 3 2 1 03位位,由操由操作系统使作系统使用用1:有写操作有写操作0:没有写操作没有写操作只有用于页描述符只有用于页描述符访问标志访问标志1:访问过访问过0:没有访问过没有访问过0:OS可访问可访问1:用户程序可用户程序可访问访问针对应用程序针对应用程序0:读读1:可读写可读写存在位存在位.1:存在存在0:不存在不存在微机接口技术页目录、页表和物理页的基地址的低页目录、页表和物理页的基地址的

23、低1212位位全部为全部为0 0,定位在页的边界上。,定位在页的边界上。页表项的低页表项的低1212位提供保护功能和统计信息。位提供保护功能和统计信息。U/SU/S位、位、R/WR/W位、位、P P位实现页保护机制,位实现页保护机制,p32p32。一个物理页存在两级保护一个物理页存在两级保护,页表描述符和页页表描述符和页描述符属性。当二者不一致的时候取严格描述符属性。当二者不一致的时候取严格属性。属性。微机接口技术某活动页帧页目录项为某活动页帧页目录项为F1000007H,页表项,页表项是是01000005H,则该帧指定的是用户模式还,则该帧指定的是用户模式还是管理员模式,允许的访问权限是什么

24、?是管理员模式,允许的访问权限是什么?F1000007H=1111,0001,0000,0000,0000,0000,0000,0111bU/SR/W=11为用户模式和可读写权限为用户模式和可读写权限.01000005H=0000,0001,0000,0000,0000,0000,0000,0101bU/SR/W=10为用户模式和只读。为用户模式和只读。取更严格的页帧属性,故用户程序只能读取更严格的页帧属性,故用户程序只能读该帧,系统软件可读写该帧。该帧,系统软件可读写该帧。微机接口技术片内转换检测缓冲器片内转换检测缓冲器TLBTLB每次内存操作都需要将线性地址转换为物每次内存操作都需要将线性

25、地址转换为物理地址,转换过程中需要访问页目录表和理地址,转换过程中需要访问页目录表和页表来取得页表描述符和页描述符。为了页表来取得页表描述符和页描述符。为了提高转换效率,提高转换效率,CPUCPU内部设置了片内转换检内部设置了片内转换检测缓冲器测缓冲器TLBTLB(Translation Lookaside Translation Lookaside BufferBuffer),其中保存了),其中保存了3232个页描述符,它个页描述符,它们都是最近使用过的。们都是最近使用过的。微机接口技术页面映射的例子页面映射的例子 经过页目录索引和页表索引的两级查经过页目录索引和页表索引的两级查找,就将一个

26、线性地址的页面对应到一个找,就将一个线性地址的页面对应到一个物理页面上。线性地址的最低物理页面上。线性地址的最低1212位就是物位就是物理地址的最低理地址的最低1212位。线性地址在转换为物位。线性地址在转换为物理地址时,物理地址的高理地址时,物理地址的高2020位为页表描述位为页表描述符的高符的高2020位,而取得页表描述符需要线性位,而取得页表描述符需要线性地址的页目录索引和页表索引在页目录表地址的页目录索引和页表索引在页目录表和页表中。和页表中。微机接口技术例子例子1.1.不同任务中的线性地址被映射到不同的物不同任务中的线性地址被映射到不同的物理页面上理页面上2.2.不同任务中的线性地址被映射到相同的物不同任务中的线性地址被映射到相同的物理页面上理页面上3.3.线性地址转换为物理地址的过程线性地址转换为物理地址的过程

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com