(精品)ch04-80X86程序设计模型[编程模型]2

上传人:沈*** 文档编号:252980468 上传时间:2024-11-26 格式:PPT 页数:27 大小:389KB
返回 下载 相关 举报
(精品)ch04-80X86程序设计模型[编程模型]2_第1页
第1页 / 共27页
(精品)ch04-80X86程序设计模型[编程模型]2_第2页
第2页 / 共27页
(精品)ch04-80X86程序设计模型[编程模型]2_第3页
第3页 / 共27页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,HYPer,80x86,程序设计模型,主讲人:黄永平,HYPer,目录,程序设计模型,实模式存储器寻址,保护模式存储器寻址,页式寻址,段页式寻址,HYPer,一、程序设计模型,程序设计模型,:,程序员所需要的计算机模型。,只需要知道,:,CPU,内部寄存器的设置及功能;,CPU,与存储器的逻辑地址和物理地址关系。,8086/8088,寄存器结构,(16,位,),AH AL,BH BL,CH CL,DH DL,AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES,累加器,基址,计数,数据,堆栈指针,基址指针,源变址,目的变址,(PC),指令指针,(PSW),状态标志,代码段,数据段,堆栈段,附加段,通用,Rc,控制,R,段,Rs,8,位寄存器,16,位寄存器,C,P,U,寄存器按功能分三类,数据,R,指针,&,变址,R,80386Pentium II,寄存器结构,(32,位,),AH AL,BH BL,CH CL,DH DL,AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES,累加器,基址,计数,数据,堆栈指针,基址指针,源变址,目的变址,(PC),指令指针,(PSW),状态标志,代码段,数据段,堆栈段,附加段,数据段,数据段,通用,Rc,控制,R,段,Rs,C,P,U,寄存器按功能分三类,数据,R,指针,&,变址,R,EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI,EIP,EFLAGS,FS,GS,选择符,(16,位,),选择符,(16,位,),选择符,(16,位,),选择符,(16,位,),选择符,(16,位,),选择符,(16,位,),属性,(12,位,),段限,(20,位,),基地址,(32,位,),选择符,(16,位,),选择符,(16,位,),基地址,(32,位,),段限,(20,位,),属性,(12,位,),基地址,(32,位,),段限(,16,位),基地址,(32,位,),段限(,16,位),高速缓存,描述符,CS,DS,SS,ES,FS,GS,段寄存器,TR,LDTR,GDTR,IDTR,程序不可见区域,系统地址,R(,保护方式,R),80386Pentium,II -,系统地址寄存器(保护模式),控制寄存器:,CR0CR3,调试寄存器:,DR0DR7,模型专用寄存器,MSR,浮点部件寄存器,80386Pentium,II -,其它寄存器(保护模式),地址加法器,:,将左移,4,位的段寄存器的内容与偏移地址相加,形成,20,位的物理地址,以便对,1,兆空间的存储器寻址。,逻辑地址,(,偏移地址,),15,0,段寄存器,0000,15,0,物理地址,19,0,(SP BP SI DI,BX,),(CS DS SS,ES)x16,HYPer,二、实模式存储器寻址,段,x16+,偏移,00000H,10000H,1F000H,1FFFFH,FFFFFH,1000H,段寄存器,x16,段基址,偏移地址,=F000H,实模式存储器,(1MB),段,+,偏移的实模式存储器寻址机制,默认段寄存器和偏移寄存器,段,偏 移,主要用途,CS,IP,指令地址,DS,BX,SI,DI,Disp8,Disp16,数据地址,SS,SP ,BP,堆栈地址,ES,DI,串操作目标地址,16,位段,+,偏移寻址组合,段,偏 移,主要用途,CS,EIP,指令地址,DS,EAX,EBX,ECX,EDX,ESI,EDI,Disp8,Disp32,数据地址,SS,ESP ,EBP,堆栈地址,ES,EDI,串操作目标地址,FS,无默认,一般地址,GS,无默认,一般地址,32,位段,+,偏移寻址组合,HYPer,三、保护模式存储器寻址,80286,以上,CPU,有,实模式,和,保护模式,两种寻址方式。,保护模式时,用,选择符,和,描述符,来寻址存储器。段寄存器放的是选择符,通过选择符到描述符找到段基地址,,段基地址,+,偏移量,为内存中的物理地址。,选择符,描述符表,(,描述符,),存储器,最大,4GB,空间的地址是如何生成的?,HYPer,三、保护模式存储器寻址,80286,以上,CPU,有,实模式,和,保护模式,两种寻址方式。,保护模式时,用,选择符,和,描述符,来寻址存储器。段寄存器放的是选择符,通过选择符到描述符找到段基地址,,段基地址,+,偏移量,为内存中的物理地址。,段选择符,描述符表,(,描述符,),存储器,内存分成很多的段,,用,段的选择符,找到,段的描述符,,,之后找到要访问的内存段开始位置。,偏移量是,段内的偏移量。,程序不可见寄存器,(保存段描述符),选择符,(16,位,),选择符,(16,位,),选择符,(16,位,),选择符,(16,位,),选择符,(16,位,),选择符,(16,位,),属性,(12,位,),段限,(20,位,),基地址,(32,位,),选择符,(16,位,),选择符,(16,位,),基地址,(32,位,),段限,(20,位,),属性,(12,位,),基地址,(32,位,),段限(,16,位),基地址,(32,位,),段限(,16,位),高速缓存,描述符,CS,DS,SS,ES,FS,GS,段寄存器,TR,LDTR,GDTR,IDTR,程序不可见区域,系统地址,R(,保护方式,R),描述符索引,(13,位,),TI,RPL,15 3 2 1 0,请求优先级:,00,最高,11,最低,局部,/,全局 描述符表指针,LDT1,GDT,LDTR-Cache,基址,GDTR,基址,TI=0,TI=1,全局描述符表,x8,选择符,(,段选择符,),存储器,CS,DS,SS,ES,FS,GS,段首址,段界限,(1),(2),x8,TI=1,TI=0,段首址,段界限,8,个字节的,段描述符,8,个字节的,段描述符,局部描述符表,LDT2,.,.,.,16,位段选择符,描述符索引,(13,位,),TI,RPL,15 3 2 1 0,LDT1,GDT,LDTR-Cache,基址,GDTR,基址,TI=0,TI=1,局部描述符表,全局描述符表,x8,选择符,(,段选择符,)-,GDT,与,LDT,关系,CS,DS,SS,ES,FS,GS,LDTR,选择符,x8,(1),(2),(3),存储器,请求优先级:,00,最高,11,最低,局部,/,全局 描述符表指针,8,个字节的,段描述符,8,个字节的,LDT,描述符,TI=1,(4),段首址,段界限,LDT2,.,.,.,16,位段选择符,描述符,(,段描述符,),基址,+,界限,+,属性,段限,(150),段基地址,(150),访问权限,段基地址,(2316),00000000,00000000,80286,描述符,0,2,4,6,1,3,5,7,段限,(150),段基地址,(150),访问权限,段基地址,(2316),段基地址,(3124),G,D,0,AV,段限,(1916),80386Pentium II,描述符,0,2,4,6,1,3,5,7,G=1,,,界限,x4KB(,尾部添,000H),。,允许段长为,4KB4GB,G=0,,,段长为,0B1MB,D=32,位指令,/16,位指令,AV=,段有效,/,段无效,实例,0008H,DS,0000000000001,000B,FF,00,00,00,10,92,00,00,界限,0000FFH,00100000,H,0010,00FF,H,存储器,全局描述符表,GDT,GDTR,偏,移,量,32,位,访问权限,请求权限,=,访问权限才可访问,段基地址,段选择符,x8,TI=1,请求权限,段选择符,-,段描述符,-,线性地址,选择符,描述符表,描述符,描述符,(1),段基地址,(2),段界限,(3),段属性,M,(2),段界限,(1),段基地址,从,逻辑地址,到,线性地址,逻辑地址,(48,位,),偏移量,(32,位,),索引,(13),TI(1),RPL(2),基地址,(32),GDTR,基址,LDTR-Cache,基址,基地址,(32),基地址,(32,位,),+,TI=1,TI=0,TI=1,TI=0,x8,GDT,LDT,线性地址,(32,位,),HYPer,四、页式寻址,内存分页,是,80386,微处理器开始引入的一种重要技术。,CPU,内有分页部件。可以只采用,段式寻址,,也可以只采用,页式寻址,,也可以采用,段页式寻址,。,逻辑地址,线性地址,分段部件,分页部件,物理地址,段式寻址,页式寻址,Linux,中,逻辑地址,=,线性地址,4GB,64TB,4GB,页目录,(10),页表,(10),偏移,(12),页目录描述符,页目录表,页描述符,页描述符,页描述符,页表,0,.,x4,x4,存储器,4KB/,页,页表,1,页表,1023,线性地址,从,线性地址,到,物理地址,页目录表,4kB(1K,项,每项,4,字节,);,每个页表,4kB(1K,项,每项,4,字节,),,共有,1k,个页表;,每页,4KB,;共,1M,页,CR3(32,位,),页表,基地址,页,基地址,页目录表基址,R,1,个书柜,书的目录,页,行,页表基地址,(20),AVL,00,D,A,00,V,W,P,31,0,页目录描述符,(4,字节,),页基地址,(20),AVL,00,D,A,00,V,W,P,31,0,页描述符,(4,字节,),页目录描述符,&,页描述符,AVL=,可使用位,D=,出错,/,未出错,A=,该页,(,页表,),已访问,/,未访问,V=,用户,/,监控 使用,W=,该页,(,页表,),允许,/,不允许写,P=,该页,(,页表,),存在,/,不存在,HYPer,五、段页式寻址,逻辑地址,线性地址,分段部件,分页部件,物理地址,段式寻址,页式寻址,既有段式寻址,也 有页式寻址。,80386,以上,CPU,采用。,4GB,64TB,4GB,HYPer,五、段页式寻址,页目录,描述符,(4),页目录表,页,描述符,(4),页表,n,.,.,页目录,(10),页表,(10),偏移,(12),线性地址,段,描述符,(8),段描述符表,存储器,4KB/,页,页目录表,基址,R,描述符索引,(13,位,),TI,偏移地址,(32),表基址,R,x4,x4,x8,逻辑地址,物理地址,CR3,64TB,4GB,64TB=8K.8K.1M,HYPer,六、保护规则,保护,:,用户程序,-,用户程序,用户程序,-,操作系统,0,级,(,最高,)-,操作系统,1,2,级,-,系统服务与接口,3,级,(,最低,)-,用户程序,规则,:,P,级的,数据,只能由不低于,P,级的,程序,访问;,P,级的,程序,只能由不高于,P,级的,程序,访问,-,通过,CALL,指令或中断方式进入。,Data,Code,Code,Data,Code,Code,高级,低级,X,CPU,只能访问同一级或低级的数据段和代码,,而低级的代码要使用高级的代码,这是通过,CALL,指令或中断方式进入,HYPer,七、虚拟,86,模式(,V86,),在保护方式下,创建的虚拟的,1MB,空间,映射到保护方式的,4GB,空间。,保护模式,实模式,V86,复位,LMSW,指令,CR0,修改指令,复位,CR0,修改指令,IRETD,指令,任务转换,中断,复位,段描述符、段描述符表含义;,GDTR,、,LDTR,、,IDTR,、,TR,含义及保存内容。,章节习题:,P71,全部习题,HYPer,复习题,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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